Amiga-Emulation unter MorphOS



MorphOS ist wie AmigaOS 4 ein Nachfolger des Amiga-Betriebssystems AmigaOS. Zwar bietet MorphOS eine gewisse Kompatibilität zu den klassischen Amiga, es gibt aber viele Programme die nicht oder nur teilweise laufen. Deshalb muss man manchmal auf einen Amiga-Emulator ausweichen, auf den jedes 68K-Programm korrekt arbeitet. Einer dieser Emulatoren für MorphOS ist E-UAE, den es für alle möglichen Betriebssysteme gibt. Allerdings fehlt eine grafische Oberfläche, die ist separat erhältlich und nennt sich "rhlaunch". Hier wird beschrieben wie der Emulator konfiguriert und verwendet wird.
Die Vorbereitungen
Für die korrekte Amiga-Emulation wird ein Abbild des Amiga-❏ Kickstart benötigt. Es gibt mehrere Möglichkeiten diesen zu erhalten:
• Kickstart direkt am Amiga auslesen
• Kickstart auf PC übertragen mit AmigaExplorer
• Oder man entscheidet sich für die "Amiga Forever CD" von Cloanto, auf der sich die benötigten Kickstarts befinden.
Sei gewarnt, das Runterladen eines Kickstart-Images aus dem Internet ist illegal!
Als nächstes brauchen wir natürlich den Emulator (E-UAE_0.8.29-WIP4.lha), den wir hier herunterladen . Dieser kann an einer beliebigen Stelle auf der Festplatte kopiert werden.
Wir verwenden die SDL-Version von E-UAE, also brauchen wir das SDL-Paket, falls dieses noch nicht installiert sein sollte: Download
Jetzt brauchen wir nur noch die grafische Oberfläche rhlaunch. Das komprimierte Paket finden wir hier. Anschließend dekomprimieren wir die Datei. Darin werden wir eine Datei namens "rhLaunch" und die dazugehörige .info-Datei finden. Diese kopieren wir in das Verzeichnis von E-UAE.

Klicke auf das Bild zum Vergrößern
Selbstverständlich brauchen wir zum Testen ein paar Disketten-Images (❏ ADF-Dateien), beispielsweise von hier.
Die Konfiguration
Wir laden jetzt die grafische Oberfläche mit einem Doppelklick auf "rhlaunch", doch bevor es mit der Emulation losgeht müssen wir noch einige Pfade angeben. Dazu klicken wir auf den Reiter "Settings" und geben die entsprechenden Pfade an.
• E-UAE executables: Hier wird der Emulator selbst ausgewählt. In unserem Falle geben wir die Datei "e-uae.sdl" an die sich im Ordner des Emulators UAE befindet.
• Configs: Dabei handelt es sich um den Ordner in den sich die Konfigurationsdateien der emulierten Rechner befinden. Hier geben wir den Ordner "Conf" an, der sich ebenfalls im Hauptverzeichnis des Emulators befindet. Es kann zwar ein beliebiger Ordner angegeben werden, aber da sich im Ordner "Conf" bereits einige Konfigurationen befinden, wählen wir diesen.
• Roms: Die Kickstart-Roms sind ein wesentlicher Bestandteil der Emulation. Hier wird angegeben in welchen Ordner sich diese befinden.
• Floppies: Der Ordner in den sich die Disketten-Images befinden (❏ ADF-Dateien) muss hier angegeben werden. Das kann ein beliebiger Ordner auf der Festplatte sein.

Klicke auf das Bild zum Vergrößern
Weiter geht es zum Reiter "Roms". Wenn wir, wie weiter oben beschriebenen, den richtigen Pfad zu den Rom-Dateien angegeben haben, dann werden hier automatisch alle verfügbaren Roms aufgelistet. Des Weiteren wird uns hier angezeigt für welche
Maschine das Rom geeignet ist und ob die Checksumme korrekt ist.

