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

Last change on this file since 257 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.