Translation:
//EDIT: Eww, the tables are corrupted...
3F2H Write: digital register input
┌7┬6┬5┬4┬3┬2┬1┬0┐
│D C B A│ │ │ │
└┬┴─┴─┴┬┴┬┴┬┴┬┴┬┘ bit
└──┬──┘ │ │ └─┴─ 0-1: disk (0-3, AT: 0-1)
│ │ └───── 2: 0 = FDC reset
│ └─────── 3: 1 = enable DMA and interrupts
└──────────── 4-7: spin up motor (AT: bits 6-7 not used)
3F4H Reading: main status register
┌7┬6┬5┬4┬3┬2┬1┬0┐
│ │ │ │ │D C B A│
└┬┴┬┴┬┴┬┴┬┴─┴─┴┬┘ bit
│ │ │ │ └─────┴─ 0: drive is busy (AT: bits 2-3 not used)
│ │ │ └───────── 4: 1 = FDC is busy (reading or writing in progr.)
│ │ └─────────── 5: 1 = non-DMA mode; 0 = DMA mode activated
│ └───────────── 6: direction of data transfer:
│ 1 = FDC ──► CPU
│ 0 = CPU ──► FDC
└─────────────── 7: status register:
1 = OK for data transfer
3F5H Reading/Writing: register of commands and data
0E6 h - Read data (sector) from diskette
──────────────────────────────────────────────────────
Command order:
0E6h
xxxx xHdd H - head ,d - drive
tttt tttt t - track
hhhh hhhh h - head
ssss ssss s - sector
xxxx xxll l - sector size ( 00 - 128B, 01 - 256B, 10 512B, 11 - 1KB )
eeee eeee e - Last sector on track
gggg gggg g - GAP size
vvvv vvvv v - transfer length ( 0ffh )
Returns:
1.Sb 0 Status byte 0
Bits :
7 6 5 4 3 2 1 0
┌──┬──┬──┬──┬──┬──┬──┬──┐
│Term │Se│Er│Nr│Hd│Drive│
└──┴──┴──┴──┴──┴──┴──┴──┘
Term - status of operation end 11 HW error ( unconnected )
10 bad command
01 cant finish
00 OK
Se - The "head standing up" is in progress
Er - Drive error
Nr - Not ready
Hd - Current selected head
Drive- Current drive
2.Sb 1 Status byte 1
Bity :
7 6 5 4 3 2 1 0
┌──┬──┬──┬──┬──┬──┬──┬──┐
│ET│0 │Tr│Or│0 │Se│Wp│Am│
└──┴──┴──┴──┴──┴──┴──┴──┘
ET - sector is above last sector ( EOT error)
Tr - data transfer error
Or - Too high transfer speed
Se - Error reading sector
Wp - Write-protected drive
Am - Address mark not found
3.Sb 2 Status byte 2
Bity :
7 6 5 4 3 2 1 0
┌──┬──┬──┬──┬──┬──┬──┬──┐
│0 │DD│CR│Tr│??│??│Bt│Am│
└──┴──┴──┴──┴──┴──┴──┴──┘
DD - DDAM found
CR - CRC error
Tr - Bad track identification
Bt - Bad track
Am - Address mark not found
4.Track
5.Head
6.Sector
7.Len