This commit is contained in:
Anatoliy Belyanskiy 2024-06-09 06:32:49 +10:00
parent 314ff5dbef
commit 378f3fdd49

View File

@ -1,6 +1,6 @@
////////////////////////////////////////////////////////////////////////////////////////////
BOOT_SECTOR EQU #00
.JMP EQU #00 ; BLOCK 3,0 BS_jmpBoot "JMP"
.JMP EQU #00 ; BLOCK 3,0 BS_jmpBoot Jump to bootstrap (E.g. eb 3c 90; on i86: JMP 003E NOP. One finds either eb xx 90, or e9 xx xx.
.ID_NAME EQU #03 ; TEXT 8 BS_OEMName DOS NAME - DB "DSS_1.70"
; Block Parameters BIOS
.BytesPerSector EQU #0B ; WORD #200 BPB_BytsPerSec <09> §¬¥à ᥪâ®à  ¢ ¡ ©â å
@ -23,6 +23,7 @@ BOOT_SECTOR EQU #00
.FAT.SERIAL_NUMBER EQU #27 ; DWORD 0 BS_VolID VOLUME SERIAL NUMBER
.FAT.LABEL EQU #2B ; TEXT 11 BS_VolLab Œ¥âª  ¤¨áª 
.ID_FAT EQU #36 ; TEXT 8 BS_FilSysType FILE SYSTEM ID (BPB_FS_ID) ;!TODO detect fat type by clusters!
; #3E
; FAT 32
.SectorsPerFAT32 EQU #24 ; DWORD 4 BPB_FATSz32 <09> §¬¥à ®¤­®© FAT ¢ ᥪâ®à å
.MainFATnumber EQU #28 ; WORD 0 BPB_ExtFlags <09>®¬¥à £« ¢­®© â ¡«¨æë FAT
@ -35,8 +36,9 @@ BOOT_SECTOR EQU #00
.reserved_2: EQU #41 ; BYTE 0 BS_Reserved1 ‡ à¥§¥à¢¨à®¢ ­®
.FAT32.EXT_BOOT_REC_SIGNATURE EQU #42 ; BYTE #29 BS_BootSig ‘¨£­ âãà  - #29
.FAT32.SERIAL_NUMBER EQU #43 ; DWORD 0 BS_VolID VOLUME SERIAL NUMBER
.FAT32.LABEL EQU #47 ; TEXT 11, BS_VolLab Œ¥âª  ¤¨áª 
.ID_FAT32 EQU #52 ; TEXT 8, BS_FilSysType €¡¡à¥¢¨ âãà  ä ©«®¢®© á¨á⥬ë
.FAT32.LABEL EQU #47 ; TEXT 11 BS_VolLab Œ¥âª  ¤¨áª 
.ID_FAT32 EQU #52 ; TEXT 8 BS_FilSysType €¡¡à¥¢¨ âãà  ä ©«®¢®© á¨á⥬ë
; #5A
; PC Loader
.BOOT_CODE_FAT16 EQU #3E
.BOOT_CODE_FAT32 EQU #5A
@ -134,17 +136,17 @@ BOOT_SECTOR EQU #00
;
STRUCT _sMBR_PARTITION_TABLE ;, #01BE ; MBR: Offset of partition table in the MBR
.Record_1: _sMBR_PARTITION_RECORD ; +#01BE
.Record_2: _sMBR_PARTITION_RECORD ; +#01CE
.Record_3: _sMBR_PARTITION_RECORD ; +#01DE
.Record_4: _sMBR_PARTITION_RECORD ; +#01EE
.Record_1: _sMBR_PARTITION_RECORD ; +#1BE
.Record_2: _sMBR_PARTITION_RECORD ; +#1CE
.Record_3: _sMBR_PARTITION_RECORD ; +#1DE
.Record_4: _sMBR_PARTITION_RECORD ; +#1EE
ENDS
;
;
STRUCT _sBOOT_SECTOR
.PARAMS: _sBOOT_SECTOR_PARAMS
.BOOT_CODE: BLOCK 384,0 ; +#3E boot loader's code
.PARAMS: _sBOOT_SECTOR_PARAMS_FAT32
.BOOT_CODE: BLOCK #1BE-_sBOOT_SECTOR_PARAMS_FAT32,0 ; +#3E boot loader's code
.PARTITION_TABLE: _sMBR_PARTITION_TABLE ; +#1BE table = 4x16 bytes
.MBR_SIGNATURE: WORD #AA55 ; +#1FE Signature
ENDS