diff --git a/Shared_Includes b/Shared_Includes index 314ff5d..990f10e 160000 --- a/Shared_Includes +++ b/Shared_Includes @@ -1 +1 @@ -Subproject commit 314ff5dbefe8d537655601dde8236957e4ed39a7 +Subproject commit 990f10e80278825f071f5795a5ba459dec0f991f diff --git a/spectrum.asm b/spectrum.asm index 740948d..f17c2e4 100644 --- a/spectrum.asm +++ b/spectrum.asm @@ -924,6 +924,18 @@ FILE_HANDLE: DB 0 ;******************************************** +RESTORE_PORT_HOLD: + ;!FIXIT сделать через API BIOS + LD D,CMOS_CELL.ScreenPosition + LD C,BIOS.CMOS_RD + RST ToBIOS + RET C + LD B,A + LD A,ACEX.HOLD + LD C,BIOS.SET_PORTS + JP ToBIOS +; ; ; + ;******************************************** EXIT_TO_DSS: DI LD SP,stack_point @@ -933,6 +945,8 @@ EXIT_TO_DSS: DI LD A,(#FFF0) ;!HARDCODE OUT (SLOT0),A + CALL RESTORE_PORT_HOLD + XOR A LD BC,3*256+BIOS.SET_PAL_INIT ; SET IBM PAL RST ToBIOS @@ -1098,6 +1112,8 @@ 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