News: 1653487205

  ARM Give a man a fire and he's warm for a day, but set fire to him and he's warm for the rest of his life (Terry Pratchett, Jingo)

Original killer PC spreadsheet Lotus 1-2-3 now runs on Linux natively

(2022/05/25)


A long lost native Unix version of the killer PC spreadsheet has not only been rediscovered, but almost unbelievably, it's been updated to create a native Linux version.

Lotus 1-2-3 was arguably the single application which made the IBM PC a success, and was launched nearly 40 years ago, on January 26, 1983. The Reg [1]celebrated its 30th anniversary by [2]firing it up in DOSbox , and we [3]mourned when IBM finally killed it .

It still has admirers today, and one of them is Google bughunter [4]Tavis Ormandy , of Project Zero. Ormandy explains how he ported Lotus 1-2-3 natively to Linux [5]here .

[6]

Ormandy has previously [7]blogged about finding a DOS word-processor to run on Linux. As he put it:

I prefer to use terminal applications when possible, I'm just more comfortable in an XTerm. […] I'm not nostalgic for DOS software or a long-time holdout, I'm a new user in 2020.

Many [8]maintain that the ultimate DOS word-processor was WordPerfect, and the last DOS version was 6.2. That's what Ormandy is running, under [9]DOSemu2 .

Given such refined tastes, if one wanted to run a DOS spreadsheet, then trusty old Lotus 1-2-3 is the obvious choice.

[10]

[11]

Ormandy not only owns and runs 1-2-3, he even [12]developed a new display [13]driver for 1-2-3 release 3, enabling it to support more than an 80×25 window – a considerable undertaking in reverse-engineering.

Lotus published a commercial development environment for 1-2-3 plugins, written in the Lotus Programming Language. In 1991, PC Magazine was [14]impressed [PDF] by the range of addons. But unfortunately, the [15]Lotus Add-in Toolkit for 1-2-3 (list price, $395) was long lost.

[16]

Until now.

Archaeologic

In Ormandy's hunt for the LPL compiler, he asked SCiZE, who maintains a [17]page dedicated to the long-gone bulletin-board "warez" scene. Not only did SCiZE have a copy of the long-lost Lotus toolkit, he also had a copy of something else thought lost to history: Lotus 1-2-3 for Unix™.

Before it bought in MS-DOS from Seattle Computer Products, Microsoft offered [18]its own version of Unix, called Xenix .

As recounted in this [19]history , MS co-founder, the late Paul Allen, put it:

It's important to realize that MS-DOS is part of a family of operating systems… Providing the user with a family of operating system capabilities means a clear migration path from MS-DOS to XENIX.

With such a glowing endorsement, several leading PC applications were ported to Xenix, including Microsoft Word, WordPerfect – and Lotus 1-2-3. None were a big success and little trace of them remains today. Until now.

When 1-2-3 for Unix was [20]released in 1990, there were a bunch of competing variants of Unix for x86 computers, all incompatible with one another. SCO Xenix was the most prevalent, then its successor, SCO UNIX (largely the same OS, but with an officially-licensed AT&T kernel.) Others included AT&T's own Unix System V/386 and Interactive 386/ix.

The closest thing to compatibility between them was an ABI called the Intel Binary Compatibility Standard or [21]iBCS . The only way to release a proprietary application for all of these Unixes at once was to release a partially compiled object file, which could then be linked to create a binary for the specific x86 Unix variant you had.

How it works

What Ormandy has managed to do is to build a tool to convert this ancient COFF-format object file into Linux's ELF format. He has called the tool coffsyrup ( [22]and you can take a look here .) The result is 1-2-3 for Unix, linked to glibc, which the Google guru calls [23]123elf .

[24]Saved by the Bill: What if... Microsoft had killed Windows 95?

[25]Beige Against the Machine: The IBM PC turns 40

[26]Stob treks back across the decades to review the greatest TV sci-fi in the light of recent experience

[27]Yes, of course there's now malware for Windows Subsystem for Linux

In other words, the original 1990 Lotus 1-2-3 for x86 Unix, running on modern x86 Linux, without emulation.

[28]Youtube Video

Bootnote

