Mich hat heute mein 5.25" USB Floppy Projekt gluecklich gemacht - ich habe die erste Diskette lesen koennen. Das ganze ist aufgebaut mit einem STM32 Bluepill Board, und einem Intel 82077SL Controller. Ich wollte eine USB Floppy haben, die wie die normalen 3.5" USB Floppies ueber ein ganz normales USB Mass storage device angesprochen wird, damit man keine Treiber/Software benoetigt.
Ich habe allerdings einige Stunden debugged, warum einen Track lesen 2.5s gedauert hat. Lag am Ende nur daran, das ich beim READ Kommando fuer den FDC 0 als Inter-Sektor-Gap angegeben hat. Damit hat er den folgenden Sektor nicht wie erwartet direkt uebertragen, sondern geskippt, und erst bei der naechsten Umdrehung uebertragen. Mit dem richtigen Gap sieht die Datenrate besser aus:
/tmp $ sudo dd if=/dev/sda of=/tmp/floppy.img
2400+0 records in
2400+0 records out
1228800 bytes (1.2 MB, 1.2 MiB) copied, 41.5496 s, 29.6 kB/s
Ich denke viel schneller wird Floppy nicht werden...
Jetzt gibt es aber noch jede Menge zu tun:
- Handling von kaputten Sektoren
- Schreiben von Disketten
- Formatieren von Disketten
- 360K Support
evtl. andere (nicht IBM PC?) Floppyformate?
Achja, und ich habe den Fehler gemacht defekte Floppies immer direkt zu entsorgen, so das ich keine Floppies mit defekten Sektoren habe - falls da jemand was uebrig hat, wuerde ich die gerne nehmen Am besten nur mit einzelnen defekten Sektoren.