Figure 2 The PC's BIOS maintains a set of status bytes in the PC's low memory area. Data segment 0040 is used to store these and other variables.

SEGMENT 0040:OFFSET

OFFSET  LABEL             DESCRIPTION

003E    SEEK_STATUS       DRIVE RECALIBRATION STATUS
                          BITS 3-0 = DRIVE 3-0. DRIVE
                          NEEDS RECAL IF BIT = 0

003F    MOTOR_STATUS      MOTOR STATUS
                          BIT 3-0 = DRIVE 3-0 AND
                          INDICATES DRIVE IS
                          CURRENTLY RUNNING

0040    MOTOR_WAIT        COUNTER BEFORE DRIVE
                          TIME OUT. JAMMING A
                          LOWER VALUE THAN 37 WILL
                          REDUCE THE NORMAL WAIT TIME.

0041    DISKETTE_STATUS   BIOS RETURNS STATUS BYTE HERE
                          TIME_OUT       80H
                          BAD_SEEK       40H
                          BAD_CONTROLLER 20H
                          BAD_CRC        10H
                          DMA_BOUNDARY   09H
                          BAD_DMA        08H
                          SECTOR_NOT_FND 04H
                          WRITE_PROTECT  03H
                          BAD_ADD_MARK   02H
                          BAD_CMD        01H

0042    CONTROLLER_STAT   AN AREA OF 7 BYTES IS RESERVED
                          FOR BIOS TO FILL WITH THE
                          CONTROLLER STATUS BYTES. SEE
                          THE 18272 DATA SHEET FOR THE
                          VALUES RETURNED.