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

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

Changes to XTIDE Universal BIOS:

  • Number of sectors to transfer is now limited to 1-128 for old INT 13h functions.
File size: 2.2 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%ifdef MODULE_SERIAL
16    .bLastSerial    resb    1   ; Packed Port and Baud for last serial drive detected
17                                ; (using space of an alignment byte,
18                                ; used during and after boot (int13/25h case))
19%else
20                    resb    1   ; alignment
21%endif
22endstruc
23
24; RAM Variables.
25; Variables should be kept to minimum since they might be located
26; at the top of interrupt vectors.
27struc RAMVARS
28    .fpOldI13h          resb    4   ; Far pointer to old INT 13h handler
29    .wSignature         resb    2   ; Sign for finding stolen 1 kiB
30    .bTimeoutTicksLeft  resb    1
31    .bLastTimeoutUpdate resb    1
32
33    .wDrvCntAndFirst:
34    .bDrvCnt            resb    1   ; Number of drives handled by this BIOS
35    .bFirstDrv          resb    1   ; Number of first drive for this BIOS
36
37    ; Variables for drive number translation
38    .xlateVars      resb    XLATEVARS_size
39endstruc
40
41RAMVARS_SIGNATURE       EQU "Xu"    ; RAMVARS signature for .wSignature
42
43;
44; IDEPACK NOTE: The first six bytes of this structure are directly put on the
45; wire for MODULE_SERIAL, please do not change the order or insert other members.
46;
47struc IDEPACK
48    .bFeatures              resb    1
49    .bDrvAndHead            resb    1   ; LBA28 27...24
50
51    .wSectorCountAndLbaLow:
52    .bSectorCount           resb    1
53    .bSectorNumber:
54    .bLbaLow                resb    1   ; LBA 7...0
55
56    .wCylinder:
57    .wLbaMiddleAndHigh:
58    .bLbaMiddle             resb    1   ; LBA 15...8
59    .bLbaHigh               resb    1   ; LBA 23...16
60
61    .bCommand               resb    1
62    .bDeviceControl         resb    1   ; Offset 7 shared with PIOVARS
63                            resb    1
64
65    ; Parameters for 48-bit LBA
66    .bLbaLowExt             resb    1   ; LBA48 31...24
67    .wLbaMiddleAndHighExt:
68    .bLbaMiddleExt          resb    1   ; LBA48 39...32
69    .bLbaHighExt            resb    1   ; LBA48 47...40
70
71    .intpack                resb    INTPACK_size
72endstruc
73
74EXTRA_BYTES_FOR_INTPACK     EQU (IDEPACK_size - INTPACK_size)
75
76
77%endif ; RAMVARS_INC
Note: See TracBrowser for help on using the repository browser.