Lotus called versions "releases." Probably the most widely used version of the original assembly language releases of 1-2-3 for DOS was r2.01, which improved the app's memory management and macro language, along with other desirable features.

But memory remained a problem, leading to the development of 1-2-3 Release 3.

[29]

1-2-3 r3 was very different from 1-2-3 r2. Release 3 was rewritten in C, supported 3D worksheets, and could handle multiple files in memory at once. It was one of the first widely used DOS apps to run in the 80286 processor's protected mode, using Rational Systems' [30]DOS/16M DOS extender, and stored data in extended memory (XMS), while release 2.x used expanded memory (EMS).

Lotus 1-2-3 rebooted: My trip back to the old (named) range [31]READ MORE

Getting 1-2-3 r3 to run alongside anything else that required a DOS extender – such as Windows 3 – could be a [32]nightmare .

All the later releases in the 2.x series were released after 1-2-3 r3.

Battle-scarred from years of wrangling DOS memory management, your correspondent suspects that the fancy C-based big-memory release is the primary reason that the app was made available for protected-mode OSes such as Microsoft's Xenix. ®

Get our [33]Tech Resources



[1] https://www.theregister.com/2013/01/26/mitch_kapor_lotus_123_anniversary/

[2] https://www.theregister.com/2013/01/28/lotus_1_2_3_rebooted/

[3] https://www.theregister.com/2014/10/02/so_long_lotus_123_ibm_ceases_support_after_over_30_years_of_code/

[4] https://www.theregister.com/Tag/Tavis%20Ormandy/

[5] https://lock.cmpxchg8b.com/linux123.html

[6] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/applications&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=2&c=2Yo5Sn2UovePMOw7jTVO6HgAAAME&t=ct%3Dns%26unitnum%3D2%26raptor%3Dcondor%26pos%3Dtop%26test%3D0

[7] https://blog.cmpxchg8b.com/2020/09/finding-console-word-processor.html

[8] https://www.nybooks.com/daily/2014/10/21/escape-microsoft-word/

[9] https://github.com/dosemu2/dosemu2

[10] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/applications&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44Yo5Sn2UovePMOw7jTVO6HgAAAME&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[11] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/applications&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33Yo5Sn2UovePMOw7jTVO6HgAAAME&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0

[12] https://lock.cmpxchg8b.com/lotus123.html

[13] https://github.com/taviso/lotusdrv

[14] https://lock.cmpxchg8b.com/files/pcmag-apr1991-perfect-spreadsheet.pdf

[15] https://books.google.cz/books?id=_OEk1QOJYw0C&lpg=PT115&vq=toolkit&pg=PT115&redir_esc=y#v=onepage&q&f=false

[16] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/applications&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=4&c=44Yo5Sn2UovePMOw7jTVO6HgAAAME&t=ct%3Dns%26unitnum%3D4%26raptor%3Dfalcon%26pos%3Dmid%26test%3D0

[17] https://scenelist.org/

[18] https://www.theregister.com/2002/03/20/bills_vision_for_the_future/

[19] http://www.softpanorama.org/People/Torvalds/Finland_period/xenix_microsoft_shortlived_love_affair_with_unix.shtml

[20] https://books.google.cz/books?id=tjwEAAAAMBAJ&pg=PA51&redir_esc=y#v=onepage&q&f=false

[21] http://www.jaggycraft.co.uk/linux/ibcs/

[22] https://github.com/taviso/123elf/blob/main/coffsyrup.c

[23] https://github.com/taviso/123elf

[24] https://www.theregister.com/2022/01/25/windows_95/

[25] https://www.theregister.com/2021/08/12/ibm_pc_40_anniversary/

[26] https://www.theregister.com/2021/06/17/verity_stob_tv_scifi_column/

[27] https://www.theregister.com/2021/09/17/windows_subsystem_for_linux_malware/

[28] https://www.youtube.com/embed/hMUhIg9B_So

[29] https://pubads.g.doubleclick.net/gampad/jump?co=1&iu=/6978/reg_software/applications&sz=300x50%7C300x100%7C300x250%7C300x251%7C300x252%7C300x600%7C300x601&tile=3&c=33Yo5Sn2UovePMOw7jTVO6HgAAAME&t=ct%3Dns%26unitnum%3D3%26raptor%3Deagle%26pos%3Dmid%26test%3D0

