From 526fffd3455f62e24010bf7cd9dd861fdbb67229 Mon Sep 17 00:00:00 2001 From: Tolik <85737314+Tolik-Trek@users.noreply.github.com> Date: Fri, 25 Oct 2024 01:23:01 +1000 Subject: [PATCH] ACEX.Config_PG.Sp2000_SoftRestartSet --- Shared_Includes | 2 +- spectrum.asm | 35 +++++++++++++++++++---------------- 2 files changed, 20 insertions(+), 17 deletions(-) diff --git a/Shared_Includes b/Shared_Includes index 7e00c2a..be501b0 160000 --- a/Shared_Includes +++ b/Shared_Includes @@ -1 +1 @@ -Subproject commit 7e00c2aa909241367878004ad104b56abb907f80 +Subproject commit be501b0cc276065a9981e471dd26f9b069af7604 diff --git a/spectrum.asm b/spectrum.asm index e87ee61..face4c4 100644 --- a/spectrum.asm +++ b/spectrum.asm @@ -543,9 +543,9 @@ EXIT_TO_DSS: DI CALL FIRST_PREPARE JP Z,RESET_TO_ZX.cont -.cont: LD A,(#FFF0) ;!HARDCODE - OUT (SLOT0),A - LD A,(#FFF3) ;!HARDCODE +.cont: ;LD A,(Spec_Page.page_0) + ;OUT (SLOT0),A + LD A,(Spec_Page.page_3) OUT (SLOT3),A XOR A @@ -675,9 +675,9 @@ SETUP_RAM_DRIVES: ; ; ;!FIXIT переделать на функцию биоса SET_RELOAD_PROG: - DI - LD A,Spec_Page - OUT (SLOT3),A + ; DI + ; LD A,Spec_Page + ; OUT (SLOT3),A ; LD A,"Z" ; LD (#FFFE),A @@ -687,18 +687,21 @@ SET_RELOAD_PROG: LD A,(PARAMS.Ret_fn+2) AND A LD DE,RESET_TO_ZX ; адрес программы перезапуска для ret-zx - JR Z,NO_RET_FN + JR Z,.NO_RET_FN LD DE,EXIT_TO_DSS ; адрес программы перезапуска для ret-fn ; -NO_RET_FN: LD (#FFF4),DE ; адрес программы возврата - IN A,(SLOT0) - LD (#FFF0),A ; DOS-PAGE - IN A,(SLOT1) - LD (#FFF1),A - IN A,(SLOT2) ; сохранить страницу - LD (#FFF2),A ; программы для возврата - LD A,(SAVE_SLOT3) - LD (#FFF3),A +.NO_RET_FN: ;LD (#FFF4),DE ; адрес программы возврата + ;IN A,(SLOT0) + ;LD (#FFF0),A ; DOS-PAGE + ;IN A,(SLOT1) + ;LD (#FFF1),A + ;IN A,(SLOT2) ; сохранить страницу + ;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 ;░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░ ░; RESET_TO_ZX: DI LD SP,stack_point ; #BFF0