From 4a944bc4934320321e3bc1beb7f66a5517c41c2e Mon Sep 17 00:00:00 2001 From: Elaina Claus Date: Sat, 20 Sep 2025 08:29:43 -0400 Subject: [PATCH] minor changes in fat32 --- include/fat32/FAT32_SYS.nasm | 9 +++++---- include/fat32/fat32_structures.inc | 19 +++++-------------- 2 files changed, 10 insertions(+), 18 deletions(-) diff --git a/include/fat32/FAT32_SYS.nasm b/include/fat32/FAT32_SYS.nasm index 2899700..c6cf75b 100644 --- a/include/fat32/FAT32_SYS.nasm +++ b/include/fat32/FAT32_SYS.nasm @@ -126,11 +126,12 @@ FAT32_load_vbr: ; - fill fat32_bpb_t and compute derived fields ; - read FSInfo (free count/next free) ; - ??? -; int fat32_mount(uint32_t partition_lba, fat32_bpb_t* out); +; int fat32_mount(FAT32_State_t* state, uint32_t partition_lba); FAT32_mountfs: __CDECL16_PROC_ENTRY .proc: ; mount: parse BPB, derive fat0_lba, data_lba, cluster0_lba. + .endp: __CDECL16_PROC_EXIT ret @@ -138,7 +139,7 @@ FAT32_mountfs: ERROR STEVIA_DEBUG_ERR -; int fat32_read_fat(const fat32_bpb_t* v, uint32_t clus, uint32_t* out); +; int fat32_read_fat(FAT32_State_t* state, uint32_t clus, uint32_t* out); FAT32_read_fat: __CDECL16_PROC_ENTRY .proc: @@ -153,7 +154,7 @@ FAT32_read_fat: ; EOC if (val & 0x0FFFFFFF) >= 0x0FFFFFF8. ; bad if == 0x0FFFFFF7. ; free if == 0x00000000. -; int fat32_next_clus(const fat32_bpb_t* v, uint32_t clus, uint32_t* out_next); +; int fat32_next_clus(FAT32_State_t* state, uint32_t clus, uint32_t* out_next); FAT32_next_cluster: __CDECL16_PROC_ENTRY .proc: @@ -165,7 +166,7 @@ FAT32_next_cluster: ERROR STEVIA_DEBUG_ERR ; e.g: -; uint64_t clus_to_lba(const fat32_bpb_t* v, uint32_t clus) { +; uint64_t clus_to_lba(FAT32_State_t* state, uint32_t clus) { ; return v->data_lba + (uint64_t)(clus - 2) * v->secs_per_clus; ; } FAT32_clus_to_lba: diff --git a/include/fat32/fat32_structures.inc b/include/fat32/fat32_structures.inc index 3f8ccfb..0ac4f6e 100755 --- a/include/fat32/fat32_structures.inc +++ b/include/fat32/fat32_structures.inc @@ -195,20 +195,11 @@ endstruc ; 32 bytes struc FAT32_State_t - .first_data_sector_32 resd 1 - .first_fat_sector_32 resd 1 - .fat_size_32 resd 1 - .curr_FAT_cluster_32 resd 1 - .curr_dir_cluster_32 resd 1 - .curr_drive_lba_32 resd 1 -endstruc - -; 16 bytes -struc FAT32_NextClusterData_t - .fat_offset resd 1 - .fat_sector resd 1 - .entry_offset resd 1 - .reserved_1 resd 1 + .u32_TotalClusters resd 1 + .u32_DataAreaStartSector resd 1 + .u32_FATAreaStartSector resd 1 + .p16_FATBuffer resw 1 + .p16_ClustBuffer resw 1 endstruc ; FAT32 Attributes