mirror of
https://github.com/Tolik-Trek/ZX-SP-ROMs.git
synced 2026-06-15 09:21:45 +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
96eb67e591
commit
09d50ef6e6
@ -1 +1 @@
|
|||||||
Subproject commit 990f10e80278825f071f5795a5ba459dec0f991f
|
Subproject commit 04aaef8ac955971d913babd95921a62937b597ae
|
||||||
@ -13,10 +13,10 @@ CHOOSE_HDD:
|
|||||||
;
|
;
|
||||||
.loop: LD A,(DE)
|
.loop: LD A,(DE)
|
||||||
INC DE
|
INC DE
|
||||||
CP ' '
|
CP " "
|
||||||
JR Z,.loop
|
JR Z,.loop
|
||||||
LD A,(DE)
|
LD A,(DE)
|
||||||
CP #0D
|
CP "\r"
|
||||||
JR Z,.error
|
JR Z,.error
|
||||||
.cont: ; ®¬¥à à §¤¥«
|
.cont: ; ®¬¥à à §¤¥«
|
||||||
;INC DE
|
;INC DE
|
||||||
|
|||||||
@ -33,24 +33,37 @@ MSDOS_TEST_FL:
|
|||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD A,E
|
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)
|
LD E,(HL)
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
EI
|
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
|
POP DE
|
||||||
AND A
|
AND A
|
||||||
SCF
|
SCF
|
||||||
RET Z ; ŠŽ<C5A0>…– Š€’€‹Žƒ€
|
RET Z ; ŠŽ<C5A0>…– Š€’€‹Žƒ€
|
||||||
CP #E5
|
CP #E5
|
||||||
SCF
|
JR Z,MSDOS_NEXT_FL
|
||||||
CCF
|
AND A
|
||||||
; DEC A ; ‘’…<E28099>’›‰ ”€‰‹
|
|
||||||
; AND A
|
|
||||||
RET
|
RET
|
||||||
;**********************************
|
|
||||||
|
;**********************
|
||||||
MSDOS_NEXT_FL:
|
MSDOS_NEXT_FL:
|
||||||
PUSH DE
|
PUSH DE
|
||||||
LD DE," "
|
LD DE,32 ; FAT_DIRECTORY_RECORD size
|
||||||
ADD HL,DE
|
ADD HL,DE
|
||||||
DI
|
DI
|
||||||
IN A,(SLOT3)
|
IN A,(SLOT3)
|
||||||
@ -99,18 +112,18 @@ MSDOS_CAT:
|
|||||||
PUSH DE
|
PUSH DE
|
||||||
CALL AUTO_1D97 ; CLS
|
CALL AUTO_1D97 ; CLS
|
||||||
CALL OPEN_CH2
|
CALL OPEN_CH2
|
||||||
LD A,13
|
LD A,"\r"
|
||||||
RST #10
|
RST #10
|
||||||
POP DE ; ‘’<E28098>ŽŠ€ <20>Ž‘‹… CAT
|
POP DE ; ‘’<E28098>ŽŠ€ <20>Ž‘‹… CAT
|
||||||
|
|
||||||
CAT_SPACES:
|
CAT_SPACES:
|
||||||
LD A,(DE)
|
LD A,(DE)
|
||||||
CP #20
|
CP " "
|
||||||
JR NZ,CAT_NO_SPACE
|
JR NZ,CAT_NO_SPACE
|
||||||
INC DE
|
INC DE
|
||||||
JR CAT_SPACES
|
JR CAT_SPACES
|
||||||
CAT_NO_SPACE:
|
CAT_NO_SPACE:
|
||||||
CP 13
|
CP "\r"
|
||||||
JR NZ,CAT_ALL
|
JR NZ,CAT_ALL
|
||||||
LD DE,CAT_FILES
|
LD DE,CAT_FILES
|
||||||
CAT_ALL:
|
CAT_ALL:
|
||||||
@ -142,26 +155,29 @@ PRINT_MSD_NAME:
|
|||||||
PUSH DE
|
PUSH DE
|
||||||
LD HL,ZX_VARS.FL_NAME
|
LD HL,ZX_VARS.FL_NAME
|
||||||
LD A,' '
|
LD A,' '
|
||||||
RST 10H
|
RST #10
|
||||||
LD A,' '
|
LD A,' '
|
||||||
RST 10H
|
RST #10
|
||||||
|
;
|
||||||
LD B,8
|
LD B,8
|
||||||
PRINT_MSD_L1:
|
.L1: LD A,(HL)
|
||||||
LD A,(HL)
|
;AND #7F ; ¡ £ á ¨¬¥¥¬, ¥á«¨ FAT ¨¬¥ á UTF8
|
||||||
RST 10H
|
RST #10
|
||||||
INC HL
|
INC HL
|
||||||
DJNZ PRINT_MSD_L1
|
DJNZ .L1
|
||||||
|
;
|
||||||
LD A,' '
|
LD A,' '
|
||||||
RST 10H
|
RST #10
|
||||||
|
;
|
||||||
LD B,3
|
LD B,3
|
||||||
PRINT_MSD_L2:
|
.L2: LD A,(HL)
|
||||||
LD A,(HL)
|
;AND #7F ; ¡ £ á ¨¬¥¥¬, ¥á«¨ FAT ¨¬¥ á UTF8
|
||||||
RST 10H
|
RST #10
|
||||||
INC HL
|
INC HL
|
||||||
DJNZ PRINT_MSD_L2
|
DJNZ .L2
|
||||||
|
;
|
||||||
LD A,6
|
LD A,6
|
||||||
RST 10H
|
RST #10
|
||||||
|
|
||||||
POP DE
|
POP DE
|
||||||
POP HL
|
POP HL
|
||||||
RET
|
RET
|
||||||
@ -369,8 +385,9 @@ RMD_BLKS_L2:
|
|||||||
RET ; B - —ˆ‘‹Ž <20>‹ŽŠŽ‚ RAM_DISK
|
RET ; B - —ˆ‘‹Ž <20>‹ŽŠŽ‚ RAM_DISK
|
||||||
|
|
||||||
;****************************************
|
;****************************************
|
||||||
MSDOS_KOMP_FL: ; DE - ˆŒŸ ”€‰‹€ ‘Ž *,?
|
; DE - ˆŒŸ ”€‰‹€ ‘Ž *,?
|
||||||
; HL - ˆŒŸ ‚ Š€’€‹Žƒ…
|
; HL - ˆŒŸ ‚ Š€’€‹Žƒ…
|
||||||
|
MSDOS_KOMP_FL:
|
||||||
CALL COPY_NAME_MSD ; <20>…<EFBFBD>…Œ…‘’ˆ’œ ˆŒŸ ‚ Ž<>‹€‘’œ TR-DOS
|
CALL COPY_NAME_MSD ; <20>…<EFBFBD>…Œ…‘’ˆ’œ ˆŒŸ ‚ Ž<>‹€‘’œ TR-DOS
|
||||||
LD A,(ZX_VARS.FL_NAME)
|
LD A,(ZX_VARS.FL_NAME)
|
||||||
AND A
|
AND A
|
||||||
|
|||||||
@ -619,7 +619,7 @@ HDD_SET:;!TEST
|
|||||||
INC DE
|
INC DE
|
||||||
CP ' '
|
CP ' '
|
||||||
JR Z,.loop
|
JR Z,.loop
|
||||||
CP #0D
|
CP "\r"
|
||||||
JR Z,.init
|
JR Z,.init
|
||||||
;
|
;
|
||||||
DEC DE
|
DEC DE
|
||||||
|
|||||||
@ -562,7 +562,7 @@ READ_BPB:
|
|||||||
LD C,B
|
LD C,B
|
||||||
LD B,0 ; BC - ç¨á«® ä ©«®¢ëå § ¯¨á¥© ¢ ᥪâ®à¥
|
LD B,0 ; BC - ç¨á«® ä ©«®¢ëå § ¯¨á¥© ¢ ᥪâ®à¥
|
||||||
LD A,C
|
LD A,C
|
||||||
LD (SYS_PAGE.F_P_S),A
|
LD (SYS_PAGE.FilesPerSector),A
|
||||||
|
|
||||||
LD DE,(SYS_PAGE.MS_BPB+FLS_NUM) ; —¨á«® ä ©«®¢ëå § ¯¨á¥©
|
LD DE,(SYS_PAGE.MS_BPB+FLS_NUM) ; —¨á«® ä ©«®¢ëå § ¯¨á¥©
|
||||||
|
|
||||||
@ -579,7 +579,7 @@ READ_BPB:
|
|||||||
LD E,A ; A - ç¨á«® ᥪâ®à®¢ ¢ DIR
|
LD E,A ; A - ç¨á«® ᥪâ®à®¢ ¢ DIR
|
||||||
LD D,0
|
LD D,0
|
||||||
LD BC,0
|
LD BC,0
|
||||||
LD (SYS_PAGE.S_P_C),A
|
LD (SYS_PAGE.SectorsPerCluster),A
|
||||||
|
|
||||||
ADD IX,DE ; <20> ç «® DATA area
|
ADD IX,DE ; <20> ç «® DATA area
|
||||||
ADC HL,BC
|
ADC HL,BC
|
||||||
@ -646,11 +646,11 @@ READ_1ST_DIR:
|
|||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
LD A,SYS_PAGE
|
LD A,SYS_PAGE
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD IX,(SYS_PAGE.MSD_CAT_SEC2) ;
|
LD IX,(SYS_PAGE.MSD_CAT_SEC2)
|
||||||
LD DE,(SYS_PAGE.MSD_CAT_SEC) ; <20>€—€‹œ<E280B9>›‰ ‘…Š’Ž<E28099> Š€’€‹Žƒ€
|
LD DE,(SYS_PAGE.MSD_CAT_SEC) ; <20>€—€‹œ<E280B9>›‰ ‘…Š’Ž<E28099> Š€’€‹Žƒ€
|
||||||
LD (SYS_PAGE.MSD_CONT_SEC),DE
|
LD (SYS_PAGE.MSD_CONT_SEC),DE
|
||||||
LD (SYS_PAGE.MSD_CONT_SEC2),IX
|
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
|
LD (SYS_PAGE.COUNT_SEC),A
|
||||||
READ_NEXT2:
|
READ_NEXT2:
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
@ -677,7 +677,7 @@ READ_NEXT2:
|
|||||||
INC IX
|
INC IX
|
||||||
LD (SYS_PAGE.MSD_CONT_SEC2),IX
|
LD (SYS_PAGE.MSD_CONT_SEC2),IX
|
||||||
READ_NEXT3:
|
READ_NEXT3:
|
||||||
LD A,(SYS_PAGE.F_P_S) ; ”€‰‹Ž‚ ‚ ‘…Š’Ž<E28099>…
|
LD A,(SYS_PAGE.FilesPerSector) ; ”€‰‹Ž‚ ‚ ‘…Š’Ž<E28099>…
|
||||||
LD (SYS_PAGE.COUNT_FL),A
|
LD (SYS_PAGE.COUNT_FL),A
|
||||||
|
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user