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