aber wer kann den FloppyKernal entsprechend anpassen?
Kleinere Anpassungen kann ich schon machen.
Das ist eigentlich meine Stärke, Hardware und CPLD sind bloss Hobby ...
Alles anzeigenUnd dann müssen wie gesagt noch die Routinen für die Benutzung
der RAM-Disk hinzugefügt werden: Bankswitching, Verwaltung der RAMdisks
und umleiten des Datenstoms um die RAMdisks von der Diskette zu füllen.
Gleich immer große Bank-Bereiche einzublenden klingt erst mal vernünftig,
aber z.B. TurboTrans nimmt kleine Bänke (2 x 256 x 1kb), schaltet immer einfachpro
Block um und spart sich so eine Speicherverwaltung ... (TurboTrans Handbuch Seite 44)
Das klingt kompliziert, ist aber ganz einfach.
ProfDOS verwendet 8 KB um eine Spur zu cashen.
Wir blenden einfach nur den "richtigen" 8KB Block ein bevor wir lesen.
Und wir merken uns, ob der cashe gültig ist oder nicht.
Meiner Meinung nach brauchen wir:
512kb Ramdisk (2 Disketten(seiten), unschaltbar)
+8kb Spurcache bei Diskettenbetrieb
+2kb Ersatz für FloppyRAM (wegen eigener 2MHz Takterzeugung auf dem Speeder)
Genau.
Und der große Flash ist auch gut.
So kann man alle ROMs ersetzen und mehrere Versionen der Firmware umschaltbar halten.
Sogar riesige GCR Tabellen wären ganz easy zu machen.
Das gibt zuviel Schreibverkehr auf der Diskette. Besser ist da ein "sync-Befehl" der die Diskette schreibt.
Ja genau.
Jeder 8 KB Spur Buffer hat flags:
- Daten gelesen und gültig
- Daten verändert (müssen geschrieben werden)
Alle Operationen gehen im RAM, sofern die Spur bereits im cashe ist.
Die Lazy Loop macht den Rest:
- lesen der Tracks die nicht im cashe sind
- schreiben der Tracks die verändert wurden (mit einer kleinen Verzögerung, 2 Sekunden oder so)