Lotus 1-2-3 in esecuzione su Linux (WSL)!

Negli ultimi giorni, il lavoro di Tavis Ormandy ha suscitato parecchio interesse nel mondo del retrocomputing. Lo sviluppatore è infatti riuscito ad effettuare il port della versione per UNIX System V di Lotus 1-2-3, rilasciata 32 anni fa, in modo da eseguirla nativamente su Linux, senza emulazione! Tutti gli aspetti di questa impresa sono dettagliati nell’ articolo redatto da Tavis stesso; l’autore ha anche reso disponibile il risultato del suo lavoro in un repository dedicato.

Per chi non lo conoscesse, Lotus 1-2-3 è un foglio elettronico che integra anche funzionalità di database e la possibilità di generare grafici. Sviluppato da Lotus a partire dal 1983, presto divenne lo standard de facto per questo genere di applicazioni in ambiente PC/DOS, per poi essere soppiantato da Microsoft Excel su Windows.

I manuali in Italiano della versione 2.4 di Lotus 1-2-3 per DOS
I manuali in Italiano della versione 2.4 di Lotus 1-2-3 per DOS

Ricordo con piacere di aver utilizzato Lotus 1-2-3 per DOS in ambito scolastico, alla fine delle medie e durante le superiori. In particolare, sebbene in modo un po’ improprio, lo adoperai come word processor per scrivere la tesina a tema scientifico dell’esame di terza media. Fino a qualche giorno fa ero ignaro dell’esistenza di una versione per UNIX. Proprio per questi motivi, ho accolto la notizia del port su Linux con entusiasmo e mi sono cimentato con la build. La procedura è ben descritta nel file readme del repository; tuttavia mi sono imbattuto in un paio di problemi, fortunatamente sormontabili abbastanza facilmente.

Avendo a disposizione un PC con Windows, ho deciso di eseguire la procedura di build sulla distribuzione Debian 10 che ho installato tempo fa in ambiente WSL (Windows Subsystem for Linux) 2 . Purtroppo, su questa distro la toolchain è piuttosto vecchia e non è stato possibile completare la build. Tavis mi ha gentilmente suggerito di provare con la versione testing di Debian oppure con Ubuntu; ho optato per quest’ultima opzione.

Lotus 1-2-3 su Linux (WSL): la procedura step-by-step

Utilizzando il prompt dei comandi di windows, ho installato la distribuzione Ubuntu attualmente disponibile in WSL (20.04 LTS Focal Fossa) col comando:

wsl --install -d Ubuntu

Dopo aver configurato user name e password ed effettuato il login, ho aggiornato il sistema con:

sudo apt-get update

In seguito, ho installato i prerequisiti con:

sudo apt-get install build-essential
sudo apt-get install gcc-multilib
sudo apt-get install lib32ncurses-dev

Ho poi scaricato il repository 123elf da GitHub:

git clone https://github.com/taviso/123elf.git

Sono quindi entrato nella directory del progetto e ho scaricato le immagini dei floppy disk di Lotus 1-2-3 per UNIX:

cd 123elf/
wget https://archive.org/download/123-unix/123UNIX1.IMG
wget https://archive.org/download/123-unix/123UNIX2.IMG
wget https://archive.org/download/123-unix/123UNIX3.IMG
wget https://archive.org/download/123-unix/123UNIX4.IMG
wget https://archive.org/download/123-unix/123UNIX5.IMG

A questo punto, ho provato ad eseguire lo script per installare il pacchetto binutils, ma la compilazione di quest’ultimo inizialmente non è andata a buon fine, in quanto manca makeinfo. Il problema si risolve installando texinfo:

sudo apt install texinfo

Dopodiché, è possibile scaricare e compilare il pacchetto binutils:

./binutils.sh

Occorre quindi copiare i tool objcopy, objdump e ld-new (nota: quest’ultimo deve essere rinominato in ld) appena compilati nella directory del progetto (corrente):

cp binutils-2.38/binutils/objcopy .
cp binutils-2.38/binutils/objdump .
cp binutils-2.38/ld/ld-new .
mv ld-new ld

Prima di poter lanciare la build, è necessario estrarre i file dalle immagini disco precedentemente scaricate:

./extract.sh

Finalmente, è possibile avviare la build:

make

Se tutto va per il verso giusto, sarà possibile avviare Lotus 1-2-3 con:

./123
Lotus 1-2-3 in esecuzione su Linux Ubuntu in WSL (Windows 10)
Lotus 1-2-3 in esecuzione su Linux Ubuntu in WSL (Windows 10)

Dato che per alcuni utenti risultava fastidioso, lo splash screen presentato all’avvio dell’applicazione è stato disabilitato di default. Per visualizzarlo, è possibile lanciare l’applicazione specificando il parametro “-b“:

./123 -b
La mia tesina dell'esame di terza media
La mia tesina dell’esame di terza media, recuperata da floppy disk da 5.25 pollici e caricata in Lotus 1-2-3 per UNIX.
Gli accenti si sono persi da qualche parte…
Read in English

Lascia un commento

Il tuo indirizzo email non sarà pubblicato. I campi obbligatori sono contrassegnati *

Questo sito usa Akismet per ridurre lo spam. Scopri come i tuoi dati vengono elaborati.