Emulation

ADFFS 2.60 verfügbar

Jon Abbott hat die Verfügbarkeit von ADFFS 2.60 verkündet. Wichtigste Neuerung ist die neue Implementierung der 50Hz-Synchronisation, um die originale Spielgeschwindigkeit in Verbindung mit tearing-freier Grafikdarstellung zu ermöglichen. Dazu kommen reichlich Bugfixes und die Vervollständigung der Kompatibilität auf den Pis zu solch großartigen Spielen wie Mig 29M Fulcrum oder Interdictor.

Leider zickt mein A3000 gerade etwas, so dass ich meine Testaktivitäten wohl hin zum RPi verlagern werde. Erste Maßnahme: Grafikausgabe auf echte 50Hz einstellen, ich hoffe mein Monitor spielt da mit.

ADFFS 2.59 verfügbar

Jon Abbott hat die Verfügbarkeit von ADFFS 2.59 angekündigt. Ab sofort wird der Raspberry Pi 3 (ARMv8, AArch32) unterstützt, und die Unterstützung für den RPi 2 (ARMv7) ist nun vollständig – was in der Theorie auch die Lauffähigkeit auf OMAP3 (BeagleBoard, BeagleBoard-xM, OpenPandora, BIK, ARMini), OMAP4 (PandaBoard, PIK, ARMiniX, PandaRO), iMX6 (ARMX6) und OMAP5 (Titanium, IGEPv5, TiMachine, RapidO Ti, RapidO Ig) ermöglicht, aber weitgehend ungetestet ist.

Auf den 32bit-Plattformen (also auch dem IYONIX) sollte nun durchgehend per Ctrl+Shift+F12 die Rückkehr aus dem Spiel zum Desktop möglich sein.

Ich bin inzwischen auch Teil des JASPP und unterstütze das Projekt durch Testaktivitäten – im Moment prüfe ich alle möglichen Spiele auf dem A3000 auf Lauffähigkeit mit ADFFS 2.59. Danach ist der RPi 3 dran.

Zeitgleich mit ADFFS 2.59 wurden auch noch folgende Spiele im Rahmen des JASPP freigegeben:

  • Blaston (1991) (Eterna)
  • Cartoon Line part one (1991) (Eterna)
  • Empire Soccer ’94 (1995) (Empire Software)
  • Oh, No! More Lemmings (1992) (Krisalis Software)

Spieleseitig sollte ADFFS nun (bis auf die unvermeidlichen Bugs) feature-complete sein – aber das Projekt heißt ja “software preservation” und nicht “games preservation”. Mal sehen, was sich Jon als nächstes vornimmt. Er hat immer wieder angedeutet, auch WIMP-Dinge über ADFFS emulierbar zu machen.

VirtualRPC-DL – VirtualRPC ohne Nerv-Faktor

Es gibt bekanntlich zwei taugliche Emulatoren für die “moderne RISC OS-Welt” (modern soll heißen: ab Risc PC, also nicht die alte Archimedes-Welt) – RPCEmu (ursprünglich von Tom Walker, inzwischen von den Howkins-Brüdern weiterentwickelt) und VirtualRPC (von VirtualAcorn, eine Weiterentwicklung von Red Squirrel).

Während RPCEmu erste Wahl für Linux-Benutzer und RISC OS 5-Liebhaber ist, dürfte für die meisten “normalen” Windows-Nutzer VirtualRPC erste Wahl sein – Netzwerk funktioniert “out of the box”, flexibles HostFS, zügige CPU-Emulation.

Was sprach bisher gegen VirtualRPC? Aus meiner Sicht mindestens drei Dinge. Erstens: kein RISC OS 5 möglich, nur die mitgelieferte RISC OS-Version funktioniert. Zweitens: doch recht anspruchsvoller Preis von mindestens 50 UKP. Drittens: das nervige Registrierungssystem, es muss ein Registrierungscode angefordert werden, und dieser ist gebunden an die MAC-Adresse des ersten von VirtualRPC gefundenen Netzwerkadapters, das ganze noch versüßt durch lausige Turnaround-Zeiten, wo zwischen Anforderung und Lieferung des Registrierungscodes schon mal eine Woche liegen kann – in der man dann die für teuer Geld gekaufte Software nicht benutzen kann.

