[x] пропуск разделов с неизвестными ФС, оптимизация детекта

This commit is contained in:
Anatoliy Belyanskiy 2023-12-17 02:00:52 +10:00
parent c0f126a95c
commit f58a3d681b
5 changed files with 30 additions and 30 deletions

View File

@ -35,12 +35,6 @@
LD (DE),A LD (DE),A
INC DE INC DE
LDIR LDIR
; .loop:
; LD (HL),A
; INC DE
; INC HL
; LD A,(DE)
; DJNZ .loop
ENDM ENDM
; ;
DISKINF:; [ ] 22/11/23 ¯®¤äã­ªæ¨ï á ¤®¯.¨­ä®© DISKINF:; [ ] 22/11/23 ¯®¤äã­ªæ¨ï á ¤®¯.¨­ä®©
@ -132,8 +126,8 @@ DISKINF:; [ ] 22/11/23
LD A,E LD A,E
OR D OR D
JR NZ,.SKIC JR NZ,.skip
INC BC INC BC
.SKIC: INC HL .skip: INC HL
JP .FRESP JP .FRESP
; ;

View File

@ -467,14 +467,14 @@ CurrentPath: DB 'X'
CurrentDirectory: DB '\' CurrentDirectory: DB '\'
.DEPTH: EQU DIRECTORY_PATH_LENGTH .DEPTH: EQU DIRECTORY_PATH_LENGTH
BLOCK CurrentDirectory.DEPTH,0 ; ­¥ .DEPTH-1 ç⮡ ¡ë« 0 ¢ ª®­æ¥ BLOCK CurrentDirectory.DEPTH,0 ; ­¥ .DEPTH-1 ç⮡ ¡ë« 0 ¢ ª®­æ¥
;
IF SAVE_PATH_CODE IF SAVE_PATH_CODE
WorkDirectory: DB '\' WorkDirectory: DB '\'
.DEPTH: EQU DIRECTORY_PATH_LENGTH .DEPTH: EQU DIRECTORY_PATH_LENGTH
BLOCK WorkDirectory.DEPTH,0 ; ­¥ .DEPTH-1 ç⮡ ¡ë« 0 ¢ ª®­æ¥ BLOCK WorkDirectory.DEPTH,0 ; ­¥ .DEPTH-1 ç⮡ ¡ë« 0 ¢ ª®­æ¥
ELSE ELSE
WorkDirectory EQU CurrentDirectory WorkDirectory EQU CurrentDirectory
.DEPTH EQU CurrentDirectory.DEPTH .DEPTH EQU CurrentDirectory.DEPTH
ENDIF ENDIF
///////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////// /////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

View File

@ -560,22 +560,27 @@ NXTPART:
; ;
NOEXTDS: NOEXTDS:
CP #0F CP PartitionSysTypes.FAT16
JR Z,SUBLEV
CP #0E
JR Z,HIGHDOS JR Z,HIGHDOS
CP 6 CP PartitionSysTypes.FAT16_LBA
JR Z,HIGHDOS JR Z,HIGHDOS
CP 4 CP PartitionSysTypes.FAT16_32M
JR Z,MEDIDOS JR Z,MEDIDOS
CP 1 CP PartitionSysTypes.FAT12
JR Z,EASYDOS JR Z,EASYDOS
POP BC CP PartitionSysTypes.Win_Ext_LBA
OR A JR Z,SUBLEV
RET Z ;[x] 17/12/23 ¯à®¯ã᪠ࠧ¤¥«®¢ á ­¥¨§¢¥áâ­ë¬¨ ”‘, ®¯â¨¬¨§ æ¨ï ¤¥â¥ªâ 
NODEFIN: OR A ;PartitionSysTypes.Empty
SCF JR NZ,NXTPART
RET POP BC ; ¡ « ­á á⥪ 
RET
;POP BC
;OR A
;RET Z
;NODEFIN:
;SCF
;RET
; ;
@ -597,20 +602,21 @@ PARTIT2:
LD (CURSECL),DE LD (CURSECL),DE
LD (CURSECH),IX LD (CURSECH),IX
CALL LOADSEC CALL LOADSEC
;!TEST
;RET C ; for absent drive
; ;
LD HL,(PART+510) ;!HARDCODE Signature word LD HL,(PART+510) ;!HARDCODE Signature word
LD DE,#AA55 LD DE,#AA55
AND A AND A
SBC HL,DE 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 IY,PART+#01BE ;!HARDCODE MBR: Offset of partition table in the MBR
LD B,4 ;!HARDCODE MBR: Number of entries in the partition table LD B,4 ;!HARDCODE MBR: Number of entries in the partition table
DOSAGA: PUSH BC DOSAGA: PUSH BC
LD A,(IY+4) LD A,(IY+4)
CP 5 CP PartitionSysTypes.Extended
JR NZ,NOEXTDS JR NZ,NOEXTDS
SUBLEV: PUSH IY SUBLEV: PUSH IY
LD DE,(CURSECL) LD DE,(CURSECL)

View File

@ -1 +1 @@
806 810

@ -1 +1 @@
Subproject commit 066f9ee8b6aa8cc9d4ca5a03c8778fe5a075e304 Subproject commit b9ca4f484d074cc80c221ad37a2a40e7ee670a16