mirror of
https://github.com/Tolik-Trek/ZX-SP-ROMs.git
synced 2026-06-16 01:41:14 +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:
parent
90e3c53cd4
commit
698a864b04
@ -1 +1 @@
|
||||
Subproject commit 990f10e80278825f071f5795a5ba459dec0f991f
|
||||
Subproject commit 04aaef8ac955971d913babd95921a62937b597ae
|
||||
@ -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
|
||||
|
||||
@ -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 ; ŠŽ<C5A0>…– Š€’€‹Žƒ€
|
||||
CP #E5
|
||||
SCF
|
||||
CCF
|
||||
; DEC A ; ‘’…<E28099>’›‰ ”€‰‹
|
||||
; 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 ; ‘’<E28098>ŽŠ€ <20>Ž‘‹… 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 - —ˆ‘‹Ž <20>‹ŽŠŽ‚ RAM_DISK
|
||||
|
||||
;****************************************
|
||||
MSDOS_KOMP_FL: ; DE - ˆŒŸ ”€‰‹€ ‘Ž *,?
|
||||
; HL - ˆŒŸ ‚ Š€’€‹Žƒ…
|
||||
; DE - ˆŒŸ ”€‰‹€ ‘Ž *,?
|
||||
; HL - ˆŒŸ ‚ Š€’€‹Žƒ…
|
||||
MSDOS_KOMP_FL:
|
||||
CALL COPY_NAME_MSD ; <20>…<EFBFBD>…Œ…‘’ˆ’œ ˆŒŸ ‚ Ž<>‹€‘’œ TR-DOS
|
||||
LD A,(ZX_VARS.FL_NAME)
|
||||
AND A
|
||||
|
||||
@ -619,7 +619,7 @@ HDD_SET:;!TEST
|
||||
INC DE
|
||||
CP ' '
|
||||
JR Z,.loop
|
||||
CP #0D
|
||||
CP "\r"
|
||||
JR Z,.init
|
||||
;
|
||||
DEC DE
|
||||
|
||||
@ -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 ; <20> ç «® 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) ; <20>€—€‹œ<E280B9>›‰ ‘…Š’Ž<E28099> Š€’€‹Žƒ€
|
||||
LD IX,(SYS_PAGE.MSD_CAT_SEC2)
|
||||
LD DE,(SYS_PAGE.MSD_CAT_SEC) ; <20>€—€‹œ<E280B9>›‰ ‘…Š’Ž<E28099> Š€’€‹Žƒ€
|
||||
LD (SYS_PAGE.MSD_CONT_SEC),DE
|
||||
LD (SYS_PAGE.MSD_CONT_SEC2),IX
|
||||
LD A,(SYS_PAGE.S_P_C) ; ‘…Š’Ž<E28099>Ž‚ ‚ Š€’€‹Žƒ…
|
||||
LD A,(SYS_PAGE.SectorsPerCluster) ; ‘…Š’Ž<E28099>Ž‚ ‚ Š€’€‹Žƒ…
|
||||
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) ; ”€‰‹Ž‚ ‚ ‘…Š’Ž<E28099>…
|
||||
LD A,(SYS_PAGE.FilesPerSector) ; ”€‰‹Ž‚ ‚ ‘…Š’Ž<E28099>…
|
||||
LD (SYS_PAGE.COUNT_FL),A
|
||||
|
||||
EX AF,AF'
|
||||
|
||||
Loading…
Reference in New Issue
Block a user