tap_48: fixed #0562

This commit is contained in:
Tolik 2025-10-22 18:23:06 +10:00
parent 5d912a7320
commit d9e98b2f83

View File

@ -1398,7 +1398,7 @@ L04AA: CALL L24FB ; routine SCANNING to evaluate expression.
NEW_TAP: ; ¤®áâ ñ¬ ¯ à ¬¥âàë NEW_TAP: ; ¤®áâ ñ¬ ¯ à ¬¥âàë
; áâ ¢¨¬ SYS_PAGE ; áâ ¢¨¬ SYS_PAGE
;RL E ; CF - verify/read ;RL E ; CF - verify/read
EX AF,AF' ; AF ------------------v ;EX AF,AF' ; AF ------------------v
; ;
; ;
@ -1416,7 +1416,9 @@ NEW_TAP: ;
; DEC A ; DEC A
OUT (SLOT2),A OUT (SLOT2),A
LD L,A LD L,A
LD A,#0F ; make the border white and mic off. ;LD A,#0F ; make the border white and mic off.
LD H, high SYS_PAGE.RAM_TABLE
LD A,(HL)
JP NEW_TAP2.MAIN JP NEW_TAP2.MAIN
; ;
_mInfoBLOCK #04C2-$,#FF _mInfoBLOCK #04C2-$,#FF
@ -1675,7 +1677,6 @@ L0554: POP AF ; restore the accumulator.
; and DE holds the length of bytes to be loaded. If, on entry the carry flag ; and DE holds the length of bytes to be loaded. If, on entry the carry flag
; is set then data is loaded, if reset then it is verified. ; is set then data is loaded, if reset then it is verified.
IFNDEF NEW_TAP_PROC;---------------------------------------------------------
;; LD-BYTES ;; LD-BYTES
L0556: INC D ; reset the zero flag without disturbing carry. L0556: INC D ; reset the zero flag without disturbing carry.
@ -1690,6 +1691,7 @@ L0556: INC D ; reset the zero flag without disturbing carry.
LD HL,L053F ; Address: SA/LD-RET LD HL,L053F ; Address: SA/LD-RET
PUSH HL ; is saved on stack as terminating routine. PUSH HL ; is saved on stack as terminating routine.
IFNDEF NEW_TAP_PROC;---------------------------------------------------------
; the reading of the EAR bit (D6) will always be preceded by a test of the ; the reading of the EAR bit (D6) will always be preceded by a test of the
; space key (D0), so store the initial post-test state. ; space key (D0), so store the initial post-test state.
;!TODO RAM-TAP LOADER ;!TODO RAM-TAP LOADER
@ -1928,13 +1930,21 @@ L05ED: INC B ; increment the time-out counter.
RET ; return. RET ; return.
ELSE ;--------------------------------------------------------------------- ELSE ;---------------------------------------------------------------------
L0556: L0562:
NEW_TAP2: LD HL,L053F ; Address: SA/LD-RET NEW_TAP2: POP BC
PUSH HL ; is saved on stack as terminating routine. PUSH BC
RET NC PUSH HL
LD HL,-#053F
ADD HL,BC
POP HL
JR NC,.no_556
; ;
.next_blk: DI EX AF,AF'
EXX RET NC
EX AF,AF'
;
;DI
.no_556: EXX
PUSH BC PUSH BC
PUSH DE PUSH DE
PUSH HL PUSH HL
@ -1959,9 +1969,9 @@ NEW_TAP2: LD HL,L053F ; Address: SA/LD-RET
;OUT (SLOT2),A ;OUT (SLOT2),A
; LD L,A ; LD L,A
; LD A,#0F ; make the border white and mic off. ; LD A,#0F ; make the border white and mic off.
OUT (BorderColor),A ; output to port. ;OUT (BorderColor),A ; output to port.
LD H, high SYS_PAGE.RAM_TABLE ; LD H, high SYS_PAGE.RAM_TABLE
LD A,(HL) ; LD A,(HL)
LD HL,(SYS_PAGE.TAP_RAM_POINT) LD HL,(SYS_PAGE.TAP_RAM_POINT)
RES 6,H RES 6,H
SET 7,H SET 7,H
@ -2004,7 +2014,7 @@ NEW_TAP2: LD HL,L053F ; Address: SA/LD-RET
LD A,H LD A,H
EX AF,AF' ; AF ------------------^ EX AF,AF' ; AF ------------------^
JR Z,.ThatBlock JR Z,.ThatBlock
LD L,0 ; ¯à®¯ã᪠¡«®ª  .verify_err: LD L,0 ; ¯à®¯ã᪠¡«®ª 
.ThatBlock: EXX .ThatBlock: EXX
; ZF = 0 ¥á«¨ ­ã¦­ë© ¡«®ª ; ZF = 0 ¥á«¨ ­ã¦­ë© ¡«®ª
JR NZ,.normSize JR NZ,.normSize
@ -2058,9 +2068,8 @@ NEW_TAP2: LD HL,L053F ; Address: SA/LD-RET
;JR C,.noVerify ;JR C,.noVerify
;LD A,(IX) ;LD A,(IX)
;XOR H ;XOR H
;EXX ;!TODO á®åà ­ïâì ¤«ï ¢ë室  áâ âãá ®è¨¡ª¨ ¢¥à¨ä¨ª æ¨¨ ¯®á«¥ ¯¥à¥¬®âª¨
; RET NZ ;JR NZ,.verify_err
;EXX
.noVerify: LD (IX),H .noVerify: LD (IX),H
;RL E ; CF - verify/read ;RL E ; CF - verify/read
EXX EXX