Assembly Language Help (alang.hlp) (Table of Contents; Topic list)
Important Notice
The pages on this site contain documentation for very old MS-DOS software, purely for historical purposes. If you're looking for up-to-date documentation, particularly for programming, you should not rely on the information found here, as it will be woefully out of date.
Disk Data Memory
                                             Up Contents Index Back
────────────────────────────────────────────────────────────────────────────
 
  Address
  (hex)       Size     Description
 
  0000:043E   1 byte   Flags for disk drive recalibration. Bits 0-3
                       correspond to disk drives A, B, C, and D,
                       respectively. If bit = 0, corresponding drive (if
                       it exists) requires recalibration. Determine number
                       of disk drives attached to system by invoking
                       Int 11h (Get Equipment Configuration).
 
  0000:043F   1 byte   Flags for disk drive motor activity. Bits 0-3
                       correspond to disk drives A, B, C, and D,
                       respectively. If bit = 1, corresponding drive
                       motor is running.
 
                       After accessing a drive, the disk controller does
                       not turn off the drive motor. Instead, the timer
                       routine (interrupt 08h) turns off the active
                       motor only after a certain time elapses, ensuring
                       that the motor remains running during the brief
                       intervals between rapid disk accesses. This reduces
                       wear on the motor mechanism and eliminates time
                       spent waiting for the motor to regain operating
                       speed.
 
  0000:0440   1 byte   Count for disk drive motor shut-off. Default is 37
                       timer ticks, approximately 2 seconds. The disk
                       routine (interrupt 13h) sets this value
                       from second byte of the Disk Drive Parameter Table
                       after accessing the disk drive.
 
                       The timer routine (interrupt 08h) continually
                       decrements the count at 0000:0440h. When the count
                       reaches 0, the timer routine shuts off the motor
                       and clears bits 0-3 at 0000:43Fh (see above).
 
  0000:0441   1 byte   Status byte from most recent disk operation,
                       indicated as follows:
 
                       Value   Meaning
 
                       0       No error
                       1       Invalid command
                       2       Address mark not found
                       3       Attempt to write on write-protected
                               disk
                       4       Requested sector not found
                       8       DMA overrun
                       9       Attempt to use DMA across 64K
                               boundary
                       10h     Error in cyclical redundancy check on
                               read
                       20h     Disk controller failed
                       40h     Seek operation failed
                       80h     Drive failed to respond; not ready
 
                       Interrupt 13h disk functions except
                       01h (Get Disk Status) update the disk status byte
                       at completion. Function 00h (Reset disk)
                       reinitializes the status byte to 0. Other disk
                       functions return the status in AH.
 
  See also: Interrupt 08h (Timer Interrupt),
            Interrupt 13h (Disk Services),
            Interrupt 1Eh (Pointer to Disk Drive Parameter Table),
            Single Drive Alias
                                    -♦-