+API перехват софтресета

This commit is contained in:
Anatoliy Belyanskiy 2024-02-07 00:32:23 +10:00
parent 81f431e22b
commit 746c2c882f
5 changed files with 29 additions and 5 deletions

@ -1 +1 @@
Subproject commit 4d37c338c31c060e7a42f1e47fad93b69af34a5b
Subproject commit 93f04cc30f6a3c20f382c8b467bca79718c9ab2e

Binary file not shown.

View File

@ -112,8 +112,12 @@ RST_CONF:
.CHOOSE_CNF:
;!TEST
CP ACEX.Config_PG.Sp2000_SoftSetUp
JP Z,.ReturnSoftReset
;
CP ACEX.Config_PG.Sp2000
JR Z,.INIT_ACEX
;
CP ACEX.Config_PG.Sp2000_SetUp
JR Z,.SP2000
;
@ -164,6 +168,10 @@ RST_CONF:
LDIR
; ¥á«¨ ZF=0, â® ¯à®æ¥¤ãà  á¤¥« ¥â à¥á¥â á ¯¥à¥§ «¨¢ª®© ¨§ BIOS, ¨­ ç¥ ¨§ Š<>˜
CALL Spec_Page.init_acex
LD BC,256*BIOS.REINIT.HARD_RESET + BIOS.REINIT
;
; ­  ¢å®¤¥ ¢ BC ¯ à ¬¥âàë ä㭪樨 BIOS
.INIT_ACEX.ifSoftreset:
; á®å࠭塞 ¢®âª­ãâë¥ áâà ­¨æë ¢ Spec_Page
IN A,(SLOT0)
LD E,A
@ -205,9 +213,24 @@ RST_CONF:
; *. ‘®åà ­¨âì ªã¤ -­¨¡ã¤ì §­ ç¥­¨¥ á⥪ 
; *
; .. ... ... ..
LD BC,256*BIOS.REINIT.HARD_RESET + BIOS.REINIT
;LD BC,256*BIOS.REINIT.HARD_RESET + BIOS.REINIT
JP_to_BIOS
;
.ReturnSoftReset:
DI
; ãáâ ­ ¢«¨¢ ¥¬ ­ã«¥¢ãî ª àâã ¯®à⮢
LD A,CNF_PORT.CNF_0
OUT (SYS_PORT.ON),A
; ¨ â ª ¯®­ïâ­® çâ® ¤¥« ¥â
IN A,(SLOT3) ; á®å࠭塞 ­®¬¥à ¢®âª­ã⮩ áâà ­¨æë
PUSH AF
LD A,Spec_Page
OUT (SLOT3),A
;
LD BC,256*BIOS.REINIT.SOFT_RESET + BIOS.REINIT
JR .INIT_ACEX.ifSoftreset
;
;;;
.INIT_ACEX.ERROR:
POP AF
OUT (SLOT3),A

View File

@ -60,7 +60,7 @@ RUN_MN_ERR:
POP IX
RET
RUN_M_1:
LD A,(ZX_VARS.SWAP_ROM)
LD A,(ZX_VARS.PROG.SWAP_ROM)
CP #F5 ; áà ¢­¨âì € á ®¯ª®¤®¬ PUSH AF
JR NZ,RUN_MN_ERR
@ -141,7 +141,7 @@ MN_128_S:
MENU_128:
XOR A
OUT (SYS_PORT.RAM),A
CALL ZX_VARS.SWAP_ROM
CALL ZX_VARS.PROG.SWAP_ROM
CALL NEW_SP
SH_1: LD DE,MENU_DAT - MENU_128
@ -162,7 +162,7 @@ SH_4: LD HL,MENU_DAT - MENU_128
LDIR
CALL RET_SP
CALL ZX_VARS.SWAP_ROM
CALL ZX_VARS.PROG.SWAP_ROM
EX AF,AF'
;LD A,0
;OUT (CNF_PORT),A

View File

@ -8,6 +8,7 @@
INCLUDE 'src/bios/shared/CompMacro.asm' ; ¬ ªà®áë
INCLUDE 'Shared_Includes/constants/SP2000.inc' ; ª®­áâ ­âë
INCLUDE 'Shared_Includes/constants/zx_char_codes.inc' ; ª®­áâ ­âë
INCLUDE 'Shared_Includes/constants/zx_vars.inc' ;
INCLUDE 'Shared_Includes/macroses/macros.z80'
INCLUDE 'src/bios/ROM/MEM_MAP.inc' ; ª àâ  ¯ ¬ïâ¨
INCLUDE 'src/bios/shared/VERSION.inc' ; ‚¥àá¨ï EXP ¨ ROM