source: xtideuniversalbios/trunk/XTIDE_Universal_BIOS/Inc/RamVars.inc @ 152

Last change on this file since 152 was 152, checked in by aitotat, 13 years ago

Changes to XTIDE Universal BIOS:

  • XTIDE mod should now be supported (untested).
  • Interrupt Service Routine no longer requires variable from RAMVARS.
  • Some small improvements.
File size: 1.9 KB
Line 
1; Project name  :   XTIDE Universal BIOS
2; Description   :   RAMVARS struct containing BIOS variables stored in RAM.
3%ifndef RAMVARS_INC
4%define RAMVARS_INC
5
6; Segment when RAMVARS is stored to top of interrupt vectors.
7LITE_MODE_RAMVARS_SEGMENT   EQU     30h
8
9
10; Variables for translating drive numbers.
11struc XLATEVARS
12    .bFDSwap        resb    1   ; Floppy Drive to swap to 00h and vice versa
13    .bHDSwap        resb    1   ; Hard Drive to swap to 80h and vice versa
14    .bXlatedDrv     resb    1   ; Drive number after translation
15                    resb    1   ; For WORD alignment
16endstruc
17
18; RAM Variables.
19; Variables should be kept to minimum since they might be located
20; at the top of interrupt vectors.
21struc RAMVARS
22    .fpOldI13h          resb    4   ; Far pointer to old INT 13h handler
23    .wTimeoutCounter    resb    2
24    .wSignature         resb    2   ; Sign for finding stolen 1 kiB
25
26    .wDrvCntAndFirst:
27    .bDrvCnt            resb    1   ; Number of drives handled by this BIOS
28    .bFirstDrv          resb    1   ; Number of first drive for this BIOS
29
30    ; Variables for drive number translation
31    .xlateVars      resb    XLATEVARS_size
32endstruc
33
34RAMVARS_SIGNATURE       EQU "Xu"    ; RAMVARS signature for .wSignature
35
36
37struc IDEPACK
38    .bDrvAndHead            resb    1   ; LBA28 27...24
39    .bFeatures              resb    1
40
41    .wSectorCountAndLbaLow:
42    .bSectorCount           resb    1
43    .bSectorNumber:
44    .bLbaLow                resb    1   ; LBA 7...0
45
46    .wCylinder:
47    .wLbaMiddleAndHigh:
48    .bLbaMiddle             resb    1   ; LBA 15...8
49    .bLbaHigh               resb    1   ; LBA 23...16
50
51    .bCommand               resb    1
52    .bDeviceControl         resb    1   ; Offset 7 shared with PIOVARS
53
54    ; Parameters for 48-bit LBA
55    .wSectorCountHighAndLbaLowExt:
56    .bSectorCountHighExt    resb    1   ; LBA48 Sector Count 15...8
57    .bLbaLowExt             resb    1   ; LBA48 31...24
58
59    .wLbaMiddleAndHighExt:
60    .bLbaMiddleExt          resb    1   ; LBA48 39...32
61    .bLbaHighExt            resb    1   ; LBA48 47...40
62
63    .intpack                resb    INTPACK_size
64endstruc
65
66EXTRA_WORDS_TO_RESERVE_FOR_INTPACK  EQU ((IDEPACK_size - INTPACK_size) / 2)
67
68
69%endif ; RAMVARS_INC
Note: See TracBrowser for help on using the repository browser.