fix cmd /hdd

This commit is contained in:
Tolik 2024-08-24 04:20:18 +10:00
parent 6c1a9a6d66
commit a170bf4abc
7 changed files with 87 additions and 71 deletions

@ -1 +1 @@
Subproject commit aca9ce3f859bf53c76b0d710e108543226697f91 Subproject commit e9d481a5565338505710b08e50d22a8579c400be

View File

@ -56,56 +56,73 @@ HDD_PROG_E:
; ;
HDD_SET:;!TEST HDD_SET:;!TEST
.loop: LD A,(DE) .loop: LD A,(DE)
INC DE INC DE
CP " " CP " "
JR Z,.loop JR Z,.loop
CP "\r" CP "\r"
JR Z,.init JR Z,.init
; ;
DEC DE DEC DE
DEC DE DEC DE
JP CHOOSE_HDD JP CHOOSE_HDD
;CALL CHOOSE_HDD ;CALL CHOOSE_HDD
;CALL READ_BPB ;CALL READ_BPB
;RET ;RET
; ;
; [x] new tr-hdd ; [x] new tr-hdd
.init: ;CALL CORRECT_CUR_DIR .init: ;CALL CORRECT_CUR_DIR
DI DI
IN A,(SLOT3) LD BC,SLOT3
LD C,A IN B,(C)
LD A,SYS_PAGE ;LD C,A
OUT (SLOT3),A LD A,SYS_PAGE
; OUT (SLOT3),A
LD E,DRIVE_CODES.TRDOS.HDD ;
LD A,(SYS_PAGE.CURRENT_DIR_DRIVE_COPY) LD E,DRIVE_CODES.TRDOS.HDD
CP #FF LD A,(SYS_PAGE.CURRENT_DIR_DRIVE_COPY)
JR Z,.skip CP #FF
; SCF
CP E JR Z,.skip
JR C,.skip ;
LD (SYS_PAGE.CURRENT_DIR_DRIVE),A CP E
; JR C,.skip
AND #0F LD (SYS_PAGE.CURRENT_DIR_DRIVE),A
LD (SYS_PAGE.CURRENT_HDD),A ;
; AND #0F
.skip: LD A,C ; !TEST
OUT (SLOT3),A OUT (C),B
; ;
PUSH DE PUSH DE
LD C,BIOS.HDD_INIT LD C,BIOS.HDD_PART
CALL EXP_FNS CALL EXP_FNS
POP DE POP DE
JP C,HDD_PROG_E JR C,CHOOSE_HDD.error
; ;
; LD BC,(ZX_VARS.OPER_DISK - 1) LD C,BIOS.SET_DISK_REDIR
; LD A,(ZX_VARS.OPER_DISK) JP EXP_FNS
; LD B,A ;
; XOR A ;LD (SYS_PAGE.CURRENT_HDD),A
;LD E,A ;
LD C,BIOS.SET_DISK_REDIR ;
JP EXP_FNS ;.skip: LD A,C
; OUT (SLOT3),A
.skip: OUT (C),B
;
PUSH DE
LD C,BIOS.HDD_INIT
CALL EXP_FNS
POP DE
JP C,HDD_PROG_E
;
; LD BC,(ZX_VARS.OPER_DISK - 1)
; LD A,(ZX_VARS.OPER_DISK)
; LD B,A
; XOR A
;LD E,A
LD C,BIOS.SET_DISK_REDIR
JP EXP_FNS
;[x] 29/01/2024 ;[x] 29/01/2024
;¢ë室: A: bit1 - Primary/Secondary, bit0 - master/slave, bit2..3: ¨á¯®«ì§ãî騩áï à §¤¥« ¢ MBR ;¢ë室: A: bit1 - Primary/Secondary, bit0 - master/slave, bit2..3: ¨á¯®«ì§ãî騩áï à §¤¥« ¢ MBR
@ -137,7 +154,7 @@ CHOOSE_HDD:
SUB "0" SUB "0"
OR C OR C
; ;
PUSH AF .part: PUSH AF
LD C,BIOS.HDD_PART LD C,BIOS.HDD_PART
CALL EXP_FNS CALL EXP_FNS
POP BC POP BC