Klicke auf das Bild zum Vergrößern
Unter den Reiter "Configs" finden wir die bereits einige Konfigurations-Dateien. Ganz links im Fenster sehen wir die verfügbaren Dateien. Wenn hier nur eine Datei (Default) zu sehen ist, dann fehlt die Pfadangabe zum Ordner Conf (siehe weiter oben).
Wenn wir auf eine der Dateien klicken, erscheinen die entsprechenden Optionen. Die einzelnen Werte können alle nach den eigenen Wünschen geändert und mit den Button "Save" abgespeichert werden. Eine neue Konfiguration wird mir "Create" erstellt.

Klicke auf das Bild zum Vergrößern
Und zum Abschluss klicken wir auf den Reiter "Floppies", unter den sich die verfügbaren Diaketten-Images befinden. Wenn keine Diskette in der Liste aufgeführt werden, dann ist die Pfadangabe unter "Settings" (siehe weiter oben) womöglich falsch, oder es befinden sich keine Images im gewählten Ordner.
In diesem Fenster können wir nicht nur ein Disk-Image auswählen, wir können zusätzlich noch bestimmen mit welcher Konfiguration die Diskette geladen werden soll (Spalte Config) und in welchen Laufwerk die Diskette eingelegt werden soll.
Beachte, dass die Anzahl der Floppy-Laufwerke im Reiter "Configs" eingestellt werden muss, sonst wird nur das Laufwerk DF0: verwendet.
Um einem Laufwerk eine Diskette zuzuweisen, wählen wir zuerst das Image und klicken dann auf das die Laufwerkbezeichnung (ganz unten).

Klicke auf das Bild zum Vergrößern
Falls ein Spiel aus mehreren Disketten besteht, dann werden alle Images zusammengefasst dargestellt. In der Spalte "#" wird angezeigt wieviele Disketten vorhanden sind. Ein Doppelklick auf den Eintrag zeigt alle Disketten-Images an, die dann einzeln den gewünschten Laufwerk zugewiesen werden können.
Der erste Start
Wenn die gewünschten Disketten eingelegt wurden, können wir einen ersten Start wagen.
Ein neues Fenster sollte sich öffnen und das gewählte Programm wird geladen. Oder falls nur die Kickstart-Animation angezeigt wird, wurde wahrscheinlich keine oder die falsche Diskette in das Laufwerk DF0 eingelegt.

Klicke auf das Bild zum Vergrößern
Shortcuts und Diskettenwechsel
Wenn der Emulator einmal läuft, können wir mit der grafischen Oberfläche keinen Einfluss mehr nehmen. Was aber wenn wir mitten in der Emulation eine andere Diakette einlegen wollen? Dafür gibt es die Tastenkombinationen die uns helfen. Einige davon sind hier aufgelistet:
Emulation beenden: ctrl + alt + q
Reset: ctrl + alt + r
Floppy-Image in Laufwerk DF0 einlegen: ctrl + alt + f1
Floppy-Image in Laufwerk DF1 einlegen: ctrl + alt + f2
Floppy-Image in Laufwerk DF2 einlegen: ctrl + alt + f3
Floppy-Image in Laufwerk DF3 einlegen: ctrl + alt + f4
Mit ctrl + alt + Linke Shift-Taste + Funktionstaste wird die entsprechende Diskette ausgeworfen

Klicke auf das Bild zum Vergrößern
Eine virtuelle Festplatte (Ordner) einbinden
Den emulierten Amiga können wir mit E-UAE eine virtuelle Festplatte spendieren. Wir binden einen Ordner ein, der unter AmigaOS anschließend als Festplatte erkannt wird. Es genügt eine kleine Änderung in der Konfiguration des Emulators.
Wir öffnen de Reiter "Configs" und wählen in der linken Seite des Fensters die gewünschte Konfigurations-Datei und suchen in der Optionsliste die Option "filesystem2". Sollte diese Option fehlen, dann muss sie zuerst zur Optionsliste hinzugefügt werden, mit einem Klick auf den Button "Add". Mit einem Klick auf die Lupe werden alle verfügbaren Optionen aufgelistet.

