Changes

765 FDC

5,087 bytes added, Tuesday at 22:44
/* FDC Command Table */
<br>
== FDC Command Table (15 commands) == {| class="wikitable"|+ Read Data|-! !! D7 !! D6 !! D5 !! D4 !! D3 !! D2 !! D1 !! D0|-| command byte 0 || MT || MF || SK || 0 || 0 || 1 || 1 || 0|-| command byte 1 || colspan="5" style="text-align: center;" | x || HD || colspan="2" style="text-align: center;" | US |-| command byte 2 || colspan="8" | C: cylinder number|-| command byte 3 || colspan="8" | H: head number|-| command byte 4 || colspan="8" | R: sector number|-| command byte 5 || colspan="8" | N: bytes per sector|-| command byte 6 || colspan="8" | EOT: end of track (ie. last sector in track)|-| command byte 7 || colspan="8" | GPL: gap 3 length|-| command byte 8 || colspan="8" | DTL: data length (if command byte 5==0)|-| Execution || colspan="8" | Data-transfer from the FDD|-| result byte 0 || colspan="8" | ST0: status register 0|-| result byte 1 || colspan="8" | ST1: status register 1|-| result byte 2 || colspan="8" | ST2: status register 2|-| result byte 3 || colspan="8" | C: cylinder number|-| result byte 4 || colspan="8" | H: head number|-| result byte 5 || colspan="8" | R: sector number|-| result byte 6 || colspan="8" | N: bytes per sector|} {| class="wikitable"|+ Read Deleted Data|-! !! D7 !! D6 !! D5 !! D4 !! D3 !! D2 !! D1 !! D0|-| command byte 0 || MT || MF || SK || 0 || 1 || 1 || 0 || 0|-| command byte 1 || colspan="5" style="text-align: center;" | x || HD || colspan="2" style="text-align: center;" | US|-| command byte 2 || colspan="8" | C: cylinder number|-| command byte 3 || colspan="8" | H: head number|-| command byte 4 || colspan="8" | R: sector number|-| command byte 5 || colspan="8" | N: bytes per sector|-| command byte 6 || colspan="8" | EOT: end of track (ie. last sector in track)|-| command byte 7 || colspan="8" | GPL: gap 3 length|-| command byte 8 || colspan="8" | DTL: data length (if command byte 5==0)|-| Execution || colspan="8" | Data-transfer from the FDD|-| result byte 0 || colspan="8" | ST0: status register 0|-| result byte 1 || colspan="8" | ST1: status register 1|-| result byte 2 || colspan="8" | ST2: status register 2|-| result byte 3 || colspan="8" | C: cylinder number|-| result byte 4 || colspan="8" | H: head number|-| result byte 5 || colspan="8" | R: sector number|-| result byte 6 || colspan="8" | N: bytes per sector|} {| class="wikitable"|+ Write Data|-! !! D7 !! D6 !! D5 !! D4 !! D3 !! D2 !! D1 !! D0|-| command byte 0 || MT || MF || x || 0 || 0 || 1 || 0 || 1|-| command byte 1 || colspan="5" style="text-align: center;" | x || HD || colspan="2" style="text-align: center;" | US |-| command byte 2 || colspan="8" | C: cylinder number|-| command byte 3 || colspan="8" | H: head number|-| command byte 4 || colspan="8" | R: sector number|-| command byte 5 || colspan="8" | N: bytes per sector|-| command byte 6 || colspan="8" | EOT: end of track (ie. last sector in track)|-| command byte 7 || colspan="8" | GPL: gap 3 length|-| command byte 8 || colspan="8" | DTL: data length (if command byte 5==0)|-| Execution || colspan="8" | Data-transfer to the FDD|-| result byte 0 || colspan="8" | ST0: status register 0|-| result byte 1 || colspan="8" | ST1: status register 1|-| result byte 2 || colspan="8" | ST2: status register 2|-| result byte 3 || colspan="8" | C: cylinder number|-| result byte 4 || colspan="8" | H: head number|-| result byte 5 || colspan="8" | R: sector number|-| result byte 6 || colspan="8" | N: bytes per sector|} {| class="wikitable"|+ Write Deleted Data|-! !! D7 !! D6 !! D5 !! D4 !! D3 !! D2 !! D1 !! D0|-| command byte 0 || MT || MF || x || 0 || 1 || 0 || 0 || 1|-| command byte 1 || colspan="5" style="text-align: center;" | x || HD || colspan="2" style="text-align: center;" | US|-| command byte 2 || colspan="8" | C: cylinder number|-| command byte 3 || colspan="8" | H: head number|-| command byte 4 || colspan="8" | R: sector number|-| command byte 5 || colspan="8" | N: bytes per sector|-| command byte 6 || colspan="8" | EOT: end of track (ie. last sector in track)|-| command byte 7 || colspan="8" | GPL: gap 3 length|-| command byte 8 || colspan="8" | DTL: data length (if command byte 5==0)|-| Execution || colspan="8" | Data-transfer to the FDD|-| result byte 0 || colspan="8" | ST0: status register 0|-| result byte 1 || colspan="8" | ST1: status register 1|-| result byte 2 || colspan="8" | ST2: status register 2|-| result byte 3 || colspan="8" | C: cylinder number|-| result byte 4 || colspan="8" | H: head number|-| result byte 5 || colspan="8" | R: sector number|-| result byte 6 || colspan="8" | N: bytes per sector|} Abbreviations used: *MT = Multi-track*MF = MFM mode*SK = Skip deleted-data address mark*HD = Head number select*US = Unit select (drive select) *Head Load Time = 2 to 254ms in 2ms increments*Head Unload Time = 16 to 240ms in 16ms increments*Step Rate Time = 1 to 16ms in 1ms increments*ND = Non-DMA mode 
Command Parameters Exm Result Description
5,596
edits