Die freudige Nachricht: es gibt nun VirtualRPC-DL zu kaufen, im Prinzip eine “Download Only”-Variante von VirtualRPC-SE. Keine lästige Registrierung mehr, und der Preis liegt nun bei erträglichen 25 UKP. Die Einschränkung bezüglich des Betriebssystems bleibt hingegen bestehen – VirtualRPC-DL bleibt festgenagelt auf RISC OS 4.02, es sei denn man freundet sich mit Softload-Optionen für RISC OS 4.39 oder RISC OS SIX an. RISC OS 5 ist weiterhin “no-go”.

Zwei Dinge irritieren: die Featureliste auf der Webseite verliert kein Wort über die Netzwerkfähigkeit – läuft bei mir aber einwandfrei (und das Handbuch dokumentiert auch die Netzwerkfähigkeit). Ebenso wird behauptet, dass maximal 64MiB Hauptspeicher emuliert werden kann – bei mir laufen aber auch 128MiB problemlos.

Erwähnt werden sollte auch noch, dass im Gegensatz zu VirtualRPC-SE die DL-Variante nicht upgradefähig ist z.B. auf VirtualRPC-AdjustSA.

Classic Computing 2016 (1) – Der Plan

Am 17. und 18. September 2016 findet die Classic Computing 2016 in Nordhorn statt. Unser loser Zusammenschluss von Acorn- bzw. RISC OS-Enthusiasten, der seit ewigen Zeiten als GAG (German Archimedes Group) firmiert, wird dort auch einen kleinen Stand bemannen, um dem geneigten Retro-Publikum die wunderbare Welt von RISC OS näher zu bringen.

Grob habe ich folgenden Plan gefasst, was die zu präsentierende Hardware angeht:

  • Acorn A3000 als Vertreter der originalen Archimedes-Hardware – ARM2, IOC, MEMC1a, VIDC, 4 MB RAM, “single floppy” – also keine Harddisc oder so neumodischer Schnickschnack. Dafür mit dem LogikJoy-Interface (RTFM-kompatibel, falls das noch jemand was sagt) ausgestattet, damit man zwei anständige Joysticks (aka Competition Pro) anschließen kann um zünftig Sensible Soccer spielen zu können. Die klassische eckige Logitech-Maus ist natürlich auch dabei, weil man will ja Zarch, Aldebaran und Spheres Of Chaos angemessen steuern können.
  • MiST als Vertreter der heutigen Retro-Hardware-Generation Marke FPGA. Der Archimedes-Core ist zwar noch nicht sonderlich weit entwickelt, aber für eine Runde Zarch sollte es reichen.
  • Raspberry Pi als Vertreter der modernen RISC OS-fähigen Hardware, aber dank Software wie ADFFS, ArcEm und ArchiEmu auch für Retro-RISC OS-Zwecke sehr brauchbar. Wegen ADFFS wird es wohl ein Raspberry Pi B+ werden.

Interessant wird, geeignete Monitore aufzutreiben – der A3000 bräuchte schon einen 15kHz-Multiscan-Monitor für den echten Retro-Genuss. Vielleicht funktioniert es ja über den Scart-Eingang meines 22″-TFT, denn auf Röhrenmonitore herumtragen habe ich nicht wirklich Lust.

ADFFS 2.57 beta verfügbar

Jon Abbott war nicht faul in den letzten Wochen und hat die Verfügbarkeit von ADFFS 2.57 beta angekündigt. Die neue Version ist im Prinzip ein Bugfix-Release, das aber ebenfalls die Kompatibilität dahingehend verbessert, dass die folgenden Spiele auf dem Raspberry Pi 1 nun lauffähig sind:

  • Arcade Soccer
  • Burn Out
  • DinoSaw
  • Deadline
  • Magnetoids
  • Overload
  • Simon the Sorcerer
  • X-Fire

