source: xtideuniversalbios/trunk/XTIDE_Universal_BIOS/Inc/Int13h.inc@ 81

Last change on this file since 81 was 28, checked in by Tomi Tilli, 14 years ago
  • v1.1.1 broke booting from foreign drives, it is now fixed.
  • Improved error handling a bit.
  • Longer DRQ and IRQ timeouts to minimize write timouts with some (bad) CF cards.
  • Default boot menu drive should now be properly selected.
File size: 2.5 KB
Line 
1; File name : Int13h.inc
2; Project name : IDE BIOS
3; Created date : 23.3.2010
4; Last update : 29.7.2010
5; Author : Tomi Tilli
6; Description : Equates used in INT 13h functions.
7%ifndef INT13H_INC
8%define INT13H_INC
9
10; Hard Disk function (INT 13h) return status codes in AH
11RET_HD_SUCCESS EQU 0h ; Operation succesfull, no error occurred
12RET_HD_INVALID EQU 1h ; Invalid value passed or unsupported func
13RET_HD_ADDRMARK EQU 2h ; Missing address mark
14RET_HD_WRITEPROT EQU 3h ; Removable media is write protected
15RET_HD_NOT_FOUND EQU 4h ; Requested sector not found
16RET_HD_RESETFAIL EQU 5h ; Reset failed
17RET_HD_CHANGED EQU 6h ; Media changed
18RET_HD_PARAMACT EQU 7h ; Drive parameter activity failed
19RET_HD_OVERRUN EQU 8h ; DMA overrun
20RET_HD_BOUNDARY EQU 9h ; Data boundary error
21RET_HD_BADSECTOR EQU 0Ah ; Bad sector detected
22RET_HD_BADTRACK EQU 0Bh ; Bad track detected
23RET_HD_UNCORRECC EQU 10h ; Uncorrectable ECC error
24RET_HD_ECC EQU 11h ; Corrected ECC error
25RET_HD_CONTROLLER EQU 20h ; Hard disk controller or drive problem
26RET_HD_NOMEDIA EQU 31h ; No media in removable media drive
27RET_HD_SEEK_FAIL EQU 40h ; Seek operation failed
28RET_HD_TIMEOUT EQU 80h ; Drive failed to respond
29RET_HD_NOTREADY EQU 0AAh ; Drive is not ready or is not selected
30RET_HD_NOTLOCKED EQU 0B0h ; Volume not locked in drive
31RET_HD_LOCKED EQU 0B1h ; Volume locked in drive
32RET_HD_NOTREMOVABLE EQU 0B2h ; Volume not removable
33RET_HD_INUSE EQU 0B3h ; Volume in use
34RET_HD_LOCKEXCEEDED EQU 0B4h ; Lock count exceeded
35RET_HD_EJECTFAIL EQU 0B5h ; Valid eject request failed
36RET_HD_UNDEFINED EQU 0BBh ; Undefined error occurred
37RET_HD_WRFAULT EQU 0CCh ; Write fault on selected drive
38RET_HD_STATUSERR EQU 0E0h ; Status error without error
39RET_HD_SENSEFAIL EQU 0FFh ; Sense operation failed
40
41
42; Timeout values for IDE controller timeout
43; 255 is the maximum value. Zero means immediate timeout.
44B_TIMEOUT_BSY EQU (1000/55) ; 1000 ms
45B_TIMEOUT_RDY EQU (1000/55) ; 1000 ms
46B_TIMEOUT_DRQ EQU 255 ; 14 s (some CF cards occasionally have long write delays)
47B_TIMEOUT_DRVINFO EQU (500/55) ; 500 ms
48B_TIMEOUT_RESET EQU 255 ; 14 s
49
50
51
52; Floppy Drive types returned by INT 13h, AH=08h
53FLOPPY_TYPE_525_OR_35_DD EQU 0
54FLOPPY_TYPE_525_DD EQU 1
55FLOPPY_TYPE_525_HD EQU 2
56FLOPPY_TYPE_35_DD EQU 3
57FLOPPY_TYPE_35_HD EQU 4
58FLOPPY_TYPE_35_ED EQU 6
59
60
61%endif ; INT13H_INC
Note: See TracBrowser for help on using the repository browser.