Der Gotek Floppy Emulator von A bis Z (Teil 5)



Die FlashFloppy Firmware
Neben der Cortex und der HxC gibt es eine weitere Firmware für das Gotek-Laufwerk. Sie nennt sich FlashFloppy und ist die jüngste der genannten Firmware-Versionen. Es handelt sich momentan noch um ein Pre-Relaese, dennoch muss sich dieses Github-Projekt nicht vor den anderen Firmware-Varianten verstecken. Folgendes macht die FlashFloppy zu einem gelungenen Projekt:
• Die Firmware ist kostenlos
• Sie wird aktiv weiterentwickelt
• Roms können wahlweise mit der HxC HXCSDFE.CFG (Operating Modes) oder komplett ohne Config-Datei verwendet werden
• Viele Optionen mittels optionaler FF.CFG konfigurierbar
• Kompatibel mit HxC-Hardware-Mods
• Kompatibel mit den HxC Fileselector
• Firmware-Update mittels USB-Stick
FlashFloppy flashen
Der Flashvorgang ist exakt der selbe wie bei der Cortex-Firmware. Der einzige Unterschied besteht darin, dass statt der Cortex-Firmware-Datei die FlashFloppy-Datei (HEX) verwendet wird. Aus diesem Grund wird hier nicht nochmal gezeigt wie die Firmware geflasht wird. Ich verweise stattdessen auf die ersten zwei Teile dieser Anleitung:
• Die Vorbereitungen
• Gotek-Firmware flashen (Windows)

Updates flashen
Wie bei der Cortex- und HxC-Firmware, lassen sich zukünftige Updates über ein USB-Stick flashen. Das wiederholte Flashen der Firmware ist deshalb nicht nötig. Einfach die Update-Datei mit der Endung .upd in das Stammverzeichnis des USB-Sticks kopieren und folgende Prozedur durchführen:
- Amiga ausschalten
- USB-Stick in den Gotek-Emulator stecken
- Beide Tasten des Emulators gedrückt halten
- Amiga einschalten und Tasten gedrückt halten bis der Flashvorgang beginnt
Beachte, dass sich auf den USB-Stick nur eine Update-Datei befinden darf, sonst bricht der Vorgang mit einer Fehlermeldung (E02) ab
Operating Modes
Die FlashFloppy-Firmware ist kompatibel mit den Config-Files (Operating Modes) der HxC. Es gibt drei Operating Modes: Native mode, HxC Autoboot mode und der HxC Index mode.
Native mode
Einer der Highlights der FlashFloppy-Firmware ist die Möglichkeit den Floppy-Emulators ohne Konfigurations-Dateien (Native mode) zu verwenden. Das bedeutet, dass ❏ ADF-Dateien auf den USB-Stick kopiert werden können und anschließend einsetzbar sind. Mit den Tasten auf den Gotek-Emulator wird zwischen den Roms gewechselt. Da es keine Liste der Roms gibt, werden diese in alphabetischer Reihenfolge gewechselt. Das erleichtert den Disketten-Wechsel von Spielen mit mehreren Disketten.
HxC Autoboot mode
In diesem Modus wird der HxC Bootselector verwendet um die gewünschten Images in einer beliebigen Reihenfolge einzubinden. Die HxC Autoboot mode Config-Datei muss in das Stammverzeichnis des USB-Sticks gelegt werden. Die Config-Datei (HXCSDFE.CFG) ist auf der HxC-Webseite zu finden (Suche nach "USB STM32 HxCFloppyEmulator firmware upgrade XXX"). Dekomprimiere die Zip-Datei.Die gesuchte Datei befindet sich im Ordner "Config_Files/Autoboot_mode".

Klicke auf das Bild zum Vergrößern
Der Bootselector (AUTOBOOT.HFE) hingegen befindet sich im Ordner "File_Selector/Amiga". Am Ende sollte der Inhalt des USB-Sticks wie im folgenden Bild aussehen.

Der Bootselector wird Slot 0 zugewiesen. Mit den Gotek-Tasten wird durch die gewählten Images gewechselt. Wenn beide Tasten zugleich gedrückt werden, wird Slot 0 (Bootselector) ausgewählt.
HxC Index mode
Der HxC Index Modus erlaubt die Verwendung von HFE-Images. Was genau der Vorteil dieses Formats ist, wird hier beschrieben: Das HFE-Dateiformat (HxC- und FlashFloppy).
Der HxC Index Modus setzt die Config-Datei HXCSDFE.CFG voraus die in das Stammverzeichnis des USB-Sticks kopiert werden muss. Sie ist auf der HxC-Webseite zu finden (Suche nach "USB STM32 HxCFloppyEmulator firmware upgrade XXX"). Dekomprimiere die Zip-Datei. Die gesuchte Datei befindet sich im Ordner "Config_Files/Indexed_mode".

Klicke auf das Bild zum Vergrößern
Die Image-Dateien müssen wie folgt benannt werden: DSKA0000.HFE, DSKA0001.HFE, DSKA0002.HFE usw.