Klicke auf das Bild zum Vergrößern
Dann geben wir folgenden Parameter ein:
Syntax: <Zugriff>,<Laufwerk>:<Laufwerkname>:<Pfad>,<Bootpriorität>
Beispiel: rw,DH0:Tools:Work:HD,1

Jetzt speichern wir die Konfiguration ab. Wenn wir die Emulation ohne eingelegte Diskette starten, sollte statt der gewohnten Kickstart-Animation eine AmigaOS-Eingabeaufforderung erscheinen, da der Amiga versucht von einer Festplatte zu booten die noch leer ist. Das sagt uns, dass wir den Parameter richtig angegeben haben.
Wenn wir die Workbench von Diskette laden, sollte das Laufwerk angezeigt werden. Wir können nun mit diesem Laufwerk/Ordner Daten zwischen MorphOS und emulierten 68K-Amiga austauschen oder AmigaOS installieren.

Klicke auf das Bild zum Vergrößern
Eine virtuelle Festplatte (HDF) einbinden
Es gibt noch eine zweite Möglichkeit eine Festplatte zu emulieren und zwar indem man eine HDF-Datei einbindet. Im Unterschied zur vorherigen Methode (einen Ordner als Festplatte einbinden) ist die Größe dieser Festplatte vordefiniert. Das bedeutet, wir müssen uns vorher Gedanken machen wie groß die Festplatte sein soll. Ein wesentlicher Vorteil ist aber, dass wir ein beliebiges Dateisystem verwenden können. Zuallererst müssen wir die die Festplatte (HDF-Image) erstellen. Das klappt mit dem ❏ Shell-Tool "CreateFile" sehr gut. Wir laden das Programm runter und geben in einer ❏ Shell folgenden Befehl ein:
CreateFile <Dateiname> <Dateigröße in Bytes> <Füllzeichen>
Beispiel: CreateFile hd.hdf 100000000 -c=0

Das soeben erzeugte Image muss nun eingebunden werden. Wir öffnen de Reiter "Configs" und wählen in der linken Seite des Fensters die gewünschte Konfigurations-Datei und suchen in der Optionsliste die Option "hardfile2". Sollte diese Option fehlen, dann muss sie zuerst zur Optionsliste hinzugefügt werden, mit einem Klick auf den Button "Add". Mit einem Klick auf die Lupe werden alle verfügbaren Optionen aufgelistet.

Klicke auf das Bild zum Vergrößern
Dann geben wir folgenden Parameter ein:
rw,:<Pfad zum HDF-Image>,0,0,0,0,0,

Anschließend speichern wir die Konfiguration ab. Wenn wir die Emulation starten und mit der Workbench booten, sehen wir noch gar nichts. Die Festplatte muss noch eingerichtet werden, mit "HDTools" was Bestandteil von AmigaOS 2 oder neuer ist.
Die Einrichtung der Festplatte würde den Rahmen dieser Anleitung sprengen und wird somit hier nicht aufgeführt.

