mkd64 dient als Ersatz für c1541 und cc1541 zur Erstellung von D64-Images. Wie cc1541 beschränkt sich mkd64 darauf, images "from scratch" zu erstellen, und versucht dabei aber, mehr Möglichkeiten zu bieten als c1541. Im Gegensatz zu cc1541 ist mkd64 modular aufgebaut: Das Hauptprogramm beschränkt sich auf ein "rohes" Diskettenformat aus Tracks und Sectors, auf das Files geschrieben werden können. Alles was darüber hinausgeht wird in ladbaren Modulen implementiert.
In diesem ersten Release ist genau ein Modul enthalten, 'cbmdos'. Dieses Modul implementiert Directory und BAM des originalen Floppy-DOS. Damit kann mkd64 bereits cc1541 für alle 35-Track Images ersetzen und bietet zusätzlich folgende Features:
- Das Directory wird mit einem sector-interleave von 4 geschrieben
- Files starten auf Track 17
- Der Filetyp ist auswählbar
- Files können "write-protected" (erkennbar an einem '<' nach dem Filetyp) gespeichert werden
- Ein map-file kann erstellt werden mit einer Liste aller Files inklusive Starttrack und -sector
Beta
Dies ist eine beta-Release. Ich habe ausgiebig getestet, kann aber im Moment nicht garantieren, dass sich nicht noch Bugs irgendwo verstecken. Der Hauptgrund für den Zusatz "beta" ist aber ein anderer: Das Interface für Module könnte sich noch inkompatibel ändern. Sobald ich sicherstellen kann, dass neue Versionen abwärtskompatibel sind, verschwindet das beta
System / Build
Getestet habe ich mkd64 auf Windows und auf Linux. Das offizielle "build-system" besteht aus GCC (nur der C-Compiler wird benötigt) und GNU make.
Zum compilieren muss lediglich 'make' eingegeben werden. Alle Module (*.so auf Unix/Linux, *.dll auf Windows) müssen sich im gleichen Verzeichnis wie mkd64 befinden, damit sie geladen werden können.
Hinweise zu Windows:
'make' funktioniert mit einer minimalen Installation von MinGW32 im Suchpfad. ACHTUNG: MSYS sollte NICHT im Suchpfad sein, da make ansonsten versucht, sh.exe zu verwenden. Das Makefile erkennt Windows und verwendet in dem Fall eine cmd.exe-kompatible syntax. Auf Windows ist es außerdem möglich, VC++ (Visual Studio) zum compilieren zu verwenden. Der Microsoft-Compiler erzeugt aktuell kleineren Code, ich werde ihn aber nicht offiziell unterstützen, da der Aufwand zu groß ist, ständig zu überprüfen, ob auch in Visual Studio noch alles funktioniert.
Quellcode
https://github.com/Zirias/c64_tool_mkd64
Windows Binaries
https://github.com/Zirias/c64_…master/win32bin/mkd64.zip
Hilfe