Drive Status Bytes Found in BIOS Data Area
Drive recalibration status (at 40:3E)
|7|6|5|4|3|2|1|0| byte at 40:3E
| | | | | | | `--- 1=recalibrate drive 0
| | | | | | `---- 1=recalibrate drive 1
| | | | | `----- 1=recalibrate drive 2
| | | | `------ 1=recalibrate drive 3
| `----------- unused
`------------ 1=working interrupt flag
Diskette motor status
|7|6|5|4|3|2|1|0| byte at 40:3F
| | | | | | | `--- 1=drive 0 motor on
| | | | | | `---- 1=drive 1 motor on
| | | | | `----- 1=drive 2 motor on
| | | | `------ 1=drive 3 motor on
| `----------- unused
`------------ 1=write operation
Disk Status Byte
|7|6|5|4|3|2|1|0| byte at 40:41
| | | | | | | `--- invalid diskette command
| | | | | | `---- diskette address mark not found
| | | | | `----- sector not found
| | | | `------ diskette DMA error
| | | `------- CRC check / data error
| | `-------- diskette controller failure
| `--------- seek to track failed
`---------- diskette time-out
Last diskette data rate selected
|7|6|5|4|3|2|1|0| byte at 40:8B
| | | | `--------- step rate time selected (see below)
`---------------- data rate selected (see below)
Bits
76 Diskette Data Rate Selected
00 500K bps
01 300K bps
10 250K bps
11 reserved
Bits
54 Diskette Step Rate Time Selected
00 step rate time of 0C
01 step rate time of 0D
10 step rate time of 0A
11 reserved
Media state for fixed drives (bytes at 40:90-93)
|7|6|5|4|3|2|1|0| bytes at 40:90-40:93
| | | | | `------- reserved (set to 1)
| | | | `-------- reserved
| | | `--------- 0=media/drive unestablished
| | `---------- reserved
`------------- data rate (see below)
Bits
76 Fixed Disk Data Rate Selected
00 500K bps
01 reserved
10 250K bps
11 reserved
- not all OEM's implemented these bytes identically. Some are
also AT specific.