tap fixes

This commit is contained in:
Tolik 2025-10-21 00:37:34 +10:00
parent e4001a265a
commit 55c3711e4c
2 changed files with 51 additions and 22 deletions

@ -1 +1 @@
Subproject commit a9cc74a9eba4044c35c930159bda0b0dde5d429b Subproject commit 4da18d54c12e0f2ff4183be7a1cbf5882da1bd4f

View File

@ -315,6 +315,7 @@ READ_IMAGE: LD DE,ONE_FILE
JR C,.no_change_Disk JR C,.no_change_Disk
JR .getInfoDRV JR .getInfoDRV
; ;
;
.currentDisk: LD A,(ONE_FILE) .currentDisk: LD A,(ONE_FILE)
SUB "A" SUB "A"
; ;
@ -394,8 +395,8 @@ READ_IMAGE: LD DE,ONE_FILE
DEC A ; check if SCL DEC A ; check if SCL
JP Z,Load_SCL JP Z,Load_SCL
; ;
DEC A ; DEC A
JP Z,LOAD_TAP ; JR Z,LOAD_TAP
;jp Error_Flag ;!!!!!!!!!!!!!!!! ;jp Error_Flag ;!!!!!!!!!!!!!!!!
.Load_TRD: LD A,(IMAGE_HANDLER) .Load_TRD: LD A,(IMAGE_HANDLER)
@ -404,28 +405,32 @@ READ_IMAGE: LD DE,ONE_FILE
LD BC,Dss.Move_FP.FrEnd LD BC,Dss.Move_FP.FrEnd
RST ToDSS ; ­ ©â¨ ¤«¨­ã ä ©«  RST ToDSS ; ­ ©â¨ ¤«¨­ã ä ©« 
RET C RET C
;
PUSH IX PUSH IX
POP DE POP DE
; ¥á«¨ ã ­ á TAP
; LD (RESET_TO_ZX.tap_size_LW),DE
; LD A,L
; LD (RESET_TO_ZX.tap_size_HB),A
;
CALL Get_RAM_Disk_E CALL Get_RAM_Disk_E
RET C RET C
JP Load_IMAGE_File JP Load_IMAGE_File
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°; ;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°; ;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
LOAD_TAP: CALL READ_IMAGE.Load_TRD ; LOAD_TAP: CALL READ_IMAGE.Load_TRD
RET C ; RET C
; ; ;
LD A,SYS_PAGE ; LD A,SYS_PAGE
OUT (SLOT3),A ; OUT (SLOT3),A
LD A,(Load_IMAGE_File.MEM_BLK) ; LD A,(Load_IMAGE_File.MEM_BLK)
LD (SYS_PAGE.TAP_RAM_BLK),A ; LD (SYS_PAGE.TAP_RAM_BLK),A
XOR A ; XOR A
LD (SYS_PAGE.TAP_RAM_POINT),A ; LD (SYS_PAGE.TAP_RAM_POINT),A
LD A,#C0 ; LD A,#C0
LD (SYS_PAGE.TAP_RAM_POINT + 1),A ; LD (SYS_PAGE.TAP_RAM_POINT + 1),A
RET ; RET
;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°; ;°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°°;
@ -495,8 +500,17 @@ Load_IMAGE_File:
LD C,Dss.Read LD C,Dss.Read
RST ToDSS RST ToDSS
JR C,ERROR_IN_READ JR C,ERROR_IN_READ
;
LD HL,PROGRES_IND ; loading progress INC A
JR NZ,.cont_load
; for TAP file. end marker
LD A,#C0
OR D
LD D,A
XOR A
LD (DE),A
;
.cont_load: LD HL,PROGRES_IND ; loading progress
LD C,Dss.PChars LD C,Dss.PChars
RST ToDSS RST ToDSS
@ -806,11 +820,25 @@ RESET_TO_ZX: DI
LD A,ACEX.Config_PG.Sp2000_SoftRestartSet LD A,ACEX.Config_PG.Sp2000_SoftRestartSet
LD BC,BIOS.RST_CONF.CUSTOM LD BC,BIOS.RST_CONF.CUSTOM
RST ToBIOS RST ToBIOS
.NO_RST_HDL: .NO_RST_HDL:; [ ]
; [ ]
LD A,SYS_PAGE LD A,SYS_PAGE
OUT (SLOT3),A OUT (SLOT3),A
; SetUp TAP
LD A,(IMAGE_FLAG)
CP 2
LD A,#FF
JR NZ,.no_tap
LD A,(Load_IMAGE_File.MEM_BLK)
.no_tap: LD (SYS_PAGE.TAP_RAM_BLK),A
XOR A
LD (SYS_PAGE.TAP_RAM_POINT),A
LD A,#C0
LD (SYS_PAGE.TAP_RAM_POINT + 1),A
; .tap_size_LW+1: LD HL,0
; .tap_size_HB+1: LD A,0
; LD (SYS_PAGE.TAP_FULL_SIZE),HL
; LD (SYS_PAGE.TAP_FULL_SIZE + 2),A
;
.DIR_SEC_L+1: LD HL,0 .DIR_SEC_L+1: LD HL,0
LD (SYS_PAGE.CURRENT_DIR_SEC_L),HL LD (SYS_PAGE.CURRENT_DIR_SEC_L),HL
.DIR_SEC_H+1: LD HL,0 .DIR_SEC_H+1: LD HL,0
@ -1085,6 +1113,7 @@ FIND_FILES: PUSH HL
.TRD: LD DE,(X_FILE) .TRD: LD DE,(X_FILE)
LD (IMAGE_NAME),DE LD (IMAGE_NAME),DE
JR .unknown JR .unknown
;
.TAP: LD DE,IMAGE_FLAG .TAP: LD DE,IMAGE_FLAG
LD A,2 ; tap LD A,2 ; tap
LD (DE),A LD (DE),A