Floppy Disk Controller: Difference between revisions
[unchecked revision] | [unchecked revision] |
Content deleted Content added
Sixth read/write param is *NOT* sector count to transfer. It's EOT, last sector in track (see FDC datasheet). This error sat here so long thanks to succeeding in bochs / only silently failing on certain sectors in VBox. |
|||
Line 746:
* Fourth parameter byte = starting sector number
* Fifth parameter byte = 2 (all floppy drives use 512bytes per sector)
* Sixth parameter byte = EOT (end of track, the last sector
* Seventh parameter byte = 0x1b (GAP1 default size)
* Eighth parameter byte = 0xff (all floppy drives use 512bytes per sector)
Line 761:
value of 0. This is also likely to get your driver out of sync with the FDC for input/output.
Note2: You'll see that there's no sector count parameter. Instead, the FDC figures out when to stop by the DMA signaling to the FDC
Note2: Floppy media and electronics are well known for being unreliable. Any read or write command that fails should be retried▼
that it's done, or in PIO mode, by the FDC experiencing a FIFO overrun or underrun.
▲
at least twice, unless it was a write and failed on "write protect".
|