Burn Out war damals für mich eine der größten Spiele-Enttäuschungen unter RISC OS. Von der Präsentation her (Grafik, Sound) sehr professionell für ein “Eigengewächs” (also keine Portierung eines bekannten Amiga/Atari ST-Spiels), ließ es jegliche Spielbarkeit und damit Spielspaß vermissen.

Magnetoids (made by Frank Föhl, später bekannt für die beeindruckende Demo von Iron Dignity, das leider nie für RISC OS erschien), eine 3D-Asteroids-Variante, hatte mir ursprünglich auch wenig Vergnügen bereitet, bis mir Frank mal bei einem unserer Acorn-Treffen im Wilden Süden zeigte, wie das *richtig* gespielt wird. Ein echter Augenöffner. Frank hatte damals auch eine etwas erweiterte Version im Gepäck mit deutlich verbesserter Grafik (statt der eher eckigen Anmutung mit einfarbig gefüllten Flächen hatte es nun eine schöne runde Anmutung mit sauberem Texture Mapping und coolen Reflektionseffekten), leider scheint die aufgrund der Rechteproblematik niemals veröffentlicht worden zu sein.

Zurück zu ADFFS – neben dem Raspberry Pi ist auch für die StrongARM RiscPC-Plattform etwas getan worden, die meisten unterstützten Spiele laufen jetzt auch hier fehlerfrei. Also: runterladen und eine Runde Retro-Zocken einlegen.

Alte Spiele, neues ADFFS

Jon Abbott hat das Release der neuesten Version von ADFFS, 2.55 beta, verkündet (hier das passende JASPP-Forum-Posting dazu mit allen Details).

Was ADFFS macht und kann, habe ich in einigen früheren Blogposts schon beschrieben.

Was gibt’s neues? Es ist das erste Release, das den Fokus auf den Raspberry Pi legt – das Original, also nicht die Versionen 2 und 3, da sich ADFFS zunächst um die Emulation auf ARMv5-Plattformen (also eben jenem Raspberry Pi 1 (A, B, B+, Zero) und quasi nebenbei als Abfallprodukt auch dem IYONIX pc) kümmert. ARMv7-Unterstützung ist rudimentär enthalten, hat aber noch viele Einschränkungen.

Voraussetzung für die neue ADFFS-Version ist eine aktuelle Version von RISC OS 5, namentlich 5.23 nach dem 6. April 2016, und zwar ein unveränderter Build mit High-Vector-Semantik und relocated zero page. Das gilt logischerweise nicht für die auch weiterhin unterstützten klassischen Plattformen wie Archimedes und Risc PC, da tut es jede alte schäbige RISC OS-Version.

Der “Game Count”, also die Zahl lauffähiger Spiele, liegt nun bei beeindruckenden 130 – vermutlich werden selbst eingefleischte RISC OS-Nutzer Probleme haben, mehr als 50 Spiele für die Plattform zu benennen. Im Rahmen des JASPP-Projekts wurden weitere 17 Spiele zum freien Download veröffentlicht, hauptsächlich alte Minerva-Titel aus den 80ern, aber auch ein paar bekanntere Spiele von den Portiermeistern von Krisalis (Lemmings 2, Manchester United, Pipe Mania).

Besonders die nun sauber unterstützten 50Hz-Modi (auch auf dem Pi, wenn der Monitor/Fernseher mitspielt) und die vielen Verbesserungen im Sound-Bereich lassen auf erhöhten Spielspaß hoffen. Vielleicht dann auch demnächst auf den ARMv7-Plattformen.

MiST-Board Archimedes-Core Schnelltest

