From f58a3d681b99c11aadfae5a26f5078d71e2c6f29 Mon Sep 17 00:00:00 2001 From: Anatoliy Belyanskiy Date: Sun, 17 Dec 2023 02:00:52 +1000 Subject: [PATCH] =?UTF-8?q?[x]=20=D0=BF=D1=80=D0=BE=D0=BF=D1=83=D1=81?= =?UTF-8?q?=D0=BA=20=D1=80=D0=B0=D0=B7=D0=B4=D0=B5=D0=BB=D0=BE=D0=B2=20?= =?UTF-8?q?=D1=81=20=D0=BD=D0=B5=D0=B8=D0=B7=D0=B2=D0=B5=D1=81=D1=82=D0=BD?= =?UTF-8?q?=D1=8B=D0=BC=D0=B8=20=D0=A4=D0=A1,=20=D0=BE=D0=BF=D1=82=D0=B8?= =?UTF-8?q?=D0=BC=D0=B8=D0=B7=D0=B0=D1=86=D0=B8=D1=8F=20=D0=B4=D0=B5=D1=82?= =?UTF-8?q?=D0=B5=D0=BA=D1=82=D0=B0?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- DSS/API/diskINF.asm | 10 ++------- DSS/DSS-MAIN.ASM | 8 ++++---- DSS/Media_drivers/ide-drv.asm | 38 ++++++++++++++++++++--------------- DSS/build.txt | 2 +- Shared_Includes | 2 +- 5 files changed, 30 insertions(+), 30 deletions(-) diff --git a/DSS/API/diskINF.asm b/DSS/API/diskINF.asm index 0f33db5..305c78e 100644 --- a/DSS/API/diskINF.asm +++ b/DSS/API/diskINF.asm @@ -35,12 +35,6 @@ LD (DE),A INC DE LDIR -; .loop: -; LD (HL),A -; INC DE -; INC HL -; LD A,(DE) -; DJNZ .loop ENDM ; DISKINF:; [ ] 22/11/23 подфункция с доп.инфой @@ -132,8 +126,8 @@ DISKINF:; [ ] 22/11/23 LD A,E OR D - JR NZ,.SKIC + JR NZ,.skip INC BC -.SKIC: INC HL +.skip: INC HL JP .FRESP ; \ No newline at end of file diff --git a/DSS/DSS-MAIN.ASM b/DSS/DSS-MAIN.ASM index 896d862..4b18527 100644 --- a/DSS/DSS-MAIN.ASM +++ b/DSS/DSS-MAIN.ASM @@ -467,14 +467,14 @@ CurrentPath: DB 'X' CurrentDirectory: DB '\' .DEPTH: EQU DIRECTORY_PATH_LENGTH BLOCK CurrentDirectory.DEPTH,0 ; не .DEPTH-1 чтоб был 0 в конце - +; IF SAVE_PATH_CODE -WorkDirectory: DB '\' +WorkDirectory: DB '\' .DEPTH: EQU DIRECTORY_PATH_LENGTH BLOCK WorkDirectory.DEPTH,0 ; не .DEPTH-1 чтоб был 0 в конце ELSE -WorkDirectory EQU CurrentDirectory -.DEPTH EQU CurrentDirectory.DEPTH +WorkDirectory EQU CurrentDirectory +.DEPTH EQU CurrentDirectory.DEPTH ENDIF ///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// diff --git a/DSS/Media_drivers/ide-drv.asm b/DSS/Media_drivers/ide-drv.asm index b42a3cc..fac1df9 100644 --- a/DSS/Media_drivers/ide-drv.asm +++ b/DSS/Media_drivers/ide-drv.asm @@ -560,22 +560,27 @@ NXTPART: ; NOEXTDS: - CP #0F - JR Z,SUBLEV - CP #0E + CP PartitionSysTypes.FAT16 JR Z,HIGHDOS - CP 6 + CP PartitionSysTypes.FAT16_LBA JR Z,HIGHDOS - CP 4 + CP PartitionSysTypes.FAT16_32M JR Z,MEDIDOS - CP 1 + CP PartitionSysTypes.FAT12 JR Z,EASYDOS - POP BC - OR A - RET Z -NODEFIN: - SCF - RET + CP PartitionSysTypes.Win_Ext_LBA + JR Z,SUBLEV + ;[x] 17/12/23 пропуск разделов с неизвестными ФС, оптимизация детекта + OR A ;PartitionSysTypes.Empty + JR NZ,NXTPART + POP BC ; баланс стека + RET + ;POP BC + ;OR A + ;RET Z +;NODEFIN: + ;SCF + ;RET ; @@ -597,20 +602,21 @@ PARTIT2: LD (CURSECL),DE LD (CURSECH),IX CALL LOADSEC - ;!TEST - ;RET C ; for absent drive ; LD HL,(PART+510) ;!HARDCODE Signature word LD DE,#AA55 AND A SBC HL,DE - JR NZ,NODEFIN + ;[ ] 17/12/23 пропуск разделов с неизвестными ФС, оптимизация перебора разделов + ;JR NZ,NODEFIN + SCF + RET NZ ; LD IY,PART+#01BE ;!HARDCODE MBR: Offset of partition table in the MBR LD B,4 ;!HARDCODE MBR: Number of entries in the partition table DOSAGA: PUSH BC LD A,(IY+4) - CP 5 + CP PartitionSysTypes.Extended JR NZ,NOEXTDS SUBLEV: PUSH IY LD DE,(CURSECL) diff --git a/DSS/build.txt b/DSS/build.txt index 7a4ca1f..773855c 100644 --- a/DSS/build.txt +++ b/DSS/build.txt @@ -1 +1 @@ -806 \ No newline at end of file +810 \ No newline at end of file diff --git a/Shared_Includes b/Shared_Includes index 066f9ee..b9ca4f4 160000 --- a/Shared_Includes +++ b/Shared_Includes @@ -1 +1 @@ -Subproject commit 066f9ee8b6aa8cc9d4ca5a03c8778fe5a075e304 +Subproject commit b9ca4f484d074cc80c221ad37a2a40e7ee670a16