65 6502 SBC FPGA
← Übersicht
Übersicht / Komponente 05
Massenspeicher

D64 GoDrive $8824

Ein virtuelles Diskettenlaufwerk: Die FPGA liest .d64-Images von SD-Karte und zeigt dem 6502 ein einfaches Laufwerk — das ganze Dateisystem steckt in Logik.

Was es ist

Das D64 GoDrive lässt den 6502 Programme von einem .d64- Disk-Image laden. Diese Images liegen auf einer zweiten SD-Karte (dem sd2_*-Datenträger, FAT32-formatiert); die erste Karte mit dem ROM-Loader bleibt unberührt. Der Clou: Die gesamte FAT32- und D64-Auswertung passiert in der FPGA-Logik. Der 6502 sieht nur einfache 256-Byte-Sektoren und muss nie FAT32 parsen.

Das D64-Format ist von Commodore entliehen — aus Bequemlichkeit, nicht für C64-Kompatibilität. Die geladenen Programme sind eigener Code dieses Systems.
Datenträger
2. SD-Karte · FAT32
Register
$8824
Sektorgröße
256 Byte (D64)
Status
HW-verifiziert (2026)

Was es macht

Aus EhBASIC heraus bedient sich das Laufwerk mit vertrauten Befehlen:

BefehlWirkung
LOAD "!"Interaktives Auswahlmenü aller .d64-Images per Pfeiltasten
LOAD "$"Verzeichnis des gemounteten Images anzeigen
LOAD "NAME"Programm laden (gibt die CALL-Adresse aus)
CALL <addr>Geladenes Programm starten

Aufbau in Logik

Vier RTL-Schichten unter rtl/core/peripherals/ arbeiten zusammen:

Robust gegenüber echten SD-Karten

Windows-formatierte SD-Karten sind oft Superfloppy (ohne MBR, BPB bei LBA 0) mit großer Geometrie und enthalten Einträge wie System Volume Information, Langnamen-Einträge oder eine gelöschte .D64 vor der gewünschten Datei. Der Reader behandelt all diese Fälle. Verifiziert auf einer realen 32-GB-Karte: Image mounten, BAM lesen, Verzeichnis listen und ein Programm in den korrekten Adressbereich laden.

Werkzeuge

Unter tools/d64/ liegen Python-Werkzeuge, die dieselbe Sektor-Abbildung wie die Hardware verwenden: Images erzeugen (create_test_d64.py), auflisten, Programme extrahieren und FAT32-Kartenabbilder für Simulationen bauen.