Changes

Jump to: navigation, search

765 FDC

10 bytes added, 28 September
/* FDC Command Table (15 commands) */
|
{| class="wikitable"
|+ Read Data Scan Equal (06h11h)
|-
! !! D7 !! D6 !! D5 !! D4 !! D3 !! D2 !! D1 !! D0
|-
| command byte 0 || MT || MF || SK || 0 1 || 0 || 1 0 || 1 0 || 01
|-
| command byte 1 || colspan="5" style="text-align: center;" | x || HD || colspan="2" style="text-align: center;" | US
| command byte 7 || colspan="8" | GPL: gap 3 length
|-
| command byte 8 || colspan="8" | DTLSTP: data length scan test (if command byte 51=scan contiguous, 2=0scan alternate)
|-
| Execution || colspan="8" | Data-transfer from compared between the FDDand main-system
|-
| result byte 0 || colspan="8" | ST0: status register 0
|
{| class="wikitable"
|+ Read Deleted Data Scan Low or Equal (0Ch19h)
|-
! !! D7 !! D6 !! D5 !! D4 !! D3 !! D2 !! D1 !! D0
|-
| command byte 0 || MT || MF || SK || 0 || 1 || 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 7 || colspan="8" | GPL: gap 3 length
|-
| command byte 8 || colspan="8" | DTLSTP: data length scan test (if command byte 51=scan contiguous, 2=0scan alternate)
|-
| Execution || colspan="8" | Data-transfer from compared between the FDDand main-system
|-
| result byte 0 || colspan="8" | ST0: status register 0
|
{| class="wikitable"
|+ Write Data Scan High or Equal (05h1Dh)
|-
! !! D7 !! D6 !! D5 !! D4 !! D3 !! D2 !! D1 !! D0
|-
| command byte 0 || MT || MF || x SK || 0 1 || 0 1 || 1 || 0 || 1
|-
| command byte 1 || colspan="5" style="text-align: center;" | x || HD || colspan="2" style="text-align: center;" | US
| command byte 7 || colspan="8" | GPL: gap 3 length
|-
| command byte 8 || colspan="8" | DTLSTP: data length scan test (if command byte 51=scan contiguous, 2=0scan alternate)
|-
| Execution || colspan="8" | Data-transfer to compared between the FDDand main-system
|-
| result byte 0 || colspan="8" | ST0: status register 0
| result byte 6 || colspan="8" | N: bytes per sector
|}
|}
 
{|
|
{| class="wikitable"
|+ Write Deleted Read Data (09h06h)
|-
! !! D7 !! D6 !! D5 !! D4 !! D3 !! D2 !! D1 !! D0
|-
| command byte 0 || MT || MF || x SK || 0 || 1 || 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 8 || colspan="8" | DTL: data length (if command byte 5==0)
|-
| Execution || colspan="8" | Data-transfer to from the FDD
|-
| result byte 0 || colspan="8" | ST0: status register 0
| result byte 6 || colspan="8" | N: bytes per sector
|}
|} 
{| class="wikitable"
|+ Read Track Deleted Data (02h0Ch)
|-
! !! D7 !! D6 !! D5 !! D4 !! D3 !! D2 !! D1 !! D0
|-
| command byte 0 || x MT || MF || SK || 0 || 0 1 || 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 8 || colspan="8" | DTL: data length (if command byte 5==0)
|-
| Execution || colspan="8" | FDC reads all data fields Data-transfer from index hole to EOTthe FDD
|-
| result byte 0 || colspan="8" | ST0: status register 0
| result byte 6 || colspan="8" | N: bytes per sector
|}
|
{| class="wikitable"
|+ Read ID Write Data (0Ah05h)
|-
! !! D7 !! D6 !! D5 !! D4 !! D3 !! D2 !! D1 !! D0
|-
| command byte 0 || x MT || MF || x || 0 || 0 || 1 || 0 || 1 || 0
|-
| command byte 1 || colspan="5" style="text-align: center;" | x || HD || colspan="2" style="text-align: center;" | US
|-
| Execution command byte 2 || colspan="8" | The first correct ID information on the C: cylinder is stored 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 registerlength (if command byte 5==0)|-| Execution || colspan="8" | Data-transfer to the FDD
|-
| result byte 0 || colspan="8" | ST0: status register 0
| result byte 6 || colspan="8" | N: bytes per sector
|}
|
{| class="wikitable"
|+ Format Track Write Deleted Data (0Dh09h)
|-
! !! D7 !! D6 !! D5 !! D4 !! D3 !! D2 !! D1 !! D0
|-
| command byte 0 || x MT || MF || x || 0 || 1 || 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" | NC: bytes per sectorcylinder number
|-
| command byte 3 || colspan="8" | SCH: sectors per trackhead number
|-
| command byte 4 || colspan="8" | GPLR: gap 3 lengthsector number
|-
| command byte 5 || colspan="8" | DN: filler pattern to write in each bytebytes 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" | FDC formats an entire trackData-transfer to the FDD
|-
| result byte 0 || colspan="8" | ST0: status register 0
|-
| result byte 6 || colspan="8" | N: bytes per sector
|}
|}
{| class="wikitable"
|+ Scan Equal Read Track (11h02h)
|-
! !! D7 !! D6 !! D5 !! D4 !! D3 !! D2 !! D1 !! D0
|-
| command byte 0 || MT x || MF || SK || 1 || 0 || 0 || 0 || 1|| 0
|-
| command byte 1 || colspan="5" style="text-align: center;" | x || HD || colspan="2" style="text-align: center;" | US
| command byte 7 || colspan="8" | GPL: gap 3 length
|-
| command byte 8 || colspan="8" | STPDTL: scan test data length (1if command byte 5=scan contiguous, 2=scan alternate0)
|-
| Execution || colspan="8" | Data compared between the FDD and main-systemFDC reads all data fields from index hole to EOT
|-
| result byte 0 || colspan="8" | ST0: status register 0
{| class="wikitable"
|+ Scan Low or Equal Read ID (19h0Ah)
|-
! !! D7 !! D6 !! D5 !! D4 !! D3 !! D2 !! D1 !! D0
|-
| command byte 0 || MT x || MF || SK x || 1 0 || 1 || 0 || 0 1 || 10
|-
| 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" | STP: scan test (1=scan contiguous, 2=scan alternate)|-| Execution || colspan="8" | Data compared between The first correct ID information on the FDD and main-systemcylinder is stored in data register
|-
| result byte 0 || colspan="8" | ST0: status register 0
{| class="wikitable"
|+ Scan High or Equal Format Track (1Dh0Dh)
|-
! !! D7 !! D6 !! D5 !! D4 !! D3 !! D2 !! D1 !! D0
|-
| command byte 0 || MT x || MF || SK x || 1 0 || 1 || 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" | CN: cylinder numberbytes per sector
|-
| command byte 3 || colspan="8" | HSC: head numbersectors per track
|-
| command byte 4 || colspan="8" | RGPL: sector numbergap 3 length
|-
| command byte 5 || colspan="8" | ND: bytes per sectorfiller pattern to write in each byte
|-
| 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" | STP: scan test (1=scan contiguous, 2=scan alternate)|-| Execution || colspan="8" | Data compared between the FDD and main-systemFDC formats an entire track
|-
| result byte 0 || colspan="8" | ST0: status register 0
8,338
edits