From bd8b527a329e4565672c08aeed896c19d66039b1 Mon Sep 17 00:00:00 2001 From: Tolik <85737314+Tolik-Trek@users.noreply.github.com> Date: Fri, 25 Oct 2024 02:31:27 +1000 Subject: [PATCH] ... --- spectrum.asm | 46 +++++++++++++++++++++++++++++++++------------- 1 file changed, 33 insertions(+), 13 deletions(-) diff --git a/spectrum.asm b/spectrum.asm index face4c4..baa14d7 100644 --- a/spectrum.asm +++ b/spectrum.asm @@ -684,11 +684,11 @@ SET_RELOAD_PROG: ; LD A,"X" ; LD (#FFFF),A - LD A,(PARAMS.Ret_fn+2) - AND A - LD DE,RESET_TO_ZX ; адрес программы перезапуска для ret-zx - JR Z,.NO_RET_FN - LD DE,EXIT_TO_DSS ; адрес программы перезапуска для ret-fn + ; LD A,(PARAMS.Ret_fn+2) + ; AND A + ; LD DE,RESET_TO_ZX ; адрес программы перезапуска для ret-zx + ; JR Z,.NO_RET_FN + ; LD DE,EXIT_TO_DSS ; адрес программы перезапуска для ret-fn ; .NO_RET_FN: ;LD (#FFF4),DE ; адрес программы возврата ;IN A,(SLOT0) @@ -699,9 +699,14 @@ SET_RELOAD_PROG: ;LD (#FFF2),A ; программы для возврата ;LD A,(SAVE_SLOT3) ;LD (#FFF3),A - LD A,ACEX.Config_PG.Sp2000_SoftRestartSet - LD BC,BIOS.RST_CONF.CUSTOM - RST ToBIOS + ; LD B,A + ; LD A,(PARAMS.Ret_zx+2) + ; XOR B + ; JR Z,RESET_TO_ZX + ; ; + ; LD A,ACEX.Config_PG.Sp2000_SoftRestartSet + ; LD BC,BIOS.RST_CONF.CUSTOM + ; RST ToBIOS ;░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░; RESET_TO_ZX: DI LD SP,stack_point ; #BFF0 @@ -720,13 +725,28 @@ RESET_TO_ZX: DI ; LD BC,BIOS.SWAP_RAM_DRIVES.ZX ; RST ToBIOS ; - LD A,(PARAMS.Ret_zx+2) - LD B,A + ; LD A,(PARAMS.Ret_zx+2) + ; LD B,A + ; LD A,(PARAMS.Ret_fn+2) + ; XOR B + ; LD B,A + ; LD A,ACEX.RET_PORT + ; CALL SET_ROM ; включить возврат + LD A,(PARAMS.Ret_fn+2) + AND A + LD DE,RESET_TO_ZX ; адрес программы перезапуска для ret-zx + JR Z,.NO_RET_FN + LD DE,EXIT_TO_DSS ; адрес программы перезапуска для ret-fn +.NO_RET_FN: LD B,A + LD A,(PARAMS.Ret_zx+2) XOR B - LD B,A - LD A,ACEX.RET_PORT - CALL SET_ROM ; включить возврат + JR Z,.NO_RST_HDL + ; + LD A,ACEX.Config_PG.Sp2000_SoftRestartSet + LD BC,BIOS.RST_CONF.CUSTOM + RST ToBIOS +.NO_RST_HDL: ; [ ] LD A,SYS_PAGE