mirror of
https://github.com/Tolik-Trek/ZX-SP-ROMs.git
synced 2026-11-03 11:47:03 +03:00
trdos: skip LFN and #E5 records in /cat. An error is thrown in the "/HDD xx" command when selecting an unsupported partition
This commit is contained in:
1 parent
96eb67e591
commit
09d50ef6e6
5 files changed
+52
-35
No files matched your search
+1
-1
Submodule Shared_Includes updated: 990f10e802...04aaef8ac9.
+2
-2
@@ -13,10 +13,10 @@ CHOOSE_HDD:
|
||||
;
|
||||
.loop: LD A,(DE)
|
||||
INC DE
|
||||
CP ' '
|
||||
CP " "
|
||||
JR Z,.loop
|
||||
LD A,(DE)
|
||||
CP #0D
|
||||
CP "\r"
|
||||
JR Z,.error
|
||||
.cont: ; ®¬¥à à §¤¥«
|
||||
;INC DE
|
||||
|
||||
+42
-25
@@ -33,24 +33,37 @@ MSDOS_TEST_FL:
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
LD A,E
|
||||
; [x] 07/07/2024 ¯à®¯ã᪠LFN
|
||||
PUSH HL
|
||||
LD DE,#0B ; FAT_DIRECTORY_RECORD.ATTRIBUT
|
||||
ADD HL,DE
|
||||
LD D,(HL)
|
||||
POP HL
|
||||
;
|
||||
LD E,(HL)
|
||||
OUT (SLOT3),A
|
||||
EI
|
||||
LD A,E
|
||||
; [x] 07/07/2024 ¯à®¯ã᪠LFN
|
||||
LD A,D
|
||||
CP #0F ; FAT_ATTR.LFS_Entry
|
||||
JR NZ,.nxt
|
||||
POP DE
|
||||
JR MSDOS_NEXT_FL
|
||||
;
|
||||
.nxt: LD A,E
|
||||
POP DE
|
||||
AND A
|
||||
SCF
|
||||
RET Z ; ŠŽ�…– Š€’€‹Žƒ€
|
||||
CP #E5
|
||||
SCF
|
||||
CCF
|
||||
; DEC A ; ‘’…�’›‰ ”€‰‹
|
||||
; AND A
|
||||
JR Z,MSDOS_NEXT_FL
|
||||
AND A
|
||||
RET
|
||||
;**********************************
|
||||
|
||||
;**********************
|
||||
MSDOS_NEXT_FL:
|
||||
PUSH DE
|
||||
LD DE," "
|
||||
LD DE,32 ; FAT_DIRECTORY_RECORD size
|
||||
ADD HL,DE
|
||||
DI
|
||||
IN A,(SLOT3)
|
||||
@@ -99,18 +112,18 @@ MSDOS_CAT:
|
||||
PUSH DE
|
||||
CALL AUTO_1D97 ; CLS
|
||||
CALL OPEN_CH2
|
||||
LD A,13
|
||||
LD A,"\r"
|
||||
RST #10
|
||||
POP DE ; ‘’�ŽŠ€ �Ž‘‹… CAT
|
||||
|
||||
CAT_SPACES:
|
||||
LD A,(DE)
|
||||
CP #20
|
||||
CP " "
|
||||
JR NZ,CAT_NO_SPACE
|
||||
INC DE
|
||||
JR CAT_SPACES
|
||||
CAT_NO_SPACE:
|
||||
CP 13
|
||||
CP "\r"
|
||||
JR NZ,CAT_ALL
|
||||
LD DE,CAT_FILES
|
||||
CAT_ALL:
|
||||
@@ -142,26 +155,29 @@ PRINT_MSD_NAME:
|
||||
PUSH DE
|
||||
LD HL,ZX_VARS.FL_NAME
|
||||
LD A,' '
|
||||
RST 10H
|
||||
RST #10
|
||||
LD A,' '
|
||||
RST 10H
|
||||
RST #10
|
||||
;
|
||||
LD B,8
|
||||
PRINT_MSD_L1:
|
||||
LD A,(HL)
|
||||
RST 10H
|
||||
.L1: LD A,(HL)
|
||||
;AND #7F ; ¡ £ á ¨¬¥¥¬, ¥á«¨ FAT ¨¬¥ á UTF8
|
||||
RST #10
|
||||
INC HL
|
||||
DJNZ PRINT_MSD_L1
|
||||
DJNZ .L1
|
||||
;
|
||||
LD A,' '
|
||||
RST 10H
|
||||
RST #10
|
||||
;
|
||||
LD B,3
|
||||
PRINT_MSD_L2:
|
||||
LD A,(HL)
|
||||
RST 10H
|
||||
.L2: LD A,(HL)
|
||||
;AND #7F ; ¡ £ á ¨¬¥¥¬, ¥á«¨ FAT ¨¬¥ á UTF8
|
||||
RST #10
|
||||
INC HL
|
||||
DJNZ PRINT_MSD_L2
|
||||
DJNZ .L2
|
||||
;
|
||||
LD A,6
|
||||
RST 10H
|
||||
|
||||
RST #10
|
||||
POP DE
|
||||
POP HL
|
||||
RET
|
||||
@@ -369,8 +385,9 @@ RMD_BLKS_L2:
|
||||
RET ; B - —ˆ‘‹Ž �‹ŽŠŽ‚ RAM_DISK
|
||||
|
||||
;****************************************
|
||||
MSDOS_KOMP_FL: ; DE - ˆŒŸ ”€‰‹€ ‘Ž *,?
|
||||
; HL - ˆŒŸ ‚ Š€’€‹Žƒ…
|
||||
; DE - ˆŒŸ ”€‰‹€ ‘Ž *,?
|
||||
; HL - ˆŒŸ ‚ Š€’€‹Žƒ…
|
||||
MSDOS_KOMP_FL:
|
||||
CALL COPY_NAME_MSD ; �…�…Œ…‘’ˆ’œ ˆŒŸ ‚ Ž�‹€‘’œ TR-DOS
|
||||
LD A,(ZX_VARS.FL_NAME)
|
||||
AND A
|
||||
|
||||
+1
-1
@@ -619,7 +619,7 @@ HDD_SET:;!TEST
|
||||
INC DE
|
||||
CP ' '
|
||||
JR Z,.loop
|
||||
CP #0D
|
||||
CP "\r"
|
||||
JR Z,.init
|
||||
;
|
||||
DEC DE
|
||||
|
||||
+6
-6
@@ -562,7 +562,7 @@ READ_BPB:
|
||||
LD C,B
|
||||
LD B,0 ; BC - ç¨á«® ä ©«®¢ëå § ¯¨á¥© ¢ ᥪâ®à¥
|
||||
LD A,C
|
||||
LD (SYS_PAGE.F_P_S),A
|
||||
LD (SYS_PAGE.FilesPerSector),A
|
||||
|
||||
LD DE,(SYS_PAGE.MS_BPB+FLS_NUM) ; —¨á«® ä ©«®¢ëå § ¯¨á¥©
|
||||
|
||||
@@ -579,7 +579,7 @@ READ_BPB:
|
||||
LD E,A ; A - ç¨á«® ᥪâ®à®¢ ¢ DIR
|
||||
LD D,0
|
||||
LD BC,0
|
||||
LD (SYS_PAGE.S_P_C),A
|
||||
LD (SYS_PAGE.SectorsPerCluster),A
|
||||
|
||||
ADD IX,DE ; � ç «® DATA area
|
||||
ADC HL,BC
|
||||
@@ -646,11 +646,11 @@ READ_1ST_DIR:
|
||||
EX AF,AF'
|
||||
LD A,SYS_PAGE
|
||||
OUT (SLOT3),A
|
||||
LD IX,(SYS_PAGE.MSD_CAT_SEC2) ;
|
||||
LD DE,(SYS_PAGE.MSD_CAT_SEC) ; �€—€‹œ�›‰ ‘…Š’Ž� Š€’€‹Žƒ€
|
||||
LD IX,(SYS_PAGE.MSD_CAT_SEC2)
|
||||
LD DE,(SYS_PAGE.MSD_CAT_SEC) ; �€—€‹œ�›‰ ‘…Š’Ž� Š€’€‹Žƒ€
|
||||
LD (SYS_PAGE.MSD_CONT_SEC),DE
|
||||
LD (SYS_PAGE.MSD_CONT_SEC2),IX
|
||||
LD A,(SYS_PAGE.S_P_C) ; ‘…Š’Ž�Ž‚ ‚ Š€’€‹Žƒ…
|
||||
LD A,(SYS_PAGE.SectorsPerCluster) ; ‘…Š’Ž�Ž‚ ‚ Š€’€‹Žƒ…
|
||||
LD (SYS_PAGE.COUNT_SEC),A
|
||||
READ_NEXT2:
|
||||
EX AF,AF'
|
||||
@@ -677,7 +677,7 @@ READ_NEXT2:
|
||||
INC IX
|
||||
LD (SYS_PAGE.MSD_CONT_SEC2),IX
|
||||
READ_NEXT3:
|
||||
LD A,(SYS_PAGE.F_P_S) ; ”€‰‹Ž‚ ‚ ‘…Š’Ž�…
|
||||
LD A,(SYS_PAGE.FilesPerSector) ; ”€‰‹Ž‚ ‚ ‘…Š’Ž�…
|
||||
LD (SYS_PAGE.COUNT_FL),A
|
||||
|
||||
EX AF,AF'
|
||||
|
||||
Reference in new issue
Block a user