/
bootany.inc
44 lines (37 loc) · 1.42 KB
/
bootany.inc
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
Numeric equ 30H ; First numeric value
BootLocation equ 7C00h ; Address where DOS loads us
BootSeg equ 07C0h ; Segment where DOS loads us
NewBootLocation equ 7A00h ; Address where we relocate
NewBootSeg equ 07A0h ; Segment where we relocate
PartAddr equ 1beh ; offset to partition table
KeyboardFlags equ 417h ; Address of keyboard mask
NumLockOff equ 11011111b ; Mask to turn numlock off
NumLockOn equ 11111111b ; Mask to leave numlock on
max_partitions equ 3 ; Can't fit any more
part_text_len equ 15 ; max bytes for partition desc
PartitionEntry struc
BootIndicator db ?
BeginHead db ?
BeginSector db ?
BeginCyl db ?
SystemID db ?
EndHead db ?
EndSector db ?
EndCyl db ?
RelSectorLow dw ?
RelSectorHigh dw ?
NumSectorsLow dw ?
NumSectorsHigh dw ?
PartitionEntry ends
PartData struc
partition db 0
text db part_text_len dup(0)
term db +80h
PartData ends
PartDataLen equ SIZE PartData * max_partitions
BootData struc
numlockMask db NumLockOff
BootData ends
BootDataLen equ SIZE BootData
DataAddr equ PartAddr - BootDataLen - PartDataLen