mirror of
https://github.com/Tolik-Trek/TITD.git
synced 2026-06-16 01:21:10 +03:00
исправлены поплывшие адреса ниже SETUP_RESET_HANDLER
This commit is contained in:
parent
6548d0a49f
commit
b64a54289f
@ -1 +1 @@
|
|||||||
Subproject commit 4e4294ea21fab73299b8e389979c38d801f861b0
|
Subproject commit be501b0cc276065a9981e471dd26f9b069af7604
|
||||||
@ -22,7 +22,7 @@ NEW_BUFFERS: ; For Zero page
|
|||||||
DSS_MIN_VERS:
|
DSS_MIN_VERS:
|
||||||
.vers EQU 1
|
.vers EQU 1
|
||||||
.modf EQU 70
|
.modf EQU 70
|
||||||
.build EQU 999
|
.build EQU 998
|
||||||
|
|
||||||
GAME_NEED_MEM_PAGES EQU #C6
|
GAME_NEED_MEM_PAGES EQU #C6
|
||||||
PAGES_BUFFER EQU #BE00
|
PAGES_BUFFER EQU #BE00
|
||||||
@ -238,7 +238,7 @@ l8205h: LD A,GAME_NEED_MEM_PAGES ;8205 3e c6 > .
|
|||||||
.mem_pg+1: LD A,5 ;822f 3e 05 > .
|
.mem_pg+1: LD A,5 ;822f 3e 05 > .
|
||||||
OUT (SLOT1),A ;8231 d3 a2 . .
|
OUT (SLOT1),A ;8231 d3 a2 . .
|
||||||
;
|
;
|
||||||
HARD_RESET: LD A,ACEX.Config_PG.Sp2000
|
HARD_RESET: LD A,ACEX.Config_PG.Sp2000_AcexSetUpNow
|
||||||
LD BC,BIOS.RST_CONF.CUSTOM
|
LD BC,BIOS.RST_CONF.CUSTOM
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
;
|
;
|
||||||
@ -462,20 +462,21 @@ GAME_CONF_NAME: DB 'GAME_00.ACX' ;830d
|
|||||||
DB 0 ;831c
|
DB 0 ;831c
|
||||||
|
|
||||||
SETUP_RESET_HANDLER:
|
SETUP_RESET_HANDLER:
|
||||||
|
; [ ] FIX zx pages 20/10/2024
|
||||||
DI ;831d f3 .
|
DI ;831d f3 .
|
||||||
IN A,(SLOT3) ;831e db e2 . .
|
LD A,ACEX.Config_PG.Sp2000_SoftRestartSet
|
||||||
LD (RESET_HANDLER_BEGIN.mem_pg),A ;8320 32 5d 83 2 ] .
|
LD BC,BIOS.RST_CONF.CUSTOM
|
||||||
LD A,Spec_Page ;8323 3e 41 > A
|
RST ToBIOS
|
||||||
|
RET
|
||||||
|
;IN A,(SLOT3) ;831e db e2 . .
|
||||||
|
;LD (RESET_HANDLER_BEGIN.mem_pg),A ;8320 32 5d 83 2 ] .
|
||||||
|
;LD A,Spec_Page ;8323 3e 41 > A
|
||||||
OUT (SLOT3),A ;8325 d3 e2 . .
|
OUT (SLOT3),A ;8325 d3 e2 . .
|
||||||
LD (Spec_Page.RET_addr),DE ;8327 ed 53 f4 ff . S . .
|
LD (Spec_Page.RET_addr),DE ;8327 ed 53 f4 ff . S . .
|
||||||
; [ ] FIX zx pages 20/10/2024
|
LD A,'Z' ;832b 3e 5a > Z
|
||||||
CALL SETUP_RESET_HANDLER_NEW
|
LD (Spec_Page.flag_Z),A ;832d 32 fe ff 2 . .
|
||||||
BLOCK #8335-$,0
|
LD A,'X' ;8330 3e 58 > X
|
||||||
;LD A,'Z' ;832b 3e 5a > Z
|
LD (Spec_Page.flag_X),A ;8332 32 ff ff 2 . .
|
||||||
;LD (Spec_Page.flag_Z),A ;832d 32 fe ff 2 . .
|
|
||||||
;LD A,'X' ;8330 3e 58 > X
|
|
||||||
;LD (Spec_Page.flag_X),A ;8332 32 ff ff 2 . .
|
|
||||||
;
|
|
||||||
IN A,(SLOT0) ;8335 db 82 . .
|
IN A,(SLOT0) ;8335 db 82 . .
|
||||||
LD (Spec_Page.page_0),A ;8337 32 f0 ff 2 . .
|
LD (Spec_Page.page_0),A ;8337 32 f0 ff 2 . .
|
||||||
IN A,(SLOT1) ;833a db a2 . .
|
IN A,(SLOT1) ;833a db a2 . .
|
||||||
@ -487,6 +488,8 @@ SETUP_RESET_HANDLER:
|
|||||||
LD A,(RESET_HANDLER_BEGIN.mem_pg) ;8349 3a 5d 83 : ] .
|
LD A,(RESET_HANDLER_BEGIN.mem_pg) ;8349 3a 5d 83 : ] .
|
||||||
OUT (SLOT3),A ;834c d3 e2 . .
|
OUT (SLOT3),A ;834c d3 e2 . .
|
||||||
RET ;834e c9 .
|
RET ;834e c9 .
|
||||||
|
;
|
||||||
|
BLOCK #834F-$,0
|
||||||
RESET_HANDLER_BEGIN:
|
RESET_HANDLER_BEGIN:
|
||||||
DI ;834f f3 .
|
DI ;834f f3 .
|
||||||
LD SP,#bff0 ;8350 31 f0 bf 1 . .
|
LD SP,#bff0 ;8350 31 f0 bf 1 . .
|
||||||
@ -6156,13 +6159,7 @@ NEW_CODE_START: DI
|
|||||||
SBC HL,BC
|
SBC HL,BC
|
||||||
JR NC,ERROR_OLD_DSS
|
JR NC,ERROR_OLD_DSS
|
||||||
;
|
;
|
||||||
LD C,Dss.GetVMod
|
CALL FULL_SAVE_TXT_SCREEN
|
||||||
RST ToDSS
|
|
||||||
JR C,.no_vmode
|
|
||||||
CP #80
|
|
||||||
CALL C,SAVE_TXT_SCREEN
|
|
||||||
;
|
|
||||||
.no_vmode: CALL SAVE_PAL
|
|
||||||
;
|
;
|
||||||
LD A,GAME_NEED_MEM_PAGES
|
LD A,GAME_NEED_MEM_PAGES
|
||||||
CALL GET_MEM_AND_PAGES
|
CALL GET_MEM_AND_PAGES
|
||||||
@ -6265,16 +6262,21 @@ NEW_CODE_START: DI
|
|||||||
POP HL
|
POP HL
|
||||||
LD A,(HL)
|
LD A,(HL)
|
||||||
LD B,A
|
LD B,A
|
||||||
LD A,ACEX.Config_PG.Sp2000
|
LD A,ACEX.Config_PG.Sp2000_AcexSetUpNow
|
||||||
LD C,BIOS.RST_CONF.CUSTOM
|
LD C,BIOS.RST_CONF.CUSTOM
|
||||||
RST ToBIOS
|
RST ToBIOS
|
||||||
;
|
;
|
||||||
DI
|
DI
|
||||||
LD A,SYS_PORT.CNF_0
|
LD A,SYS_PORT.CNF_0
|
||||||
OUT (SYS_PORT.RAM),A
|
OUT (SYS_PORT.RAM),A
|
||||||
|
; ¢á直© á«ãç ©
|
||||||
|
IN A,(SLOT3)
|
||||||
|
LD (RESET_HANDLER_BEGIN.mem_pg),A
|
||||||
;
|
;
|
||||||
LD DE,CAD_RESET_HANDLER
|
LD DE,CAD_RESET_HANDLER
|
||||||
CALL SETUP_RESET_HANDLER
|
LD A,ACEX.Config_PG.Sp2000_SoftRestartSet
|
||||||
|
LD BC,BIOS.RST_CONF.CUSTOM
|
||||||
|
RST ToBIOS
|
||||||
;
|
;
|
||||||
LD A,(PAGES_BUFFER)
|
LD A,(PAGES_BUFFER)
|
||||||
LD C,Dss.FreeMem
|
LD C,Dss.FreeMem
|
||||||
@ -6300,71 +6302,30 @@ TITD_ACX:
|
|||||||
CAD_RESET_HANDLER:
|
CAD_RESET_HANDLER:
|
||||||
LD A,(Spec_Page.page_3) ; PAGE3
|
LD A,(Spec_Page.page_3) ; PAGE3
|
||||||
OUT (SLOT3),A
|
OUT (SLOT3),A
|
||||||
LD A,SYS_PORT.CNF_0
|
; LD A,SYS_PORT.CNF_0
|
||||||
OUT (SYS_PORT.ROM),A
|
; OUT (SYS_PORT.ROM),A
|
||||||
LD BC,BIOS.REINIT.HARD_RESET
|
LD BC,BIOS.REINIT.HARD_RESET
|
||||||
JP ToBIOS_18
|
JP ToBIOS_18
|
||||||
;
|
;
|
||||||
|
|
||||||
;
|
;
|
||||||
SETUP_RESET_HANDLER_NEW:; “áâ ¢«¨¢ ¥¬ ª«îç¨
|
; SETUP_RESET_HANDLER_NEW:; “áâ ¢«¨¢ ¥¬ ª«îç¨
|
||||||
PUSH HL
|
; PUSH HL
|
||||||
LD HL,Spec_Page.flag_R
|
; LD HL,Spec_Page.flag_R
|
||||||
LD (HL),"R"
|
; LD (HL),"R"
|
||||||
INC HL
|
; INC HL
|
||||||
LD (HL),"S"
|
; LD (HL),"S"
|
||||||
INC HL
|
; INC HL
|
||||||
LD (HL),"T"
|
; LD (HL),"T"
|
||||||
POP HL
|
; POP HL
|
||||||
;
|
; ;
|
||||||
LD A,#FF
|
; LD A,#FF
|
||||||
LD (Spec_Page.Reload_Version),A
|
; LD (Spec_Page.Reload_Version),A
|
||||||
;
|
; ;
|
||||||
RET
|
; RET
|
||||||
;
|
; ;
|
||||||
PREPARE_TO_EXIT_NEW: CALL RESTORE_IM1_DSS
|
PREPARE_TO_EXIT_NEW: CALL RESTORE_IM1_DSS
|
||||||
;
|
JR FULL_RESTORE_SCREEN
|
||||||
LD A,4
|
|
||||||
LD C,BIOS.FN_SYNC
|
|
||||||
RST ToBIOS
|
|
||||||
;
|
|
||||||
LD A,%1000'0000
|
|
||||||
LD C,BIOS.FN_SYNC
|
|
||||||
RST ToBIOS
|
|
||||||
;
|
|
||||||
LD A,(.current_screen)
|
|
||||||
LD E,A
|
|
||||||
LD BC,BIOS.LP_OPEN_S.TXT_80x32_Default
|
|
||||||
RST ToBIOS
|
|
||||||
;
|
|
||||||
CALL RESTORE_PAL
|
|
||||||
;
|
|
||||||
LD BC,Dss.Lib_Sub.RestoreFont
|
|
||||||
RST ToDSS
|
|
||||||
;
|
|
||||||
LD A,(.current_vmode)
|
|
||||||
CP Dss.SetVMod.txt80x32 + 1
|
|
||||||
RET NC
|
|
||||||
;
|
|
||||||
;
|
|
||||||
; LD A,(.current_screen)
|
|
||||||
; XOR 1
|
|
||||||
; LD B,A
|
|
||||||
; LD A,Dss.SetVMod.grf640x256
|
|
||||||
; LD C,Dss.SetVMod
|
|
||||||
; RST ToDSS
|
|
||||||
;
|
|
||||||
.current_vmode+1: LD A,Dss.SetVMod.txt80x32
|
|
||||||
.current_screen+2: LD BC,Dss.SetVMod.Screen_0
|
|
||||||
RST ToDSS
|
|
||||||
;
|
|
||||||
.cursor+1: LD DE,0
|
|
||||||
LD C,Dss.Locate
|
|
||||||
RST ToDSS
|
|
||||||
LD C,Dss.WinRest
|
|
||||||
JR TXT_Screen_Copy_Restore
|
|
||||||
;
|
|
||||||
|
|
||||||
;***********************************************************************
|
;***********************************************************************
|
||||||
SAVE_PAL: IN A,(SLOT0)
|
SAVE_PAL: IN A,(SLOT0)
|
||||||
EX AF,AF'
|
EX AF,AF'
|
||||||
@ -6412,18 +6373,14 @@ RESTORE_PAL: IN A,(SLOT0)
|
|||||||
RET
|
RET
|
||||||
;***********************************************************************
|
;***********************************************************************
|
||||||
SAVE_TXT_SCREEN:
|
SAVE_TXT_SCREEN:
|
||||||
LD (PREPARE_TO_EXIT_NEW.current_vmode),A
|
|
||||||
LD A,B
|
|
||||||
LD (PREPARE_TO_EXIT_NEW.current_screen),A
|
|
||||||
;
|
|
||||||
LD C,Dss.Cursor
|
LD C,Dss.Cursor
|
||||||
RST ToDSS
|
RST ToDSS
|
||||||
LD (PREPARE_TO_EXIT_NEW.cursor),DE
|
LD (FULL_RESTORE_SCREEN.cursor),DE
|
||||||
;
|
;
|
||||||
LD C,Dss.WinCopy
|
LD C,Dss.WinCopy
|
||||||
;;;;;;;;;
|
;;;;;;;;;
|
||||||
TXT_Screen_Copy_Restore:
|
TXT_Screen_Copy_Restore:
|
||||||
LD A,(PREPARE_TO_EXIT_NEW.current_vmode)
|
LD A,(FULL_RESTORE_SCREEN.current_vmode)
|
||||||
SUB 2
|
SUB 2
|
||||||
LD DE,0
|
LD DE,0
|
||||||
LD HL,#2050
|
LD HL,#2050
|
||||||
@ -6434,6 +6391,57 @@ TXT_Screen_Copy_Restore:
|
|||||||
LD IX,NEW_BUFFERS.TXT_Screen
|
LD IX,NEW_BUFFERS.TXT_Screen
|
||||||
JP ToDSS
|
JP ToDSS
|
||||||
;***********************************************************************
|
;***********************************************************************
|
||||||
|
FULL_SAVE_TXT_SCREEN:
|
||||||
|
LD C,Dss.GetVMod
|
||||||
|
RST ToDSS
|
||||||
|
JR C,.no_vmode
|
||||||
|
CP #80
|
||||||
|
LD (FULL_RESTORE_SCREEN.current_vmode),A
|
||||||
|
LD A,B
|
||||||
|
LD (FULL_RESTORE_SCREEN.current_screen),A
|
||||||
|
CALL C,SAVE_TXT_SCREEN
|
||||||
|
;
|
||||||
|
.no_vmode: JR SAVE_PAL
|
||||||
|
;***********************************************************************
|
||||||
|
FULL_RESTORE_SCREEN: LD A,4
|
||||||
|
LD C,BIOS.FN_SYNC
|
||||||
|
RST ToBIOS
|
||||||
|
;
|
||||||
|
LD A,%1000'0000
|
||||||
|
LD C,BIOS.FN_SYNC
|
||||||
|
RST ToBIOS
|
||||||
|
;
|
||||||
|
LD A,(.current_screen)
|
||||||
|
LD E,A
|
||||||
|
LD BC,BIOS.LP_OPEN_S.TXT_80x32_Default
|
||||||
|
RST ToBIOS
|
||||||
|
;
|
||||||
|
CALL RESTORE_PAL
|
||||||
|
;
|
||||||
|
LD BC,Dss.Lib_Sub.RestoreFont
|
||||||
|
RST ToDSS
|
||||||
|
;
|
||||||
|
; LD A,(.current_screen)
|
||||||
|
; XOR 1
|
||||||
|
; LD B,A
|
||||||
|
; LD A,Dss.SetVMod.grf640x256
|
||||||
|
; LD C,Dss.SetVMod
|
||||||
|
; RST ToDSS
|
||||||
|
;
|
||||||
|
.current_vmode+1: LD A,Dss.SetVMod.txt80x32
|
||||||
|
.current_screen+2: LD BC,Dss.SetVMod.Screen_0
|
||||||
|
RST ToDSS
|
||||||
|
;
|
||||||
|
LD A,(.current_vmode)
|
||||||
|
CP Dss.SetVMod.txt80x32 + 1
|
||||||
|
RET NC
|
||||||
|
;
|
||||||
|
.cursor+1: LD DE,0
|
||||||
|
LD C,Dss.Locate
|
||||||
|
RST ToDSS
|
||||||
|
LD C,Dss.WinRest
|
||||||
|
JR TXT_Screen_Copy_Restore
|
||||||
|
;***********************************************************************
|
||||||
|
|
||||||
LOADER_STRINGS:
|
LOADER_STRINGS:
|
||||||
.Info: DB "\r\nThunder in the Deep v1.10 fixed. Copyright (C) 2003 Deviants.\r\n"
|
.Info: DB "\r\nThunder in the Deep v1.10 fixed. Copyright (C) 2003 Deviants.\r\n"
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user