Zwei Tage ist es her, dass ich über die Archimedes-Emulation in MAME zuerst gestolpert und dann berichtet habe. Nun gibt es einen ersten Erfahrungsbericht über den langen, schmerzhaften Weg bis zum vertrauten Anblick des RISC OS-Desktops.
Zunächst: das MAME-Team scheint nicht viel von Dokumentation zu halten, zumindest die Dinge, die von der MESS-Seite eingebracht wurden sind sehr sparsam dokumentiert. Und irgendwie wird man das Gefühl nicht los, dass die MAME-Philosophie zwar sehr gut auf Spielautomaten-Emulation passt, bei Computern aber eher holprig ist. Aber aller Anfang ist ja bekanntlich schwer, und vermutlich liegt das nur an meinem einsetzenden Altersstarrsinn, dass sich doch gefälligst alle Emulatoren dieser Welt auch ähnlich verhalten sollten.
Aber ins Detail. Die Archimedes-Emulation (aa310 in der MAME-Abkürzung) hat zum Beispiel eine ganz genaue Vorstellung davon, welche Dateien unbedingt vorhanden sein müssen, bevor ein Start möglich ist. Dazu gehören ROM-Images und CMOS-Dateien. Die Dokumentation schweigt sich darüber aus, welche Dateien mit welchem Namen erwartet werden, aber man kann per
mame -listxml aa310
sich alles anzeigen lassen. Man erfährt dann, dass Arthur 0.30 und 1.20 sowie RISC OS 2.00, 2.01, 3.00, 3.10, 3.11 und 3.19 möglich sind. Benannt nach keinem einheitlichen Muster oder einheitlich in 4-ROMs-sind-4-Dateien-Form. Schade, schließlich gibt es ja die RISC OS Classic ROMs Collection, die hätte man ja durchaus als die kanonische Form verwenden können.
Merkwürdig: es wird auch eine CMOS-Datei erwartet (getrennt nach RISC OS 2 und RISC OS 3, aber keine speziell für Arthur), die ebenfalls – wie bei MAME üblich für ROMs – eine CRC und SHA1-Summe hinterlegt hat, also einen ganz bestimmten, vorbestimmten Inhalt haben muss. Seltsam für eine im Kern variable Datei – wöllte man fix gewisse Inhalte vorgeben, warum sie dann nicht gleich in MAME fest hinterlegen?
Wenn man dann sich entweder die benötigten Ressourcen selbst zusammengefrickelt hat (z.B. funktioniert es, wenn man die von anderen Emulatoren bekannten ic24.rom bis ic27.rom nebst cmos_riscos3.bin (z.B. von Arculator) ins Verzeichnis aa310 ins ROM-Verzeichnis kopiert) oder in den Weiten des Internets ein entsprechendes aa310.zip gefunden hat (nicht zu verwechseln mit dem alten, für MESS tauglichen a310.zip), kopiert man das in das ROM-Verzeichnis von MAME (egal ob noch im ZIP verpackt oder extrahiert in das Verzeichnis aa310).
So gerüstet, kann man nun das erste Mal die Emulation starten – entweder direkt MAME starten und sich durch die vielen emulierten Systeme hangeln, oder direkt per Kommandozeile
mame aa310 -bios 311
ein RISC OS 3.11 ordern. Nicht vom fehlschlagenden Selbsttest (roter Bildschirm) irritieren lassen, einfach kurz warten und das vertraute RISC OS-Startup-Banner begrüßt uns.
So weit, so gut. Und wie kriegt man jetzt die Software ins System? Wie immer bei Emulatoren: über Disketten-Images. MAME wird im Moment erweitert, um neben den üblichen ADF-Images auch APD und JFD zu unterstützen. Also ein paar ADFs nach mame\software kopiert, und man steht vor dem nächsten Rätsel: wie mounted man nun das Image? Des Rätsels Lösung: MAME bietet ein On-Screen-Menü, das man per Tastendruck auch “Scroll Lock” aufrufen kann. Kleines Problem in meinem Falle: die Laptop-Tastatur hat keine “Scroll Lock”-Taste anzubieten. Aber es gibt Abhilfe: man kann über eine Kommandozeilenoption eine andere Taste definieren – exemplarisch für die Tab-Taste:
mame aa310 -uimodekey TAB -bios 311
Und schon kann man über den Menüpunkt “File Manager” ein Floppy-Image auswählen, mit verschiedenen Mount-Optionen wie Read-Only oder Read-Write.
Ich wünsche fröhliches Experimentieren. Wer ein gescheites Frontend für MAME findet, bitte Meldung machen.