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

Last change on this file since 248 was 248, checked in by aitotat@…, 12 years ago

Changes to XTIDE Universal BIOS:

  • Booting with hotkey now properly maintains FD and HD drive swappings (it is now again possible to boot with both translated FD and HD drives).
  • Had to change file orders so compressed strings could be included after recent changes to Assembly Library size.
File size: 2.0 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    .wFDandHDswap:
13    .bFDSwap        resb    1   ; Floppy Drive to swap to 00h and vice versa
14    .bHDSwap        resb    1   ; Hard Drive to swap to 80h and vice versa
15    .bXlatedDrv     resb    1   ; Drive number after translation
16                    resb    1   ; alignment
17endstruc
18
19; RAM Variables.
20; Variables should be kept to minimum since they might be located
21; at the top of interrupt vectors.
22struc RAMVARS
23    .fpOldI13h          resb    4   ; Far pointer to old INT 13h handler
24    .wSignature         resb    2   ; Sign for finding stolen 1 kiB
25    .bTimeoutTicksLeft  resb    1
26    .bLastTimeoutUpdate resb    1
27
28    .wDrvCntAndFirst:
29    .bDrvCnt            resb    1   ; Number of drives handled by this BIOS
30    .bFirstDrv          resb    1   ; Number of first drive for this BIOS
31
32    ; Variables for drive number translation
33    .xlateVars      resb    XLATEVARS_size
34endstruc
35
36RAMVARS_SIGNATURE       EQU "Xu"    ; RAMVARS signature for .wSignature
37
38;
39; IDEPACK NOTE: The first six bytes of this structure are directly put on the
40; wire for MODULE_SERIAL, please do not change the order or insert other members.
41;
42struc IDEPACK
43    .bFeatures              resb    1
44    .bDrvAndHead            resb    1   ; LBA28 27...24
45
46    .wSectorCountAndLbaLow:
47    .bSectorCount           resb    1
48    .bSectorNumber:
49    .bLbaLow                resb    1   ; LBA 7...0
50
51    .wCylinder:
52    .wLbaMiddleAndHigh:
53    .bLbaMiddle             resb    1   ; LBA 15...8
54    .bLbaHigh               resb    1   ; LBA 23...16
55
56    .bCommand               resb    1
57    .bDeviceControl         resb    1   ; Offset 7 shared with PIOVARS
58                            resb    1
59
60    ; Parameters for 48-bit LBA
61    .bLbaLowExt             resb    1   ; LBA48 31...24
62    .wLbaMiddleAndHighExt:
63    .bLbaMiddleExt          resb    1   ; LBA48 39...32
64    .bLbaHighExt            resb    1   ; LBA48 47...40
65
66    .intpack                resb    INTPACK_size
67endstruc
68
69EXTRA_BYTES_FOR_INTPACK     EQU (IDEPACK_size - INTPACK_size)
70
71
72%endif ; RAMVARS_INC
Note: See TracBrowser for help on using the repository browser.