tme-0.8 - The Machine Emulator

  • Erfolgsmeldung: SunOS 4.1.1 läuft. Gerade ein Hello World Programm compiliert ;)


    Jetzt habe ich auf dem armen Mac Mini von 2006 neben Linux Mint noch:

    • Hatari - Atari ST Emulator
    • Mini vMac - Macintosh Emulator
    • Previous - Next Emulator
    • salto - Xerox Alto Emulator
    • tme - Sun3 mit SunOS 4.1.1
    • gxemul - DEC 5000/200 mit Ultrix


    Und das alles in einer kleinen Kiste von ca. 15x15x5cm ;)


    Danke nochmal an euch beiden!


    Peter

  • Danke euch. Eure beiden libtme.a sind inhaltlich so gut wie identisch bzw. vernachlässigbar.


    Bei mir ist es nicht funktional. Das kann ich nehmen und komplett nach /dev/null schieben. Nicht unerwartet, vielmehr erwartet.

    Solange ich die Fehler oben nicht beseitigt bekomme, sieht es schlecht aus und ich denke nicht das es am Code liegt, sondern an der Build-Umgebung. Meine Einkommentierungen waren der falsche Weg. Ich schaue mal, ob ich ihm die korrekte libltdl beibringen kann. Mit welchem libtool wrapper (libltdl) kommt das Mate?

    Code
    $ dpkg -l | grep liblt
    ii  libltdl-dev:i386                      2.4.6-2                             i386         System independent dlopen wrapper for GNU libtool


    Code
    $ diff libtme.a.Josef.nm libtme.a.sx.nm 
    347d346
    <          U lt_dlpreload_default
    349d347
    <          U lt_preloaded_symbols

    Da ist es wieder das liebgewonnene lt_preloaded_symbols

    Das führt dann dazu:


  • Beim Vergleich der config.log's und Makefile's fällt doch gleich etwas entscheidentes in's Auge:

    < config.log von Josef

    > config.log von escimo

    ...und die Makefile's

    Hat das configure allein rausbekommen mit der "libltdl"?

    War da überhaupt schon vorab eine drauf?

    $ dpkg -l | grep -i libtldl


    So dann mal neuer Konfiglauf, mit einer wesentlichen Ergänzung ... und siehe da:

    Na dann mal testen:

    Code
    $ cd $HOME/sun4-75-toosy && tmesh toosy
    toosy:27: toosy-nvram.bin: No such file or directory
    [/display0.0]: cannot generate keysym 'Meta_R' directly, or through a macro: Datei oder Verzeichnis nicht gefunden
    (...)
    tmesh> ls

    Fenster geht auf aber mehr passiert noch nicht.

    Folgende Lib wird bei meinem tmesh-Binary nicht referenziert:

    Code
    libltdl.so.7 => /usr/lib/i386-linux-gnu/libltdl.so.7

    und das obwohl die installiert wurde:

    Mal mit nm schauen

    Ziemlich viel "U"ndefined.

    Wie sehen die libtme.a und libltdl.a mit nm bei euch aus?

  • Jetzt habe ich explizit -lltld in die Umgebungsvar "LIBS" aufgenommen und es nochmal laufen lassen.

    Jetzt wird u.a. in tmesh die libltdl referenziert, wenn ich es mit ldd abfrage

    Bekomme zwar wieder ein Fenster angezeigt aber das ist leer. Ggf. ist die VBox zu langsam oder unperformant. CPU-Belastung geht auf 34% aber nix wird angezeigt. Regt mich auf! Für heute ist Schluß

  • Ja leider nix.

    Wenn ich ...

    $ tmesh toosy (enter)

    ... ausführe, erscheint das Fenster und in der Konsole der tmesh Prompt


    Wenn ich dann im Prompt...

    tmesh> ls (enter)

    ...eingebe, passiert nix


    Da sollte eigentlich eine Liste der TME-Module gelistet werden. :cry:

  • Das Problem sitzt bekanntlich immer vor der Tastatur. :sunny:

    Habe die letzte, einkommentierte Zeile übersehen:

    Code
    $ tail -1 toosy
    command board0 power up

    Und jetzt klappt es wie es soll, auch mit dem tmesh-Kommando "ls"

  • Mal so ne Frage am Rande: wie lange hat bei Euch das Entpacken der Installations-Archive gedauert?

    Bei meinem SunOS 4.1.1 für sun4c hängt der jetzt schon eine halbe Stunde an der Stelle und ich kann mich nicht mehr erinnern, ob das beim TME 0.6 schneller ging, unter SunOS 4.1.3.


    Auch hier nochmal die Ausgaben von einem "ldd tmesh" bezogen auf TME 0.6 von Ubuntu 10.04LTS (ldd unter Xubuntu 18.04LTS)

  • Mein SunOS 4.1.1 ISO ist unter dem TME nicht funktional, oder bei der Übertragung ging etwas schief. Mit SunOS 4.1.2 hatte ich keine Probleme und die Quick-Installation dauerte nur 5 Minten auf einer "105MB Platte". Schade. SunOS 4.1.1 hätte ich auch gern mal probiert, ist die erste OS-Version mit dem die SS2 lief/unterstützt wurde.


  • Moin.

    Stehe auf dem Schlauch ;(


    Ubuntu 20.04 LTS 64-bit.


    tme-0.8 konnte ich kompilieren und installieren.

    Habe eine sun3 in einem Verzeichnis /home/ich/sun3emu wie hier beschrieben eingerichtet:

    http://people.csail.mit.edu/fredette/tme/sun3-150-nbsd.html


    tme build Verzeichnis ist unter: /home/ich/tme


    wenn ich nun im sun3emu Verzeichnis tmesh ./my-sun3 starte, findet er anscheinend seine Dateien nicht:

    ich@ich-OptiPlex-990:~/sun3emu$ tmesh ./my-sun3

    ./my-sun3:8: tme/machine/sun3: No such file or directory

    ./my-sun3:9: mainbus0: No such file or directory

    ./my-sun3:10: mainbus0: No such file or directory

    ./my-sun3:11: mainbus0: No such file or directory

    ./my-sun3:12: obmem0: No such file or directory

    ./my-sun3:13: obmem0: No such file or directory

    ...


    ??


    Evtl. kann man hier auch gerne mal ein fertig installiertes Disk Image für SunOS 4.1 einhängen?


    VG Peter

    github.com/petersieg

  • So läuft es.


    1. sudo apt install libgtk2.0-dev (weiß nicht, ob das wirklich gebraucht wird)


    2. https://virtuallyfun.com/wordp…subsystem-for-windows-v1/ :

    Using Debian 9/GCC 6.3.0 I do get a bomb compiling module.c

    module.c: In function 'tme_module_init':<br>module.c:93:3: error: 'lt_preloaded_symbols' undeclared (first use in this function)<br>LTDL_SET_PRELOADED_SYMBOLS();

    In this case I just copy the definition from libltdl/ltdl.h and put it into module.c It'll complain about it being a duplicate, but it'll compile. I don't understand that either.

    -> siehe module.zip im Anhang; copy nach libtme


    (Mein Problem war, das ich das einfach nur auskommentiert hatte - das übersetzt, läuft aber nicht!)


    3. Compilieren dann wie hier beschrieben:


    $ export LIBS='-lX11 -lglib-2.0'

    $ printenv LIBS

    -lX11 -lglib-2.0

    $ cd tme$ ./configure --disable-warnings --disable-shared

    $ make

    $ sudo make install


    Start the emulator. Remember, if you're running a
    statically-linked, uninstalled emulator, you must have the environment
    variable LTDL_LIBRARY_PATH set to the top of your build
    tree:

    % cd /some/where/my-sun3

    % tmesh ./MY-SUN3

    ignore any cannot generate keysym warnings

    tmesh>


    "Einschalten" in tmesh final dann mit:

    tmesh> command mainbus0 power up

    oder diese Teile in my-sun3 auskommentieren ;)


    Weitere Links:

    https://people.csail.mit.edu/fredette/tme/

    https://people.csail.mit.edu/fredette/tme/#sun3-150-nbsd

    https://github.com/cb88/tme

    https://virtuallyfun.com/wordpress/tag/tme/

    https://sites.google.com/a/abi…linux?overridemobile=true


    VG Peter

  • Wo/wie aktiviert man in TME die Maus, wenn man z.B eine graphische Oberfläche gestartet hat/starten möchte?

    Im Fenster steht unten links: Mouse is OFF. Klicken auf dem Desktop im Fenster bringt nichts.

    Unter sunos4 startet man openwindows mit:

    Code
    /usr/openwin/bin/openwin

    ??


    VG Peter

    github.com/petersieg

  • Tja, dann hilft wahrscheinlich nur den Chefprogrammierer mal anzuschreiben. Die README und Docs sind ja alle etwas spärlich und auch in den Quelltexten gibt es keine wirklichen "Erklärungen". Das oben war irgendwie das Einzige, was man auf die Schnelle finden konnte und was irgendwie nach "mouse" aussah.

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

  • Wenn ich den Mauszeiger über 'mouse is off' positioniere, erscheint folgende Meldung:


    'Press a key to turn the mouse on. The same key will turn the mouse off'


    Wenn ich dann z.B. die 'escape' Taste drücke, erscheint im Fenster unten:


    'mouse is on. Press the Escape key to turn the mouse off''


    Wenn ich dann openwin starte, funktioniert die Maus so einigermaßen.