Seit einiger Zeit bin ich stolzer Besitzer des MiST-Boards (im alten Blog-Post kann man auch nachlesen, was es mit diesen FPGAs so auf sich hat). Vorrangiger Zweck ist die Befriedigung nostalgischer Sehnsüchte – Bomb Jack, Commando, Ikari Warriors und Barbarian auf dem Schneider CPC, IO und Armalyte auf dem Commodore 64. Dazu auch Ausflüge auf die 16bitter, die ich nie selbst besaß (Atari ST, Commodore Amiga). Da werden die Competition Pros angestöpselt und los geht’s.

Und weil auf dem MiST-Board eine Menge Exoten vertreten sind, gibt es auch einen Core für den Exoten schlechthin: den Acorn Archimedes, Urvater aller ARM- und RISC OS-Rechner. Ich hatte schon kurz darüber berichtet. Passend zum Exoten-Status ist es auch gar nicht so einfach, den Core erfolgreich ans Fliegen zu bekommen. Unter all den Cores, die ich ausprobiert habe (und das waren fast alle), ist es sogar am Schwierigsten, obwohl ich RISC OS-technisch auch was die alten Kisten angeht schon einen reichhaltigen Erfahrungsschatz habe.

Ein Problem: bootet man das MiST mit einem anderen Core und wechselt dann zum Archimedes-Core, funktioniert nach meiner Erfahrung gar nix. Es startet nicht. Man benötigt definitiv eine eigene SD-Karte mit dem Archimedes-Core als Default, und man muss manchmal das MiST-Board resetten damit der Archimedes-Core startet. Der Thread zum Archimedes-Core im Atari-Forum ist leider eingeschlafen, was nichts gutes heißt für die Weiterentwicklung. Ab und zu scheint das Video-Setup auch nicht korrekt zu sein und der Bildschirm flimmert unerträglich. Ein Shift+Ctrl+Break-Reset (warum der nur mit Shift geht? Keine Ahnung…) bringt das normalerweise wieder ins Lot. Also versuchen wir mal mit dem zu leben, was wir heute haben.

Was könnten die Gründe sein, überhaupt den Archimedes-Core betreiben zu wollen? Na klar, die klassischen Games wieder zu zocken. Anwendungssoftware ist etwas schwerer vorstellbar, da die Emulation einer Festplatte leider noch fehlt, und mit zwei Floppies wird es doch eher mühsam. Nicht unmöglich (ich habe einige Zeit mit einem A3000 mit nur einer Floppy gearbeitet – man muss halt gut organisiert sein, was die Disketten angeht, und bootet am besten so, dass die üblichen Module direkt im RAM landen, sonst wird die Diskette mit !System und !Fonts der beste Freund des Disc-Jockeys), aber mühsam. Wobei diese Erinnerung hauptsächlich durch RISC OS 2 geprägt ist, wo quasi jede Anwendung zusätzlich die SharedCLibrary laden musste nebst ColourTrans und FPEmulator. Und die Fonts waren natürlich auch disc-based. Das wurde mit RISC OS 3 Gott sei Dank anders, wo man allein mit den ROM-Inhalten schon relativ weit kam.

Also: Schwerpunkt Spiele. Aber auch bei Spielen braucht man natürlich das Betriebssystem, und das ist die erste Hürde. Ähnlich wie beim Amiga ist auch RISC OS – selbst in den ältesten Versionen – nicht für Emulationszwecke lizenzfrei nutzbar. Zwar gibt es Downloadquellen, aber wir wollen uns ja nicht außerhalb der Legalität bewegen. Gott sei Dank muss man nicht einen der alten, seltenen Acorn-Rechner kaufen und das ROM rippen, sondern kann direkt online shoppen bei RISCOS Ltd.. “Classic ROM Collection” heißt das gute Stück und beinhaltet nahezu alles der prä-RISC OS 4-Ära: neben den Urgesteinen Arthur 0.30 und 1.20 (da diskutiert man noch, ob das schon den Namen “Betriebssystem” verdient) und dem Exoten RISC OS 2.01 (die spezielle A540-Version) sind auch die Mainstream-Versionen RISC OS 2, RISC OS 3.10/3.11 und RISC OS 3.70/3.71 am Start. Für diese nahezu vollständige Sammlung – aus deutscher Sicht fehlt leider RISC OS 3.19, die deutsche Version von RISC OS 3.11 – sind die 10 UKP doch gut angelegt.

