From 378f3fdd49601390b3aacfe51e45c6fceba25022 Mon Sep 17 00:00:00 2001 From: Anatoliy Belyanskiy Date: Sun, 9 Jun 2024 06:32:49 +1000 Subject: [PATCH] ... --- structures/FileSystem.inc | 24 +++++++++++++----------- 1 file changed, 13 insertions(+), 11 deletions(-) diff --git a/structures/FileSystem.inc b/structures/FileSystem.inc index 36fce5e..4c79081 100644 --- a/structures/FileSystem.inc +++ b/structures/FileSystem.inc @@ -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 Размер сектора в байтах @@ -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 Размер одной FAT в секторах .MainFATnumber EQU #28 ; WORD 0 BPB_ExtFlags Номер главной таблицы 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,19 +136,19 @@ 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 -.PARTITION_TABLE: _sMBR_PARTITION_TABLE ; +#1BE table = 4x16 bytes -.MBR_SIGNATURE: WORD #AA55 ; +#1FE Signature +.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 ;