Workstation Emulatoren

  • Möchte hier mal ein paar solcher Emulatoren vorstellen (alle eher für Linux a.ä.).


    SIMH:
    http://simh.trailing-edge.com/


    Der wohl bekannteste. PDP1-8,11, VAX etc. pp. Aber nur ASCII/Textoberfläche. Kein grafischer Bildschirm


    Hier gibt es viele Anleitungen dazu: http://gunkies.org/wiki/SIMH


    ---


    Hier gibt es eine Erweiterung um einen DEC XY (1024x1024) Display: http://www.ultimate.com/phil/xy/
    (Bild: munch.png)


    ---


    xhomer
    http://xhomer.isani.org/xhomer/


    Basiert auch auf simh und emuliert DEC + P/OS
    (Bilder: xhome* )


    ---


    gxemul
    http://gxemul.sourceforge.net/…doc/guestoses.html#sprite


    und für das ds5000.bt Image:
    https://github.com/npe9/sprite/blob/master/ds5000.bt


    Emuliert einige Workstation (Mips/SuperH/...)


    Sobald ich mal ein Ultrix 4.x ISO Image finde, probiere ich das mal..


    ---


    Xerox Alto
    (Gibts auch unter Windows)
    http://petersieg.bplaced.net/?…chen_Benutzeroberflaechen


    (Bild: salto)


    ---


    Evtl. kennt ihr weitere?


    Dann möchte ich euch noch diese wunderbare Seite zum Thema empfehlen:
    https://virtuallyfun.superglobalmegacorp.com/



    Peter

    • Offizieller Beitrag

    QEMU kann neben PCs auch eine ganze Menge anderer Systeme emulieren, dabei auch MIPS und SUN Sparc. Details sind hier: https://qemu.weilnetz.de/doc/q…ulator-for-non-PC-targets

    Denn Feindschaft wird durch Feindschaft nimmermehr gestillt; Versöhnlichkeit schafft Ruh’ – ein Satz, der immer gilt. Man denkt oft nicht daran, sich selbst zurückzuhalten; Wer aber daran denkt, der lässt den Zorn erkalten. Sprüche von Buddha, aus dem ‹Dhammapada›.


    Mein Netz: Acorn | Atari | Milan | Amiga | Apple //e und IIGS | Macintosh | SUN Sparc | NeXT |SGI | IBM RS/6000 | DEC Vaxstation und Decstation| Raspberry Pi | PCs mit OS/2, BeOS, Linux, AROS, Windows, BSD | Stand-alone: Apple //c und III | Commodore 128D | Sinclair QL | Amstrad | PDAs

  • 2 wollte ich noch erwähnen:


    cable3
    http://ioccc.org/2013/cable3/hint.html


    Ist ein PC Emulator in 4kB inkl. Hercules Grafik! Mit dem HDD Image hat man so einige Programme..
    Stammt aus dem IOCCC Wettbewerb ;)


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


    Ist ein Sparc Emulator.
    Konnte ich leider nicht kompilieren unter Linux Mint 18. Man müsste ausschalten können, das Warnungen als Error gewertet werden..?


    Peter

  • Man müsste ausschalten können, das Warnungen als Error gewertet werden..?


    Wie das ? Warnings sind doch eben Warnings - die werden angezeigt, stören aber nicht. Andersherum klappt das schon eher, man kann Warnings auf Error-Niveau hochstufen.
    Ich vermute mal, da versteckt sich noch irgendwo eine Fehlermeldung im Ausgabewust. Mal mit -w Option probieren ?

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

  • Nach dieser Anleitung:
    https://sites.google.com/a/abi…/retrocomputing/posts.xml


    konnte ich tme (fast) compilieren. Google nach Fehlermeldung sagte etwas von libs nicht gefunden; Zirkelbezüge..
    Habe zum Schluss im tmesh/Makefile eingefügt:
    LIBS = -lX11 -lglib-2.0


    Dann hatte es funktioniert. Nun streikt es daran, das ich in der Emulation keine / (Slash-Zeichen) eingeben kann..


    Peter

  • Dann hatte es funktioniert. Nun streikt es daran, das ich in der Emulation keine / (Slash-Zeichen) eingeben kann..

    Hallo Peter.

    Sofern noch Interesse besteht. Vor dem Problem stand ich 2010 ebenso. Meine Lösungen, siehe ...

    https://www.sonnenblen.de/inde…82.msg37941.html#msg37941

    Bzw: wenn dein HostOS deutsches Tastaturlayout besitzt, kannst du es mit der Divisionstaste vom Numblock probieren oder alternativ das Layout auf US umstellen. Dann sollt sich auch der Slash '/' innerhalb von TME erzeugen lassen.


    Gruß, Stephan

  • Moin.


    Es gibt den salto - Xerox Alto Emulator jetzt auch als Javescript Online Version:

    Xerox Alto Emulator


    Frage: Wer ein 'altes' IPad hat, bitte mal testen, ob es dort läuft. IPad 1 geht nicht!

    (alles viel zu alt, auch um neuere Firefox/Chromium/Chrom Browsewr zu installieren)

    Ggf. geht es aber bei IPad 2/3/4..?


    Frage2: Ich versuche es lokal zu betreiben. Github ist hier:

    GitHub - sethm/ContrAltoJS: ContrAltoJS JavaScript Xerox Alto Emulator
    ContrAltoJS JavaScript Xerox Alto Emulator. Contribute to sethm/ContrAltoJS development by creating an account on GitHub.
    github.com


    Abe egal, was ich mache, um das Disk Image zu laden:

    //system.loadPack("/contraltojs/images/" + diskName,

    //system.loadPack("http://localhost/contraltojs/images/" + diskName + ":8080",

    system.loadPack("https://archives.loomcom.com/contraltojs/images/" + diskName,


    Es kommt in der Konsole-Log eine Fehlermeldung:

    Code
    Downloading file https://archives.loomcom.com/contraltojs/images/games.dsk... system.js:75:25
    Quellübergreifende (Cross-Origin) Anfrage blockiert: Die Gleiche-Quelle-Regel verbietet das Lesen der externen Ressource auf https://archives.loomcom.com/contraltojs/images/games.dsk. (Grund: CORS-Kopfzeile 'Access-Control-Allow-Origin' fehlt). Statuscode: 200.

    Bei der Online Version geht es ohne Fehler:

    Code
    Resetting Alto Display alto_display.js:13:17
    Choosing disk image: games.dsk main.js:213:13
    Downloading file /contraltojs/images/games.dsk... system.js:75:25

    Done.


    Jemand Ideen, wie ich das ggf. lokal betreiben kann?

    Das hier: https://seeseekey.net/archive/126538 habe ich gmacht - kein Unterschied?


    VG Peter

    github.com/petersieg

  • Interessant. Der Alto sieht ein wenig aus wie Oberon.

    Eher umgekehrt : Der grade verstorbene Niklaus Wirth hat ja die Lilith (Modula-2) , und nachher Ceres ( Oberon) gemacht weil er die in den USA-unis gebrauchte Alto Workstations nicht nach Europa bringen konnte.


    Vor allem die Lilith sieht man die Abstammung von der Alto sehr gut an.


    A propos Workstation-Emulatoren : darf ich hier Werbung machen fur Emulith, meine ETH Lilith Emulation, lauffahig auf Mac, Windows & Linux ?


    In Sachen Alto : die Alto hat nur standard Komponenten, alle noch erhältlich. Brauch ich noch ein Projekt ? grumbel grumbel........

  • Spiele ja gerade mit dem Xerox Alto Emulator rum.

    Salto 0.4.2 konnte ich unter Mac OSX Lion kompilieren mit Mac Ports Unterstützung.


    Da ich das früher (TM) mal schon öfter unter Linux compiliert hatte, war ich dann doch sehr verwundert,

    das es jetzt unter Debian 11 (Raspian Desktop x86_32) lauter Fehlermeldung wegen "multiple defined.." Fehler gab.

    Google zeigte dann, das man die entspr. Variablen static machen sollte..

    Mit etwas Glück erwischte ich dann wohl die richtigen in cpu.h+c und konnte es nun compilieren.


    Da es schon ein github gab, habe ich das geforked und meine kleinen Anpassungen in meiner Kopie gemacht:

    GitHub - petersieg/salto_simulator: SALTO - Xerox Alto I/II Simulator. Not a project of mine, just to keep this code from getting lost
    SALTO - Xerox Alto I/II Simulator. Not a project of mine, just to keep this code from getting lost - GitHub - petersieg/salto_simulator: SALTO - Xerox Alto…
    github.com


    VG Peter

    github.com/petersieg

  • Eher umgekehrt : Der grade verstorbene Niklaus Wirth hat ja die Lilith (Modula-2) , und nachher Ceres ( Oberon) gemacht weil er die in den USA-unis gebrauchte Alto Workstations nicht nach Europa bringen konnte.

    Warum ging das nicht?

    Es waren keine kommerzielle Produkte, also nicht kauflich erhaltlich.

  • Ok - das ist nicht ganz ernsthaft eine Workstation Emulation, aber sehr hübsch anzusehen.

    Auf www.masswerk.at gibt es eine "Google60 – Search Mad Men Style", also eine Google Suche auf einem klassischen Mainframe.

    Da die echte Google API nicht mehr funktioniert muß man leider mit einigen gespeicherten Suchen leben.


    Auf dem Lochkartenstanzer kann man "space age" als Suchbegriff eingeben. Dann geht der Spaß los 8)


    Man kann Programme auch virtuelle Lochkarten stanzen, einlesen und ausführen


    Nachtrag: Zur Entspannung auf einer DEC-PDP1 Space War spielen :)

  • Frage2: Ich versuche es lokal zu betreiben. Github ist hier:

    https://github.com/sethm/ContrAltoJS


    Code
    Downloading file https://archives.loomcom.com/contraltojs/images/games.dsk... system.js:75:25
    Quellübergreifende (Cross-Origin) Anfrage blockiert: Die Gleiche-Quelle-Regel verbietet das Lesen der externen Ressource auf https://archives.loomcom.com/contraltojs/images/games.dsk. (Grund: CORS-Kopfzeile 'Access-Control-Allow-Origin' fehlt). Statuscode: 200.

    Das Internet wirft dich zu mit Informationen über CORS (googeln), aber kurz gesagt: Wenn du Javascript von foo.com ausführst, kann das Script nichts von bar.com laden, es sei denn, der HTTP-Server von bar.com liefert einen CORS-Header mit.


    Das dient der Sicherheit: Sonst könnte foo.com (ein Hacker) nämlich so tun, als sei es bar.com (eine Bank), einen Benutzer zu verleiten, auf foo.com statt auf bar.com zu gehen, und dann echte Daten von bar.com stehlen oder imitieren.


    Wenn du also ContrAltoJS von localhost ausführst, aber Zeugs von archives.loom.com laden willst, geht das nur, wenn archives.loom.com einen CORS-Header mitliefert. Was es nicht tut, und was du auch nicht anstellen kannst, da der Server nicht dir gehört.


    Mögliche Lösung: Die Dateien auch auf den localhost-Server kopieren, und das Script so ändern, dass es auf http://localhost/contraltojs/images/games.dsk zugreift.


    Bei der Online Version geht es ohne Fehler:

    Das ist klar, denn dann führst die das Script auf archives.loom.com aus, also kann er auch von archives.loom.com laden.

    https://seeseekey.net/archive/126538 habe ich gmacht - kein Unterschied?

    Das erlaubt das Laden von lokalen Dateien, dann musst du https://archives.loomcom.com/contraltojs/images/games.dsk im Skript umändern auf file://was/auch/immer/der/pfad/ist/games.dsk.

  • Das war halt der letzte Stand ;)


    Also 1. So wie es original ist mit:

    Code
    bootButton.disabled = true;
    system.loadPack("/contraltojs/images/" + diskName,
    //system.loadPack("http://localhost/contraltojs/images/" + diskName + ":8080",
    //system.loadPack("https://archives.loomcom.com/contraltojs/images/" + diskName,
    function() {bootButton.disabled = false;});

    Gibt:

    Code
    Choosing disk image: games.dsk main.js:213:13
    
    
    Downloading file /contraltojs/images/games.dsk... system.js:75:25
    
    
    Quellübergreifende (Cross-Origin) Anfrage blockiert: Die Gleiche-Quelle-Regel verbietet das Lesen der externen Ressource auf file:///contraltojs/images/games.dsk. (Grund: CORS-Anfrage war nicht http).


    ---


    2. Mit lokalem http Python3 Server im Hintergrund am laufen:

    #!/bin/sh

    cd $HOME/Downloads/ContrAltoJS/js

    python3 -m http.server --cgi 8080


    Code
    bootButton.disabled = true;
    //system.loadPack("/contraltojs/images/" + diskName,
    system.loadPack("http://localhost/contraltojs/images/" + diskName + ":8080",
    //system.loadPack("https://archives.loomcom.com/contraltojs/images/" + diskName,
    function() {bootButton.disabled = false;});


    Gibt:

    Code
    Choosing disk image: games.dsk main.js:213:13
    
    
    Downloading file http://localhost/contraltojs/images/games.dsk:8080... system.js:75:25
    
    
    Quellübergreifende (Cross-Origin) Anfrage blockiert: Die Gleiche-Quelle-Regel verbietet das Lesen der externen Ressource auf http://localhost/contraltojs/images/games.dsk:8080. (Grund: CORS-Anfrage schlug fehl). Statuscode: (null).

    Im server status wird überhaupt gar nichts angezeigt? Das wundert mich. Normalerweise müsste man den Kontaktversuch dort irgendwie sehen..?


    PS: Ich denke diese CORS Dinge sollten ausgelagert werden, sonst müllen wir diesen Thread doch allzu sehr zu ;)


    VG Peter

    github.com/petersieg

  • Das Folgende läuft bei mir ohne Änderungen am Code:


    Code
    git clone https://github.com/sethm/ContrAltoJS.git
    cd ContrAltoJS
    mkdir -p contraltojs/images
    cd contraltojs/images/
    wget https://archives.loomcom.com/contraltojs/images/games.dsk
    cd ../..
    python3 -m http.server --cgi 8080

    Dann Firefox auf http://localhost:8080/. Developer Tools zeigt im Network Tab, dass das Image relativ zum Hostname geladen wird.

  • ok. Dann müsste es an Mac OSX 10.13 High Sierra liegen..?


    Code
    Choosing disk image: games.dsk main.js:213:13
    
    
    Downloading file http://localhost/contraltojs/images/games.dsk:8080... system.js:75:25
    
    
    Quellübergreifende (Cross-Origin) Anfrage blockiert: Die Gleiche-Quelle-Regel verbietet das Lesen der externen Ressource auf http://localhost/contraltojs/images/games.dsk:8080. (Grund: CORS-Anfrage schlug fehl). Statuscode: (null).

    Denn geht bei mir leider nicht. Weder mit Firefox, noch mit Safari.


    ---


    Edit: Wer lesen kann ist klar im Vorteil!

    Mit:

    Code
    bootButton.disabled = true;
    system.loadPack("/contraltojs/images/" + diskName,
    //system.loadPack("http://localhost/contraltojs/images/" + diskName + ":8080",
    //system.loadPack("https://archives.loomcom.com/contraltojs/images/" + diskName,

    (Also original belassen!)

    Und: localhost:8080 im Browser geht es dann.


    Danke dir vielmals!!


    VG Peter

    github.com/petersieg

  • Code
    //system.loadPack("http://localhost/contraltojs/images/" + diskName + ":8080",

    Das kann so auch nicht gehen: Der Port gehört direkt hinter den Hostnamen, also "localhost:8080". Steht da nur "http://localhost", geht er auf "localhost:80", das ist verschieden von "localhost:8080", und deshalb der CORS-Request.


    Und vermutlich rennt auf 80 auch kein Server (und selbst wenn einer rennt, hat der nicht das Diskimage, und auch eher keine CORS-Konfiguration), deshalb die Fehlermeldung.