Und welche OS-Version hätten wir gerne? Die weitestgehende Kompatibilität bietet definitiv RISC OS 3.11. Nur ein paar ganz alte Schätzchen laufen nur unter RISC OS 2, und da fällt mir spontan doch überhaupt kein spielenswerter Kandidat ein. Also RISC OS 3.11.

Fehlt also noch die Software. Wer sich für die damals mitgelieferte Software interessiert, findet im Apps-Ordner die sich im ROM befindlichen Anwendungen wie Draw, Paint, Edit und Alarm. Dazu kann man in die Disketten Apps1, Apps2 und Support reinschnuppern, die als ZIP-Archiv bei der Classic ROM Collection mitgeliefert werden. ZIPs entpacken geht natürlich mit SparkPlug von David Pilling – aber wie auf die MiST-SD-Karte bringen? Zwei Möglichkeiten: entweder per Computer und Emulator auf ein Floppy-Image kopieren, oder ein fertiges Floppy-Image von Wockis Acorn-Site runterladen. Wer sich ernsthaft mit der klassischen RISC OS-Software beschäftigen will, wird nicht drumrumkommen, einen Weg zu etablieren, Downloads aus dem Internet auf Floppy-Images zu transferieren. Wenn ein gewöhnlicher Windows-PC am Start ist, bieten sich RPCEmu, RedSquirrel oder Arculator an. Linux-Freunde nehmen RPCEmu oder ArcEm. Wer in der glücklichen Lage ist, unter RISC OS zu arbeiten, dem ist A310Emu oder ArchiEmu zu empfehlen.

Lange Vorrede, aber wie sieht jetzt das Setup der SD-Karte aus? Simpel: aktuelle MiST-Firmware, Archimedes-Core r1028 als core.rbf und das RISC OS 3.11-ROM als riscos.rom ins Hauptverzeichnis, dazu die gewünschte Auswahl von Disc-Images im Format ADF – es empfiehlt sich hier, die Dateinamen kurz und knackig zu wählen, sonst werden sie im MiST-OSD schnell schwer zu lesen.

Empfehlenswerte Spiele – hier sind nur die “Originale” aufgelistet, keine Umsetzungen von anderen Systemen, es sei denn die RISC OS-Version ist signifikant besser:

  • Zarch
  • Conqueror
  • E-Type
  • Chocks Away
  • Elite

Eigentlich empfehlenswert, aber der Core ist derzeit zu langsam:

  • Star Fighter 3000

Eigentlich empfehlenswert, ich hab’s aber nicht zum Laufen gebracht:

  • Spheres of Chaos
  • Cataclysm
  • Stunt Racer 2000

Gute Online-Quellen für Software – bitte Copyright beachten!

Neues vom JASPP – ADFFS 2.50beta und neue Spiele

Jon Abbott hat wieder zugeschlagen. ADFFS 2.50beta heißt die neu freigegebene öffentliche Beta-Version der ursprünglich-mal-Floppy-Emulator-jetzt-universeller-Spiele-Emulator-Software, die in diesem Blog schon öfter Thema war. Der jetzt erreichte Meilenstein ist ein weitestgehend vollständiger Support der im Rahmen des Projekts bisher freigegebenen Spiele für die Plattform “Raspberry Pi”. Und hier kommt es auf die Feinheiten an, denn tatsächlich wird nur der Ur-Pi (also Model A, Model B und Model B+) unterstützt, nicht der neue Pi 2. Das liegt einfach daran, dass der Ur-Pi noch ARMv5-kompatibel ist, während der Pi 2 ARMv7 ist und das leider bei der Emulation der alten Welt einen riesigen Unterschied macht. Ich sage nur unaligned memory access.