Alternativ kann in der FF.CFG-Datei die Option "nav-mode" auf "indexed" gelegt werden (Siehe "Die FF.CFG Konfigurations-Datei"). Auf diese Weise wird keine HxC HXCSDFE.CFG benötigt.
Die FF.CFG Konfigurations-Datei
Die FF.CFG ist eine optionale Konfigurationsdatei in der verschiedene Einstellungen angepasst werden können. Diese Datei muss auf den USB-Stick kopiert werden. Beim Einschalten des Rechners wird die Datei eingelesen. Die vorgenommenen Einstellungen bleiben gespeichert auch wenn die FF.CFG-Datei anschließend gelöscht wird.
Zum Zurücksetzten der Einstellungen muss der USB-Stick entfernt und gleichzeitig beide Tasten des Emulators für einige Sekunden betätigt werden. Auf den Ziffern-Display sollte nun "RST" angezeigt werden.
Die komplette und aktuelle Liste aller Einstellungen ist auf der Github-Seite des Entwicklers zu finden: github.com/keirf/FlashFloppy. An dieser Stelle werden nur einige Einstellungen gezeigt da immer wieder neue dazukommen.
interface
Parameter: shugart, ibmpc
Funktion: Art des Floppy-Interfaces. "shugart" ist passend für den Amiga und andere Rechner. "ibmpc" hingegen für das IBM PC Interface.
Default: shugart
autoselect-file-secs
Parameter: Sekunden
Funktion: Zeit in Sekunden bis das gewählte Image eingelegt wird. Der Wert 0 sorgt dafür, dass das Image erst nach einem Druck auf den zusätzlichen optionalen Taster eingelegt wird.
Default: 2
autoselect-folder-secs
Das selbe wie "autoselect-file-secs", bezieht sich aber auf Ordner.
nav-mode
Parameter: native, indexed, default
Funktion: Mit dieser Funktion wird zwischen den Operating Modes gewechselt.
"native" Der native FlashFloppy Modus wird angewendet. Eventuell vorhandene HxC Config-Files werden ignoriert.
"indexed" Der Index Modus wird verwendet. Es wird keine HxC Config-Datei benötigt.
"default" In diesen Modus wird eine eventuell vorhandene HxC Config-Datei berücksichtigt. Wenn diese hingegen fehlt, tretet der Nativ-Modus in Kraft.
nav-loop
Parameter: yes, no
Funktion: Wenn man am Ende der Image-Liste angelangt, wird wieder das erste/letzte der Liste eingelegt
Default: yes
display-off-secs
Parameter: 0-255
Funktion: Zeit in Sekunden bis sich das eventuell vorhandene LCD/OLED Display bei Inaktivität ausschaltet. Wird 0 angegeben, so bleibt das Display von Anfang an ausgeschaltet. 255 hingegen sorgt dafür, dass das Display immer eingeschaltet bleibt.
Default: 60
display-on-activity
Parameter: yes, no
Funktion: Schaltet das eventuell vorhandene LCD/OLED Display bei jeder Laufwerk-Aktivität ein.
Default: yes
display-scroll-rate
Parameter: 100-65535
Funktion: Gibt an, wie schnell der überlange Text auf den LCD/OLED Display scrollt, in Millisekunden. Je höher der Wert desto langsamer der Scroll-Vorgang.
Default: 400
oled-font
Parameter: 7x16, 8x16
Funktion: Gibt die Breite der einzelnen Zeichen auf einem OLED-Display in Pixel an.
Default: 8x16
step-volume
Parameter: 0-20
Funktion: Lautstärke der Ladegeräusche, falls Speaker vorhanden.
Default: 10
ejected-on-startup
Parameter: yes, no
Funktion: Disketten-Image einlegen wenn der Rechner eingeschaltet wird.
Default: no
image-on-startup
Parameter: last, static, init
Funktion: Bestimmt, welches Image beim Einschalten des Rechners eingelegt wird.
"last" Das zuletzt verwendete Image wird eingelegt
.
"static" Das im Pfad angegebene Image in der Datei IMAGE_A.CFG wird eingelegt.
"init" Das erste Image im Stammverzeichnis wird eingelegt.
Default: last
display-probe-ms
Parameter: 0-65535
Funktion: Zeit in Millisekunden, ein eventuell angeschlossenes OLED-Display zu initialisieren. Nur für OLED's nötig. Bei einem LCD-Display oder gar keinem Display ist diese Einstellung nicht notwendig und sollte daher auf 0 gesetzt werden.
Default: 2000
twobutton-action
Parameter: zero, eject
Funktion: Beim gleichzeitigen Drücken beider Tasten wir eine Funktion ausgeführt.
"zero" Slot 0 (erstes Image) wird eingelegt
"eject" Das momentan eingelegte Image wird ausgeworfen oder das zuletzt eingebundene wieder eingelegt.