[30] https://www.thefreelibrary.com/Stretching+DOS.-a07584718

[31] https://www.theregister.com/2013/01/28/lotus_1_2_3_rebooted/

[32] https://books.google.cz/books?id=jjgEAAAAMBAJ&q=Tenberry%2BSoftware&pg=PA41&redir_esc=y#v=snippet&q=Tenberry%2BSoftware&f=false

[33] https://whitepapers.theregister.com/



Never mind 1-2-3

DailyLlama

Bring back Ami Pro! I loved that so much more than Word.

Re: Never mind 1-2-3

Anonymous Coward

Ahh, that takes me back - I wrote my entire masters dissertation using Amipro. On an ageing (even by then) 486DX2.

Naturally my printer (the venerable Canon BJ-10ex) packed up the night it was due in, leading to a morning begging for mercy at the departmental secretary's office; my PTSD is kicking in about now...

ABI

VoiceOfTruth

-> The closest thing to compatibility between them was an ABI called the Intel Binary Compatibility Standard or iBCS

FreeBSD still has this, in the form of brandelf. I needed to run some Linux binaries on FreeBSD a few years ago and this worked.

I expect I'll be scurrying down this rabbit hole...

elDog

Fire up WSL2 on Windows 10 to run this Linux command version of Lotus 1-2-3.

Also agree with prior comment about AMI Pro. So many word processing packages back then worked mostly, and then crapped out on a big document just before you had to send it off to the customer.

GlenP

Not sure why but I don't think I ever really used Lotus 1-2-3, I did install/support Lotus Symphony though for the business faculty at the local college. I seem to recall though that whilst it had the functions integrated each one, the spreadsheet, word processor, etc. was a cut down version.

Word Star

John 104

Nuff Said

Re: Word Star

Version 1.0

I liked SuperCalc and used it a lot - it worked best when I wrote an ISR for CP/M to get my VT100 running at 132 columns so I could create very large calculation sheets.

Re: Word Star

steelpillow

Originally came out on CP/M and was later converted for MS-DOS.

I remember everybody running WordStar + SuperCalc, Lotus was something I read about in journals.

I just poked away at LocoScript on my Amstrad, until second hand Win 98 pox boxes became a thing.

and Freelance ...

Anonymous Coward

Lotus 1-2-3 was the reason my sandwich year saw me going from a department of 1 PC between 60, to 15 in a year. Nearly all to run 1-2-3.

Before then we needed a "Y" cable to the Sperry mainframe to drive a HP4540 plotter in a n hour.

After you could plot a graph in less time than it took to make a coffee.

WordPerfect

Sparkus

had the additional benefit in that is was first to 'market' with USGov and Military accounts on a very easy buy it now deal tied to standard laptop and desktop procurement contracts. The business flow (profits, commissions) from that little piece of business let a friend of mine retire to Costa Rica at the age of 40 (in 1995).

He's still there running his tourist dive charter business..........

Re: WordPerfect

Anonymous Coward

When it was released WordPerfect ran on both MSDOS and VMS which was a huge factor in the company I was working for back then.

Re: WordPerfect

Joe Drunk

Despite all the advanced features of Wordperfect 5.1 for DOS, the prevalent word processor of that era I was never a fan.

I needed at the time a WYSIWYG word processor and was introduced to Q&A by Symantec. It was nice to be able to see what your document would look like printed out as you typed (formatting, bold, underline, italics etc.) without having to go into a preview mode. Used it for many years during my university years with various dot matrix printers until I switched to Windows 95/Word 95.

Lotus 1 2 3

Andy Non

I wrote lots of speadsheets using it back in the day. It was very popular with management for churning out quick reports. If memory serves correct they had some sort of clever licence trick with the 5 1/4" floppies. If you installed it on a PC it updated the master floppy knocking 1 off the total number of seats available. They'd also made the disk so it couldn't be copied to gain free licences.

karlkarl

I love this concept. Just shows, with enough effort, we can keep any software alive; no matter how much the industry wants us on their treadmill.

I *think* this is a similar process to this:

https://gabrielgambetta.com/remakes.html

The real reason large families benefit society is because at least
a few of the children in the world shouldn't be raised by beginners.