View File

@ -129,23 +129,22 @@ MSDOS_NEXT_FL:
;********************************** ;**********************************
MSDOS_CAT: MSDOS_CAT:
PUSH DE PUSH DE
CALL AUTO_1D97 ; CLS CALL AUTO_1D97 ; CLS
CALL OPEN_CH2 CALL OPEN_CH2
LD A,"\r" LD A,"\r"
RST #10 RST #10
POP DE ; <E28098>ŽŠ€ ŹŽ‘‹… CAT POP DE ; <E28098>ŽŠ€ ŹŽ‘‹… CAT
.loop: LD A,(DE)
CAT_SPACES: CP " "
LD A,(DE) ;JR NZ,CAT_NO_SPACE
CP " " INC DE
JR NZ,CAT_NO_SPACE JR Z,.loop
INC DE DEC DE
JR CAT_SPACES ;CAT_NO_SPACE:
CAT_NO_SPACE: CP "\r"
CP "\r" JR NZ,CAT_ALL
JR NZ,CAT_ALL LD DE,CAT_FILES
LD DE,CAT_FILES
CAT_ALL: CAT_ALL:
; CALL MSDOS_FIND_FILE ; CALL MSDOS_FIND_FILE
CALL MSDOS_1ST_FL CALL MSDOS_1ST_FL

View File

@ -34,7 +34,7 @@ INIT_RMD:
RAMD_FAT_PROG: RAMD_FAT_PROG:
CALL AUTO_1D97 ; CLS CALL AUTO_1D97 ; CLS
CALL OPEN_CH2 CALL OPEN_CH2
LD HL,SYS_PAGE.RAMD_FAT LD HL,SYS_PAGE.RAM_TABLE
RAMD_F_L1: RAMD_F_L1:
DI DI
IN A,(SLOT3) IN A,(SLOT3)

View File

@ -190,7 +190,7 @@ MSD_R_W_LOOP:
LD A,SYS_PAGE LD A,SYS_PAGE
OUT (SLOT2),A OUT (SLOT2),A
LD A,(ZX_VARS.MED_START) LD A,(ZX_VARS.MED_START)
LD HL,SYS_PAGE.RAMD_FAT-#4000 LD HL,SYS_PAGE.RAM_TABLE-#4000
LD L,A LD L,A
LD L,(HL) LD L,(HL)
LD A,C LD A,C

View File

@ -715,7 +715,7 @@ INIT_SYS_ALL:
LD DE,CNF_0 LD DE,CNF_0
LD (CONFIG_DE-4000h),DE LD (CONFIG_DE-4000h),DE
LD HL,TASK_DATA-4000h ; 㡨âì ¢á¥ § ¤ ç¨ ;SYS_PAGE.CURRENT_TASK LD HL,TASK_DATA-4000h ; 㡨âì ¢á¥ § ¤ ç¨ ;SYS_PAGE.CURRENT_TASK.ID
LD DE,TASK_DATA+1-4000h LD DE,TASK_DATA+1-4000h
LD BC,0FFH LD BC,0FFH
LD (HL),0 LD (HL),0

View File

@ -215,7 +215,7 @@ HD_RD_CONT2:
LD A,SYS_PAGE LD A,SYS_PAGE
OUT (SLOT3),A OUT (SLOT3),A
EX AF,AF' EX AF,AF'
LD HL,SYS_PAGE.RAMD_FAT LD HL,SYS_PAGE.RAM_TABLE
LD L,A LD L,A
LD A,(HL) LD A,(HL)
OUT (SLOT3),A OUT (SLOT3),A
@ -315,7 +315,7 @@ HD_WR_LOOP:
LD A,SYS_PAGE LD A,SYS_PAGE
OUT (SLOT3),A OUT (SLOT3),A
EX AF,AF' EX AF,AF'
LD HL,SYS_PAGE.RAMD_FAT LD HL,SYS_PAGE.RAM_TABLE
LD L,A LD L,A
LD A,(HL) LD A,(HL)
OUT (SLOT3),A OUT (SLOT3),A