Weitere gute Nachricht vom JASPP: es gibt nun eine Vereinbarung mit Artex Software, Eterna, Minerva und VOTI dahingehend, dass die alten Archimedes-Software-Schätzchen im Rahmen des Projekts veröffentlicht werden können. Wir dürfen uns also auf Klassiker wie Exodus, Rockfall, Ballarena oder Sunburst freuen.

Und Jon macht unermüdlich weiter: sein nächstes Projekt ist die Unterstützung von 26bit-Modulen in ADFFS. Bisher wurden zentrale Module immer als 32bit-Varianten bereitgestellt, meist waren das einfache Dinge wie Voice-Module oder Tracker-Player. Jetzt kommt also die generische Lösung, die einen ganzen Schwung von Spielen auf dem Raspberry Pi dann spielbar machen wird. Darunter alte Favoriten wie Sensible Soccer oder PipeMania.

MiST-Board mit frühem Archimedes-Core

In der Retro-Szene zeichnet sich seit ein paar Jahren ein neuer Trend ab: statt sich mit der uralten Hardware rumzuärgern, die langsam ihrem finalen Verfall entgegenstrebt, oder auf Emulatoren setzt, die es leider oft nicht schaffen das “originale” Gefühl herzustellen sondern irgendwie synthetisch wirken, setzt man auf “echte” Hardware auf FPGA-Basis und baut damit die alten Schätzchen nach.

Meines Wissens die erste breit eingesetzte Variante dieser neuen Spielart war der C-One, der eigentlich einen C64 nachbauen sollte, amüsanterweise aber als erste funktionierende “Personality” einen Amstrad/Schneider CPC-Core bekam. Nicht zuletzt deshalb, weil Original-Entwicklerin Jeri Ellsworth das kommerzielle Projekt C64 DTV (ein Joystick im Competition-Pro-Design, der einen kompletten FPGA-basierten C64-Nachbau enthielt nebst 30 klassischen Spielen und per FBAS direkt an einen gewöhnlichen Fernseher angeschlossen werden konnte) dazwischenschob.

Seit einiger Zeit gibt es nun das MiST-Board mit Zielrichtung eines Nachbaus von Commodore Amiga und Atari ST. Entscheidend: zwei Joystickports der Geschmacksrichtung “9polig Atari-kompatibel” – also die gute alte Microschalter-Digital-Generation, mit der sich die Kinder der 80er die Handgelenke bei Daley Thompson’s Decathlon oder Combat School ruiniert hat – sind mit an Bord. Software wird über eine SD-Karte bereit gestellt.

Und warum nun ein Artikel über das MiST-Board auf einem RISC OS-Blog? Seit kurzer Zeit steht eine früher Version eines Acorn Archimedes-Cores zur Verfügung, der einen 4MB-A3000 simuliert. Noch nicht wirklich ausgereift (keine Floppy-Emulation), aber ein guter Anfang. Hier kann man sich genau informieren.

Für schmale 200€ kann man das MiST-Board in einem recht schmucklosen Stahlblechgehäuse bei Lotharek (bekannt durch den  SD-Card-Floppy-Emulator HxC) kaufen. Wenn man sich überlegt, was gebrauchte gut erhaltene Atari STs, Commodore Amigas oder Acorn A3000 kosten, ein echtes Schnäppchen.

RPCEmu unter Linux – ein Kochbuch

Bekanntlich ist RPCEmu der beste frei verfügbare Emulator für IOMD-basierte Hardware (vulgo Risc PC und A7000), den es für die Geschmacksrichtung “Linux” gibt. Während es für die Windows-User ein “ready-to-install”-Paket gibt und auch ein ZIP-Paket, das man einfach irgendwo auf die Platte extrahiert, heißt es bei Linux traditionell “compile from source”.

Ich will hier für eine aktuelle Ubuntu-Installation kurz die Schritte skizzieren, die einen zu einem funktionsfähigen RPCEmu mit Netzwerkunterstützung führen – auf der RPCEmu-Seite sind die Hinweise doch etwas verstreut, und einiges muss man sich zusammenreimen.

