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
-♦-