исправлены баги в перехватчике ресета, теперь перед вызовом биоса настраивается SYS_PORT

This commit is contained in:
Tolik 2024-07-13 01:15:36 +10:00
parent 497530f842
commit e7a42481ab
2 changed files with 15 additions and 17 deletions

@ -1 +1 @@
Subproject commit 04aaef8ac955971d913babd95921a62937b597ae
Subproject commit 4f546cb1d2cd8eeb1aec0de2c3e9902d1bb52fee

View File

@ -935,24 +935,26 @@ RESTORE_PORT_HOLD:
LD C,BIOS.SET_PORTS
JP ToBIOS
; ; ;
;********************************************
EXIT_TO_DSS: DI
LD SP,stack_point
FIRST_PREPARE: LD A,CNF_PORT.CNF_0
OUT (SYS_PORT.OFF),A
CALL RESTORE_PORT_HOLD
LD A,high ZXKeys.Line_7
IN A,(ZXKeys)
AND #1F
CP #1E
RET
;********************************************
EXIT_TO_DSS: DI
LD SP,stack_point
CALL FIRST_PREPARE
JP Z,RESET_TO_ZX.cont
.cont: LD A,(#FFF0) ;!HARDCODE
OUT (SLOT0),A
CALL RESTORE_PORT_HOLD
LD A,CNF_PORT.CNF_0
OUT (SYS_PORT.OFF),A
LD A,(#FFF3) ;!HARDCODE
OUT (SLOT3),A
XOR A
LD BC,3*256+BIOS.SET_PAL_INIT ; SET IBM PAL
@ -1100,17 +1102,15 @@ NO_RET_FN: LD (#FFF4),DE ;
LD (#FFF1),A
IN A,(SLOT2) ; á®åà ­¨âì áâà ­¨æã
LD (#FFF2),A ; ¯à®£à ¬¬ë ¤«ï ¢®§¢à â 
IN A,(SLOT3)
;IN A,(SLOT3)
LD A,(SAVE_SLOT3)
LD (#FFF3),A ;
;********************************************
RESET_TO_ZX: DI
LD SP,stack_point ; #BFF0
LD A,high ZXKeys.Line_7
IN A,(ZXKeys)
AND #1F
CP #1E
CALL FIRST_PREPARE
JP Z,EXIT_TO_DSS.cont
; ä¨ªá ­¥¯®«­®© ¤¥è¨äà æ¨¨ ¯®àâ  #FFFD (¯¨èãâ ¢ #C0FD)
@ -1120,8 +1120,6 @@ RESET_TO_ZX: DI
LD BC,ACEX.AY_FFFD_WRITE*256 + BIOS.DCP_CONFIG
RST ToBIOS
;
CALL RESTORE_PORT_HOLD
;
;[x] 04/11/2023 Žâ¤¥«ì­ë¥ à ¬¤¨áª¨ ¤«ï ०¨¬  ᯥªâà㬠 ¨ DSS. BLK_TO_RAMD
LD BC,BIOS.SWAP_RAM_DRIVES.ZX
RST ToBIOS