diff --git a/DSS/API/diskINF.asm b/DSS/API/diskINF.asm index 95edd5e..8fb2559 100644 --- a/DSS/API/diskINF.asm +++ b/DSS/API/diskINF.asm @@ -242,11 +242,11 @@ FAT_STRING: DB 'FAT12' ; DE - буфер GET_LABEL: PUSH DE LD HL,.LABEL_MASK ; "\*.*" имя метки - LD A,FAT_ATTR.VOLUME_ID ; атрибут метки тома + LD A,FAT_ATTR.ItIsVolID ; атрибут метки тома LD B,high Dss.F_First.FATname CALL F_FIRST POP DE - LD HL,CORE_BUFFERS.FS_Buffer.BPB_LABEL +.from_BPB: LD HL,CORE_BUFFERS.FS_Buffer.BPB_LABEL RET C ; [ ] 07/03/2025 костыль для атрибута 0. Настоял Савелий)) LD HL,BUFFER_FIND.REC_Attr @@ -254,7 +254,7 @@ GET_LABEL: PUSH DE LD A,(HL) OR A SCF - RET Z + JR Z,.from_BPB ; LD HL,BUFFER_FIND.REC_Name ADD HL,DE diff --git a/DSS/FS/FAT.asm b/DSS/FS/FAT.asm index 90e021d..4a76892 100644 --- a/DSS/FS/FAT.asm +++ b/DSS/FS/FAT.asm @@ -165,10 +165,18 @@ SEARCH: CP #E5 ;!HARDCODE #E5 - запись в директории свободна, так как файл/директория были удалены JR Z,.next_record LD A,(IX+FAT_DIRECTORY_RECORD.ATTRIBUT) + LD D,A AND C JR NZ,.next_record ; -.not_zero_attr: LD HL,MASKARE + LD A,C + INC A + JR NZ,.found_attr + ; A=0 + OR D + JR NZ,.next_record + ; +.found_attr: LD HL,MASKARE LD D,XH LD E,XL LD B,11 diff --git a/DSS/build.txt b/DSS/build.txt index d2e1cef..abc4eff 100644 --- a/DSS/build.txt +++ b/DSS/build.txt @@ -1 +1 @@ -44 \ No newline at end of file +46 \ No newline at end of file diff --git a/Shared_Includes b/Shared_Includes index 68e156a..89efc04 160000 --- a/Shared_Includes +++ b/Shared_Includes @@ -1 +1 @@ -Subproject commit 68e156a69e848e7b01656cdf67122022999d75ee +Subproject commit 89efc04ac63ae8b6a3b79c4a0e521fc967636a64