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
RevLine 
[88]1; Project name  :   XTIDE Universal BIOS
[3]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.
[150]7LITE_MODE_RAMVARS_SEGMENT   EQU     30h
[3]8
9
10; Variables for translating drive numbers.
11struc XLATEVARS
[248]12    .wFDandHDswap:
[3]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
[148]15    .bXlatedDrv     resb    1   ; Drive number after translation
[203]16                    resb    1   ; alignment
[3]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
[148]23    .fpOldI13h          resb    4   ; Far pointer to old INT 13h handler
[150]24    .wSignature         resb    2   ; Sign for finding stolen 1 kiB
[155]25    .bTimeoutTicksLeft  resb    1
26    .bLastTimeoutUpdate resb    1
[3]27
28    .wDrvCntAndFirst:
[148]29    .bDrvCnt            resb    1   ; Number of drives handled by this BIOS
30    .bFirstDrv          resb    1   ; Number of first drive for this BIOS
[3]31
32    ; Variables for drive number translation
33    .xlateVars      resb    XLATEVARS_size
34endstruc
35
[150]36RAMVARS_SIGNATURE       EQU "Xu"    ; RAMVARS signature for .wSignature
37
[179]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;
[150]42struc IDEPACK
[179]43    .bFeatures              resb    1
[150]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
[218]58                            resb    1
[150]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
[3]67endstruc
68
[155]69EXTRA_BYTES_FOR_INTPACK     EQU (IDEPACK_size - INTPACK_size)
[3]70
71
72%endif ; RAMVARS_INC
Note: See TracBrowser for help on using the repository browser.