Lotus 1-2-3 auf Linux portiert

  • Gruß Torsten

    BFZ MFA, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, MSX VG8010, Amstrad NC100, Cambridge Z88, C64, C128D, Amiga 500 & 1200, Atari Portfolio, HP200LX, IBM PC5155, TP755c, TP755cx, T20, T41, T61, PS/2 (Model 40SX), PS/2E, Accura 101, Apple //e, Sharp PC1401 & PC1403H, TI59 m. PC-100c, HP48SX & HP48GX


    An die Person, die meine Schuhe versteckt hat, während ich auf der Hüpfburg war: Werd' erwachsen! :motz:


    ::matrix::

  • Ist ja ganz nett, aber konnte man das nicht einfach im DOS-Emulator laufen lassen? :grübel:

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Musste ich gleich mal ausprobieren ;)

    bei mir klappte es nicht unter debian bullseye i386.... und fuer armbian gehts wohl garnicht... ich tippe man braucht doch nen PC

    Was fuer ein Linux hast Du genutzt?

    Das ist mein "Arbeitsgerät" Notebook mit Fedora 35 (x86-64).

    Ich hab es einfach nach der Anleitung des Typen auf github kompiliert. Brauchte, wie dort beschrieben, auch die binutils, die mit --enable-targets=all kompiliert werden müssen.

    Anschließend muss der objdump folgende Ausgabe schmeissen:


    ./objdump --info | grep coff-i386

    coff-i386

    coff-i386-lynx

    coff-i386 coff-go32 coff-go32-exe coff-i386-lynx elf32-i386

    i386 coff-i386 coff-go32 coff-go32-exe coff-i386-lynx elf32-i386


    Bekommst du beim kompilieren Fehler? Oder warum geht es bei dir nicht?

    "Link arms,don't make them." - Du musst Gott für alles danken, sogar für einen Franken

  • Ist ja ganz nett, aber konnte man das nicht einfach im DOS-Emulator laufen lassen? :grübel:

    Dabei handelt es sich ja aber um eine verschollen geglaubte UNIX Version von 1-2-3.

    "Link arms,don't make them." - Du musst Gott für alles danken, sogar für einen Franken

  • Ist ja ganz nett, aber konnte man das nicht einfach im DOS-Emulator laufen lassen? :grübel:

    Die Unix Variante ? Hast Du den Artikel gelesen ?

    Gruß Torsten

    BFZ MFA, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, MSX VG8010, Amstrad NC100, Cambridge Z88, C64, C128D, Amiga 500 & 1200, Atari Portfolio, HP200LX, IBM PC5155, TP755c, TP755cx, T20, T41, T61, PS/2 (Model 40SX), PS/2E, Accura 101, Apple //e, Sharp PC1401 & PC1403H, TI59 m. PC-100c, HP48SX & HP48GX


    An die Person, die meine Schuhe versteckt hat, während ich auf der Hüpfburg war: Werd' erwachsen! :motz:


    ::matrix::

  • Ist ja ganz nett, aber konnte man das nicht einfach im DOS-Emulator laufen lassen? :grübel:

    Die Unix Variante ? Hast Du den Artikel gelesen ?

    Hab ich gelesen. Unterscheidet sich die Unix-Variante denn so stark von der DOS-Variante? Ich hätte jetzt vermutet, dass die vollkommen identisch aussehen.

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Na selbst wenn, es ging dem guten Mann darum eine im Netz nach langer Suche gefundene UNIX Version (die es nicht so häufig gab) unter Linux zum Laufen zu bekommen. Nicht mehr und nicht weniger. Die DOS Version findest Du im Netz zu hauf... aber keine UNIX Version... das ist doch der Knackpunkt.

    Gruß Torsten

    BFZ MFA, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, MSX VG8010, Amstrad NC100, Cambridge Z88, C64, C128D, Amiga 500 & 1200, Atari Portfolio, HP200LX, IBM PC5155, TP755c, TP755cx, T20, T41, T61, PS/2 (Model 40SX), PS/2E, Accura 101, Apple //e, Sharp PC1401 & PC1403H, TI59 m. PC-100c, HP48SX & HP48GX


    An die Person, die meine Schuhe versteckt hat, während ich auf der Hüpfburg war: Werd' erwachsen! :motz:


    ::matrix::

  • Verstehe ich. Aus Sicht der Programmierers.

    • i-Telex 7822222 dege d

    • technikum29 in Kelkheim bei Frankfurt

    • Marburger Stammtisch

    Douglas Adams: "Everything, that is invented and exists at the time of your birth, is natural. Everything that is invented until you´re 35 is interesting, exciting and you can possibly make a career in it. Everything that is invented after you´re 35 is against the law of nature. Apply this list to movies, rock music, word processors and mobile phones to work out how old you are."

  • Brauchte, wie dort beschrieben, auch die binutils, die mit --enable-targets=all kompiliert werden müssen.

    Bekommst du beim kompilieren Fehler? Oder warum geht es bei dir nicht?

    wenn ich ueber das Script binutils.sh versuche die binutils zu kompilieren, arbeitet er eine Weile ganz brav, aber dann fehlt ihm eine Komponente (hab die leider nicht mehr im Kopf - sowas wie texinfo) und er bricht ab.

  • Brauchte, wie dort beschrieben, auch die binutils, die mit --enable-targets=all kompiliert werden müssen.

    Bekommst du beim kompilieren Fehler? Oder warum geht es bei dir nicht?

    ....dann fehlt ihm eine Komponente (hab die leider nicht mehr im Kopf - sowas wie texinfo) und er bricht ab.

    ...die soll ja auch nicht im Kopf sondern auf dem Rechner sein... deshalb geht das nicht. :ätsch:

    Gruß Torsten

    BFZ MFA, ZX80Core, AX81, ZX81, ZX81NU, Spectrum+, Harlequin, MSX VG8010, Amstrad NC100, Cambridge Z88, C64, C128D, Amiga 500 & 1200, Atari Portfolio, HP200LX, IBM PC5155, TP755c, TP755cx, T20, T41, T61, PS/2 (Model 40SX), PS/2E, Accura 101, Apple //e, Sharp PC1401 & PC1403H, TI59 m. PC-100c, HP48SX & HP48GX


    An die Person, die meine Schuhe versteckt hat, während ich auf der Hüpfburg war: Werd' erwachsen! :motz:


    ::matrix::

  • Brauchte, wie dort beschrieben, auch die binutils, die mit --enable-targets=all kompiliert werden müssen.

    Bekommst du beim kompilieren Fehler? Oder warum geht es bei dir nicht?

    wenn ich ueber das Script binutils.sh versuche die binutils zu kompilieren, arbeitet er eine Weile ganz brav, aber dann fehlt ihm eine Komponente (hab die leider nicht mehr im Kopf - sowas wie texinfo) und er bricht ab.

    Das binutils.sh hab ich gar nicht verwendet.


    Aber ich kann dir mal die Schritte nennen, die ich unter F35 gemacht hab, mit denen ich das erfolgreich installieren konnte.


    Folgende Pakete brauchte ich:


    sudo dnf install glibc-devel.i686
    sudo dnf install libgcc.i686
    sudo dnf install ncurses-static.i686
    sudo dnf groupinstall "Development Tools" "Development Libraries"
    sudo dnf install texinfo


    Dann diese Git Repos clonen:


    git clone https://github.com/taviso/123elf.git
    git clone git://sourceware.org/git/binutils-gdb.git


    Zusätzlich benötigt man noch die Disketten Images von Lotus 1-2-3 von folgender Seite, die im 123elf Verzeichnis abgelegt werden https://archive.org/details/123-unix und mit dem Shell-Script extract.sh aus dem 123elf Verzeichnis entpackt werden müssen.


    Dann in das binutils-gdb Verzeichnis wechseln und folgendermaßen kompilieren:


    ./configure --enable-targets=all
    make


    Anschließend diese Dateien umkopieren:


    cp binutils/objcopy ../123elf/
    cp binutils/objdump ../123elf/
    cp ld/ld-new ../123elf/ld


    Und zum Schluss im 123elf Verzeichnis den Make ausführen:


    cd ../123elf/
    make


    That's it!


    Hoffe das hilft dir irgendwie ;)




    "Link arms,don't make them." - Du musst Gott für alles danken, sogar für einen Franken

  • wenn ich ueber das Script binutils.sh versuche die binutils zu kompilieren, arbeitet er eine Weile ganz brav, aber dann fehlt ihm eine Komponente (hab die leider nicht mehr im Kopf - sowas wie texinfo) und er bricht ab.

    Einfach installieren: sudo apt install texinfo

    Leider kann man das Erstellen der Dokumentation hier nicht einfach durch eine configure-Option abstellen ...

    Die binutils bei Debian "bullseye" sind zu "alt" (Version 2.35.2-2) bzw. ohne COFF: du brauchst also das binutils.sh-Script ...

    Das Programm 123_exe ist für Intel 80386, vielleicht funktioniert es auf dem Raspberry mit qemu ...

  • Nachdem ich nun vom debian bullseye zu einem anderen PC mit debian bookworm gewechselt bin,

    hakt es (trotzdem ich texinfo, bison und flex installiert habe) nach langer Zeut an:



    Ich glaube ich gebs auf und nutze die DOS-Version :)


    Bei der bullseye version von flex gibt es ein Problem, dass flex nicht das sfle.c erstellen kann in der bullseye Version und auf der GitHub-Page ist ja eh nur Bookworm gelistet fuer debian.

  • Hast Du den Linker oben kopiert "ld-new" ? Sieht so aus, als sei das schon kompiliert, aber es hakt am Linken. Kann auch einfach daran liegen, daß der "Prozess" sich noch rein formal im Directory bpf aufhält und dort die passenden .o Dateien nicht zu finden sind. Vielleicht mal ins Hauptdirectory /123elf wechseln und dort nochmal "make 123" eintippen. Vielleicht bringts was.

    -- 1982 gab es keinen Raspberry Pi , aber Pi und Raspberries

  • Bei der bullseye version von flex gibt es ein Problem, dass flex nicht das sfle.c erstellen kann in der bullseye Version und auf der GitHub-Page ist ja eh nur Bookworm gelistet fuer debian.

    Devuan 4.0 ist Debian "bullseye" und hier funktioniert binutils.sh ohne Probleme ... wie lautet denn die genaue Fehlermeldung?

    Das Script soll auch im Verzeichnis des Github-Projects ausgeführt werden: ist das bei dir /home/guido/binutils/?

    Einmal editiert, zuletzt von JenGun ()

  • guidol Hab jetzt extra eine neue VM mit Ubuntu aufgesetzt, um auch damit die Installation durchzuspielen. Funktioniert bei mir genauso problemlos. Hier meine Schritte der Installation.


    $ uname -a

    Linux ubuntu 5.15.0-33-generic #34-Ubuntu SMP Wed May 18 13:34:26 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux


    $ cat /etc/debian_version

    bookworm/sid


    $ lsb_release -d

    Description: Ubuntu 22.04 LTS



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

    $ sudo apt install build-essential manpages-dev

    $ sudo apt-get install texinfo


    $ cd 123elf

    $ ./binutils.sh

    ### Build Vorgang wird erfolgreich abgeschlossen ###


    $ ./objdump --info | grep coff-i386

    coff-i386

    coff-i386-lynx

    coff-i386 coff-go32 coff-go32-exe coff-i386-lynx elf32-i386

    i386 coff-i386 coff-go32 coff-go32-exe coff-i386-lynx elf32-i386


    $ 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

    $ ./extract.sh


    $ sudo apt-get install gcc-multilib

    $ sudo apt-get install lib32ncurses-dev

    $ make

    $ ./123


    Hoffe die Installation klappt bei dir auch noch.

    "Link arms,don't make them." - Du musst Gott für alles danken, sogar für einen Franken

    Einmal editiert, zuletzt von RetroGuy () aus folgendem Grund: Typo entfernt

  • guidol Hab jetzt extra eine neue VM mit Ubuntu aufgesetzt, um auch damit die Installation durchzuspielen. Funktioniert bei mir genauso problemlos. Hier meine Schritte der Installation.


    $ uname -a

    Linux ubuntu 5.15.0-33-generic #34-Ubuntu SMP Wed May 18 13:34:26 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux

    Hoffe die Installation klappt bei dir auch noch.

    so :) heute ein 3ter Rechner/Versuch - diesmal mit meinem DELL Studio Hybrid und das installierte Ubuntu habe ich auf das aktelle jammy

    upgedated und somit den gleichen Kernel wie Du (auch wenn ich nun den Firefox dafuer als Snap habe :( :(
    Linux StudioHybrid 5.15.0-33-generic #34-Ubuntu SMP Wed May 18 13:34:26 UTC 2022 x86_64 x86_64 x86_64 GNU/Linux


    Und was soll ich sagen - ich habe das gleiche gemacht wie auf den anderen Rechnern, aber hier klappt es auf Anhib ohne Probleme ;)


    Fuer die binutils habe ich die binutils.sh genutzt (ist im Download - weil compressed - schneller als der Git Clone der Einzeldateien).

    Das Script hatte dann auch gleich die 3 Dateien umkopiert...


    Das extract.sh gin auch einwandfrei nach dem Download der 5 .img Dateien.


    Compilieren ging gegen die vorher schwachbrustigen Rechner schneller, weil jetzt ein

    Intel(R) Core(TM)2 Duo CPU T8100 @ 2.10GHz

    seinen Dienst tat :)


    Starten lies sich 1-2-3 nur als "normaler User" denn als root bekam ich einen Speicherfehler an den Kopf geworfen :(

    Einmal editiert, zuletzt von guidol ()