mirror of
https://github.com/Tolik-Trek/Shared_Includes.git
synced 2026-06-15 00:51:32 +03:00
...
This commit is contained in:
parent
1b6a539aea
commit
25ac1c89f4
@ -62,114 +62,146 @@ BOOT_SECTOR EQU #00
|
||||
////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
STRUCT _sFSinfo
|
||||
.LEAD_SIGNATURE DWORD #41615252 ; #52 #52 #61 #41
|
||||
.RESERVED_1 BLOCK #1E0,0
|
||||
.DATA_SIGNATURE DWORD #61417272 ; #72 #72 #41 #61
|
||||
.FREE_CLUSTERS_COUNT DWORD #FFFF'FFFF
|
||||
.FIRST_FREE_CLUSTER DWORD #FFFF'FFFF
|
||||
.RESERVED_2 BLOCK #0C,0
|
||||
.SECTOR_SIGNATURE DWORD #AA550000 ; #00 #00 #55 #AA
|
||||
.LEAD_SIGNATURE DWORD #4161'5252 ; #00 ; #52,#52,#61,#41
|
||||
.RESERVED_1 BLOCK #1E0,0 ; #04
|
||||
.DATA_SIGNATURE DWORD #6141'7272 ; #1E4 ; #72,#72,#41,#61
|
||||
.FREE_CLUSTERS_COUNT DWORD #FFFF'FFFF ; #1E8
|
||||
.FIRST_FREE_CLUSTER DWORD #FFFF'FFFF ; #1EC
|
||||
.RESERVED_2 BLOCK #0C,0 ; #1F0
|
||||
.SECTOR_SIGNATURE DWORD #AA55'0000 ; #00 #00 #55 #AA
|
||||
ENDS
|
||||
|
||||
;
|
||||
//---------------------------------------------------------------------------
|
||||
STRUCT _sBOOT_SECTOR_PARAMS
|
||||
.JMP: BLOCK 3,0 ; BS_jmpBoot +#00 "JMP"
|
||||
.ID_NAME: TEXT 8,{"DSS_1.7","0"} ; BS_OEMName +#03 DOS NAME - DB "DSS_1.70"
|
||||
STRUCT _sBOOT_SECTOR_PARAMS ; FAT 12-16
|
||||
.JMP D24 #000000 ; BS_jmpBoot +#00 "JMP"
|
||||
.ID_NAME TEXT 8,{"DSS 1.7","1"} ; BS_OEMName +#03 DOS NAME - DB "DSS_1.70"
|
||||
; Block Parameters BIOS
|
||||
.BytesPerSector: WORD #200 ; BPB_BytsPerSec +#0B <20> §¬¥à ᥪâ®à ¢ ¡ ©â å
|
||||
.SectorsPerCluster: BYTE 2 ; BPB_SecPerClus +#0D <20> §¬¥à ª« áâ¥à ¢ ᥪâ®à å
|
||||
.RESERVED_SECTORS: WORD 1 ; BPB_RsvdSecCnt +#0E <20> §¬¥à á¨á⥬®© ®¡« á⨠(¢ª«îç ï íâ®â ᥪâ®à) RESERVE SECTORS
|
||||
.Number_of_FATs: BYTE 2 ; BPB_NumFATs +#10 Š®«¨ç¥á⢮ â ¡«¨æ FAT
|
||||
.FilesInRootDIR: WORD 112 ; BPB_RootEntCnt +#11 —¨á«® ®¯¨á ⥫¥© ä ©«®¢ ¢ ª®à¥¢®¬ ª â «®£¥ (¢ FAT32 - 0)
|
||||
.SectorsPerDrive: WORD 1440 ; BPB_TotSec16 +#13 ޡ饥 ç¨á«® ᥪâ®à®¢ ¤¨áª¥ (¥á«¨ 0, â® à §¬¥à - ¢ .BPB_BIG_TOTAL_SECTORS)
|
||||
.DRIVE_TYPE: BYTE #F0 ; BPB_Media +#15 ’¨¯ ãáâனáâ¢
|
||||
.SectorsPerFAT16: WORD 2 ; BPB_FATSz16 +#16 <20> §¬¥à ®¤®© FAT ¢ ᥪâ®à å (0 ¢ FAT32)
|
||||
.SectorsPerTrack: WORD 9 ; BPB_SecPerTrk +#18 <20> §¬¥à ¤®à®¦ª¨ ¢ ᥪâ®à å
|
||||
.HEADS: WORD 2 ; BPB_NumHeads +#1A ª®«¨ç¥á⢮ £®«®¢®ª
|
||||
.HIDDEN: DWORD 0 ; BPB_HiddSec +#1C ª®«¨ç¥á⢮ ªàëâëå ᥪâ®à®¢
|
||||
.BPB_BIG_TOTAL_SECTORS_L: WORD 0 ; BPB_TotSec32 +#20 BIG TOTAL SECTOR Low word
|
||||
.BPB_BIG_TOTAL_SECTORS_H: WORD 0 ; BPB_TotSec32 +#22 BIG TOTAL SECTOR High word
|
||||
.BytesPerSector WORD #200 ; BPB_BytsPerSec +#0B <20> §¬¥à ᥪâ®à ¢ ¡ ©â å
|
||||
.SectorsPerCluster BYTE 2 ; BPB_SecPerClus +#0D <20> §¬¥à ª« áâ¥à ¢ ᥪâ®à å
|
||||
.RESERVED_SECTORS WORD 1 ; BPB_RsvdSecCnt +#0E <20> §¬¥à á¨á⥬®© ®¡« á⨠(¢ª«îç ï íâ®â ᥪâ®à) RESERVE SECTORS
|
||||
.Number_of_FATs BYTE 2 ; BPB_NumFATs +#10 Š®«¨ç¥á⢮ â ¡«¨æ FAT
|
||||
.FilesInRootDIR WORD 112 ; BPB_RootEntCnt +#11 —¨á«® ®¯¨á ⥫¥© ä ©«®¢ ¢ ª®à¥¢®¬ ª â «®£¥ (¢ FAT32 - 0)
|
||||
.SectorsPerDrive WORD 1440 ; BPB_TotSec16 +#13 ޡ饥 ç¨á«® ᥪâ®à®¢ ¤¨áª¥ (¥á«¨ 0, â® à §¬¥à - ¢ .BPB_BIG_TOTAL_SECTORS)
|
||||
.DRIVE_TYPE BYTE #F0 ; BPB_Media +#15 ’¨¯ ãáâனáâ¢
|
||||
.SectorsPerFAT16 WORD 2 ; BPB_FATSz16 +#16 <20> §¬¥à ®¤®© FAT ¢ ᥪâ®à å (0 ¢ FAT32)
|
||||
.SectorsPerTrack WORD 9 ; BPB_SecPerTrk +#18 <20> §¬¥à ¤®à®¦ª¨ ¢ ᥪâ®à å
|
||||
.HEADS WORD 2 ; BPB_NumHeads +#1A ª®«¨ç¥á⢮ £®«®¢®ª
|
||||
.HIDDEN DWORD 0 ; BPB_HiddSec +#1C ª®«¨ç¥á⢮ ªàëâëå ᥪâ®à®¢
|
||||
.BPB_BIG_TOTAL_SECTORS_L WORD 0 ; BPB_TotSec32 +#20 BIG TOTAL SECTOR Low word
|
||||
.BPB_BIG_TOTAL_SECTORS_H WORD 0 ; BPB_TotSec32 +#22 BIG TOTAL SECTOR High word
|
||||
; FAT 12-16
|
||||
.BPB_PHISICAL_DRIVE_NUMBER: BYTE #80 ; BS_DrvNum +#24 ”¨§¨ç¥áª¨© ®¬¥à ¤à ©¢
|
||||
.reserved: BYTE 0 ; BS_Reserved1 +#25 ‡ १¥à¢¨à®¢ ®
|
||||
.BPB_EXT_BOOT_RECORD_SIGNATURE: BYTE #29 ; BS_BootSig +#26 ‘¨£ âãà - #29
|
||||
.BPB_SERIAL_NUMBER: DWORD 0 ; BS_VolID +#27 VOLUME SERIAL NUMBER
|
||||
.BPB_LABEL: TEXT 11,{"NO NAME"," "}; BS_VolLab +#2B Œ¥âª ¤¨áª
|
||||
.ID_FAT: TEXT 8,{"FAT16"," "} ; BS_FilSysType +#36 FILE SYSTEM ID (BPB_FS_ID) ;!TODO detect fat type by clusters!
|
||||
.BPB_PHISICAL_DRIVE_NUMBER BYTE #80 ; BS_DrvNum +#24 ”¨§¨ç¥áª¨© ®¬¥à ¤à ©¢
|
||||
.reserved BYTE 0 ; BS_Reserved1 +#25 ‡ १¥à¢¨à®¢ ®
|
||||
.BPB_EXT_BOOT_RECORD_SIGNATURE BYTE #29 ; BS_BootSig +#26 ‘¨£ âãà - #29
|
||||
.BPB_SERIAL_NUMBER DWORD 0 ; BS_VolID +#27 VOLUME SERIAL NUMBER
|
||||
.BPB_LABEL TEXT 11,{"NO NAME"," "}; BS_VolLab +#2B Œ¥âª ¤¨áª
|
||||
.ID_FAT TEXT 8,{"FAT16"," "} ; BS_FilSysType +#36 FILE SYSTEM ID (BPB_FS_ID) ;!TODO detect fat type by clusters!
|
||||
ENDS ;
|
||||
;
|
||||
|
||||
; FAT 32
|
||||
STRUCT _sBOOT_SECTOR_PARAMS_FAT32
|
||||
.skip BLOCK #24,0
|
||||
.SectorsPerFAT32: DWORD 4 ; +#24 <20> §¬¥à ®¤®© FAT ¢ ᥪâ®à å
|
||||
.SectorsPerFAT32 DWORD 4 ; +#24 <20> §¬¥à ®¤®© FAT ¢ ᥪâ®à å
|
||||
.MainFATnumber WORD 0 ; +#28 <20>®¬¥à £« ¢®© â ¡«¨æë FAT
|
||||
.Version WORD 0 ; +#2A ‚¥àá¨ï FAT32 (®¡ëç® 0)
|
||||
.RootDirStartCluster: DWORD 2 ; +#2C <20>¥à¢ë© ª« áâ¥à ª®à¥¢®£® ª â «®£ (®¡ëç® 2)
|
||||
.RootDirStartCluster DWORD 2 ; +#2C <20>¥à¢ë© ª« áâ¥à ª®à¥¢®£® ª â «®£ (®¡ëç® 2)
|
||||
.FSINFO_Sector WORD 1 ; +#30 <20>®¬¥à ᥪâ®à áâàãªâãàë FSINFO (®¡ëç® 1)
|
||||
.CopyBootSector WORD 6 ; +#32 <20>®¬¥à ᥪâ®à - ª®¯¨¨ § £à㧮箣® (®¡ëç® 6)
|
||||
.reserved_block: BLOCK 12 ; +#34 ‡ १¥à¢¨à®¢ ®
|
||||
.reserved_block BLOCK 12 ; +#34 ‡ १¥à¢¨à®¢ ®
|
||||
.FDD_Number BYTE 0 ; +#40 <20>®¬¥à ¤¨áª®¢®¤ ¤«ï äãªæ¨© BIOS
|
||||
.reserved: BYTE 0 ; +#41 ‡ १¥à¢¨à®¢ ®
|
||||
.BPB_EXT_BOOT_RECORD_SIGNATURE: BYTE #29 ; +#42 ‘¨£ âãà - #29
|
||||
.BPB_SERIAL_NUMBER: DWORD 0 ; +#43 VOLUME SERIAL NUMBER
|
||||
.BPB_LABEL: TEXT 11,{"NO NAME"," "} ; +#47 Œ¥âª ¤¨áª
|
||||
.ID_FAT: TEXT 8,{"FAT16"," "} ; +#52 €¡¡à¥¢¨ âãà ä ©«®¢®© á¨á⥬ë
|
||||
.reserved BYTE 0 ; +#41 ‡ १¥à¢¨à®¢ ®
|
||||
.BPB_EXT_BOOT_RECORD_SIGNATURE BYTE #29 ; +#42 ‘¨£ âãà - #29
|
||||
.BPB_SERIAL_NUMBER DWORD 0 ; +#43 VOLUME SERIAL NUMBER
|
||||
.BPB_LABEL TEXT 11,{"NO NAME"," "} ; +#47 Œ¥âª ¤¨áª
|
||||
.ID_FAT TEXT 8,{"FAT16"," "} ; +#52 €¡¡à¥¢¨ âãà ä ©«®¢®© á¨á⥬ë
|
||||
ENDS ; +#5A
|
||||
;
|
||||
|
||||
;
|
||||
STRUCT _sMBR_PARTITION_RECORD
|
||||
.isActive: BYTE 0 ; +#00
|
||||
.Start_head: BYTE 0 ; +#01
|
||||
.Start_sector: BYTE 0 ; +#02
|
||||
.Start_cylinder: BYTE 0 ; +#03
|
||||
.FS_ID: BYTE 0 ; +#04
|
||||
.End_head: BYTE 0 ; +#05
|
||||
.End_sector: BYTE 0 ; +#06
|
||||
.End_cylinder: BYTE 0 ; +#07
|
||||
.Start_LBA: DWORD 0 ; +#08
|
||||
.Size_LBA: DWORD 0 ; +#0C
|
||||
.isActive BYTE 0 ; +#00
|
||||
.Start_head BYTE 0 ; +#01
|
||||
.Start_sector BYTE 0 ; +#02
|
||||
.Start_cylinder BYTE 0 ; +#03
|
||||
.FS_ID BYTE 0 ; +#04
|
||||
.End_head BYTE 0 ; +#05
|
||||
.End_sector BYTE 0 ; +#06
|
||||
.End_cylinder BYTE 0 ; +#07
|
||||
.Start_LBA DWORD 0 ; +#08
|
||||
.Size_LBA DWORD 0 ; +#0C
|
||||
ENDS
|
||||
;
|
||||
|
||||
;
|
||||
STRUCT _sMBR_PARTITION_TABLE ;, #01BE ; MBR: Offset of partition table in the MBR
|
||||
.Record_1: _sMBR_PARTITION_RECORD ; +#1BE
|
||||
.Record_2: _sMBR_PARTITION_RECORD ; +#1CE
|
||||
.Record_3: _sMBR_PARTITION_RECORD ; +#1DE
|
||||
.Record_4: _sMBR_PARTITION_RECORD ; +#1EE
|
||||
.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_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
|
||||
.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
|
||||
;
|
||||
|
||||
;
|
||||
STRUCT FAT_DIRECTORY_RECORD
|
||||
.NAME: TEXT 8,{". "," "} ; DIR_Name #00 +00 NAME
|
||||
.EXT: TEXT 3,{" "," "} ; --//--//; #08 +08 EXT
|
||||
.ATTRIBUT: BYTE #10 ; DIR_Attr; #0B +11 ATTRIBUT
|
||||
.RESERVED_NT: BYTE #00 ; DIR_NTRes; #0C +12 RESERVED
|
||||
.RESERVED_FAT32: BYTE #00 ; DIR_CrtTimeHundth #0D +13 „¥áïâë¥ ¤®«¨ ᥪã¤ë á®§¤ ¨ï ä ©« (0-1.99)
|
||||
.CREATE_TIME_FAT32: WORD #0000 ; DIR_CrtTime #0E +14 ‚६ï á®§¤ ¨ï ä ©«
|
||||
.CREATE_DATE_FAT32: WORD #0000 ; DIR_CrtDate #10 +16 „ â á®§¤ ¨ï ä ©«
|
||||
.LAST_ACCESS_DATE_FAT32: WORD #0000 ; DIR_LstAccDate #12 +18 „ â ¯®á«¥¤¥£® ¤®áâ㯠(r/w)
|
||||
.FIRST_CLUSTER_H: WORD #0000 ; DIR_FstClusHI #14 +20 START CLUSTER high ;!TODO fat32
|
||||
.TIME: WORD #0000 ; DIR_WrtTime #16 +22 Time of last write.
|
||||
.DATE: WORD #0000 ; DIR_WrtDate #18 +24 Date of last write.
|
||||
.FIRST_CLUSTER_L: WORD #0000 ; DIR_FstClusLO #1A +26 START CLUSTER low
|
||||
.F_SIZE: DWORD #00000000 ; DIR_FileSize #1C +28 SIZE FILE
|
||||
.NAME TEXT 8,{". "," "} ; DIR_Name #00 +00 NAME
|
||||
.EXT TEXT 3,{" "," "} ; --//--//; #08 +08 EXT
|
||||
.ATTRIBUT BYTE #10 ; DIR_Attr; #0B +11 ATTRIBUT
|
||||
.RESERVED_NT BYTE #00 ; DIR_NTRes; #0C +12 RESERVED
|
||||
.RESERVED_FAT32 BYTE #00 ; DIR_CrtTimeHundth #0D +13 „¥áïâë¥ ¤®«¨ ᥪã¤ë á®§¤ ¨ï ä ©« (0-1.99)
|
||||
.CREATE_TIME_FAT32 WORD #0000 ; DIR_CrtTime #0E +14 ‚६ï á®§¤ ¨ï ä ©«
|
||||
.CREATE_DATE_FAT32 WORD #0000 ; DIR_CrtDate #10 +16 „ â á®§¤ ¨ï ä ©«
|
||||
.LAST_ACCESS_DATE_FAT32 WORD #0000 ; DIR_LstAccDate #12 +18 „ â ¯®á«¥¤¥£® ¤®áâ㯠(r/w)
|
||||
.FIRST_CLUSTER_H WORD #0000 ; DIR_FstClusHI #14 +20 START CLUSTER high ;!TODO fat32
|
||||
.TIME WORD #0000 ; DIR_WrtTime #16 +22 Time of last write.
|
||||
.DATE WORD #0000 ; DIR_WrtDate #18 +24 Date of last write.
|
||||
.FIRST_CLUSTER_L WORD #0000 ; DIR_FstClusLO #1A +26 START CLUSTER low
|
||||
.F_SIZE DWORD #00000000 ; DIR_FileSize #1C +28 SIZE FILE
|
||||
ENDS ; structure size #20 +32
|
||||
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
|
||||
|
||||
////////////////////////////////////////////////////////////////////////////////////////////
|
||||
STRUCT BOOT_SECTOR_PARAMS_NTFS
|
||||
.JMP D24 #000000 ; #00 BS_jmpBoot
|
||||
.ID_NAME TEXT 8,{"NTFS"," "} ; #03 BS_OEMName
|
||||
; Block Parameters BIOS
|
||||
.BytesPerSector WORD #0002 ; #0B
|
||||
.SectorsPerCluster BYTE #08 ; #0D
|
||||
.ReservedSectors WORD #0000 ; #0E
|
||||
.Always0_1 D24 #000000 ; #10
|
||||
.NotUsedByNTFS_1 WORD #0000 ; #13
|
||||
.MediaDescriptor BYTE #F8 ; #15
|
||||
.Always0_2 WORD #0000 ; #16
|
||||
.SectorsPerTrack WORD #3F00 ; #18
|
||||
.NumberOfHeads WORD #FF00 ; #1A
|
||||
.HiddenSectors DWORD #3F000000 ; #1C
|
||||
.NotUsedByNTFS_2 DWORD #00000000 ; #20
|
||||
.NotUsedByNTFS_3 DWORD #80008000 ; #24
|
||||
.TotalSectorsLow DWORD #00000000 ; #28
|
||||
.TotalSectorsHigh DWORD #4AF57F00 ; #2C
|
||||
.LogClusterNumberLow_MFT DWORD #00000000 ; #30
|
||||
.LogClusterNumberHigh_MFT DWORD #04000000 ; #34
|
||||
.LogClusterNumberLow_MFTMirr DWORD #00000000 ; #38
|
||||
.LogClusterNumberHigh_MFTMirr DWORD #54FF0700 ; #3C
|
||||
.ClustersPerFileRecordSegment DWORD #F6000000 ; #40
|
||||
.ClustersPerIndexBuffer BYTE #01 ; #44
|
||||
.NotUsedByNTFS_4 D24 #000000 ; #45
|
||||
.VolumeSerialNumberLow DWORD #C91B741C ; #48
|
||||
.VolumeSerialNumberHigh DWORD #14A51B74 ; #4C
|
||||
.Checksum DWORD #00000000 ; #50
|
||||
.BootCode BLOCK 426 ; #54
|
||||
.MBR_Signature WORD #AA55 ; #1FE
|
||||
ENDS
|
||||
////////////////////////////////////////////////////////////////////////////////////////////
|
||||
|
||||
;ÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛÛ;
|
||||
|
||||
@ -615,4 +647,4 @@ PartitionSysTypes:
|
||||
; GPTE_FstLba 32 ; GPT PTE: First LBA (QWORD)
|
||||
; GPTE_LstLba 40 ; GPT PTE: Last LBA inclusive (QWORD)
|
||||
; GPTE_Flags 48 ; GPT PTE: Flags (QWORD)
|
||||
; GPTE_Name 56 ; GPT PTE: Name
|
||||
; GPTE_Name 56 ; GPT PTE: Name
|
||||
Loading…
Reference in New Issue
Block a user