Klicke auf das Bild zum Vergrößern
Die Konfigurationsdatei
E-UAE ließt beim starten den Inhalt der jeweiligen Konfigurationsdatei. In dieser sind alle Einstellungen gespeichert. Die Datei befindet sich im Ordner den wir anfangs bei der Pfadangabe angegeben haben. Wir haben gesehen, dass man mit rhLaunch die Einstellungen komfortabel ohne manuelles Editieren der Konfigurationsdatei ändern kann. Die Bedeutung der zahleichen Optionen ist nicht immer ganz klar. Deshalb werden die wichtigsten Parameter hier erklärt. Wer E-UAE auf anderen Plattformen bereits genutzt hat, wird allerdings feststellen dass einige Optionen oder Parameter nicht mit dieser Version übereinstimmen.
kickstart_rom_file
Funktion: Der Pfad in den das Kickstart-Image liegt
kickstart_key_file
Funktion: Benutzt man ein Kickstart-Image von Cloanto (Amiga Forever), braucht man einen "Schlüssel" um das verschlüsselte Image verwenden zu können. Hier wird der Pfad zu diesem Schlüssel angegeben.
kickstart_ext_rom_file
Funktion: Einige Amiga-Modelle (CDTV, CD32) besitzen einen zusätzlichen erweiterten Kickstart. Der Pfad zu diesem ❏ Kickstart wird hier angegeben.
cart_file
Funktion: Der Pfad zu einem Cartridge-Image (wie die Action Replay) wird hier eingetragen.
kickshifter
Mögliche Parameter: true, false
Funktion: Ist Kickshifter eingeschaltet, wird das ❏ Kickstart Image gepatcht um den Mac-Emulator Shapeshifter zu unterstützen.
chipmem_size (Chip-Ram)
Mögliche Parameter: 1 bis 16
Funktion: Die Erhöhung des Wertes um 1 entspricht einer Erhöhung des Speichers um 512kb (Beispiel: 1 = 512Kb, 16 = 8Mb).
fastmem_size (Fast-Ram)
Mögliche Parameter: 0 bis 8
Funktion: Die Erhöhung des Wertes um 1 entspricht einer Erhöhung des Speichers um 1Mb (Beispiel: 1 = 1Mb, 8 = 8Mb).
bogomem_size (Slow-Ram)
Mögliche Parameter: 0 bis 6
Funktion: Hier wird der SlowMem-Speicher eingestellt. 2 = 512Kb, 4 = 1Mb, 6 = 1,5 Mb
z3mem_size
Mögliche Parameter: 0 bis 512
Funktion: Der Z3 Fast Ram wird in Einserschritten von 0 bis 512 eingestellt
gfxcard_size
Mögliche Parameter: 0 bis 32
Funktion: Der Grafikspeicher kann nur aktiviert werden wenn mindestens ein 68020-Prozessor emuliert wird. Folgende Speichergrößen können eingestellt werden:
1 = 1Mb
2 = 2Mb
4 = 4Mb
8 = 8Mb
16 = 16Mb
32 = 32Mb
cpu_type
Mögliche Parameter: 68000, 68010, 68EC020, 68EC020/68881, 68020, 68020/68881, 68040, 68060
Funktion: Hier wird der Prozessor-Typ festgelegt
cpu_compatible
Mögliche Parameter: true, false
Funktion: Diese Option erhöht die Prozessor-Kompatibilität. Die Emulation wird damit allerdings verlangsamt. Nur für 68000-Prozessor.
cpu_cycle_exact
Mögliche Parameter: true, false
Funktion: Mit true wird das Timing des Prozessors genauer emuliert und erhöht die Kompatibilität. Nur für 68000-Prozessor.
cpu_speed
Mögliche Parameter: 1 bis 20, real, max
Funktion. Hiermit konfiguriert man die maximale Geschwindigkeit des Prozessors. "Real" entspricht der Prozessorgeschwindigkeit des Amiga 500, mit "max" läuft der Prozessor mit der maximal möglichen Geschwindigkeit. Die Geschwindigkeit kann mit den Werten von 1 bis 20 genauer eingestellt werden.
chipset
Mögliche Parameter: ocs, ecs_agnus, ecs, aga
Funktion: Als Chipset kann der OCS (üblicherweise A500, A2000), der ECS_Agnus-Chipset (OCS Chipset mit ECS-AGNUS), der ECS-Chipset (A500+, A600) oder der AGA-Chipset (A1200, A4000) gewählt werden.
ntsc
Mögliche Parameter: true, false
Funktion: Mit true wird das NTSC-Chipset und mit false das PAL-Chipset emuliert.
immediate_blits
Mögliche Parameter: true, false
Funktion: Erhöht die Emulation-Preformance auf Kosten der Kompatibilität
collision_level
Mögliche Parameter: None, Sprites, Playfields, Full
Funktion: Mit "None" werden Sprite-Kollisionen komplett deaktiviert, mit "Sprites" werden nur Sprite-Kollisionen emuliert, mit "Playfields" nur Sprite-Hintergrund Kollisionen und mit "Full" werden alle Kollisionen emuliert.
gfx_width
Mögliche Parameter: [Auflösung in Pixel]
Funktion: Die Auflösung (Breite) des virtuellen Amiga mit Picasso-Emulation
gfx_height
Mögliche Parameter: [Auflösung in Pixel]
Funktion: Die Auflösung (Höhe) des virtuellen Amiga mit Picasso-Emulation
gfx_width_windowed
Mögliche Parameter: [Auflösung in Pixel]
Funktion: Die Auflösung (Breite) des Fensters im Fenster-Modus
gfx_height_windowed
Mögliche Parameter: [Auflösung in Pixel]
Funktion: Die Auflösung (Höhe) des Fensters im Fenster-Modus
gfx_linemode
Mögliche Parameter: none, double, scanlines
Funktion:
- "none" deaktiviert diese Option
- "double" verdoppelt die vertikale Anzahl an Zeilen (Pixel)
- "Scanlines" setzt in jeder zweiten Zeile eine schwarze Linie ein
gfx_center_horizontal
Mögliche Parameter: none, simple, smart
Funktion: Zentriert den Bildschirminhalt horizontal
gfx_center_vertical
Mögliche Parameter: none, simple, smart
Funktion: Zentriert den Bildschirminhalt vertikal.
gfx_fullscreen_amiga
Mögliche Parameter: true, false
Funktion:
-"true" Aktiviert Vollbildmodus
-"false" Deaktiviert Vollbildmodus
gfx_fullscreen_picasso
Mögliche Parameter: true, false
Funktion: Aktiviert Picasso-Unterstützung (Grafikkarte)
gfx_lores
Mögliche Parameter: true, false
Funktion: Legt die horizontale Auflösung fest. Bei aktivierter Option werden niederauflösende Bildschirme horizontal "verdoppelt". Die meisten Spiele laufen mit niederer Auflösung, die Workbench mit hochauflösender Grafik.
show_leds
Mögliche Parameter: true, false
Funktion: Zeigt am unteren Bildschirmrand Leds an, die Zugriffe auf die virtuellen Laufwerke anzeigen
gfx_correct_aspect
Mögliche Parameter: true, false
Wenn der emulierte Amiga-Bildschirm größer als das Fenster ist in den er ausgeführt wird, versucht diese Option den Inhalt an das Fenster anzupassen.
gfx_vsync
Mögliche Parameter: true, false
Funktion: Diese Option synchronisiert die Bildfrequenz des virtuellen Amiga mit dem des echten Monitors. Damit können Störungen vermieden werden.
gfx_framerate
Mögliche Parameter: 1 bis 19
Funktion: Je höher dieser Wert eingestellt ist, desto weniger Bilder (Frames) werden angezeigt bzw. umso mehr Bilder werden "übersprungen". Dies kann die Emulationsgeschwindigkeit erhöhen, verringert aber die Bildqualität.
sound_output
Mögliche Parameter: none, interrupts, normal, exact
Funktion:
- "none" Deaktiviert die Soundausgabe
-"interrupts" Audio wird emuliert aber nicht ausgegeben
-"normal" Audio wird emuliert und ausgegeben
-"exact" Audio wird emuliert und exakt ausgegeben
floppy0
Mögliche Parameter: [Pfad]
Funktion: Hier wird der Pfad zur gewünschten ❏ ADF-Datei angegeben. Dieses wird als Laufwerk 0 (df0:) eingebunden. Entsprechend wird mit floppy1 die Diskette als Laufwerk df1: gemountet usw.
floppy0type
Mögliche Parameter: -1 bis 2
Funktion:
-"-1" Deaktiviert Laufwerk 0 (df0:)
-"0" Emuliert eine 3,5" DD Laufwerk
-"1" Emuliert eine 3,5" HD Laufwerk
-"2" Emuliert eine 5,25" Laufwerk
Für die restlichen Laufwerke die entsprechende Ziffer angeben: floppy1type, floppy2type…
floppy_speed
Mögliche Parameter: 100 bis 800
Funktion: Hiermit gibt man die Geschwindigkeit der emulierten Laufwerke an. 100 entspricht der originalen Geschwindigkeit. Nicht jedes Programm unterstützt hohe Floppy-Geschwindigkeiten.
filesystem
Mögliche Parameter: [Lese/Schreibrechte],[Pfad]
Funktion: Mit diesem Eintrag bindet man einen beliebigen Ordner (von MorphOS) als Laufwerk ein.
Beispiel: filesystem=rw,dh0:Work:/HD
"rw" erteilt Lese- und Schreibrechte
"dh0:Work:/HD" gibt an dass der Ordner HD als Laufwerk dh0: eingebunden wird
Natürlich können auch mehrere Ordner eingebunden werden.
hardfile
Mögliche Parameter: [Lese/Schreibrechte],[Pfad],[Sektoren],[Oberflächen],[Reservierte Sektoren],[Blockgröße],[Bootpriorität]
Funktion: Mit "hardfile" kann eine hdf-Datei (virtuelle Festplatte) eingebunden werden.
Beispiel: hardfile=rw,DH0:/hd/harddisk.hdf,32,1,2,512,10,
"rw" erteilt Lese- und Schreibrechte
"/hd/harddisk.hdf" gibt an dass die Datei harddisk.hdf als Laufwerk dh0: eingebunden wird
"32" Die Sektoren
"1" Anzahl der Datenträgeroberflächen
"2" Reservierte Sektoren am Anfang der Partition
"512" Anzahl der Sektoren pro Block
"10" Bootpriorität
kbd_lang
Mögliche Parameter: us, fr, de, es, it, se, dk
Funktion: Stellt die Sprache der Tastatur ein. Die Tastaturbelegung muss aber evtl. unter AmigaOS eingestellt werden. Folgende Tastatur-Sprachen sind auswählbar:
"us" Amerikanisch
"fr" Französisch
"de" Deutsch
"es" Spanisch
"it" Italienisch
"se" Schwedisch
"dk" Dänisch
joyport0/joyport1
Mögliche Parameter: mouse, joy0, joy1, kbd1, kbd2, kbd3, custom
Funktion: Hier wird festgelegt was für Eingabegeräte am Maus/Joystickport angeschlossen sind.
"mouse" Maus
"joy0" Erster Joystick
"joy1" Zweiter Joystick
"kbd1" Eine mit der Tastatur emulierte Maus oder Joystick (Nummernblock)
"kbd2" Eine mit der Tastatur emulierte Maus oder Joystick (Cursortasten+STRG-Taste)
"kbd3" Eine mit der Tastatur emulierte Maus oder Joystick (Mit dem Tasten T, B, F, H und Alt-Taste)
"Custom" Benutzerdefinierte Tasten. Diese werden mit den folgenden Optionen "input.config" und "input.1.keyboard.0.button" festgelegt werden.
input.config
Mögliche Parameter: 1bis 4
Funktion: Sind benutzerdefiniert Tasten-Belegungen vorhanden (input.1.keyboard.0.button), kann zwischen diesen umgeschaltet werden.
input.1.keyboard.0.button
Mögliche Parameter: [Taste],[Emulierte Steuerung]
Beispiel:
input.1.keyboard.0.button.17=JOY1_UP
input.1.keyboard.0.button.11=JOY1_DOWN
input.1.keyboard.0.button.3=JOY1_LEFT
input.1.keyboard.0.button.4=JOY1_RIGHT
input.1.keyboard.0.button.58=JOY1_FIRE_BUTTON
scsi
Mögliche Parameter: true, false
Funktion: Mit dieser Option wird das CD-Laufwerk des Host-Rechners eingebunden.
scsi_device
Funktion: Wenn scsi aktiviert ist, muss hier das CD-Laufwerk der Hostrechners angegeben werden.