Das verwendete RISC OS ist natürlich RISC OS 5 von RISC OS Open Ltd.

RPCEmu Quellcode beschaffen

Hier gibt es zwei Möglichkeiten: Sourcecodearchiv von der RPCEmu-Seite  herunterladen, oder per Mercurial direkt das Source-Repository anzapfen. Ersteres ist etwas komfortabler, weil im Archiv bereits viele Dinge unabhängig vom Quellcode an der richtigen Stelle liegen. Will man letzteres tun, muss man Mercurial (“hg”) auf die Kiste bekommen – der Paketmanager hält hier alles notwendige bereit (einfach “sudo apt-get install mercurial” ausführen geht am schnellsten). Auschecken des tip-Standes (anderswo “Head”, “Trunk” oder “Master” genannt) ist simpel:

hg clone http://www.home.marutan.net/hg/rpcemu rpcemu

Egal für welchen Weg man sich entscheidet, man sollte am Ende ein “rpcemu”-Verzeichnis auf der Platte liegen haben, in dem sich der Quellcode im Verzeichnis src befindet.

RPCEmu compilieren

Zunächst sollte man sein Linux mit den notwendigen Libraries ausstatten. Gott sei Dank sind die Abhängigkeiten hier überschaubar: es braucht nur Allegro (mindestens Version 4.2, aber nicht Version 5; derzeit aktuell ist 4.4) und pthread (aka libpthread). Letzteres war bei mir schon installiert, ersteres kam über “sudo apt-get install liballegro4-dev”.

Über das config-Skript parametriert man alle notwendigen Dinge, vor allem aktiviert man den dynamischen Recompiler (vulgo “JIT”), weil sonst die Emulation doch eher gemächlich läuft: ./configure –enable-dynarec

Danach kommt dann der eigentliche compile-Vorgang, den man wie üblich per “make” startet. Resultat ist ein Binary namens “rpcemu”, das theoretisch ausführbar wäre – aber es fehlt ja noch ein bisserl was.

RPCEmu vorbereiten

Hat man sich bei der Quellcode-Beschaffung vom Mercurial-Repository bedient, muss man etwas mehr tun. Dort, wo das rpcemu-Binary nun liegt, erzeugt man zwei Verzeichnisse: hostfs (dort liegt später das RISC OS-Dateisystem) und poduleroms (dort kommen RISC OS-Module rein, die RPCEmu dann automatisch ins ROM integriert, und zwar über den Podule-ROM-Mechanismus – genau so, wie z.B. bei physischer RISC OS-Hardware die Podules (Netzwerk, SCSI, IDE, USB…) ihre Treiber ins RISC OS einbinden). Ins poduleroms-Verzeichnis kopiert man jetzt die drei Dateien hostfs,ffa hostfsfiler,ffa SyncClock,ffa aus riscos-progs/HostFS und riscos-progs/SyncClock. Damit steht nun HostFS zum Booten zur Verfügung, und die RISC OS-Uhr wird regelmäßig mit der Uhr des Hostsystems abgeglichen.

Jetzt gilt es, die Konfiguration anzupassen. Das passiert in der Datei rpc.cfg. Damit unfallfrei gebootet werden kann, muss unbedingt
model = RPCSA
in dieser Datei stehen, da der “Dynamic Recompiler” zwingend die StrongARM-Emulation voraussetzt, ansonsten kommt es zu bösen Instabilitäten. Um für die spätere Netzwerkkonfiguration schon gerüstet zu sein, kann man hier schon die Zeile
username = <your standard username>
eintragen – den Platzhalter mit dem Benutzer ersetzen, der den Emulator später ausführen wird.

Alle anderen Konfigurationen – Sound aktiv oder nicht, wieviel RAM und VRAM etc. – kann man später bequem über das RPCEmu-Menü setzen (Strg+Ende blendet das Menü ein).

