Original killer PC spreadsheet Lotus 1-2-3 now runs on Linux… natively • The Register

A long-lost native Unix version of that Not only has Killer PC Spreadsheet been rediscovered, but almost unbelievably, it’s been updated to create a native Linux version.

Arguably the only application that made the IBM PC a success, Lotus 1-2-3 was released almost 40 years ago, on January 26, 1983. the reg celebrated its 30th anniversary by launching it in DOSbox, and we mourned when IBM finally killed it.

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

Ormandy previously blogged about finding a DOS word processor that runs on Linux. As he put it:

Many claim that the ultimate DOS word processor was WordPerfect and the last DOS version was 6.2. Ormandy runs on it under DOSemu2.

Given such refined taste, if one wants to run a DOS table then the tried and true Lotus 1-2-3 is the obvious choice.

Not only does Ormandy own and operate 1-2-3, he has even developed a new display driver for 1-2-3 Release 3 that allows it to support more than one 80×25 window – quite a feat of reverse engineering .

Lotus has released a commercial development environment for 1-2-3 plugins written in the Lotus programming language. In 1991, PC Magazine was impressed [PDF] through the selection of addons. But unfortunately the Lotus Add-in Toolkit for 1-2-3 (list price $395) was long lost.

Until now.


On Ormandy’s hunt for the LPL compiler, he asked SCiZE, which maintains a site dedicated to the long-gone bulletin board “warez” scene. SCiZE not only had a copy of the long-lost Lotus toolkit, it also had a copy of something else thought to be lost: Lotus 1-2-3 for Unix™.

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

As noted in this story, as the late MS co-founder Paul Allen put it:

With such fervent support, several leading PC applications have been ported to Xenix, including Microsoft Word, WordPerfect – and Lotus 1-2-3. Neither was a great success and little remains of them today. Until now.

When 1-2-3 was released for Unix in 1990, there were a number of competing Unix flavors for x86 computers, all of which were incompatible with each other. SCO Xenix was the most widely used, then its successor SCO UNIX (largely the same operating system but with an officially licensed AT&T kernel). Others were 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 iBCS. The only way to release a proprietary application for all of these Unixes at the same time was to release a partially compiled object file, which could then be linked to create a binary for the specific x86 Unix flavor you had.

How it works

Ormandy managed to build a tool to convert this old COFF format object file to Linux ELF format. He called the tool coffsyrup (and you can see it here.) The result is 1-2-3 for Unix, linked to glibc, which the Google guru calls 123elf.

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

Youtube video

boot note

Lotus called versions “releases”. Probably the most widely used version of the original assembler versions 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 an issue, leading to the development of 1-2-3 Release 3.

1-2-3 r3 was very different from 1-2-3 r2. Version 3 was rewritten in C, supported 3D worksheets and could handle multiple files in memory at the same time. It was one of the first widely used DOS apps, running in the 80286 processor’s protected mode using Rational Systems’ DOS/16M DOS extender and storing data in extended memory (XMS), while version 2.x den extended memory (EMS) used. .

Lotus 1-2-3 restarted: My journey back to the old (named) realm


Running 1-2-3 r3 alongside anything else that requires a DOS extender – like Windows 3 – could be a nightmare.

All later versions of the 2.x series were released according to 1-2-3r3.

Their correspondent, scarred by years of wrangling over DOS memory management, surmises that the slick C-based big-memory version is the main reason the app was made available for protected-mode operating systems like Microsoft’s Xenix. ®

About Willie Ash

Check Also

Ubuntu running on a Google Nest Hub, wait a minute?

I just discovered a story about Ubuntu running on a Google Nest Hub (2nd gen). …