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

Last change on this file since 587 was 539, checked in by aitotat@…, 11 years ago

Changes to XTIDE Universal BIOS:

  • Carry flag is no longer cleared when segment overflow during pointer normalization.
File size: 2.9 KB
Line 
1; Project name : XTIDE Universal BIOS
2; Description : Equates used in INT 13h functions.
3
4;
5; XTIDE Universal BIOS and Associated Tools
6; Copyright (C) 2009-2010 by Tomi Tilli, 2011-2013 by XTIDE Universal BIOS Team.
7;
8; This program is free software; you can redistribute it and/or modify
9; it under the terms of the GNU General Public License as published by
10; the Free Software Foundation; either version 2 of the License, or
11; (at your option) any later version.
12;
13; This program is distributed in the hope that it will be useful,
14; but WITHOUT ANY WARRANTY; without even the implied warranty of
15; MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
16; GNU General Public License for more details.
17; Visit http://www.gnu.org/licenses/old-licenses/gpl-2.0.html
18;
19
20%ifndef INT13H_INC
21%define INT13H_INC
22
23; Hard Disk function (INT 13h) return status codes in AH
24RET_HD_SUCCESS EQU 0h ; Operation successful, no error occurred
25RET_HD_INVALID EQU 1h ; Invalid value passed or unsupported func
26RET_HD_ADDRMARK EQU 2h ; Missing address mark
27RET_HD_WRITEPROT EQU 3h ; Removable media is write protected (floppy)
28RET_HD_NOT_FOUND EQU 4h ; Requested sector not found
29RET_HD_RESETFAIL EQU 5h ; Reset failed (hard disk)
30RET_HD_CHANGED EQU 6h ; Floppy disk removed/Disk changeline (floppy)
31RET_HD_PARAMACT EQU 7h ; Drive parameter activity failed (Bad parameter table (hard disk)/Initialization failed)
32RET_HD_OVERRUN EQU 8h ; DMA overrun (floppy)
33RET_HD_BOUNDARY EQU 9h ; Data boundary error (DMA crossed 64K boundary)
34RET_HD_BADSECTOR EQU 0Ah ; Bad sector detected
35RET_HD_BADTRACK EQU 0Bh ; Bad track detected
36RET_HD_UNCORRECC EQU 10h ; Uncorrectable ECC error
37RET_HD_ECC EQU 11h ; Corrected ECC error
38RET_HD_CONTROLLER EQU 20h ; Hard disk controller or drive problem
39RET_HD_NOMEDIA EQU 31h ; No media in removable media drive
40RET_HD_SEEK_FAIL EQU 40h ; Seek operation failed
41RET_HD_TIMEOUT EQU 80h ; Drive failed to respond
42RET_HD_NOTREADY EQU 0AAh ; Drive is not ready or is not selected
43RET_HD_NOTLOCKED EQU 0B0h ; Volume not locked in drive
44RET_HD_LOCKED EQU 0B1h ; Volume locked in drive
45RET_HD_NOTREMOVABLE EQU 0B2h ; Volume not removable
46RET_HD_INUSE EQU 0B3h ; Volume in use
47RET_HD_LOCKEXCEEDED EQU 0B4h ; Lock count exceeded
48RET_HD_EJECTFAIL EQU 0B5h ; Valid eject request failed
49RET_HD_UNDEFINED EQU 0BBh ; Undefined error occurred
50RET_HD_WRFAULT EQU 0CCh ; Write fault on selected drive
51RET_HD_STATUSERR EQU 0E0h ; Status error without error
52RET_HD_SENSEFAIL EQU 0FFh ; Sense operation failed
53
54
55; Floppy Drive types returned by INT 13h, AH=08h
56FLOPPY_TYPE_525_OR_35_DD EQU 0
57FLOPPY_TYPE_525_DD EQU 1
58FLOPPY_TYPE_525_HD EQU 2
59FLOPPY_TYPE_35_DD EQU 3
60FLOPPY_TYPE_35_HD EQU 4
61FLOPPY_TYPE_35_ED EQU 6
62
63
64%define TIMEOUT_AND_STATUS_TO_WAIT(timeout, status) (((timeout)<<8) | (status))
65
66
67%endif ; INT13H_INC
Note: See TracBrowser for help on using the repository browser.