RISC OS installieren

Letzter Schritt ist die Installation von RISC OS. Seit RISC OS 3.5 ist RISC OS ja quasi zweigeteilt: einmal das ROM, und einmal die “disc based components”, auch gerne mal vereinfacht “!Boot” oder “Bootstruktur” genannt.

Das ROM bekommt man natürlich von RISC OS Open Ltd. https://www.riscosopen.org/content/downloads/riscpc – abenteuerlustige Naturen verwenden einen 5.21-Nightly Build, eher konservative Nutzer begnügen sich mit der als stabil gekennzeichneten Version 5.20. Beiden gemeinsam ist, dass man in den Tiefen des jeweiligen ZIP-Archivs fündig wird: soft/!Boot/Choices/Boot/PreDesk/!!SoftLoad/riscos ist die Datei der Wahl, die ins Verzeichnis roms des RPCEmu kopiert werden muss.

Passend zur ROM-Version braucht man jetzt noch das “HardDisc4”-Disk-Image. Hier https://www.riscosopen.org/content/downloads/common kann man das runterladen unter “Disc based components”. Um es nochmal zu wiederholen, weil Fehler hier oft sehr merkwürdige Auswirkungen haben – wichtig: passend zur ROM-Version! Ich empfehle die “self-extracting archives”, dann braucht man nicht extra noch einen Entpacker. Die Datei kopiert man nach “hostfs”, damit sie von innerhalb RISC OS zur Verfügung steht.

Jetzt ist es endlich soweit, und RPCEmu kann gestartet werden: einfach rpcemu ausführen. Standardmäßig ist im mitgelieferten cmos.ram ADFS als Bootdateisystem konfiguriert, deshalb kommt man nicht mal in den Desktop. Also schnell von der Kommandozeile in RISC OS konfigurieren:
*co. filesystem HostFS
Dann einfach
*desktop
tippen und man kommt in die graphische Oberfläche. Hier auf das HostFS-Laufwerksitem clicken, das vorher dort platzierte HardDisc4-File mit dem Filetype “Utility” ausstatten, doppelclicken und warten bis sich alles entpackt hat. Es entsteht ein Verzeichnis “HardDisc4” – den Inhalt dieses Verzeichnisses ins Root verschieben.

Netzwerk einrichten

Die Kür ist die Netzwerkinstallation. Die soll hier gar nicht im Detail behandelt werden, denn die RPCEmu-Doku ist hier sehr gut und erlaubt ein schrittweises Einrichten.

In Kurzform:

  • rpcemu künftig per sudo starten
  • per iptables und sysctl das Tunnelling konfigurieren
  • im RPCEmu-Menü das Netzwerk aktivieren (Strg+Ende, Settings -> Networking -> IP-Tunneling)
  • RISC OS-Netzwerktreiber installieren
  • RISC OS-TCP/IP-Konfiguration durchführen

Quellen

RPCEmu-Homepage http://www.marutan.net/rpcemu/
Linux compile from source http://www.marutan.net/rpcemu/linuxcompile.html
RPCEmu networking http://www.marutan.net/rpcemu/manual/network.html
Linux networking: binary config http://www.marutan.net/rpcemu/manual/net-lin.html
Linux networking: IP tunnelling http://www.marutan.net/rpcemu/manual/net-lin-tun.html
Networking: RISC OS network driver install http://www.marutan.net/rpcemu/manual/net-ro.html
Networking: RISC OS configuration for IP tunnelling http://www.marutan.net/rpcemu/manual/net-ro-tun.html

Der Expertentipp zum Abschluss

Wer wie ich mal probeweise die Linux-Maschine virtuell eingerichtet hat (z.B. via VirtualBox), sollte darauf achten, im BIOS die Virtualisierungsoptionen einzuschalten (VT-x, Intel VT, AMD-V oder ähnlich). Sonst ist die Performance eher unterirdisch, und man kann auch auf 64bit-Systemen nur 32bit-Gastsysteme betreiben.