mirror of
https://github.com/Tolik-Trek/TITD.git
synced 2026-06-15 00:51:36 +03:00
normal exit if acx file not found
This commit is contained in:
parent
4a28068454
commit
4f4ec663fd
@ -18,6 +18,7 @@ NEW_BUFFERS: ; For Zero page
|
||||
.Palette.Size EQU 1024*8
|
||||
.TXT_Screen EQU .Palette + .Palette.Size
|
||||
.TXT_Screen.Size EQU 80*32*2
|
||||
.TMP EQU #D000
|
||||
|
||||
DSS_MIN_VERS:
|
||||
.vers EQU 1
|
||||
@ -5502,7 +5503,7 @@ la921h:
|
||||
RET ;a94e c9 .
|
||||
|
||||
OPEN_PAK_FILE: LD C,Dss.Open ;a94f 0e 11 . .
|
||||
.name+1: LD HL,PAK_FILE_NAME ;a951 21 85 a9 ! . .
|
||||
LD HL,PAK_FILE_NAME ;a951 21 85 a9 ! . .
|
||||
LD A,Dss.Open.R ;a954 3e 01 > .
|
||||
RST ToDSS ;a956 d7 .
|
||||
JP C,ERROR_EXIT ;a957 da 85 aa . . .
|
||||
@ -5510,7 +5511,7 @@ OPEN_PAK_FILE: LD C,Dss.Open ;a94f 0e 11 . .
|
||||
LD (PAK_FILE_FM),A ;a95a 32 80 aa 2 . .
|
||||
CALL CHECK_ZERO_FILE_SIZE ;a95d cd 6b aa . k .
|
||||
JP Z,ERROR_EXIT ;a960 ca 85 aa . . .
|
||||
LD (PAK_FILE_FM.Size_HL),HL ;a963 22 81 aa " . .
|
||||
.nxt: LD (PAK_FILE_FM.Size_HL),HL ;a963 22 81 aa " . .
|
||||
LD (PAK_FILE_FM.Size_IX),IX ;a966 dd 22 83 aa . " . .
|
||||
;
|
||||
LD BC,Dss.Move_FP.FrStart ;a96a 01 15 00 . . .
|
||||
@ -6137,10 +6138,14 @@ lad3eh:
|
||||
; NEW CODE
|
||||
;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;
|
||||
;***********************************************************************
|
||||
ERROR_OLD_DSS: LD HL,LOADER_STRINGS.OldDSS
|
||||
LD C,Dss.PChars
|
||||
NEW_ERROR_EXIT:
|
||||
.OLD_DSS: LD HL,LOADER_STRINGS.OldDSS
|
||||
.print: LD C,Dss.PChars
|
||||
RST ToDSS
|
||||
JP GOTO_ERROR_EXIT
|
||||
;
|
||||
.NO_ACX: LD HL,STRING_SPECIAL_no_acx
|
||||
JR .print
|
||||
;***********************************************************************
|
||||
|
||||
NEW_CODE_START: DI
|
||||
@ -6153,93 +6158,23 @@ NEW_CODE_START: DI
|
||||
SCF
|
||||
LD HL,256*DSS_MIN_VERS.vers + DSS_MIN_VERS.modf
|
||||
SBC HL,DE
|
||||
JR NC,ERROR_OLD_DSS
|
||||
JR NC,NEW_ERROR_EXIT.OLD_DSS
|
||||
LD HL,DSS_MIN_VERS.build
|
||||
SBC HL,BC
|
||||
JR NC,ERROR_OLD_DSS
|
||||
;
|
||||
CALL FULL_SAVE_TXT_SCREEN
|
||||
JR NC,NEW_ERROR_EXIT.OLD_DSS
|
||||
;
|
||||
LD A,GAME_NEED_MEM_PAGES
|
||||
CALL GET_MEM_AND_PAGES
|
||||
CALL GET_BITSTREAM
|
||||
JR C,NEW_ERROR_EXIT.NO_ACX
|
||||
;
|
||||
CALL FULL_SAVE_TXT_SCREEN
|
||||
CALL GENERATE_PALETTE
|
||||
IN A,(SLOT1)
|
||||
LD (l8205h.mem_pg),A
|
||||
;
|
||||
LD HL,TITD_ACX.NAME
|
||||
LD BC,BIOS.FN_CRIPT.AcexAndBitstream
|
||||
RST ToBIOS
|
||||
;
|
||||
LD HL,TITD_ACX.NAME
|
||||
LD BC,5
|
||||
PUSH BC
|
||||
XOR A
|
||||
CPIR
|
||||
JP PO,SetUp_RESET_EXIT
|
||||
;
|
||||
DEC HL
|
||||
EX DE,HL
|
||||
LD HL,TITD_ACX.TYPE
|
||||
POP BC
|
||||
LDIR
|
||||
; HL = TITD_ACX.NAME
|
||||
LD (OPEN_PAK_FILE.name),HL
|
||||
CALL OPEN_PAK_FILE ; patched
|
||||
;
|
||||
XOR A
|
||||
LD HL,(PAK_FILE_FM.Size_HL)
|
||||
LD DE,(PAK_FILE_FM.Size_IX)
|
||||
;
|
||||
.loop: EX AF,AF'
|
||||
LD A,H
|
||||
OR L
|
||||
OR D
|
||||
OR E
|
||||
JR Z,.exit2Loop
|
||||
EX AF,AF'
|
||||
;
|
||||
PUSH HL
|
||||
PUSH DE
|
||||
PUSH AF
|
||||
;
|
||||
CALL SET_PAGE_SLOT3
|
||||
LD A,(PAK_FILE_FM)
|
||||
LD HL,#C000
|
||||
LD DE,#4000
|
||||
LD C,Dss.Read
|
||||
RST ToDSS
|
||||
JP C,ERROR_EXIT
|
||||
;
|
||||
POP AF
|
||||
POP DE
|
||||
POP HL
|
||||
INC A
|
||||
CP GAME_NEED_MEM_PAGES
|
||||
JP NC,ERROR_EXIT
|
||||
;
|
||||
CCF
|
||||
LD BC,#4000
|
||||
EX DE,HL
|
||||
SBC HL,BC
|
||||
EX DE,HL
|
||||
JR Z,.loop
|
||||
LD B,C
|
||||
SBC HL,BC
|
||||
JR NC,.loop
|
||||
.exitLoop: ; ¢ë室, ¥á«¨ à §¬¥à ª®äë ¥ ªà â¥ à §¬¥àã áâà ¨æë
|
||||
EX DE,HL
|
||||
.loop2: LD (HL),#FF
|
||||
INC HL
|
||||
BIT 7,H
|
||||
JR NZ,.loop2
|
||||
.exit2Loop: ; ¢ë室, ¥á«¨ à §¬¥à ª®äë ªà â¥ à §¬¥àã áâà ¨æë
|
||||
LD C,Dss.Close
|
||||
LD A,(PAK_FILE_FM)
|
||||
RST ToDSS
|
||||
JP C,ERROR_EXIT
|
||||
;
|
||||
LD HL,PAK_FILE_NAME
|
||||
LD (OPEN_PAK_FILE.name),HL
|
||||
;LD HL,PAK_FILE_NAME
|
||||
;LD (OPEN_PAK_FILE.name),HL
|
||||
CALL OPEN_PAK_FILE
|
||||
; ª®áâë«ì ¯à®¯ã᪠ª®äë ¢ PAK ä ©«¥
|
||||
LD A,(PAK_FILE_FM)
|
||||
@ -6305,24 +6240,93 @@ CAD_RESET_HANDLER:
|
||||
; OUT (SYS_PORT.ROM),A
|
||||
LD BC,BIOS.REINIT.HARD_RESET
|
||||
JP ToBIOS_18
|
||||
;
|
||||
;
|
||||
|
||||
;
|
||||
; SETUP_RESET_HANDLER_NEW:; “áâ ¢«¨¢ ¥¬ ª«îç¨
|
||||
; PUSH HL
|
||||
; LD HL,Spec_Page.flag_R
|
||||
; LD (HL),"R"
|
||||
; INC HL
|
||||
; LD (HL),"S"
|
||||
; INC HL
|
||||
; LD (HL),"T"
|
||||
; POP HL
|
||||
; ;
|
||||
; LD A,#FF
|
||||
; LD (Spec_Page.Reload_Version),A
|
||||
; ;
|
||||
; RET
|
||||
; ;
|
||||
GET_BITSTREAM: LD HL,TITD_ACX.NAME
|
||||
LD BC,BIOS.FN_CRIPT.AcexAndBitstream
|
||||
RST ToBIOS
|
||||
;
|
||||
LD HL,TITD_ACX.NAME
|
||||
LD BC,5
|
||||
PUSH BC
|
||||
XOR A
|
||||
CPIR
|
||||
SCF
|
||||
RET PO
|
||||
;
|
||||
DEC HL
|
||||
;LD (HL)," "
|
||||
EX DE,HL
|
||||
LD HL,TITD_ACX.TYPE
|
||||
POP BC
|
||||
LDIR
|
||||
; HL = TITD_ACX.NAME
|
||||
LD C,Dss.Open
|
||||
LD A,Dss.Open.R
|
||||
RST ToDSS
|
||||
RET C
|
||||
;
|
||||
LD (PAK_FILE_FM),A
|
||||
CALL CHECK_ZERO_FILE_SIZE
|
||||
SCF
|
||||
RET Z
|
||||
CALL OPEN_PAK_FILE.nxt
|
||||
XOR A
|
||||
LD HL,(PAK_FILE_FM.Size_HL)
|
||||
LD DE,(PAK_FILE_FM.Size_IX)
|
||||
;
|
||||
.loop: EX AF,AF'
|
||||
LD A,H
|
||||
OR L
|
||||
OR D
|
||||
OR E
|
||||
JR Z,.exit2Loop
|
||||
EX AF,AF'
|
||||
;
|
||||
PUSH HL
|
||||
PUSH DE
|
||||
PUSH AF
|
||||
;
|
||||
CALL SET_PAGE_SLOT3
|
||||
LD A,(PAK_FILE_FM)
|
||||
LD HL,#C000
|
||||
LD DE,#4000
|
||||
LD C,Dss.Read
|
||||
RST ToDSS
|
||||
RET C
|
||||
;
|
||||
POP AF
|
||||
POP DE
|
||||
POP HL
|
||||
INC A
|
||||
CP GAME_NEED_MEM_PAGES
|
||||
CCF
|
||||
RET C
|
||||
;
|
||||
SCF
|
||||
LD BC,#4000
|
||||
EX DE,HL
|
||||
SBC HL,BC
|
||||
EX DE,HL
|
||||
JR Z,.loop
|
||||
LD B,C
|
||||
SBC HL,BC
|
||||
JR NC,.loop
|
||||
.exitLoop: ; ¢ë室, ¥á«¨ à §¬¥à ª®äë ¥ ªà â¥ à §¬¥àã áâà ¨æë
|
||||
EX DE,HL
|
||||
.loop2: LD (HL),#FF
|
||||
INC HL
|
||||
BIT 7,H
|
||||
JR NZ,.loop2
|
||||
.exit2Loop: ; ¢ë室, ¥á«¨ à §¬¥à ª®äë ªà â¥ à §¬¥àã áâà ¨æë
|
||||
LD C,Dss.Close
|
||||
LD A,(PAK_FILE_FM)
|
||||
JP ToDSS
|
||||
;
|
||||
STRING_SPECIAL_no_acx: ;83a4
|
||||
DZ "\r\n[Thunder In The Deep Special Message] : Error with ACX file for your chip!\r\n"
|
||||
;
|
||||
PREPARE_TO_EXIT_NEW: CALL RESTORE_IM1_DSS
|
||||
JR FULL_RESTORE_SCREEN
|
||||
;***********************************************************************
|
||||
|
||||
Loading…
Reference in New Issue
Block a user