diff --git a/Shared_Includes b/Shared_Includes index 4d37c33..93f04cc 160000 --- a/Shared_Includes +++ b/Shared_Includes @@ -1 +1 @@ -Subproject commit 4d37c338c31c060e7a42f1e47fad93b69af34a5b +Subproject commit 93f04cc30f6a3c20f382c8b467bca79718c9ab2e diff --git a/src/ZX_ROMS/new/SP_TRDOS.bin b/src/ZX_ROMS/new/SP_TRDOS.bin index 291a5fc..43d9055 100644 Binary files a/src/ZX_ROMS/new/SP_TRDOS.bin and b/src/ZX_ROMS/new/SP_TRDOS.bin differ diff --git a/src/bios/exp/FUNC_SERVICE.asm b/src/bios/exp/FUNC_SERVICE.asm index b873ab9..ce7bc3d 100644 --- a/src/bios/exp/FUNC_SERVICE.asm +++ b/src/bios/exp/FUNC_SERVICE.asm @@ -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 diff --git a/src/bios/rom/ZX/ZX_MENU.ASM b/src/bios/rom/ZX/ZX_MENU.ASM index ad37b55..7a04d1f 100644 --- a/src/bios/rom/ZX/ZX_MENU.ASM +++ b/src/bios/rom/ZX/ZX_MENU.ASM @@ -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 diff --git a/src/bios/shared/includes.inc b/src/bios/shared/includes.inc index bac6d14..d48d5fd 100644 --- a/src/bios/shared/includes.inc +++ b/src/bios/shared/includes.inc @@ -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