Retro video games delivered to your door every month!
Click above to get retro games delivered to your door ever month!
X-Hacker.org- Ralf Brown's Interrupt List (Part 1,2) - int 24 - dos - fatal error handler address http://www.X-Hacker.org [<<Previous Entry] [^^Up^^] [Next Entry>>] [Menu] [About The Guide]
INT 24 - DOS - FATAL ERROR HANDLER ADDRESS
   Automatically called upon detection of unrecoverable I/O error.
   Normally points to routine in resident part of COMMAND.COM that prints
   "Abort, Retry, Ignore?" message and takes the reply, but may be overridden
   if desired.

Provides the following values in registers on entry to interrupt handler:
        AH: bit 7 = 0 disk I/O error
                  = 1 other error -- if block device, bad FAT
                                  -- if char device, code in DI
            bit 6  unused
            bit 5 = 1 if Ignore allowed, 0 if not (DOS 3+)
            bit 4 = 1 if Retry allowed, 0 if not (DOS 3+)
            bit 3 = 1 if Fail allowed, 0 if not (DOS 3+)
            bit 2 \ disk area of error  00 = DOS area  01 = FAT
            bit 1 /                     10 = root dir  11 = data area
            bit 0 = 1 if write, 0 if read
        AL = drive number if AH bit 7 = 1, otherwise undefined
        BP:SI -> header of device driver for which error occurred
            block device if high bit of BP:[SI+4] set
        low byte of DI:
           00h write-protect error
           01h unknown unit
           02h drive not ready
           03h unknown command
           04h data error (bad CRC)
           05h bad request structure length
           06h seek error
           07h unknown media type
           08h sector not found
           09h printer out of paper
           0Ah write fault
           0Bh read fault
           0Ch general failure
           0Dh (DOS 3+) sharing violation
           0Eh (DOS 3+) lock violation
           0Fh (DOS 3+) invalid disk change
           10h (DOS 3+) FCB unavailable
           11h (DOS 3+) sharing buffer overflow
Handler must return
        AL = 00h ignore error
           = 01h retry operation
           = 02h terminate program through INT 22h
           = 03h fail system call in progress (DOS 3+)
Notes:  for DOS 3.1+, IGNORE (AL=00h) is turned into FAIL (AL=03h) on network
          critical errors
        if IGNORE specified but not allowed, it is turned into FAIL
        if RETRY specified but not allowed, it is turned into FAIL
        if FAIL specified but not allowed, it is turned into ABORT

Online resources provided by: http://www.X-Hacker.org --- NG 2 HTML conversion by Dave Pearson