• Stars
    star
    1,171
  • Rank 39,918 (Top 0.8 %)
  • Language
    C
  • Created over 2 years ago
  • Updated about 1 year ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A native port of Lotus 1-2-3 to Linux.

Lotus 1-2-3 for Linux

This is a native port of Lotus 1-2-3 Release 3 to Linux. There's an article documenting how this is possible here.

Lotus 1-2-3 for Linux

Screenshots

Here are some screenshots of Lotus 1-2-3 on Linux.

liveupdate_small help_small stock_small perspective
Interactive, live-updating ASCII-art charts. Context sensitive help. Highly configurable graphs. Work with multiple sheets.

See more screenshots and gifs in the wiki.

Building

Dependencies

First, you need a version of binutils that is compiled with coff-i386 target support. You can check like this:

$ objdump --info | grep coff-i386

Note: Most distributions do not enable this for some reason.

Run the included binutils.sh to download and compile a version of binutils known to work for this.

Secondly, you need a copy of Lotus 1-2-3 for UNIX, you can download it here. Just place the raw disk images in the build directory and run extract.sh.

Finally, just run make.

Packages

The following packages are required

Ubuntu Fedora Debian (bookworm) Ubuntu (bionic)
build-essential glibc-devel.i686 build-essential build-essential
gcc-multilib libgcc.i686 gcc-multilib gcc-multilib
lib32ncurses-dev ncurses-static.i686 lib32ncurses-dev libncurses-dev:i386

Installing

Run make install to install into /usr/local.

Run make install prefix=/my/prefix to install into a custom prefix.

Run make uninstall or make uninstall prefix=/my/prefix to uninstall.

Running

Just run ./123 in the project directory after building, or, if you installed it, run 123.

Getting Started

There is a quick start guide in the wiki here, and the full manual can be seen here here.

There is a man page in share/man/man1/123.1 that describes the command line options.

Lotus 1-2-3 has context sensitive online help, you can press F1 at most times to see some hints.

Note: You use the / key to open the 123 menu!

If you've used any spreadsheet before, you should be able to get started quickly. Functions use @ instead of =, but the common functions like @SUM, @AVG, @INDEX, and even @HLOOKUP all work as you would expect.

FAQ

  • Q. How do I quit 123?

If the status indicator in the top right says READY, try /Quit Yes.

If it doesn't say READY (it might say ERROR, HELP POINT, MENU or something else), try hitting Esc until it goes back to READY.

  • Q. I get the error 'invalid compressed data--code out of range'.

You have a very old gzip with broken lzw/pack support. You can try running the gzip.sh script to build a more recent gzip, then rerun the extract script.

See the full FAQ for more.

Bugs

  • The keyboard map seems to be incomplete (XTerm compatible terminals should be working, please test others!)
  • Graphs don't work yet (Partially working!, see #5).
  • Printing doesn't work yet (Print to file works, print to lpr is being worked on, see #50).
  • STEP mode does not display the current step (Nearly working! see #101).
  • There is limited i18n support (We're working on it, see #73).
  • File an issue if you notice something, there are probably lots of minor issues that can be fixed!

More Repositories

1

loadlibrary

Porting Windows Dynamic Link Libraries to Linux
C
4,330
star
2

ctypes.sh

A foreign function interface for bash.
C
2,060
star
3

ctftool

Interactive CTF Exploration Tool
C
1,636
star
4

avscript

Avast JavaScript Interactive Shell
C
664
star
5

wpunix

WordPerfect for UNIX Character Terminals
C
615
star
6

rbndr

Simple DNS Rebinding Service
C
613
star
7

hotcorner

Tiny Hot Corners for Windows 10
C
380
star
8

nntpit

minimalist reddit2nntp gateway
C
231
star
9

rarvmtools

Minimal RarVM Toolchain
C
228
star
10

cefdebug

Minimal code to connect to a CEF debugger.
C
193
star
11

lotusdrv

Lotus 1-2-3 R4D Display Driver for DOSEMU
C
147
star
12

kiewtai

A port of Kaitai to the Hiew hex editor
C
144
star
13

sharapi

Simpsons: Hit & Run JavaScript API
JavaScript
112
star
14

swisstable

Access Abseil Swiss Tables from C
C
103
star
15

dbusmap

This is a simple utility for enumerating D-Bus endpoints, an nmap for D-Bus.
C
76
star
16

scanlimits

Tool to examine the behaviour of setuid binaries under constrained limits.
C
62
star
17

katamascii

An ascii-art physics puzzle, roll around your terminal collecting ascii-art objects!
C
43
star
18

timex

A hello world for the timex m851
C
31
star
19

minirun

Run commands with hidden console.
C
30
star
20

iknowthis

iknowthis Linux SystemCall Fuzzer
C
20
star
21

hiewdocs

Documentation and notes on using the Hiew editor.
HTML
17
star
22

mpgravity

MicroPlanet Gravity
C++
14
star
23

nssecurity

Netscape Plugin Security
C
8
star
24

defermap

Add a server mode to X11 clients
C
7
star
25

hiewkey

Keyboard helper for Hiew
C
4
star
26

wpdfilter

Enable Windows to Index WordPerfect UNIX Documents
C++
3
star
27

ncpro

Commandline Interface to NoteCase Pro
Shell
1
star
28

stfjson

Convert Lotus Agenda STF files to JSON
C
1
star