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.