commit 097de8c2f61e95d31c5c0af0487b2b17d503340a Author: Tolik <85737314+Tolik-Trek@users.noreply.github.com> Date: Sat Oct 19 05:17:44 2024 +1000 init diff --git a/.gitmodules b/.gitmodules new file mode 100644 index 0000000..5c22af2 --- /dev/null +++ b/.gitmodules @@ -0,0 +1,3 @@ +[submodule "Shared_Includes"] + path = Shared_Includes + url = https://github.com/Tolik-Trek/Shared_Includes.git diff --git a/HR/ACX.HR b/HR/ACX.HR new file mode 100755 index 0000000..04191fd Binary files /dev/null and b/HR/ACX.HR differ diff --git a/HR/acx.part1 b/HR/acx.part1 new file mode 100644 index 0000000..a387b7a Binary files /dev/null and b/HR/acx.part1 differ diff --git a/HR/acx.part2 b/HR/acx.part2 new file mode 100644 index 0000000..4d74e04 Binary files /dev/null and b/HR/acx.part2 differ diff --git a/HR/acx.part3 b/HR/acx.part3 new file mode 100644 index 0000000..8096e55 Binary files /dev/null and b/HR/acx.part3 differ diff --git a/HR/acx.part4 b/HR/acx.part4 new file mode 100644 index 0000000..b666924 Binary files /dev/null and b/HR/acx.part4 differ diff --git a/HR/mhmt b/HR/mhmt new file mode 100755 index 0000000..8ef5dfe Binary files /dev/null and b/HR/mhmt differ diff --git a/Shared_Includes b/Shared_Includes new file mode 160000 index 0000000..c7bcbd0 --- /dev/null +++ b/Shared_Includes @@ -0,0 +1 @@ +Subproject commit c7bcbd096d4674064766dc9f61121f4843ddd635 diff --git a/game_loader_dasm.a80 b/game_loader_dasm.a80 new file mode 100644 index 0000000..4032281 --- /dev/null +++ b/game_loader_dasm.a80 @@ -0,0 +1,6774 @@ +; z80dasm 1.2.0 +; command line: z80dasm -a -l -u -t -g 0x8000 -o /Users/tolik/Documents/SP_Projects/ASM/GIT/TITD/Build/game_loader_dasm.a80 /Users/tolik/Documents/SP_Projects/ASM/GIT/TITD/Build/bin/game_loader.bin +;---------[All shared includes]--------- + INCLUDE 'Shared_Includes/constants/SP2000.inc' ; константы + INCLUDE 'Shared_Includes/constants/BIOS_EQU.inc' + INCLUDE 'Shared_Includes/constants/dss_equ.inc' +;--------------------------------------- +PAGES_BUFFER EQU #BE00 +.size EQU #100 + + ORG 08000h + + JP l8205h ;8000 c3 05 82 . . . + JP l812ah ;8003 c3 2a 81 . * . + JP l8130h ;8006 c3 30 81 . 0 . + JP l8137h ;8009 c3 37 81 . 7 . + JP l8144h ;800c c3 44 81 . D . + JP l8150h ;800f c3 50 81 . P . + JP l816ch ;8012 c3 6c 81 . l . + + + DB #f4, 00, 00, 00, #f4, #00, #00, #80 +l801dh: DB #20, #00, #00, #00 ;801d 20 00 . + + + +l8021h: DB #24, #00, #00, #0f, #24, #00, #00, #0f ;8021 + DB #24, #00, #00, #0f, #24, #00, #00, #0f + DB #24, #00, #00, #0f, #24, #00, #00, #0f + DB #24, #00, #00, #0f, #24, #00, #00, #0f + DB #24, #00, #00, #0f, #24, #00, #00, #0f + DB #24, #00, #00, #0f, #24, #00, #00, #0f + DB #24, #00, #00, #0f, #24, #00, #00, #0f + DB #24, #00, #00, #0f, #24, #00, #00, #0f + DB #24, #00, #00, #0f, #24, #00, #00, #0f + DB #24, #00, #00, #0f, #24, #00, #00, #0f + DB #24, #00, #00, #0f, #24, #00, #00, #0f + DB #24, #00, #00, #0f, #24, #00, #00, #0f + DB #24, #00, #00, #0f, #24, #00, #00, #0f + DB #24, #00, #00, #0f, #24, #00, #00, #0f + DB #24, #00, #00, #0f, #24, #00, #00, #0f + DB #24, #00, #00, #0f, #24, #00, #00, #0f + ; + DB #e4, #00, #00, #00, #e4, #00, #00, #00 + DB #e4, #00, #00, #00, #e4, #00, #00, #00 + DB #e4, #00, #00, #00, #e4, #00, #00, #00 + DB #e4, #00, #00, #00, #e4, #00, #00, #00 + DB #e4, #00, #00, #00, #e4, #00, #00, #00 + DB #e4, #00, #00, #00, #e4, #00, #00, #00 + DB #e4, #00, #00, #00, #e4, #00, #00, #00 + DB #e4, #00, #00, #00, #e4, #00, #00, #00 + DB #e4, #00, #00, #00, #e4, #00, #00, #00 + DB #e4, #00, #00, #00, #e4, #00, #00, #00 + DB #e4, #00, #00, #00, #e4, #00, #00, #00 + DB #e4, #00, #00, #00, #e4, #00, #00, #00 + DB #e4, #00, #00, #00, #e4, #00, #00, #00 + DB #e4, #00, #00, #00, #e4, #00, #00, #00 + DB #e4, #00, #00, #00, #e4, #00, #00, #00 + DB #e4, #00, #00, #00, #e4, #00, #00, #00 + + + JP l9691h ;8121 c3 91 96 . . . + JP l9686h ;8124 c3 86 96 . . . + JP l96a2h ;8127 c3 a2 96 . . . +l812ah: + CALL FAST_RAM_FN.OFF_EI ;812a cd 77 a2 . w . + JP l86b8h ;812d c3 b8 86 . . . +l8130h: + CALL FAST_RAM_FN.OFF_EI ;8130 cd 77 a2 . w . + EI ;8133 fb . + JP l8995h ;8134 c3 95 89 . . . +l8137h: + CALL FAST_RAM_FN.OFF_EI ;8137 cd 77 a2 . w . + EI ;813a fb . + LD SP,0c000h ;813b 31 00 c0 1 . . + CALL sub_8c46h ;813e cd 46 8c . F . + JP l8dd7h ;8141 c3 d7 8d . . . +l8144h: + CALL FAST_RAM_FN.OFF_DI ;8144 cd 7c a2 . | . + LD A,001h ;8147 3e 01 > . + LD (sub_875eh.patch),A ;8149 32 5f 87 2 _ . + EI ;814c fb . + JP l86b8h ;814d c3 b8 86 . . . +l8150h: + PUSH AF ;8150 f5 . + CALL FAST_RAM_FN.OFF_DI ;8151 cd 7c a2 . | . + POP AF ;8154 f1 . + LD (0927eh),A ;8155 32 7e 92 2 ~ . + PUSH AF ;8158 f5 . + CALL FAST_RAM_FN.ON_DI ;8159 cd 73 a2 . s . + POP AF ;815c f1 . + RET ;815d c9 . +l815eh: + DI ;815e f3 . + PUSH AF ;815f f5 . + CALL FAST_RAM_FN.OFF_DI ;8160 cd 7c a2 . | . + CALL sub_8173h ;8163 cd 73 81 . s . + CALL FAST_RAM_FN.ON_DI ;8166 cd 73 a2 . s . + POP AF ;8169 f1 . + EI ;816a fb . + RET ;816b c9 . +l816ch: + RET ;816c c9 . +l816dh: + DI ;816d f3 . + CALL sub_8173h ;816e cd 73 81 . s . + EI ;8171 fb . + RET ;8172 c9 . +sub_8173h: + PUSH AF ;8173 f5 . + PUSH BC ;8174 c5 . + PUSH DE ;8175 d5 . + PUSH HL ;8176 e5 . + PUSH IX ;8177 dd e5 . . + IN A,(0feh) ;8179 db fe . . + BIT 5,A ;817b cb 6f . o + LD A,000h ;817d 3e 00 > . + JR Z,l8183h ;817f 28 02 ( . + LD A,001h ;8181 3e 01 > . +l8183h: LD (la280h),A ;8183 32 80 a2 2 . . +.set_byte+1: LD A,000h ;8186 3e 00 > . + OR A ;8188 b7 . + JR Z,l81dch ;8189 28 51 ( Q + IN A,(PORT_Y) ;818b db 89 . . + PUSH AF ;818d f5 . + LD A,0c1h ;818e 3e c1 > . + OUT (PORT_Y),A ;8190 d3 89 . . + IN A,(SLOT1) ;8192 db a2 . . + PUSH AF ;8194 f5 . + IN A,(SLOT3) ;8195 db e2 . . + PUSH AF ;8197 f5 . + CALL FAST_RAM_FN.ON_DI ;8198 cd 73 a2 . s . + CALL 00175h ;819b cd 75 01 . u . + JR NZ,l81d0h ;819e 20 30 0 +.set_byte2+1: LD A,000h ;81a0 3e 00 > . + CPL ;81a2 2f / + LD (l8183h.set_byte2),A ;81a3 32 a1 81 2 . . + OR A ;81a6 b7 . + CALL Z,00172h ;81a7 cc 72 01 . r . + CALL NZ,0016fh ;81aa c4 6f 01 . o . + JR NZ,l81d0h ;81ad 20 21 ! + EX AF,AF' ;81af 08 . + PUSH AF ;81b0 f5 . + EXX ;81b1 d9 . + PUSH HL ;81b2 e5 . + PUSH BC ;81b3 c5 . + PUSH DE ;81b4 d5 . + PUSH IY ;81b5 fd e5 . . + LD A,(l8183h.set_byte) ;81b7 3a 87 81 : . . + DEC A ;81ba 3d = + JR Z,l81c2h ;81bb 28 05 ( . + CALL 00184h ;81bd cd 84 01 . . . + JR l81c8h ;81c0 18 06 . . +l81c2h: + CALL 00160h ;81c2 cd 60 01 . ` . + CALL 00163h ;81c5 cd 63 01 . c . +l81c8h: + POP IY ;81c8 fd e1 . . + POP DE ;81ca d1 . + POP BC ;81cb c1 . + POP HL ;81cc e1 . + EXX ;81cd d9 . + POP AF ;81ce f1 . + EX AF,AF' ;81cf 08 . +l81d0h: + CALL FAST_RAM_FN.OFF_DI ;81d0 cd 7c a2 . | . + POP AF ;81d3 f1 . + OUT (SLOT3),A ;81d4 d3 e2 . . + POP AF ;81d6 f1 . + OUT (SLOT1),A ;81d7 d3 a2 . . + POP AF ;81d9 f1 . + OUT (PORT_Y),A ;81da d3 89 . . +l81dch: + IN A,(SLOT3) ;81dc db e2 . . + LD (081f7h),A ;81de 32 f7 81 2 . . + LD A,(0be7bh) ;81e1 3a 7b be : { . + OUT (SLOT3),A ;81e4 d3 e2 . . + IN A,(PORT_Y) ;81e6 db 89 . . + LD (081fbh),A ;81e8 32 fb 81 2 . . + LD A,0c1h ;81eb 3e c1 > . + OUT (PORT_Y),A ;81ed d3 89 . . + CALL 0c003h ;81ef cd 03 c0 . . . + LD A,(0c006h) ;81f2 3a 06 c0 : . . + OR A ;81f5 b7 . + LD A,000h ;81f6 3e 00 > . + OUT (SLOT3),A ;81f8 d3 e2 . . + LD A,000h ;81fa 3e 00 > . + OUT (PORT_Y),A ;81fc d3 89 . . + POP IX ;81fe dd e1 . . + POP HL ;8200 e1 . + POP DE ;8201 d1 . + POP BC ;8202 c1 . + POP AF ;8203 f1 . + RET ;8204 c9 . + +l8205h: LD A,#C6 ;8205 3e c6 > . ; !HARDCODE сколько памяти надо + CALL GET_MEM_AND_PAGES ;8207 cd b7 a1 . . . + CALL GENERATE_PALETTE ;820a cd 26 93 . & . + DI ;820d f3 . + LD A,SYS_PORT.CNF_3 ;820e 3e 1c > . + OUT (SYS_PORT.RAM),A ;8210 d3 3c . < + LD A,Z84.REG.Misc_Ctrl ;8212 3e 03 > . + OUT (Z84.SYS.Control),A ;8214 d3 ee . . + LD A,%0000'0011 ; CS1/CS0 enabled + OUT (Z84.SYS.Data),A ;8218 d3 ef . . + IN A,(SLOT1) ;821a db a2 . . + LD (.mem_pg),A ;821c 32 30 82 2 0 . + CALL GET_RESOURCE_TITD.ACX ;821f cd e8 82 . . . + LD DE,RESET_HANDLER_BEGIN ;8222 11 4f 83 . O . + CALL SETUP_RESET_HANDLER ;8225 cd 1d 83 . . . + IN A,(FastRAM.ON) ;8228 db fb . . + CALL INSTALL_TITD.ACX ;822a cd 54 82 . T . + IN A,(FastRAM.OFF) ;822d db 7b . { +.mem_pg+1: LD A,5 ;822f 3e 05 > . + OUT (SLOT1),A ;8231 d3 a2 . . +l8233h: DI ;8233 f3 . + IN A,(SLOT1) ;8234 db a2 . . + PUSH AF ;8236 f5 . + LD A,DCP_PAGE ;8237 3e 40 > @ + OUT (SLOT1),A ;8239 d3 a2 . . + LD A,ACEX.RESET ;823b 3e 2e > . + LD (#4400),A ;823d 32 00 44 2 . D + LD (#4600),A ;8240 32 00 46 2 . F + POP AF ;8243 f1 . + OUT (SLOT1),A ;8244 d3 a2 . . +l8246h: LD BC,#0100 ;8246 01 00 01 . . . + OUT (C),C ;8249 ed 49 . I + LD BC,0 ;824b 01 00 00 . . . + OUT (C),C ;824e ed 49 . I + JR l8246h ;8250 18 f4 . . + DI ;8252 f3 . + HALT ;8253 76 v + + +;!TODO +INSTALL_TITD.ACX: + DI ;8254 f3 . + LD BC,#1FFD ;8255 01 fd 1f . . . + XOR A ;8258 af . + OUT (C),A ;8259 ed 79 . y + LD A,SYS_PORT.CNF_0 ;825b 3e 04 > . + OUT (SYS_PORT.ROM),A ;825d d3 7c . | + LD A,0 ;825f 3e 00 > . + OUT (FastRAM.SLOT0),A ;8261 d3 5c . \ + LD A,#1C ;8263 3e 1c > . ;!HARDCODE + OUT (SLOT1),A ;8265 d3 a2 . . + LD HL,#4100 ;8267 21 00 41 ! . A + LD DE,#1000 ;826a 11 00 10 . . . + LD BC,#3000 ;826d 01 00 30 . . 0 + LDIR ;8270 ed b0 . . + LD A,1 ;8272 3e 01 > . + OUT (FastRAM.SLOT0),A ;8274 d3 5c . \ + LD DE,0 ;8276 11 00 00 . . . + LD BC,#0F00 ;8279 01 00 0f . . . + LDIR ;827c ed b0 . . + IN A,(SLOT1) ;827e db a2 . . + INC A ;8280 3c < + OUT (SLOT1),A ;8281 d3 a2 . . + LD HL,#4000 ;8283 21 00 40 ! . @ + LD BC,#3100 ;8286 01 00 31 . . 1 + LDIR ;8289 ed b0 . . + LD A,2 ;828b 3e 02 > . + OUT (FastRAM.SLOT0),A ;828d d3 5c . \ + LD DE,0 ;828f 11 00 00 . . . + LD BC,#0F00 ;8292 01 00 0f . . . + LDIR ;8295 ed b0 . . + IN A,(SLOT1) ;8297 db a2 . . + INC A ;8299 3c < + OUT (SLOT1),A ;829a d3 a2 . . + LD HL,#4000 ;829c 21 00 40 ! . @ + LD BC,#3100 ;829f 01 00 31 . . 1 + LDIR ;82a2 ed b0 . . + LD A,3 ;82a4 3e 03 > . + OUT (FastRAM.SLOT0),A ;82a6 d3 5c . \ + LD DE,0 ;82a8 11 00 00 . . . + LD BC,#0F00 ;82ab 01 00 0f . . . + LDIR ;82ae ed b0 . . + IN A,(SLOT1) ;82b0 db a2 . . + INC A ;82b2 3c < + OUT (SLOT1),A ;82b3 d3 a2 . . + LD HL,#4000 ;82b5 21 00 40 ! . @ + LD BC,#3100 ;82b8 01 00 31 . . 1 + LDIR ;82bb ed b0 . . + LD HL,.reload_str ;82bd 21 d8 82 ! . . + LD DE,#3EF0 ;82c0 11 f0 3e . . > + LD BC,.reload_str.size ;82c3 01 10 00 . . . + LDIR ;82c6 ed b0 . . + LD A,#FF ;82c8 3e ff > . + LD (ACEX.LOADER.Reload_Flag_Address - #C000),A ;82ca 32 e0 3e 2 . > + LD A,(.IM_FLAG) ;82cd 3a d7 82 : . . + CP 'M' ;82d0 fe 4d . M ;!FIXIT error + RET NZ ;82d2 c0 . + LD (ACEX.LOADER.Reload_Flag_Address - #C000),A ;82d3 32 e0 3e 2 . > + RET ;82d6 c9 . +.IM_FLAG: DB 0 ;82d7 00 . +.reload_str: DB ACEX.RELOAD_STRING ;82d8 +.reload_str.size: EQU $-.reload_str + + +GET_RESOURCE_TITD.ACX: + ;!HARDCODE + LD A,#1C ;82e8 3e 1c > . + LD (PAGES_BUFFER),A ;82ea 32 00 be 2 . . + INC A ;82ed 3c < + LD (PAGES_BUFFER + 1),A ;82ee 32 01 be 2 . . + INC A ;82f1 3c < + LD (PAGES_BUFFER + 2),A ;82f2 32 02 be 2 . . + INC A ;82f5 3c < + LD (PAGES_BUFFER + 3),A ;82f6 32 03 be 2 . . + ; + CALL OPEN_PAK_FILE ;82f9 cd 4f a9 . O . + LD B,0 ;82fc 06 00 . . + LD C,4 ;82fe 0e 04 . . + LD HL,#2569 ;8300 21 69 25 ! i % + LD A,1 ;8303 3e 01 > . + CALL UNPACK_RESOURCE ;8305 cd 8e a9 . . . + CALL FREE_MEM_ ;8308 cd ce a1 . . . + DI ;830b f3 . + RET ;830c c9 . + + +; UNUSED? +GAME_CONF_NAME: DB 'GAME_00.ACX' ;830d + DB 0 ;8318 + DB 0 ;8319 + DB 0 ;831a + DB 0 ;831b + DB 0 ;831c + +SETUP_RESET_HANDLER: + DI ;831d f3 . + 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 . . + LD (0fff4h),DE ;8327 ed 53 f4 ff . S . . +l832bh: + LD A,'Z' ;832b 3e 5a > Z + 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 . . + LD (Spec_Page.page_0),A ;8337 32 f0 ff 2 . . + IN A,(SLOT1) ;833a db a2 . . + LD (Spec_Page.page_1),A ;833c 32 f1 ff 2 . . + IN A,(SLOT2) ;833f db c2 . . + LD (Spec_Page.page_2),A ;8341 32 f2 ff 2 . . +l8344h: + IN A,(SLOT3) ;8344 db e2 . . + LD (Spec_Page.page_3),A ;8346 32 f3 ff 2 . . + LD A,(RESET_HANDLER_BEGIN.mem_pg) ;8349 3a 5d 83 : ] . + OUT (SLOT3),A ;834c d3 e2 . . + RET ;834e c9 . +RESET_HANDLER_BEGIN: + DI ;834f f3 . + LD SP,#bff0 ;8350 31 f0 bf 1 . . + LD A,004h ;8353 3e 04 > . + OUT (SYS_PORT.RAM),A ;8355 d3 3c . < + LD A,(Spec_Page.page_0) ;8357 3a f0 ff : . . + OUT (SLOT0),A ;835a d3 82 . . +.mem_pg+1: LD A,#41 ;835c 3e 41 > A + OUT (SLOT3),A ;835e d3 e2 . . + JP l8415h ;8360 c3 15 84 . . . +SetUp_RESET_EXIT: + LD DE,RESET_HANDLER_EXIT ;8363 11 df 83 . . . + CALL SETUP_RESET_HANDLER ;8366 cd 1d 83 . . . + JP l8233h ;8369 c3 33 82 . 3 . + + CALL FAST_RAM_FN.OFF_DI ;836c cd 7c a2 . | . + CALL GENERATE_PALETTE ;836f cd 26 93 . & . + LD C,0f1h ;8372 0e f1 . . + RST ToBIOS ;8374 cf . + RET ;8375 c9 . +l8376h: + LD SP,0c000h ;8376 31 00 c0 1 . . + LD BC,00041h ;8379 01 41 00 . A . + RST ToDSS ;837c d7 . + JR SetUp_RESET_EXIT ;837d 18 e4 . . +sub_837fh: + LD HL,STRING_SPECIAL_no_mem;837f 21 a4 83 ! . . + LD C,05ch ;8382 0e 5c . \ + RST ToDSS ;8384 d7 . + RET ;8385 c9 . + + DI ;8386 f3 . + LD A,000h ;8387 3e 00 > . + LD (00038h),A ;8389 32 38 00 2 8 . + LD HL,00000h ;838c 21 00 00 ! . . + LD (00039h),A ;838f 32 39 00 2 9 . + RET ;8392 c9 . +l8393h: + CALL sub_837fh ;8393 cd 7f 83 . . . + JR l8376h ;8396 18 de . . +l8398h: JP SetUp_RESET_EXIT ;8398 c3 63 83 . c . +l839bh: + CALL FAST_RAM_FN.OFF_DI ;839b cd 7c a2 . | . + JP SetUp_RESET_EXIT ;839e c3 63 83 . c . +l83a1h+1: JP l8393h ;83a1 c3 93 83 . . . +STRING_SPECIAL_no_mem: ;83a4 + DZ "\r\n[Thunder In The Deep Special Message] : Out Of Memory!\r\n" + +RESET_HANDLER_EXIT: + DI ;83df f3 . + LD SP,#bff0 ;83e0 31 f0 bf 1 . . + LD A,SYS_PORT.CNF_0 ;83e3 3e 04 > . + OUT (SYS_PORT.RAM),A ;83e5 d3 3c . < + LD A,(Spec_Page.page_0) ;83e7 3a f0 ff : . . + OUT (SLOT0),A ;83ea d3 82 . . + LD A,(RESET_HANDLER_BEGIN.mem_pg) ;83ec 3a 5d 83 : ] . + OUT (SLOT3),A ;83ef d3 e2 . . + LD C,Dss.Exit ;83f1 0e 41 . A + LD B,0 ;83f3 06 00 . . + RST ToDSS ;83f5 d7 . + RET ;83f6 c9 . +sub_83f7h: + IN A,(PORT_Y) ;83f7 db 89 . . +l83f9h: + PUSH AF ;83f9 f5 . + XOR A ;83fa af . +l83fbh: + OUT (PORT_Y),A ;83fb d3 89 . . + LD HL,0c303h ;83fd 21 03 c3 ! . . +l8400h: + DI ;8400 f3 . + LD D,D ;8401 52 R + LD A,000h ;8402 3e 00 > . + LD E,E ;8404 5b [ + LD (HL),A ;8405 77 w + LD B,B ;8406 40 @ +l8407h: + EI ;8407 fb . + INC L ;8408 2c , + INC L ;8409 2c , + INC L ;840a 2c , + INC L ;840b 2c , + LD A,L ;840c 7d } + CP 0b3h ;840d fe b3 . . +l840fh: + JR NZ,l8400h ;840f 20 ef . +l8411h: + POP AF ;8411 f1 . + OUT (PORT_Y),A ;8412 d3 89 . . + RET ;8414 c9 . +l8415h: ; !TODO setup port HOLD + DI ;8415 f3 . + IN A,(SLOT3) ;8416 db e2 . . + PUSH AF ;8418 f5 . + LD A,DCP_PAGE ;8419 3e 40 > @ + OUT (SLOT3),A ;841b d3 e2 . . + LD A,(#c400) ;841d 3a 00 c4 : . . + PUSH AF ;8420 f5 . + LD A,ACEX.HOLD ;8421 3e cb > . +l8423h: + LD (#c400),A ;8423 32 00 c4 2 . . + LD A,#95 ;8426 3e 95 > . + LD BC,00000h ;8428 01 00 00 . . . + OUT (C),A ;842b ed 79 . y + POP AF ;842d f1 . + LD (#c400),A ;842e 32 00 c4 2 . . + POP AF ;8431 f1 . + OUT (SLOT3),A ;8432 d3 e2 . . + LD A,#c1 ;8434 3e c1 > . + OUT (PORT_Y),A ;8436 d3 89 . . + LD SP,#c000 ;8438 31 00 c0 1 . . + XOR A ;843b af . + OUT (0feh),A ;843c d3 fe . . + LD A,(00038h) ;843e 3a 38 00 : 8 . + LD (08388h),A ;8441 32 88 83 2 . . + LD HL,(00039h) ;8444 2a 39 00 * 9 . + LD (0838dh),HL ;8447 22 8d 83 " . . + EI ;844a fb . + LD HL,l8398h ;844b 21 98 83 ! . . + LD (l83a1h),HL ;844e 22 a2 83 " . . + LD A,0c6h ;8451 3e c6 > . + CALL GET_MEM_AND_PAGES ;8453 cd b7 a1 . . . + IN A,(SLOT0) ;8456 db 82 . . + LD (la281h),A ;8458 32 81 a2 2 . . + CALL sub_90d8h ;845b cd d8 90 . . . + CALL sub_9465h ;845e cd 65 94 . e . + CALL sub_ab8ch ;8461 cd 8c ab . . . + CALL sub_a884h ;8464 cd 84 a8 . . . + LD A,0c1h ;8467 3e c1 > . + OUT (PORT_Y),A ;8469 d3 89 . . + CALL FAST_RAM_FN.OFF_DI ;846b cd 7c a2 . | . + CALL sub_8c9dh ;846e cd 9d 8c . . . + DI ;8471 f3 . + LD A,(0be7bh) ;8472 3a 7b be : { . + OUT (SLOT3),A ;8475 d3 e2 . . + XOR A ;8477 af . + CALL 0c000h ;8478 cd 00 c0 . . . + LD A,001h ;847b 3e 01 > . + CALL 0c000h ;847d cd 00 c0 . . . + LD A,0c3h ;8480 3e c3 > . + LD (00038h),A ;8482 32 38 00 2 8 . + LD HL,l816dh ;8485 21 6d 81 ! m . + LD (00039h),HL ;8488 22 39 00 " 9 . + XOR A ;848b af . + LD (l8183h.set_byte),A ;848c 32 87 81 2 . . + LD (l8183h.set_byte2),A ;848f 32 a1 81 2 . . + EI ;8492 fb . + CALL FAST_RAM_FN.ON_DI ;8493 cd 73 a2 . s . + LD HL,PAGES_BUFFER ;8496 21 00 be ! . . + LD DE,03e00h ;8499 11 00 3e . . > + LD BC,00100h ;849c 01 00 01 . . . + LDIR ;849f ed b0 . . + CALL 0015ah ;84a1 cd 5a 01 . Z . + CALL 00151h ;84a4 cd 51 01 . Q . + LD A,01bh ;84a7 3e 1b > . + LD HL,00000h ;84a9 21 00 00 ! . . + DI ;84ac f3 . + CALL 0014eh ;84ad cd 4e 01 . N . + CALL FAST_RAM_FN.OFF_DI ;84b0 cd 7c a2 . | . + CALL sub_9104h ;84b3 cd 04 91 . . . + CALL sub_916dh ;84b6 cd 6d 91 . m . + CALL FAST_RAM_FN.ON_DI ;84b9 cd 73 a2 . s . + LD DE,03500h ;84bc 11 00 35 . . 5 + EXX ;84bf d9 . + LD DE,0ae00h ;84c0 11 00 ae . . . + LD HL,00000h ;84c3 21 00 00 ! . . + LD BC,00025h ;84c6 01 25 00 . % . + LD IXL,064h ;84c9 dd 2e 64 . . d +l84cch: + LD A,L ;84cc 7d } + LD (DE),A ;84cd 12 . + INC DE ;84ce 13 . + EXX ;84cf d9 . + LD (DE),A ;84d0 12 . + INC DE ;84d1 13 . + EXX ;84d2 d9 . + LD A,H ;84d3 7c | + LD (DE),A ;84d4 12 . + INC DE ;84d5 13 . + EXX ;84d6 d9 . + LD (DE),A ;84d7 12 . + INC DE ;84d8 13 . + EXX ;84d9 d9 . + ADD HL,BC ;84da 09 . + DEC IXL ;84db dd 2d . - + JR NZ,l84cch ;84dd 20 ed . + LD HL,03c05h ;84df 21 05 3c ! . < + LD DE,0000dh ;84e2 11 0d 00 . . . + LD B,008h ;84e5 06 08 . . + XOR A ;84e7 af . +l84e8h: + LD (HL),A ;84e8 77 w + ADD HL,DE ;84e9 19 . + ADD A,010h ;84ea c6 10 . . + DJNZ l84e8h ;84ec 10 fa . . + LD A,00bh ;84ee 3e 0b > . + LD (03f1dh),A ;84f0 32 1d 3f 2 . ? + LD A,070h ;84f3 3e 70 > p + LD (03f1eh),A ;84f5 32 1e 3f 2 . ? + LD A,0c3h ;84f8 3e c3 > . + LD (00038h),A ;84fa 32 38 00 2 8 . + LD HL,l815eh ;84fd 21 5e 81 ! ^ . + LD (00039h),HL ;8500 22 39 00 " 9 . + CALL FAST_RAM_FN.OFF_EI ;8503 cd 77 a2 . w . + LD HL,lad00h ;8506 21 00 ad ! . . + LD A,L ;8509 7d } +l850ah: + LD (HL),A ;850a 77 w + INC L ;850b 2c , + JR NZ,l850ah ;850c 20 fc . + CALL sub_8c35h ;850e cd 35 8c . 5 . + CALL GENERATE_PALETTE ;8511 cd 26 93 . & . + EI ;8514 fb . + HALT ;8515 76 v +l8516h: + XOR A ;8516 af . + LD (l8183h.set_byte),A ;8517 32 87 81 2 . . + LD (l8183h.set_byte2),A ;851a 32 a1 81 2 . . + CALL sub_8e46h ;851d cd 46 8e . F . + XOR A ;8520 af . + LD (l8544h.set_byte),A ;8521 32 77 85 2 w . + LD A,1 ;8524 3e 01 > . + LD (l85d0h.set_byte),A ;8526 32 57 86 2 W . +l8529h: + XOR A ;8529 af . + LD (l962bh),A ;852a 32 2b 96 2 + . + LD (l962ch),A ;852d 32 2c 96 2 , . + LD (l962dh),A ;8530 32 2d 96 2 - . + LD (l962eh),A ;8533 32 2e 96 2 . . + LD (l962fh),A ;8536 32 2f 96 2 / . + LD (l9630h),A ;8539 32 30 96 2 0 . + LD (l9631h),A ;853c 32 31 96 2 1 . + LD A,4 ;853f 3e 04 > . + LD (l85d0h.set_byte2),A ;8541 32 4f 86 2 O . +l8544h: XOR A ;8544 af . + LD (l8183h.set_byte),A ;8545 32 87 81 2 . . + LD (l8183h.set_byte2),A ;8548 32 a1 81 2 . . + CALL FAST_RAM_FN.OFF_EI ;854b cd 77 a2 . w . + LD A,(PAGES_BUFFER) ;854e 3a 00 be : . . + OUT (SLOT3),A ;8551 d3 e2 . . + CALL 0c13ah ;8553 cd 3a c1 . : . + CALL FAST_RAM_FN.ON_DI ;8556 cd 73 a2 . s . + CALL 0015ah ;8559 cd 5a 01 . Z . + CALL 00151h ;855c cd 51 01 . Q . + CALL FAST_RAM_FN.OFF_DI ;855f cd 7c a2 . | . + LD A,(l8544h.set_byte) ;8562 3a 77 85 : w . + LD HL,l9181h ;8565 21 81 91 ! . . + LD C,A ;8568 4f O + LD B,0 ;8569 06 00 . . + ADD HL,BC ;856b 09 . + LD A,(HL) ;856c 7e ~ + LD (laa89h),A ;856d 32 89 aa 2 . . + CALL sub_a718h ;8570 cd 18 a7 . . . + CALL FAST_RAM_FN.OFF_EI ;8573 cd 77 a2 . w . +.set_byte+1: LD A,0 ;8576 3e 00 > . + DI ;8578 f3 . + CALL sub_97fah ;8579 cd fa 97 . . . + CALL sub_9ae4h ;857c cd e4 9a . . . + CALL sub_9c5bh ;857f cd 5b 9c . [ . + CALL sub_a0cch ;8582 cd cc a0 . . . + CALL FAST_RAM_FN.ON_DI ;8585 cd 73 a2 . s . + LD A,(03f06h) ;8588 3a 06 3f : . ? + LD (l85d0h.set_byte3),A ;858b 32 d8 85 2 . . + LD A,(03f07h) ;858e 3a 07 3f : . ? + LD (l85d0h.set_byte4),A ;8591 32 dd 85 2 . . + CALL FAST_RAM_FN.OFF_DI ;8594 cd 7c a2 . | . + DI ;8597 f3 . + XOR A ;8598 af . + LD (l8183h.set_byte),A ;8599 32 87 81 2 . . + LD (l8183h.set_byte2),A ;859c 32 a1 81 2 . . + LD A,0c1h ;859f 3e c1 > . + OUT (PORT_Y),A ;85a1 d3 89 . . + LD SP,#C000 ;85a3 31 00 c0 1 . . + CALL GENERATE_PALETTE ;85a6 cd 26 93 . & . + EI ;85a9 fb . + HALT ;85aa 76 v + JR l85cch ;85ab 18 1f . . +l85adh: + DI ;85ad f3 . + XOR A ;85ae af . + LD (l8183h.set_byte),A ;85af 32 87 81 2 . . + LD (l8183h.set_byte2),A ;85b2 32 a1 81 2 . . + LD A,0c1h ;85b5 3e c1 > . + OUT (PORT_Y),A ;85b7 d3 89 . . + LD SP,0c000h ;85b9 31 00 c0 1 . . + CALL GENERATE_PALETTE ;85bc cd 26 93 . & . + EI ;85bf fb . + HALT ;85c0 76 v + LD A,(l85d0h.set_byte2) ;85c1 3a 4f 86 : O . + OR A ;85c4 b7 . + JP Z,l8dd7h ;85c5 ca d7 8d . . . + DEC A ;85c8 3d = + LD (l85d0h.set_byte2),A ;85c9 32 4f 86 2 O . +l85cch: + LD HL,lad00h ;85cc 21 00 ad ! . . + LD A,L ;85cf 7d } +l85d0h: LD (HL),A ;85d0 77 w + INC L ;85d1 2c , + JR NZ,l85d0h ;85d2 20 fc . + CALL FAST_RAM_FN.ON_DI ;85d4 cd 73 a2 . s . +.set_byte3+1: LD A,0 ;85d7 3e 00 > . + LD (03f06h),A ;85d9 32 06 3f 2 . ? +.set_byte4+1: LD A,0 ;85dc 3e 00 > . + LD (03f07h),A ;85de 32 07 3f 2 . ? + CALL FAST_RAM_FN.OFF_DI ;85e1 cd 7c a2 . | . + CALL sub_8bdbh ;85e4 cd db 8b . . . + CALL sub_94a2h ;85e7 cd a2 94 . . . + CALL sub_934dh ;85ea cd 4d 93 . M . + CALL sub_94bfh ;85ed cd bf 94 . . . + CALL sub_9542h ;85f0 cd 42 95 . B . + CALL sub_95b0h ;85f3 cd b0 95 . . . + CALL sub_95bah ;85f6 cd ba 95 . . . + CALL sub_9705h ;85f9 cd 05 97 . . . + CALL FAST_RAM_FN.ON_DI ;85fc cd 73 a2 . s . + XOR A ;85ff af . + LD (03f35h),A ;8600 32 35 3f 2 5 ? + LD (03f04h),A ;8603 32 04 3f 2 . ? + LD (03f10h),A ;8606 32 10 3f 2 . ? + LD (03f08h),A ;8609 32 08 3f 2 . ? + LD (03880h),A ;860c 32 80 38 2 . 8 + LD (03980h),A ;860f 32 80 39 2 . 9 + LD (03f09h),A ;8612 32 09 3f 2 . ? + LD (03f15h),A ;8615 32 15 3f 2 . ? + LD (03f01h),A ;8618 32 01 3f 2 . ? + LD (03f16h),A ;861b 32 16 3f 2 . ? + LD (03f3eh),A ;861e 32 3e 3f 2 > ? + LD A,(03f3bh) ;8621 3a 3b 3f : ; ? + LD (03f3ah),A ;8624 32 3a 3f 2 : ? + CALL FAST_RAM_FN.OFF_EI ;8627 cd 77 a2 . w . + XOR A ;862a af . + LD (sub_875eh.patch),A ;862b 32 5f 87 2 _ . + CALL FAST_RAM_FN.ON_DI ;862e cd 73 a2 . s . + LD HL,(03f2dh) ;8631 2a 2d 3f * - ? + LD (sub_96bbh+1),HL ;8634 22 bc 96 " . . + LD (l96c7h+1),HL ;8637 22 c8 96 " . . + LD A,(03f2ch) ;863a 3a 2c 3f : , ? + LD (l96c7h.set_byte),A ;863d 32 d4 96 2 . . + LD HL,l9657h ;8640 21 57 96 ! W . + CALL sub_96ebh ;8643 cd eb 96 . . . +.set_byte5+1: LD A,0 ;8646 3e 00 > . + LD HL,l963dh ;8648 21 3d 96 ! = . + CALL sub_96ebh ;864b cd eb 96 . . . +.set_byte2+1: LD A,0 ;864e 3e 00 > . + LD HL,l964ah ;8650 21 4a 96 ! J . + CALL sub_96ebh ;8653 cd eb 96 . . . +.set_byte+1: LD A,0 ;8656 3e 00 > . + LD HL,l9664h ;8658 21 64 96 ! d . + CALL sub_96ebh ;865b cd eb 96 . . . + DI ;865e f3 . + CALL FAST_RAM_FN.ON_DI ;865f cd 73 a2 . s . + CALL 00166h ;8662 cd 66 01 . f . + CALL 00163h ;8665 cd 63 01 . c . + CALL 00169h ;8668 cd 69 01 . i . + CALL FAST_RAM_FN.OFF_EI ;866b cd 77 a2 . w . + LD A,07ch ;866e 3e 7c > | + LD HL,0c000h ;8670 21 00 c0 ! . . + LD IY,00a80h ;8673 fd 21 80 0a . ! . . +l8677h: + CALL sub_91bbh ;8677 cd bb 91 . . . + LD C,A ;867a 4f O + INC IYL ;867b fd 2c . , + LD A,0f6h ;867d 3e f6 > . + CP IYL ;867f fd bd . . + LD A,C ;8681 79 y + JR NZ,l8677h ;8682 20 f3 . + CALL sub_875eh ;8684 cd 5e 87 . ^ . + CALL sub_95dfh ;8687 cd df 95 . . . + CALL FAST_RAM_FN.ON_DI ;868a cd 73 a2 . s . + LD A,001h ;868d 3e 01 > . + LD (03f08h),A ;868f 32 08 3f 2 . ? + LD (03f04h),A ;8692 32 04 3f 2 . ? + CALL FAST_RAM_FN.OFF_EI ;8695 cd 77 a2 . w . + CALL sub_875eh ;8698 cd 5e 87 . ^ . + CALL sub_95dfh ;869b cd df 95 . . . + LD HL,0c000h ;869e 21 00 c0 ! . . + CALL sub_8c75h ;86a1 cd 75 8c . u . + CALL sub_8922h ;86a4 cd 22 89 . " . + DI ;86a7 f3 . + CALL FAST_RAM_FN.ON_DI ;86a8 cd 73 a2 . s . + CALL 00166h ;86ab cd 66 01 . f . + CALL 00163h ;86ae cd 63 01 . c . + CALL FAST_RAM_FN.OFF_EI ;86b1 cd 77 a2 . w . +l86b4h: + LD A,0c1h ;86b4 3e c1 > . + OUT (PORT_Y),A ;86b6 d3 89 . . +l86b8h: + LD SP,0c000h ;86b8 31 00 c0 1 . . + CALL FAST_RAM_FN.ON_DI ;86bb cd 73 a2 . s . + LD A,(03f15h) ;86be 3a 15 3f : . ? + CP 004h ;86c1 fe 04 . . + JR Z,l86dah ;86c3 28 15 ( . + CP 006h ;86c5 fe 06 . . + JR Z,l870ch ;86c7 28 43 ( C + CP 005h ;86c9 fe 05 . . + JR Z,l8717h ;86cb 28 4a ( J + CP 007h ;86cd fe 07 . . + JP Z,l8735h ;86cf ca 35 87 . 5 . + CALL FAST_RAM_FN.OFF_EI ;86d2 cd 77 a2 . w . +l86d5h: + CALL sub_875eh ;86d5 cd 5e 87 . ^ . +l86d8h: + JR l86b4h ;86d8 18 da . . +l86dah: + XOR A ;86da af . + LD (03f16h),A ;86db 32 16 3f 2 . ? + LD A,(03f06h) ;86de 3a 06 3f : . ? + LD C,A ;86e1 4f O + LD IX,03c01h ;86e2 dd 21 01 3c . ! . < + LD A,(ix+009h) ;86e6 dd 7e 09 . ~ . + BIT 0,A ;86e9 cb 47 . G + JR Z,l8703h ;86eb 28 16 ( . + LD A,(ix+00bh) ;86ed dd 7e 0b . ~ . + SUB C ;86f0 91 . + CP 006h ;86f1 fe 06 . . + JR Z,l8703h ;86f3 28 0e ( . + CALL sub_9725h ;86f5 cd 25 97 . % . + JR Z,l8703h ;86f8 28 09 ( . +l86fah: + XOR A ;86fa af . + LD (03f15h),A ;86fb 32 15 3f 2 . ? + CALL FAST_RAM_FN.OFF_DI ;86fe cd 7c a2 . | . + JR l86d8h ;8701 18 d5 . . +l8703h: + XOR A ;8703 af . + LD (03f15h),A ;8704 32 15 3f 2 . ? + CALL FAST_RAM_FN.OFF_DI ;8707 cd 7c a2 . | . + JR l86d5h ;870a 18 c9 . . +l870ch: + XOR A ;870c af . + LD (03f16h),A ;870d 32 16 3f 2 . ? + CALL sub_9774h ;8710 cd 74 97 . t . + JR Z,l8703h ;8713 28 ee ( . + JR l86fah ;8715 18 e3 . . +l8717h: + XOR A ;8717 af . + LD (03f16h),A ;8718 32 16 3f 2 . ? + LD A,(03f07h) ;871b 3a 07 3f : . ? + LD C,A ;871e 4f O + LD IX,03c01h ;871f dd 21 01 3c . ! . < + LD A,(ix+009h) ;8723 dd 7e 09 . ~ . + BIT 2,A ;8726 cb 57 . W + JR Z,l8703h ;8728 28 d9 ( . + LD A,(ix+00ah) ;872a dd 7e 0a . ~ . + SUB C ;872d 91 . + CALL sub_9790h ;872e cd 90 97 . . . + JR Z,l8703h ;8731 28 d0 ( . + JR l86fah ;8733 18 c5 . . +l8735h: + XOR A ;8735 af . + LD (03f16h),A ;8736 32 16 3f 2 . ? + LD A,(03f07h) ;8739 3a 07 3f : . ? + LD C,A ;873c 4f O + LD IX,03c01h ;873d dd 21 01 3c . ! . < + LD A,(ix+009h) ;8741 dd 7e 09 . ~ . + BIT 3,A ;8744 cb 5f . _ + JR Z,l8703h ;8746 28 bb ( . + LD A,(ix+00ah) ;8748 dd 7e 0a . ~ . + SUB C ;874b 91 . + CP 005h ;874c fe 05 . . + JR Z,l8703h ;874e 28 b3 ( . + CALL sub_97deh ;8750 cd de 97 . . . + JR Z,l8703h ;8753 28 ae ( . + JP l86fah ;8755 c3 fa 86 . . . + JP SetUp_RESET_EXIT ;8758 c3 63 83 . c . +l875bh: + JP l875bh ;875b c3 5b 87 . [ . +sub_875eh: +.patch+1: LD A,000h ;875e 3e 00 > . + OR A ;8760 b7 . + JR NZ,l8797h ;8761 20 34 4 + CALL FAST_RAM_FN.ON_EI ;8763 cd 6e a2 . n . + CALL 00103h ;8766 cd 03 01 . . . + CALL 00106h ;8769 cd 06 01 . . . + CALL FAST_RAM_FN.OFF_EI ;876c cd 77 a2 . w . + CALL sub_9712h ;876f cd 12 97 . . . + CALL FAST_RAM_FN.ON_EI ;8772 cd 6e a2 . n . + CALL 00109h ;8775 cd 09 01 . . . + CALL 0010ch ;8778 cd 0c 01 . . . + CALL FAST_RAM_FN.OFF_EI ;877b cd 77 a2 . w . + CALL FAST_RAM_FN.ON_EI ;877e cd 6e a2 . n . + CALL 0010fh ;8781 cd 0f 01 . . . + DI ;8784 f3 . + CALL 00163h ;8785 cd 63 01 . c . + CALL 0016fh ;8788 cd 6f 01 . o . +l878bh: + CALL 00175h ;878b cd 75 01 . u . + JR NZ,l878bh ;878e 20 fb . + EI ;8790 fb . + CALL 00112h ;8791 cd 12 01 . . . + CALL FAST_RAM_FN.OFF_EI ;8794 cd 77 a2 . w . +l8797h: + XOR A ;8797 af . + LD (sub_875eh.patch),A ;8798 32 5f 87 2 _ . + CALL sub_8b22h ;879b cd 22 8b . " . + CALL FAST_RAM_FN.ON_EI ;879e cd 6e a2 . n . + CALL 00115h ;87a1 cd 15 01 . . . + CALL 00118h ;87a4 cd 18 01 . . . + CALL 0011bh ;87a7 cd 1b 01 . . . + CALL sub_93f1h ;87aa cd f1 93 . . . + CALL 0011eh ;87ad cd 1e 01 . . . + CALL 0010ch ;87b0 cd 0c 01 . . . + CALL 00121h ;87b3 cd 21 01 . ! . + CALL 00124h ;87b6 cd 24 01 . $ . + CALL 00127h ;87b9 cd 27 01 . ' . + LD A,(03f04h) ;87bc 3a 04 3f : . ? + OR A ;87bf b7 . + JR Z,l87cbh ;87c0 28 09 ( . + LD A,(03f10h) ;87c2 3a 10 3f : . ? + OR A ;87c5 b7 . + JR NZ,l87cbh ;87c6 20 03 . + CALL 0010fh ;87c8 cd 0f 01 . . . +l87cbh: + CALL 0012ah ;87cb cd 2a 01 . * . + CALL 0012dh ;87ce cd 2d 01 . - . + CALL 00130h ;87d1 cd 30 01 . 0 . + CALL 00133h ;87d4 cd 33 01 . 3 . + CALL 00136h ;87d7 cd 36 01 . 6 . + DI ;87da f3 . + CALL 00172h ;87db cd 72 01 . r . +l87deh: + CALL 00175h ;87de cd 75 01 . u . + JR NZ,l87deh ;87e1 20 fb . + CALL FAST_RAM_FN.OFF_EI ;87e3 cd 77 a2 . w . + CALL sub_a4c7h ;87e6 cd c7 a4 . . . + DI ;87e9 f3 . + CALL sub_8ca5h ;87ea cd a5 8c . . . + CALL FAST_RAM_FN.ON_DI ;87ed cd 73 a2 . s . + CALL 00139h ;87f0 cd 39 01 . 9 . + CALL FAST_RAM_FN.OFF_EI ;87f3 cd 77 a2 . w . + CALL sub_96bbh ;87f6 cd bb 96 . . . + CALL sub_9607h ;87f9 cd 07 96 . . . + XOR A ;87fc af . + LD (la280h),A ;87fd 32 80 a2 2 . . + EI ;8800 fb . +l8801h: + LD A,(la280h) ;8801 3a 80 a2 : . . + OR A ;8804 b7 . + JR Z,l8801h ;8805 28 fa ( . + LD A,(l96c7h.set_byte) ;8807 3a d4 96 : . . + OR A ;880a b7 . + JP Z,l8995h ;880b ca 95 89 . . . + CALL FAST_RAM_FN.ON_EI ;880e cd 6e a2 . n . + LD A,(03f00h) ;8811 3a 00 3f : . ? + CP 007h ;8814 fe 07 . . + PUSH AF ;8816 f5 . + CALL FAST_RAM_FN.OFF_EI ;8817 cd 77 a2 . w . + POP AF ;881a f1 . + JR NZ,l883eh ;881b 20 21 ! + LD A,(l85d0h.set_byte5) ;881d 3a 47 86 : G . + OR A ;8820 b7 . + JR NZ,l883eh ;8821 20 1b . + CALL FAST_RAM_FN.ON_EI ;8823 cd 6e a2 . n . + LD A,(03f3ah) ;8826 3a 3a 3f : : ? + CP 0ffh ;8829 fe ff . . + PUSH AF ;882b f5 . + CALL FAST_RAM_FN.OFF_EI ;882c cd 77 a2 . w . + POP AF ;882f f1 . + JP Z,l8d2dh ;8830 ca 2d 8d . - . + OR A ;8833 b7 . + JR NZ,l883eh ;8834 20 08 . + CALL FAST_RAM_FN.ON_EI ;8836 cd 6e a2 . n . + LD A,001h ;8839 3e 01 > . + LD (03f3ah),A ;883b 32 3a 3f 2 : ? +l883eh: + CALL FAST_RAM_FN.ON_EI ;883e cd 6e a2 . n . + CALL 0013fh ;8841 cd 3f 01 . ? . + CALL 00142h ;8844 cd 42 01 . B . + DI ;8847 f3 . + CALL 00160h ;8848 cd 60 01 . ` . + LD A,(03f3ah) ;884b 3a 3a 3f : : ? + CP 002h ;884e fe 02 . . + JP Z,l8a0ch ;8850 ca 0c 8a . . . + CP 004h ;8853 fe 04 . . + JP Z,l8a90h ;8855 ca 90 8a . . . + LD A,(03f04h) ;8858 3a 04 3f : . ? + OR A ;885b b7 . + JP Z,l8c32h ;885c ca 32 8c . 2 . + LD A,(03f10h) ;885f 3a 10 3f : . ? + OR A ;8862 b7 . + JP Z,l8c32h ;8863 ca 32 8c . 2 . + LD HL,(03f11h) ;8866 2a 11 3f * . ? + LD A,H ;8869 7c | + OR L ;886a b5 . + JR Z,l8876h ;886b 28 09 ( . + DEC HL ;886d 2b + + LD (03f11h),HL ;886e 22 11 3f " . ? + LD A,H ;8871 7c | + OR L ;8872 b5 . + JP NZ,l8c32h ;8873 c2 32 8c . 2 . +l8876h: + EI ;8876 fb . + CALL FAST_RAM_FN.ON_DI ;8877 cd 73 a2 . s . + CALL 0016ch ;887a cd 6c 01 . l . + LD A,(03f35h) ;887d 3a 35 3f : 5 ? + OR A ;8880 b7 . + JR Z,l88b9h ;8881 28 36 ( 6 + CP 001h ;8883 fe 01 . . + JR Z,l88a2h ;8885 28 1b ( . + CP 002h ;8887 fe 02 . . + JR NZ,l88b9h ;8889 20 2e . + CALL 00169h ;888b cd 69 01 . i . + LD A,07fh ;888e 3e 7f > . + LD HL,0d5beh ;8890 21 be d5 ! . . + LD DE,000e2h ;8893 11 e2 00 . . . + CALL 00181h ;8896 cd 81 01 . . . + XOR A ;8899 af . + LD (l8183h.set_byte2),A ;889a 32 a1 81 2 . . + LD A,002h ;889d 3e 02 > . + LD (l8183h.set_byte),A ;889f 32 87 81 2 . . +l88a2h: + CALL 00169h ;88a2 cd 69 01 . i . + LD A,081h ;88a5 3e 81 > . + LD HL,0c78ah ;88a7 21 8a c7 ! . . + LD DE,00168h ;88aa 11 68 01 . h . + CALL 00181h ;88ad cd 81 01 . . . + XOR A ;88b0 af . + LD (l8183h.set_byte2),A ;88b1 32 a1 81 2 . . + LD A,002h ;88b4 3e 02 > . + LD (l8183h.set_byte),A ;88b6 32 87 81 2 . . +l88b9h: + CALL FAST_RAM_FN.OFF_EI ;88b9 cd 77 a2 . w . +l88bch: + LD SP,0c000h ;88bc 31 00 c0 1 . . + CALL FAST_RAM_FN.OFF_EI ;88bf cd 77 a2 . w . + CALL sub_9712h ;88c2 cd 12 97 . . . + CALL FAST_RAM_FN.ON_DI ;88c5 cd 73 a2 . s . + CALL 0011bh ;88c8 cd 1b 01 . . . + EI ;88cb fb . + CALL sub_93f1h ;88cc cd f1 93 . . . + CALL 00124h ;88cf cd 24 01 . $ . + CALL 0012ah ;88d2 cd 2a 01 . * . + CALL 00130h ;88d5 cd 30 01 . 0 . + CALL 00133h ;88d8 cd 33 01 . 3 . + CALL 00136h ;88db cd 36 01 . 6 . + CALL FAST_RAM_FN.OFF_EI ;88de cd 77 a2 . w . + CALL sub_a4c7h ;88e1 cd c7 a4 . . . + CALL sub_8ca5h ;88e4 cd a5 8c . . . + CALL FAST_RAM_FN.ON_DI ;88e7 cd 73 a2 . s . + CALL 00139h ;88ea cd 39 01 . 9 . + CALL FAST_RAM_FN.OFF_EI ;88ed cd 77 a2 . w . + CALL sub_9607h ;88f0 cd 07 96 . . . + EI ;88f3 fb . + HALT ;88f4 76 v + CALL FAST_RAM_FN.ON_DI ;88f5 cd 73 a2 . s . + CALL 0013fh ;88f8 cd 3f 01 . ? . + CALL 00142h ;88fb cd 42 01 . B . + LD HL,(03f13h) ;88fe 2a 13 3f * . ? + DEC HL ;8901 2b + + LD (03f13h),HL ;8902 22 13 3f " . ? + CALL FAST_RAM_FN.OFF_EI ;8905 cd 77 a2 . w . + LD A,H ;8908 7c | + OR L ;8909 b5 . + JR NZ,l88bch ;890a 20 b0 . + CALL FAST_RAM_FN.ON_DI ;890c cd 73 a2 . s . + CALL 0016ch ;890f cd 6c 01 . l . + XOR A ;8912 af . + LD (l8183h.set_byte2),A ;8913 32 a1 81 2 . . + LD (l8183h.set_byte),A ;8916 32 87 81 2 . . + CALL FAST_RAM_FN.OFF_EI ;8919 cd 77 a2 . w . + CALL sub_8c46h ;891c cd 46 8c . F . + JP l85adh ;891f c3 ad 85 . . . +sub_8922h: + CALL FAST_RAM_FN.ON_DI ;8922 cd 73 a2 . s . + CALL 0016ch ;8925 cd 6c 01 . l . + LD A,001h ;8928 3e 01 > . + LD (03f08h),A ;892a 32 08 3f 2 . ? + LD (03f04h),A ;892d 32 04 3f 2 . ? + LD HL,08b97h ;8930 21 97 8b ! . . + CALL 0014bh ;8933 cd 4b 01 . K . + LD A,02dh ;8936 3e 2d > - +l8938h: + PUSH AF ;8938 f5 . + CALL 00103h ;8939 cd 03 01 . . . + CALL 00106h ;893c cd 06 01 . . . + CALL FAST_RAM_FN.OFF_EI ;893f cd 77 a2 . w . + CALL sub_9712h ;8942 cd 12 97 . . . + CALL FAST_RAM_FN.ON_DI ;8945 cd 73 a2 . s . + CALL 00115h ;8948 cd 15 01 . . . + CALL 00118h ;894b cd 18 01 . . . + CALL 0011bh ;894e cd 1b 01 . . . + CALL sub_93f1h ;8951 cd f1 93 . . . + CALL 0012ah ;8954 cd 2a 01 . * . + CALL 00130h ;8957 cd 30 01 . 0 . + CALL 00133h ;895a cd 33 01 . 3 . + CALL 00136h ;895d cd 36 01 . 6 . + CALL FAST_RAM_FN.OFF_EI ;8960 cd 77 a2 . w . + CALL sub_a4c7h ;8963 cd c7 a4 . . . + CALL sub_8ca5h ;8966 cd a5 8c . . . + CALL FAST_RAM_FN.ON_DI ;8969 cd 73 a2 . s . + CALL 00139h ;896c cd 39 01 . 9 . + CALL FAST_RAM_FN.OFF_EI ;896f cd 77 a2 . w . + CALL sub_9607h ;8972 cd 07 96 . . . + EI ;8975 fb . + HALT ;8976 76 v + CALL FAST_RAM_FN.ON_DI ;8977 cd 73 a2 . s . + CALL 0013fh ;897a cd 3f 01 . ? . + CALL 00142h ;897d cd 42 01 . B . + POP AF ;8980 f1 . + DEC A ;8981 3d = + JR NZ,l8938h ;8982 20 b4 . + CALL 00145h ;8984 cd 45 01 . E . + XOR A ;8987 af . + LD (03f08h),A ;8988 32 08 3f 2 . ? + LD (03f04h),A ;898b 32 04 3f 2 . ? + CALL 0016ch ;898e cd 6c 01 . l . + CALL FAST_RAM_FN.OFF_EI ;8991 cd 77 a2 . w . + RET ;8994 c9 . +l8995h: + LD SP,0c000h ;8995 31 00 c0 1 . . + CALL FAST_RAM_FN.ON_DI ;8998 cd 73 a2 . s . + CALL 0016ch ;899b cd 6c 01 . l . + EI ;899e fb . + LD A,001h ;899f 3e 01 > . + LD (03f08h),A ;89a1 32 08 3f 2 . ? + LD (03c00h),A ;89a4 32 00 3c 2 . < + CALL 00148h ;89a7 cd 48 01 . H . + CALL 00145h ;89aa cd 45 01 . E . + LD HL,l8b7dh ;89ad 21 7d 8b ! } . + CALL 0014bh ;89b0 cd 4b 01 . K . + CALL FAST_RAM_FN.OFF_EI ;89b3 cd 77 a2 . w . + LD A,07bh ;89b6 3e 7b > { +l89b8h: + PUSH AF ;89b8 f5 . + CALL FAST_RAM_FN.OFF_EI ;89b9 cd 77 a2 . w . + CALL sub_9712h ;89bc cd 12 97 . . . + CALL FAST_RAM_FN.ON_EI ;89bf cd 6e a2 . n . + CALL 0011bh ;89c2 cd 1b 01 . . . + CALL sub_93f1h ;89c5 cd f1 93 . . . + CALL 00130h ;89c8 cd 30 01 . 0 . + CALL 00133h ;89cb cd 33 01 . 3 . + CALL 00136h ;89ce cd 36 01 . 6 . + CALL sub_a4c7h ;89d1 cd c7 a4 . . . + CALL sub_8ca5h ;89d4 cd a5 8c . . . + CALL FAST_RAM_FN.ON_EI ;89d7 cd 6e a2 . n . + CALL 00139h ;89da cd 39 01 . 9 . + CALL FAST_RAM_FN.OFF_EI ;89dd cd 77 a2 . w . + CALL sub_9607h ;89e0 cd 07 96 . . . + EI ;89e3 fb . + HALT ;89e4 76 v + HALT ;89e5 76 v + CALL FAST_RAM_FN.ON_DI ;89e6 cd 73 a2 . s . + CALL 0013fh ;89e9 cd 3f 01 . ? . + CALL 00142h ;89ec cd 42 01 . B . + CALL FAST_RAM_FN.OFF_EI ;89ef cd 77 a2 . w . + POP AF ;89f2 f1 . + DEC A ;89f3 3d = + JR NZ,l89b8h ;89f4 20 c2 . + CALL FAST_RAM_FN.ON_DI ;89f6 cd 73 a2 . s . + XOR A ;89f9 af . + LD (l8183h.set_byte2),A ;89fa 32 a1 81 2 . . + LD (l8183h.set_byte),A ;89fd 32 87 81 2 . . + CALL 0016ch ;8a00 cd 6c 01 . l . + CALL FAST_RAM_FN.OFF_EI ;8a03 cd 77 a2 . w . + CALL sub_8c46h ;8a06 cd 46 8c . F . + JP l85adh ;8a09 c3 ad 85 . . . +l8a0ch: + CALL FAST_RAM_FN.ON_DI ;8a0c cd 73 a2 . s . + LD A,003h ;8a0f 3e 03 > . + LD (03f3ah),A ;8a11 32 3a 3f 2 : ? + CALL 0016ch ;8a14 cd 6c 01 . l . + CALL 00166h ;8a17 cd 66 01 . f . + LD A,001h ;8a1a 3e 01 > . + LD (03f08h),A ;8a1c 32 08 3f 2 . ? + LD (03f04h),A ;8a1f 32 04 3f 2 . ? + CALL 00145h ;8a22 cd 45 01 . E . + LD HL,08ba9h ;8a25 21 a9 8b ! . . + CALL 0014bh ;8a28 cd 4b 01 . K . + LD A,037h ;8a2b 3e 37 > 7 +l8a2dh: + PUSH AF ;8a2d f5 . + CALL 00103h ;8a2e cd 03 01 . . . + CALL 00106h ;8a31 cd 06 01 . . . + CALL FAST_RAM_FN.OFF_EI ;8a34 cd 77 a2 . w . + CALL sub_9712h ;8a37 cd 12 97 . . . + CALL FAST_RAM_FN.ON_DI ;8a3a cd 73 a2 . s . + CALL 00115h ;8a3d cd 15 01 . . . + CALL 00118h ;8a40 cd 18 01 . . . + CALL 0011bh ;8a43 cd 1b 01 . . . + CALL sub_93f1h ;8a46 cd f1 93 . . . + CALL 0012ah ;8a49 cd 2a 01 . * . + CALL 00130h ;8a4c cd 30 01 . 0 . + CALL 00133h ;8a4f cd 33 01 . 3 . + CALL 00136h ;8a52 cd 36 01 . 6 . + CALL FAST_RAM_FN.OFF_EI ;8a55 cd 77 a2 . w . + CALL sub_a4c7h ;8a58 cd c7 a4 . . . + CALL sub_8ca5h ;8a5b cd a5 8c . . . + CALL FAST_RAM_FN.ON_DI ;8a5e cd 73 a2 . s . + CALL 00139h ;8a61 cd 39 01 . 9 . + CALL FAST_RAM_FN.OFF_EI ;8a64 cd 77 a2 . w . + CALL sub_9607h ;8a67 cd 07 96 . . . + EI ;8a6a fb . + HALT ;8a6b 76 v + HALT ;8a6c 76 v + CALL FAST_RAM_FN.ON_DI ;8a6d cd 73 a2 . s . + CALL 0013fh ;8a70 cd 3f 01 . ? . + CALL 00142h ;8a73 cd 42 01 . B . + POP AF ;8a76 f1 . + DEC A ;8a77 3d = + JR NZ,l8a2dh ;8a78 20 b3 . + CALL 00145h ;8a7a cd 45 01 . E . + XOR A ;8a7d af . + LD (03f08h),A ;8a7e 32 08 3f 2 . ? + LD (03f04h),A ;8a81 32 04 3f 2 . ? + CALL 0016ch ;8a84 cd 6c 01 . l . + CALL 00166h ;8a87 cd 66 01 . f . + CALL FAST_RAM_FN.OFF_EI ;8a8a cd 77 a2 . w . + JP l86b8h ;8a8d c3 b8 86 . . . +l8a90h: + LD SP,0c000h ;8a90 31 00 c0 1 . . + CALL FAST_RAM_FN.ON_DI ;8a93 cd 73 a2 . s . + LD HL,(03f3ch) ;8a96 2a 3c 3f * < ? + LD A,(03e08h) ;8a99 3a 08 3e : . > + OUT (SLOT3),A ;8a9c d3 e2 . . + XOR A ;8a9e af . + LD (HL),A ;8a9f 77 w + INC L ;8aa0 2c , + LD (HL),A ;8aa1 77 w + INC L ;8aa2 2c , + LD (HL),A ;8aa3 77 w + DEC H ;8aa4 25 % + LD (HL),A ;8aa5 77 w + DEC L ;8aa6 2d - + LD (HL),A ;8aa7 77 w + DEC L ;8aa8 2d - + LD (HL),A ;8aa9 77 w + CALL 0016ch ;8aaa cd 6c 01 . l . + CALL 00166h ;8aad cd 66 01 . f . + EI ;8ab0 fb . + LD A,001h ;8ab1 3e 01 > . + LD (03f08h),A ;8ab3 32 08 3f 2 . ? + LD (03c00h),A ;8ab6 32 00 3c 2 . < + CALL 00148h ;8ab9 cd 48 01 . H . + CALL 00145h ;8abc cd 45 01 . E . + LD HL,08bb7h ;8abf 21 b7 8b ! . . + CALL 0014bh ;8ac2 cd 4b 01 . K . + CALL FAST_RAM_FN.OFF_EI ;8ac5 cd 77 a2 . w . + LD A,039h ;8ac8 3e 39 > 9 +l8acah: + PUSH AF ;8aca f5 . + CALL FAST_RAM_FN.OFF_EI ;8acb cd 77 a2 . w . + CALL sub_9712h ;8ace cd 12 97 . . . + CALL FAST_RAM_FN.ON_EI ;8ad1 cd 6e a2 . n . + CALL 0011bh ;8ad4 cd 1b 01 . . . + CALL sub_93f1h ;8ad7 cd f1 93 . . . + CALL 00130h ;8ada cd 30 01 . 0 . + CALL 00133h ;8add cd 33 01 . 3 . + CALL 00136h ;8ae0 cd 36 01 . 6 . + CALL sub_a4c7h ;8ae3 cd c7 a4 . . . + CALL sub_8ca5h ;8ae6 cd a5 8c . . . + CALL FAST_RAM_FN.ON_EI ;8ae9 cd 6e a2 . n . + CALL 00139h ;8aec cd 39 01 . 9 . + CALL FAST_RAM_FN.OFF_EI ;8aef cd 77 a2 . w . + CALL sub_9607h ;8af2 cd 07 96 . . . + EI ;8af5 fb . + HALT ;8af6 76 v + HALT ;8af7 76 v + HALT ;8af8 76 v + HALT ;8af9 76 v + HALT ;8afa 76 v + HALT ;8afb 76 v + CALL FAST_RAM_FN.ON_DI ;8afc cd 73 a2 . s . + CALL 0013fh ;8aff cd 3f 01 . ? . + CALL 00142h ;8b02 cd 42 01 . B . + CALL FAST_RAM_FN.OFF_EI ;8b05 cd 77 a2 . w . + POP AF ;8b08 f1 . + DEC A ;8b09 3d = + JR NZ,l8acah ;8b0a 20 be . + CALL FAST_RAM_FN.ON_DI ;8b0c cd 73 a2 . s . + XOR A ;8b0f af . + LD (l8183h.set_byte2),A ;8b10 32 a1 81 2 . . + LD (l8183h.set_byte),A ;8b13 32 87 81 2 . . + CALL 0016ch ;8b16 cd 6c 01 . l . + CALL 00166h ;8b19 cd 66 01 . f . + CALL FAST_RAM_FN.OFF_EI ;8b1c cd 77 a2 . w . + JP l8d2dh ;8b1f c3 2d 8d . - . +sub_8b22h: + CALL FAST_RAM_FN.ON_EI ;8b22 cd 6e a2 . n . + LD A,(03f00h) ;8b25 3a 00 3f : . ? + OR A ;8b28 b7 . + JR NZ,l8b70h ;8b29 20 45 E + LD A,(03e08h) ;8b2b 3a 08 3e : . > + OUT (SLOT3),A ;8b2e d3 e2 . . + LD A,(03f3eh) ;8b30 3a 3e 3f : > ? + OR A ;8b33 b7 . + JR Z,l8b70h ;8b34 28 3a ( : + CP 001h ;8b36 fe 01 . . + JR Z,l8b70h ;8b38 28 36 ( 6 + CP 002h ;8b3a fe 02 . . + JR NZ,l8b4eh ;8b3c 20 10 . + LD HL,(03f3fh) ;8b3e 2a 3f 3f * ? ? + INC L ;8b41 2c , + LD (HL),001h ;8b42 36 01 6 . + INC L ;8b44 2c , + LD (HL),000h ;8b45 36 00 6 . + LD A,003h ;8b47 3e 03 > . + LD (03f3eh),A ;8b49 32 3e 3f 2 > ? + JR l8b70h ;8b4c 18 22 . " +l8b4eh: + LD HL,(03f3fh) ;8b4e 2a 3f 3f * ? ? + XOR A ;8b51 af . + LD (HL),A ;8b52 77 w + INC L ;8b53 2c , + LD (HL),A ;8b54 77 w + INC L ;8b55 2c , + LD (HL),A ;8b56 77 w + INC L ;8b57 2c , + LD (HL),A ;8b58 77 w + LD (03f3eh),A ;8b59 32 3e 3f 2 > ? + LD A,(l96c7h.set_byte) ;8b5c 3a d4 96 : . . + ADD A,028h ;8b5f c6 28 . ( + CP 063h ;8b61 fe 63 . c + JR C,l8b67h ;8b63 38 02 8 . + LD A,063h ;8b65 3e 63 > c +l8b67h: + LD (l96c7h.set_byte),A ;8b67 32 d4 96 2 . . + LD HL,l9657h ;8b6a 21 57 96 ! W . + CALL sub_96ebh ;8b6d cd eb 96 . . . +l8b70h: + JP FAST_RAM_FN.OFF_EI ;8b70 c3 77 a2 . w . + CALL FAST_RAM_FN.OFF_DI ;8b73 cd 7c a2 . | . + EI ;8b76 fb . + CALL sub_8c46h ;8b77 cd 46 8c . F . + JP SetUp_RESET_EXIT ;8b7a c3 63 83 . c . +l8b7dh: + LD B,000h ;8b7d 06 00 . . + INC C ;8b7f 0c . + NOP ;8b80 00 . + NOP ;8b81 00 . + NOP ;8b82 00 . + DEC C ;8b83 0d . + NOP ;8b84 00 . + LD BC,00e00h ;8b85 01 00 0e . . . + NOP ;8b88 00 . + NOP ;8b89 00 . + RST 38h ;8b8a ff . + RRCA ;8b8b 0f . + NOP ;8b8c 00 . + RST 38h ;8b8d ff . + RST 38h ;8b8e ff . + LD DE,0ff00h ;8b8f 11 00 ff . . . + NOP ;8b92 00 . + DJNZ l8b95h ;8b93 10 00 . . +l8b95h: + NOP ;8b95 00 . + LD BC,00004h ;8b96 01 04 00 . . . + EX AF,AF' ;8b99 08 . + NOP ;8b9a 00 . + NOP ;8b9b 00 . + NOP ;8b9c 00 . + ADD HL,BC ;8b9d 09 . + NOP ;8b9e 00 . + LD BC,00a00h ;8b9f 01 00 0a . . . + NOP ;8ba2 00 . + NOP ;8ba3 00 . + RST 38h ;8ba4 ff . + DEC BC ;8ba5 0b . + NOP ;8ba6 00 . + NOP ;8ba7 00 . + LD BC,00003h ;8ba8 01 03 00 . . . + LD D,000h ;8bab 16 00 . . + NOP ;8bad 00 . + NOP ;8bae 00 . + RLA ;8baf 17 . + NOP ;8bb0 00 . + NOP ;8bb1 00 . + RST 38h ;8bb2 ff . + JR l8bb5h ;8bb3 18 00 . . +l8bb5h: + NOP ;8bb5 00 . + LD BC,00006h ;8bb6 01 06 00 . . . + ADD HL,DE ;8bb9 19 . + NOP ;8bba 00 . + RST 38h ;8bbb ff . + RST 38h ;8bbc ff . + LD A,(DE) ;8bbd 1a . + NOP ;8bbe 00 . + RST 38h ;8bbf ff . + NOP ;8bc0 00 . + DEC DE ;8bc1 1b . + NOP ;8bc2 00 . + RST 38h ;8bc3 ff . + LD BC,0001ch ;8bc4 01 1c 00 . . . + NOP ;8bc7 00 . + RST 38h ;8bc8 ff . + DEC E ;8bc9 1d . + NOP ;8bca 00 . + NOP ;8bcb 00 . + NOP ;8bcc 00 . + LD E,000h ;8bcd 1e 00 . . + NOP ;8bcf 00 . + LD BC,00002h ;8bd0 01 02 00 . . . + LD BC,00000h ;8bd3 01 00 00 . . . + LD BC,00001h ;8bd6 01 01 00 . . . + NOP ;8bd9 00 . + RST 38h ;8bda ff . +sub_8bdbh: + DI ;8bdb f3 . + LD A,(0be0ah) ;8bdc 3a 0a be : . . + OUT (SLOT3),A ;8bdf d3 e2 . . + LD HL,0c000h ;8be1 21 00 c0 ! . . + LD DE,l801dh ;8be4 11 1d 80 . . . + LD D,D ;8be7 52 R + LD A,004h ;8be8 3e 04 > . + LD B,B ;8bea 40 @ + LD C,A ;8beb 4f O +l8bech: + LD L,L ;8bec 6d m + LD A,(DE) ;8bed 1a . + LD (HL),A ;8bee 77 w + LD B,B ;8bef 40 @ + LD A,C ;8bf0 79 y + ADD A,L ;8bf1 85 . + LD L,A ;8bf2 6f o + JR NZ,l8bech ;8bf3 20 f7 . + INC H ;8bf5 24 $ + JR NZ,l8bech ;8bf6 20 f4 . + LD A,(0be10h) ;8bf8 3a 10 be : . . + OUT (SLOT3),A ;8bfb d3 e2 . . + LD HL,0c000h ;8bfd 21 00 c0 ! . . + LD D,D ;8c00 52 R + LD A,000h ;8c01 3e 00 > . + LD B,B ;8c03 40 @ +l8c04h: + LD C,C ;8c04 49 I + LD (HL),A ;8c05 77 w + LD B,B ;8c06 40 @ + INC H ;8c07 24 $ + JR NZ,l8c04h ;8c08 20 fa . + CALL FAST_RAM_FN.ON_DI ;8c0a cd 73 a2 . s . + CALL 0013ch ;8c0d cd 3c 01 . < . + CALL FAST_RAM_FN.OFF_EI ;8c10 cd 77 a2 . w . + CALL sub_92c0h ;8c13 cd c0 92 . . . + CALL FAST_RAM_FN.ON_DI ;8c16 cd 73 a2 . s . + CALL 0013fh ;8c19 cd 3f 01 . ? . + CALL 00142h ;8c1c cd 42 01 . B . + CALL FAST_RAM_FN.OFF_EI ;8c1f cd 77 a2 . w . + CALL sub_92c0h ;8c22 cd c0 92 . . . + CALL FAST_RAM_FN.ON_DI ;8c25 cd 73 a2 . s . + CALL 0013fh ;8c28 cd 3f 01 . ? . + CALL 00142h ;8c2b cd 42 01 . B . + CALL FAST_RAM_FN.OFF_DI ;8c2e cd 7c a2 . | . + RET ;8c31 c9 . +l8c32h: + JP FAST_RAM_FN.OFF_EI ;8c32 c3 77 a2 . w . +sub_8c35h: + LD A,0c1h ;8c35 3e c1 > . + OUT (PORT_Y),A ;8c37 d3 89 . . + LD A,(PAGES_BUFFER) ;8c39 3a 00 be : . . + OUT (SLOT3),A ;8c3c d3 e2 . . + EI ;8c3e fb . + CALL 0c009h ;8c3f cd 09 c0 . . . + CALL 0c00ch ;8c42 cd 0c c0 . . . + RET ;8c45 c9 . +sub_8c46h: + LD A,0c1h ;8c46 3e c1 > . + OUT (PORT_Y),A ;8c48 d3 89 . . + LD A,(PAGES_BUFFER) ;8c4a 3a 00 be : . . + OUT (SLOT3),A ;8c4d d3 e2 . . + EI ;8c4f fb . + CALL 0c009h ;8c50 cd 09 c0 . . . + CALL 0c012h ;8c53 cd 12 c0 . . . + RET ;8c56 c9 . +sub_8c57h: + DI ;8c57 f3 . + LD A,0c1h ;8c58 3e c1 > . + OUT (PORT_Y),A ;8c5a d3 89 . . + LD A,(0be01h) ;8c5c 3a 01 be : . . + OUT (SLOT3),A ;8c5f d3 e2 . . + LD IX,0e000h ;8c61 dd 21 00 e0 . ! . . + CALL sub_a240h ;8c65 cd 40 a2 . @ . + LD A,(PAGES_BUFFER) ;8c68 3a 00 be : . . + OUT (SLOT3),A ;8c6b d3 e2 . . + CALL 0c009h ;8c6d cd 09 c0 . . . + EI ;8c70 fb . + CALL 0c006h ;8c71 cd 06 c0 . . . + RET ;8c74 c9 . +sub_8c75h: + DI ;8c75 f3 . + LD A,0c1h ;8c76 3e c1 > . + OUT (PORT_Y),A ;8c78 d3 89 . . + LD A,(0be01h) ;8c7a 3a 01 be : . . + OUT (SLOT3),A ;8c7d d3 e2 . . + LD IX,0e000h ;8c7f dd 21 00 e0 . ! . . + CALL sub_a240h ;8c83 cd 40 a2 . @ . + LD HL,0c900h ;8c86 21 00 c9 ! . . + LD IX,0e400h ;8c89 dd 21 00 e4 . ! . . + CALL sub_a240h ;8c8d cd 40 a2 . @ . + LD A,(PAGES_BUFFER) ;8c90 3a 00 be : . . + OUT (SLOT3),A ;8c93 d3 e2 . . + CALL 0c009h ;8c95 cd 09 c0 . . . + EI ;8c98 fb . + CALL 0c00fh ;8c99 cd 0f c0 . . . + RET ;8c9c c9 . +sub_8c9dh: + LD A,(PAGES_BUFFER) ;8c9d 3a 00 be : . . + OUT (SLOT3),A ;8ca0 d3 e2 . . + JP 0c015h ;8ca2 c3 15 c0 . . . +sub_8ca5h: + CALL FAST_RAM_FN.ON_DI ;8ca5 cd 73 a2 . s . + CALL 00100h ;8ca8 cd 00 01 . . . + JP FAST_RAM_FN.OFF_EI ;8cab c3 77 a2 . w . +sub_8caeh: + LD L,073h ;8cae 2e 73 . s + JR l8cb4h ;8cb0 18 02 . . +sub_8cb2h: + LD L,06eh ;8cb2 2e 6e . n +l8cb4h: + DI ;8cb4 f3 . + LD A,050h ;8cb5 3e 50 > P + OUT (SLOT3),A ;8cb7 d3 e2 . . + LD H,high PAGES_BUFFER ;8cb9 26 be & . + LD A,(HL) ;8cbb 7e ~ + INC L ;8cbc 2c , + OUT (SLOT1),A ;8cbd d3 a2 . . + EXX ;8cbf d9 . + LD HL,04000h ;8cc0 21 00 40 ! . @ + EXX ;8cc3 d9 . + LD C,000h ;8cc4 0e 00 . . +l8cc6h: + LD A,C ;8cc6 79 y + OUT (PORT_Y),A ;8cc7 d3 89 . . + EXX ;8cc9 d9 . + LD BC,00140h ;8cca 01 40 01 . @ . + LD DE,0c000h ;8ccd 11 00 c0 . . . +l8cd0h: + LDI ;8cd0 ed a0 . . + BIT 7,H ;8cd2 cb 7c . | + JR Z,l8cdfh ;8cd4 28 09 ( . + LD HL,04000h ;8cd6 21 00 40 ! . @ + EXX ;8cd9 d9 . + LD A,(HL) ;8cda 7e ~ + INC L ;8cdb 2c , + OUT (SLOT1),A ;8cdc d3 a2 . . + EXX ;8cde d9 . +l8cdfh: + LD A,B ;8cdf 78 x + OR C ;8ce0 b1 . + JR NZ,l8cd0h ;8ce1 20 ed . + EXX ;8ce3 d9 . + INC C ;8ce4 0c . + JR NZ,l8cc6h ;8ce5 20 df . + LD A,0c1h ;8ce7 3e c1 > . + OUT (PORT_Y),A ;8ce9 d3 89 . . + LD A,(0be09h) ;8ceb 3a 09 be : . . + OUT (SLOT1),A ;8cee d3 a2 . . +sub_8cf0h: + DI ;8cf0 f3 . + LD A,050h ;8cf1 3e 50 > P + OUT (SLOT3),A ;8cf3 d3 e2 . . + LD DE,06000h ;8cf5 11 00 60 . . ` + LD IYH,028h ;8cf8 fd 26 28 . & ( + LD C,080h ;8cfb 0e 80 . . +l8cfdh: + INC C ;8cfd 0c . + LD A,C ;8cfe 79 y + OUT (PORT_Y),A ;8cff d3 89 . . + LD IYL,020h ;8d01 fd 2e 20 . . + LD B,000h ;8d04 06 00 . . + LD HL,0c300h ;8d06 21 00 c3 ! . . +l8d09h: + LD (HL),D ;8d09 72 r + INC HL ;8d0a 23 # + LD (HL),E ;8d0b 73 s + INC HL ;8d0c 23 # + LD (HL),B ;8d0d 70 p + INC HL ;8d0e 23 # + LD (HL),000h ;8d0f 36 00 6 . + INC HL ;8d11 23 # + LD A,B ;8d12 78 x + ADD A,008h ;8d13 c6 08 . . + LD B,A ;8d15 47 G + DEC IYL ;8d16 fd 2d . - + JR NZ,l8d09h ;8d18 20 ef . + INC DE ;8d1a 13 . + INC DE ;8d1b 13 . + INC DE ;8d1c 13 . + INC DE ;8d1d 13 . + INC DE ;8d1e 13 . + INC DE ;8d1f 13 . + INC DE ;8d20 13 . + INC DE ;8d21 13 . + INC C ;8d22 0c . + DEC IYH ;8d23 fd 25 . % + JR NZ,l8cfdh ;8d25 20 d6 . + LD A,0c1h ;8d27 3e c1 > . + OUT (PORT_Y),A ;8d29 d3 89 . . + EI ;8d2b fb . + RET ;8d2c c9 . +l8d2dh: + LD SP,0c000h ;8d2d 31 00 c0 1 . . + CALL FAST_RAM_FN.ON_DI ;8d30 cd 73 a2 . s . + CALL 0016ch ;8d33 cd 6c 01 . l . + CALL FAST_RAM_FN.OFF_EI ;8d36 cd 77 a2 . w . + CALL sub_8c46h ;8d39 cd 46 8c . F . + CALL GENERATE_PALETTE ;8d3c cd 26 93 . & . + LD A,(l85d0h.set_byte) ;8d3f 3a 57 86 : W . + INC A ;8d42 3c < + LD (l85d0h.set_byte),A ;8d43 32 57 86 2 W . + LD A,(l8544h.set_byte) ;8d46 3a 77 85 : w . + INC A ;8d49 3c < + LD (l8544h.set_byte),A ;8d4a 32 77 85 2 w . + CP 005h ;8d4d fe 05 . . + JR Z,l8d79h ;8d4f 28 28 ( ( + CP 00ah ;8d51 fe 0a . . + JR Z,l8d79h ;8d53 28 24 ( $ + CP 00fh ;8d55 fe 0f . . + JR Z,l8d79h ;8d57 28 20 ( + CP 014h ;8d59 fe 14 . . + JR Z,l8d79h ;8d5b 28 1c ( . + CP 019h ;8d5d fe 19 . . + JR Z,l8d79h ;8d5f 28 18 ( . + CP 01eh ;8d61 fe 1e . . + JR Z,l8d79h ;8d63 28 14 ( . + CP 023h ;8d65 fe 23 . # + JR Z,l8d79h ;8d67 28 10 ( . + CP 028h ;8d69 fe 28 . ( + JR Z,l8d79h ;8d6b 28 0c ( . + CP 02dh ;8d6d fe 2d . - + JR Z,l8d79h ;8d6f 28 08 ( . + CP 032h ;8d71 fe 32 . 2 + JR Z,l8d79h ;8d73 28 04 ( . + CP 037h ;8d75 fe 37 . 7 + JR NZ,l8da0h ;8d77 20 27 ' +l8d79h: + PUSH AF ;8d79 f5 . + CALL sub_8bdbh ;8d7a cd db 8b . . . + CALL sub_8cf0h ;8d7d cd f0 8c . . . + CALL sub_9071h ;8d80 cd 71 90 . q . + LD A,(PAGES_BUFFER) ;8d83 3a 00 be : . . + OUT (SLOT3),A ;8d86 d3 e2 . . + POP AF ;8d88 f1 . + CALL 0c146h ;8d89 cd 46 c1 . F . + LD HL,0cc00h ;8d8c 21 00 cc ! . . + CALL sub_8c57h ;8d8f cd 57 8c . W . +l8d92h: + EI ;8d92 fb . + HALT ;8d93 76 v + LD A,(lad01h.tst_addr) ;8d94 3a 39 ad : 9 . + OR A ;8d97 b7 . + JR Z,l8d92h ;8d98 28 f8 ( . + CALL sub_8c35h ;8d9a cd 35 8c . 5 . + JP l8544h ;8d9d c3 44 85 . D . +l8da0h: + CP 03ah ;8da0 fe 3a . : + JP NZ,l8544h ;8da2 c2 44 85 . D . + CALL sub_a824h ;8da5 cd 24 a8 . $ . + DI ;8da8 f3 . + CALL sub_90d8h ;8da9 cd d8 90 . . . + DI ;8dac f3 . + CALL sub_8bdbh ;8dad cd db 8b . . . + DI ;8db0 f3 . + CALL sub_8cf0h ;8db1 cd f0 8c . . . + DI ;8db4 f3 . + CALL sub_8cb2h ;8db5 cd b2 8c . . . + EI ;8db8 fb . + LD A,(PAGES_BUFFER) ;8db9 3a 00 be : . . + OUT (SLOT1),A ;8dbc d3 a2 . . + LD HL,(04149h) ;8dbe 2a 49 41 * I A + LD A,080h ;8dc1 3e 80 > . + ADD A,H ;8dc3 84 . + LD H,A ;8dc4 67 g + EI ;8dc5 fb . + CALL sub_8c57h ;8dc6 cd 57 8c . W . + CALL sub_ab25h ;8dc9 cd 25 ab . % . +l8dcch: + EI ;8dcc fb . + HALT ;8dcd 76 v + LD A,(lad01h.tst_addr) ;8dce 3a 39 ad : 9 . + OR A ;8dd1 b7 . + JR Z,l8dcch ;8dd2 28 f8 ( . + CALL sub_8c35h ;8dd4 cd 35 8c . 5 . +l8dd7h: + CALL GENERATE_PALETTE ;8dd7 cd 26 93 . & . + CALL sub_8bdbh ;8dda cd db 8b . . . + CALL sub_8cf0h ;8ddd cd f0 8c . . . + CALL sub_9071h ;8de0 cd 71 90 . q . + LD A,(PAGES_BUFFER) ;8de3 3a 00 be : . . + OUT (SLOT3),A ;8de6 d3 e2 . . + CALL 0c024h ;8de8 cd 24 c0 . $ . + LD HL,0cc00h ;8deb 21 00 cc ! . . + CALL sub_8c57h ;8dee cd 57 8c . W . + LD HL,00400h ;8df1 21 00 04 ! . . +l8df4h: + EI ;8df4 fb . + HALT ;8df5 76 v + PUSH HL ;8df6 e5 . + POP HL ;8df7 e1 . + LD A,(lad01h.tst_addr) ;8df8 3a 39 ad : 9 . + OR A ;8dfb b7 . + JR NZ,l8e03h ;8dfc 20 05 . + DEC HL ;8dfe 2b + + LD A,H ;8dff 7c | + OR L ;8e00 b5 . + JR NZ,l8df4h ;8e01 20 f1 . +l8e03h: + CALL sub_8c35h ;8e03 cd 35 8c . 5 . + LD A,(PAGES_BUFFER) ;8e06 3a 00 be : . . + OUT (SLOT3),A ;8e09 d3 e2 . . + LD HL,l962bh ;8e0b 21 2b 96 ! + . + CALL 0c11ch ;8e0e cd 1c c1 . . . + JP Z,l8516h ;8e11 ca 16 85 . . . + PUSH HL ;8e14 e5 . + PUSH DE ;8e15 d5 . + PUSH IY ;8e16 fd e5 . . + CALL sub_9071h ;8e18 cd 71 90 . q . + LD A,(PAGES_BUFFER) ;8e1b 3a 00 be : . . + OUT (SLOT3),A ;8e1e d3 e2 . . + CALL 0c11fh ;8e20 cd 1f c1 . . . + LD HL,0cc00h ;8e23 21 00 cc ! . . + CALL sub_8c57h ;8e26 cd 57 8c . W . + LD A,(PAGES_BUFFER) ;8e29 3a 00 be : . . + OUT (SLOT3),A ;8e2c d3 e2 . . + POP IY ;8e2e fd e1 . . + POP DE ;8e30 d1 . + POP HL ;8e31 e1 . + CALL 0c122h ;8e32 cd 22 c1 . " . + PUSH AF ;8e35 f5 . + CALL NZ,sub_a90dh ;8e36 c4 0d a9 . . . + CALL sub_8c35h ;8e39 cd 35 8c . 5 . + POP AF ;8e3c f1 . + JP Z,l8516h ;8e3d ca 16 85 . . . + CALL sub_90a6h ;8e40 cd a6 90 . . . + JP l8516h ;8e43 c3 16 85 . . . +sub_8e46h: + CALL GENERATE_PALETTE ;8e46 cd 26 93 . & . + CALL sub_90d8h ;8e49 cd d8 90 . . . + CALL sub_8bdbh ;8e4c cd db 8b . . . + CALL sub_8cf0h ;8e4f cd f0 8c . . . +l8e52h: +.set_addr+1: JP l8ed5h ;8e52 c3 d5 8e . . . +l8e55h: + CALL sub_8caeh ;8e55 cd ae 8c . . . + LD HL,0c300h ;8e58 21 00 c3 ! . . + CALL sub_8c57h ;8e5b cd 57 8c . W . + CALL FAST_RAM_FN.OFF_EI ;8e5e cd 77 a2 . w . + LD A,(PAGES_BUFFER) ;8e61 3a 00 be : . . + OUT (SLOT3),A ;8e64 d3 e2 . . + CALL 0c135h ;8e66 cd 35 c1 . 5 . + CP 0ffh ;8e69 fe ff . . + JR Z,l8e91h ;8e6b 28 24 ( $ + OR A ;8e6d b7 . + JR Z,l8ecch ;8e6e 28 5c ( \ + CP 005h ;8e70 fe 05 . . + JP Z,l8f6ch ;8e72 ca 6c 8f . l . + CP 006h ;8e75 fe 06 . . + JP Z,l8f36h ;8e77 ca 36 8f . 6 . + CP 004h ;8e7a fe 04 . . + JP Z,l8f0ah ;8e7c ca 0a 8f . . . + CP 00ch ;8e7f fe 0c . . + JP Z,l8fd5h ;8e81 ca d5 8f . . . + CP 009h ;8e84 fe 09 . . + JP Z,l8f04h ;8e86 ca 04 8f . . . + CP 029h ;8e89 fe 29 . ) + JP Z,l8ecch ;8e8b ca cc 8e . . . + JP l9010h ;8e8e c3 10 90 . . . +l8e91h: + LD HL,00800h ;8e91 21 00 08 ! . . +l8e94h: + EI ;8e94 fb . + HALT ;8e95 76 v + PUSH HL ;8e96 e5 . + POP HL ;8e97 e1 . + LD A,(lad01h.tst_byte) ;8e98 3a 3b ad : ; . + OR A ;8e9b b7 . + JP NZ,l8f6ch ;8e9c c2 6c 8f . l . + LD A,(lad3ch) ;8e9f 3a 3c ad : < . + OR A ;8ea2 b7 . + JP NZ,l8f36h ;8ea3 c2 36 8f . 6 . + LD A,(lad3ch+1) ;8ea6 3a 3d ad : = . + OR A ;8ea9 b7 . + JR NZ,l8f0ah ;8eaa 20 5e ^ + LD A,(lad3eh) ;8eac 3a 3e ad : > . + OR A ;8eaf b7 . + JP NZ,l8fd5h ;8eb0 c2 d5 8f . . . + LD A,(lad3eh.tst_byte_) ;8eb3 3a 3f ad : ? . + OR A ;8eb6 b7 . + JP NZ,l9010h ;8eb7 c2 10 90 . . . + LD A,(lad3eh.tst_byte) ;8eba 3a 44 ad : D . + OR A ;8ebd b7 . + JR NZ,l8f04h ;8ebe 20 44 D + LD A,(lad01h.tst_addr) ;8ec0 3a 39 ad : 9 . + OR A ;8ec3 b7 . + JP NZ,l8ecch ;8ec4 c2 cc 8e . . . + DEC HL ;8ec7 2b + + LD A,H ;8ec8 7c | + OR L ;8ec9 b5 . + JR NZ,l8e94h ;8eca 20 c8 . +l8ecch: + CALL sub_8c35h ;8ecc cd 35 8c . 5 . + CALL sub_90a6h ;8ecf cd a6 90 . . . + JP NZ,l8e52h ;8ed2 c2 52 8e . R . + +l8ed5h: LD HL,l8e55h ;8ed5 21 55 8e ! U . + LD (l8e52h.set_addr),HL ;8ed8 22 53 8e " S . + CALL sub_8cb2h ;8edb cd b2 8c . . . + LD HL,#d200 ;8ede 21 00 d2 ! . . + CALL sub_8c57h ;8ee1 cd 57 8c . W . +.set_word+1: LD HL,#0100 ;8ee4 21 00 01 ! . . +l8ee7h: + EI ;8ee7 fb . + HALT ;8ee8 76 v + PUSH HL ;8ee9 e5 . + LD HL,#0800 ;8eea 21 00 08 ! . . + LD (l8ed5h.set_word),HL ;8eed 22 e5 8e " . . + POP HL ;8ef0 e1 . + LD A,(lad01h.tst_addr) ;8ef1 3a 39 ad : 9 . + OR A ;8ef4 b7 . + JR NZ,l8efch ;8ef5 20 05 . + DEC HL ;8ef7 2b + + LD A,H ;8ef8 7c | + OR L ;8ef9 b5 . + JR NZ,l8ee7h ;8efa 20 eb . +l8efch: + PUSH AF ;8efc f5 . + CALL sub_8c35h ;8efd cd 35 8c . 5 . + POP AF ;8f00 f1 . + JP l8e52h ;8f01 c3 52 8e . R . +l8f04h: + CALL sub_8c35h ;8f04 cd 35 8c . 5 . + JP l839bh ;8f07 c3 9b 83 . . . +l8f0ah: + CALL sub_8c35h ;8f0a cd 35 8c . 5 . + CALL sub_9071h ;8f0d cd 71 90 . q . + LD A,(PAGES_BUFFER) ;8f10 3a 00 be : . . + OUT (SLOT3),A ;8f13 d3 e2 . . + CALL 0c021h ;8f15 cd 21 c0 . ! . + LD HL,0cc00h ;8f18 21 00 cc ! . . + CALL sub_8c57h ;8f1b cd 57 8c . W . + LD A,(PAGES_BUFFER) ;8f1e 3a 00 be : . . + OUT (SLOT3),A ;8f21 d3 e2 . . + LD E,078h ;8f23 1e 78 . x + LD HL,l909dh ;8f25 21 9d 90 ! . . + LD C,008h ;8f28 0e 08 . . + CALL 0c030h ;8f2a cd 30 c0 . 0 . + JP NZ,l9041h ;8f2d c2 41 90 . A . + CALL sub_8c35h ;8f30 cd 35 8c . 5 . + JP l8e52h ;8f33 c3 52 8e . R . +l8f36h: + CALL sub_8c35h ;8f36 cd 35 8c . 5 . + CALL sub_9071h ;8f39 cd 71 90 . q . + LD A,(PAGES_BUFFER) ;8f3c 3a 00 be : . . + OUT (SLOT3),A ;8f3f d3 e2 . . + CALL 0c01eh ;8f41 cd 1e c0 . . . + LD HL,0cc00h ;8f44 21 00 cc ! . . + CALL sub_8c57h ;8f47 cd 57 8c . W . + LD HL,l9097h ;8f4a 21 97 90 ! . . + LD A,(PAGES_BUFFER) ;8f4d 3a 00 be : . . + OUT (SLOT3),A ;8f50 d3 e2 . . + CALL 0c02dh ;8f52 cd 2d c0 . - . + PUSH AF ;8f55 f5 . + CALL sub_8c35h ;8f56 cd 35 8c . 5 . + POP AF ;8f59 f1 . + JP Z,l8e52h ;8f5a ca 52 8e . R . + CALL FAST_RAM_FN.ON_DI ;8f5d cd 73 a2 . s . + LD HL,l9097h ;8f60 21 97 90 ! . . + CALL 00187h ;8f63 cd 87 01 . . . + CALL FAST_RAM_FN.OFF_EI ;8f66 cd 77 a2 . w . + JP l8e52h ;8f69 c3 52 8e . R . +l8f6ch: + LD A,000h ;8f6c 3e 00 > . + OR A ;8f6e b7 . + JR NZ,l8fd1h ;8f6f 20 60 ` + EI ;8f71 fb . + CALL sub_8c35h ;8f72 cd 35 8c . 5 . + CALL sub_aa8ah ;8f75 cd 8a aa . . . + EI ;8f78 fb . + CALL sub_8cb2h ;8f79 cd b2 8c . . . + LD A,(PAGES_BUFFER) ;8f7c 3a 00 be : . . + OUT (SLOT1),A ;8f7f d3 a2 . . + LD HL,(0414bh) ;8f81 2a 4b 41 * K A + LD A,080h ;8f84 3e 80 > . + ADD A,H ;8f86 84 . + LD H,A ;8f87 67 g + CALL sub_8c57h ;8f88 cd 57 8c . W . + LD HL,00400h ;8f8b 21 00 04 ! . . +l8f8eh: + EI ;8f8e fb . + HALT ;8f8f 76 v + DEC HL ;8f90 2b + + LD A,H ;8f91 7c | + OR L ;8f92 b5 . + JR Z,l8f9bh ;8f93 28 06 ( . + LD A,(lad01h.tst_addr) ;8f95 3a 39 ad : 9 . + OR A ;8f98 b7 . + JR Z,l8f8eh ;8f99 28 f3 ( . +l8f9bh: + CALL sub_8c35h ;8f9b cd 35 8c . 5 . + CALL sub_aaadh ;8f9e cd ad aa . . . + EI ;8fa1 fb . + CALL sub_8cb2h ;8fa2 cd b2 8c . . . + LD A,(PAGES_BUFFER) ;8fa5 3a 00 be : . . + OUT (SLOT1),A ;8fa8 d3 a2 . . + LD HL,(0414dh) ;8faa 2a 4d 41 * M A + LD A,080h ;8fad 3e 80 > . + ADD A,H ;8faf 84 . + LD H,A ;8fb0 67 g + CALL sub_8c57h ;8fb1 cd 57 8c . W . + LD HL,00400h ;8fb4 21 00 04 ! . . +l8fb7h: + EI ;8fb7 fb . + HALT ;8fb8 76 v + DEC HL ;8fb9 2b + + LD A,H ;8fba 7c | + OR L ;8fbb b5 . + JR Z,l8fc4h ;8fbc 28 06 ( . + LD A,(lad01h.tst_addr) ;8fbe 3a 39 ad : 9 . + OR A ;8fc1 b7 . + JR Z,l8fb7h ;8fc2 28 f3 ( . +l8fc4h: + CALL sub_8c35h ;8fc4 cd 35 8c . 5 . + CALL sub_ab25h ;8fc7 cd 25 ab . % . + EI ;8fca fb . + LD A,001h ;8fcb 3e 01 > . + LD (l8f6ch+1),A ;8fcd 32 6d 8f 2 m . + RET ;8fd0 c9 . +l8fd1h: + CALL sub_8c35h ;8fd1 cd 35 8c . 5 . + RET ;8fd4 c9 . +l8fd5h: + EI ;8fd5 fb . + CALL sub_8c35h ;8fd6 cd 35 8c . 5 . + CALL sub_aaf3h ;8fd9 cd f3 aa . . . + EI ;8fdc fb . + CALL sub_8cb2h ;8fdd cd b2 8c . . . + LD A,(PAGES_BUFFER) ;8fe0 3a 00 be : . . + OUT (SLOT3),A ;8fe3 d3 e2 . . + CALL 0c13ah ;8fe5 cd 3a c1 . : . + CALL 0c13dh ;8fe8 cd 3d c1 . = . + CALL 0c140h ;8feb cd 40 c1 . @ . + LD A,(PAGES_BUFFER) ;8fee 3a 00 be : . . + OUT (SLOT1),A ;8ff1 d3 a2 . . + LD HL,(0412eh) ;8ff3 2a 2e 41 * . A + LD A,080h ;8ff6 3e 80 > . + ADD A,H ;8ff8 84 . + LD H,A ;8ff9 67 g + CALL sub_8c57h ;8ffa cd 57 8c . W . + LD A,(PAGES_BUFFER) ;8ffd 3a 00 be : . . + OUT (SLOT3),A ;9000 d3 e2 . . + CALL 0c143h ;9002 cd 43 c1 . C . + EI ;9005 fb . + CALL sub_8c35h ;9006 cd 35 8c . 5 . + CALL sub_ab25h ;9009 cd 25 ab . % . + EI ;900c fb . + JP l8e52h ;900d c3 52 8e . R . +l9010h: + EI ;9010 fb . + CALL sub_8c35h ;9011 cd 35 8c . 5 . + CALL sub_aad0h ;9014 cd d0 aa . . . + EI ;9017 fb . + CALL sub_8cb2h ;9018 cd b2 8c . . . + LD A,(PAGES_BUFFER) ;901b 3a 00 be : . . + OUT (SLOT1),A ;901e d3 a2 . . + LD HL,(#4138) ;9020 2a 38 41 * 8 A + LD A,080h ;9023 3e 80 > . + ADD A,H ;9025 84 . + LD H,A ;9026 67 g + CALL sub_8c57h ;9027 cd 57 8c . W . +l902ah: + LD A,(lad01h) ;902a 3a 01 ad : . . + OR A ;902d b7 . + JR NZ,l9036h ;902e 20 06 . + LD A,(lad01h.tst_addr) ;9030 3a 39 ad : 9 . + OR A ;9033 b7 . + JR Z,l902ah ;9034 28 f4 ( . +l9036h: + EI ;9036 fb . + CALL sub_8c35h ;9037 cd 35 8c . 5 . + CALL sub_ab25h ;903a cd 25 ab . % . + EI ;903d fb . + JP l8e52h ;903e c3 52 8e . R . +l9041h: + LD HL,(0c133h) ;9041 2a 33 c1 * 3 . + LD C,03ah ;9044 0e 3a . : +l9046h: + LD DE,l909dh ;9046 11 9d 90 . . . + LD B,008h ;9049 06 08 . . + PUSH HL ;904b e5 . +l904ch: + LD A,(DE) ;904c 1a . + CP (HL) ;904d be . + JR NZ,l9066h ;904e 20 16 . + INC DE ;9050 13 . + INC HL ;9051 23 # + DEC B ;9052 05 . + JR NZ,l904ch ;9053 20 f7 . + LD A,(HL) ;9055 7e ~ + LD (l85d0h.set_byte),A ;9056 32 57 86 2 W . + DEC A ;9059 3d = + LD (l8544h.set_byte),A ;905a 32 77 85 2 w . + LD SP,0c000h ;905d 31 00 c0 1 . . + CALL sub_8c35h ;9060 cd 35 8c . 5 . + JP l8529h ;9063 c3 29 85 . ) . +l9066h: + POP HL ;9066 e1 . + LD DE,00009h ;9067 11 09 00 . . . + ADD HL,DE ;906a 19 . + DEC C ;906b 0d . + JR NZ,l9046h ;906c 20 d8 . + JP l8f6ch ;906e c3 6c 8f . l . +sub_9071h: + DI ;9071 f3 . + LD A,050h ;9072 3e 50 > P + OUT (SLOT3),A ;9074 d3 e2 . . + LD D,D ;9076 52 R + LD A,000h ;9077 3e 00 > . + LD B,B ;9079 40 @ + LD C,000h ;907a 0e 00 . . +l907ch: + LD A,C ;907c 79 y + OUT (PORT_Y),A ;907d d3 89 . . + LD HL,0c000h ;907f 21 00 c0 ! . . + XOR A ;9082 af . + LD C,C ;9083 49 I + LD (HL),A ;9084 77 w + LD B,B ;9085 40 @ + INC H ;9086 24 $ + LD C,C ;9087 49 I + LD (HL),A ;9088 77 w + LD B,B ;9089 40 @ + INC H ;908a 24 $ + LD C,C ;908b 49 I + LD (HL),A ;908c 77 w + LD B,B ;908d 40 @ + INC C ;908e 0c . + JR NZ,l907ch ;908f 20 eb . + LD A,0c1h ;9091 3e c1 > . + OUT (PORT_Y),A ;9093 d3 89 . . + EI ;9095 fb . + RET ;9096 c9 . +l9097h: + NOP ;9097 00 . + NOP ;9098 00 . + NOP ;9099 00 . + NOP ;909a 00 . + NOP ;909b 00 . + NOP ;909c 00 . +l909dh: + NOP ;909d 00 . + NOP ;909e 00 . + NOP ;909f 00 . + NOP ;90a0 00 . + NOP ;90a1 00 . + NOP ;90a2 00 . + NOP ;90a3 00 . + NOP ;90a4 00 . + NOP ;90a5 00 . +sub_90a6h: + CALL GENERATE_PALETTE ;90a6 cd 26 93 . & . + CALL sub_8bdbh ;90a9 cd db 8b . . . + CALL sub_8cf0h ;90ac cd f0 8c . . . + CALL sub_9071h ;90af cd 71 90 . q . + LD A,(PAGES_BUFFER) ;90b2 3a 00 be : . . + OUT (SLOT3),A ;90b5 d3 e2 . . + CALL 0c119h ;90b7 cd 19 c1 . . . + LD HL,0cc00h ;90ba 21 00 cc ! . . + CALL sub_8c57h ;90bd cd 57 8c . W . + LD HL,00800h ;90c0 21 00 08 ! . . +l90c3h: + EI ;90c3 fb . + HALT ;90c4 76 v + PUSH HL ;90c5 e5 . + POP HL ;90c6 e1 . + LD A,(lad01h.tst_addr) ;90c7 3a 39 ad : 9 . + OR A ;90ca b7 . + JR NZ,l90d2h ;90cb 20 05 . + DEC HL ;90cd 2b + + LD A,H ;90ce 7c | + OR L ;90cf b5 . + JR NZ,l90c3h ;90d0 20 f1 . +l90d2h: + PUSH AF ;90d2 f5 . + CALL sub_8c35h ;90d3 cd 35 8c . 5 . + POP AF ;90d6 f1 . + RET ;90d7 c9 . +sub_90d8h: + DI ;90d8 f3 . + LD A,050h ;90d9 3e 50 > P + OUT (SLOT3),A ;90db d3 e2 . . + CALL sub_83f7h ;90dd cd f7 83 . . . + DI ;90e0 f3 . + LD A,050h ;90e1 3e 50 > P + OUT (SLOT3),A ;90e3 d3 e2 . . + LD A,053h ;90e5 3e 53 > S + OUT (PORT_Y),A ;90e7 d3 89 . . + LD HL,0c37ch ;90e9 21 7c c3 ! | . + LD (HL),0fch ;90ec 36 fc 6 . + LD A,0d3h ;90ee 3e d3 > . + OUT (PORT_Y),A ;90f0 d3 89 . . + LD (HL),0fch ;90f2 36 fc 6 . + LD A,0dbh ;90f4 3e db > . + OUT (PORT_Y),A ;90f6 d3 89 . . + LD (HL),0fdh ;90f8 36 fd 6 . + LD A,05bh ;90fa 3e 5b > [ + OUT (PORT_Y),A ;90fc d3 89 . . + LD (HL),0fdh ;90fe 36 fd 6 . + CALL sub_941dh ;9100 cd 1d 94 . . . + RET ;9103 c9 . +sub_9104h: + LD A,(0be06h) ;9104 3a 06 be : . . + OUT (SLOT3),A ;9107 d3 e2 . . + LD A,019h ;9109 3e 19 > . + LD HL,00000h ;910b 21 00 00 ! . . + LD DE,0c000h ;910e 11 00 c0 . . . + EXX ;9111 d9 . + LD BC,00008h ;9112 01 08 00 . . . + LD HL,l9d66h ;9115 21 66 9d ! f . + CALL sub_9132h ;9118 cd 32 91 . 2 . + EXX ;911b d9 . + LD A,012h ;911c 3e 12 > . + LD HL,00000h ;911e 21 00 00 ! . . + EXX ;9121 d9 . + LD HL,l9eddh ;9122 21 dd 9e ! . . + CALL sub_9132h ;9125 cd 32 91 . 2 . + EXX ;9128 d9 . + LD A,00eh ;9129 3e 0e > . + LD HL,00000h ;912b 21 00 00 ! . . + EXX ;912e d9 . + LD HL,l9febh ;912f 21 eb 9f ! . . +sub_9132h: + EX AF,AF' ;9132 08 . + LD A,(HL) ;9133 7e ~ + INC HL ;9134 23 # + EXX ;9135 d9 . + LD C,A ;9136 4f O + EXX ;9137 d9 . + LD A,(HL) ;9138 7e ~ + INC HL ;9139 23 # + EXX ;913a d9 . + LD B,A ;913b 47 G + EXX ;913c d9 . + INC HL ;913d 23 # + EXX ;913e d9 . + LD A,L ;913f 7d } + EXX ;9140 d9 . + LD (HL),A ;9141 77 w + INC HL ;9142 23 # + EXX ;9143 d9 . + LD A,H ;9144 7c | + EXX ;9145 d9 . + LD (HL),A ;9146 77 w + INC HL ;9147 23 # + INC HL ;9148 23 # + EXX ;9149 d9 . + LD A,E ;914a 7b { + EXX ;914b d9 . + LD (HL),A ;914c 77 w + INC HL ;914d 23 # + EXX ;914e d9 . + LD A,D ;914f 7a z + SUB 0c0h ;9150 d6 c0 . . + EXX ;9152 d9 . + LD (HL),A ;9153 77 w + ADD HL,BC ;9154 09 . + EXX ;9155 d9 . + LD A,B ;9156 78 x + LD B,000h ;9157 06 00 . . +l9159h: + ADD HL,BC ;9159 09 . + DEC A ;915a 3d = + JR NZ,l9159h ;915b 20 fc . +l915dh: + LD A,(DE) ;915d 1a . + INC DE ;915e 13 . + CP 0ffh ;915f fe ff . . + JR Z,l9167h ;9161 28 04 ( . + INC DE ;9163 13 . + INC DE ;9164 13 . + JR l915dh ;9165 18 f6 . . +l9167h: + EXX ;9167 d9 . + EX AF,AF' ;9168 08 . + DEC A ;9169 3d = + JR NZ,sub_9132h ;916a 20 c6 . + RET ;916c c9 . +sub_916dh: + LD A,(0be0eh) ;916d 3a 0e be : . . + OUT (SLOT3),A ;9170 d3 e2 . . + DI ;9172 f3 . + LD HL,0c000h ;9173 21 00 c0 ! . . + LD D,D ;9176 52 R + LD A,000h ;9177 3e 00 > . + LD B,B ;9179 40 @ +l917ah: + LD C,C ;917a 49 I + LD (HL),A ;917b 77 w + LD B,B ;917c 40 @ + INC H ;917d 24 $ + JR NZ,l917ah ;917e 20 fa . + RET ;9180 c9 . +l9181h: + NOP ;9181 00 . + NOP ;9182 00 . + NOP ;9183 00 . + NOP ;9184 00 . + NOP ;9185 00 . + NOP ;9186 00 . + NOP ;9187 00 . + NOP ;9188 00 . + NOP ;9189 00 . + NOP ;918a 00 . + NOP ;918b 00 . + NOP ;918c 00 . + NOP ;918d 00 . + NOP ;918e 00 . + NOP ;918f 00 . + NOP ;9190 00 . + NOP ;9191 00 . + NOP ;9192 00 . + NOP ;9193 00 . + NOP ;9194 00 . + NOP ;9195 00 . + NOP ;9196 00 . + NOP ;9197 00 . + NOP ;9198 00 . + NOP ;9199 00 . + LD BC,00101h ;919a 01 01 01 . . . + LD BC,00101h ;919d 01 01 01 . . . + LD BC,00101h ;91a0 01 01 01 . . . + LD BC,00101h ;91a3 01 01 01 . . . + LD BC,00101h ;91a6 01 01 01 . . . + LD BC,00101h ;91a9 01 01 01 . . . + LD BC,00101h ;91ac 01 01 01 . . . + LD BC,00101h ;91af 01 01 01 . . . + LD BC,00002h ;91b2 01 02 00 . . . + NOP ;91b5 00 . + NOP ;91b6 00 . + NOP ;91b7 00 . + NOP ;91b8 00 . + NOP ;91b9 00 . + NOP ;91ba 00 . +sub_91bbh: + LD (09343h),A ;91bb 32 43 93 2 C . + CALL SET_PAGE_SLOT3_af ;91be cd ec a1 . . . + LD B,IYL ;91c1 fd 45 . E + LD A,01fh ;91c3 3e 1f > . + AND B ;91c5 a0 . + RLCA ;91c6 07 . + RLCA ;91c7 07 . + RLCA ;91c8 07 . + LD (l91eeh+1),A ;91c9 32 ef 91 2 . . + LD A,0e0h ;91cc 3e e0 > . + AND B ;91ce a0 . + RRCA ;91cf 0f . + RRCA ;91d0 0f . + LD B,A ;91d1 47 G + LD C,IYH ;91d2 fd 4c . L + LD A,003h ;91d4 3e 03 > . + AND C ;91d6 a1 . + RRCA ;91d7 0f . + RRCA ;91d8 0f . + OR B ;91d9 b0 . + LD E,A ;91da 5f _ + LD A,00ch ;91db 3e 0c > . + AND C ;91dd a1 . + RRCA ;91de 0f . + RRCA ;91df 0f . + OR 040h ;91e0 f6 40 . @ + LD D,A ;91e2 57 W + EX DE,HL ;91e3 eb . + LD (091f7h),HL ;91e4 22 f7 91 " . . + EX DE,HL ;91e7 eb . + LD A,050h ;91e8 3e 50 > P + OUT (SLOT1),A ;91ea d3 a2 . . + LD C,008h ;91ec 0e 08 . . +l91eeh: + LD A,000h ;91ee 3e 00 > . + OUT (PORT_Y),A ;91f0 d3 89 . . + INC A ;91f2 3c < + LD (l91eeh+1),A ;91f3 32 ef 91 2 . . + LD DE,00000h ;91f6 11 00 00 . . . + LD B,008h ;91f9 06 08 . . +l91fbh: + LD A,(HL) ;91fb 7e ~ + CALL sub_933bh ;91fc cd 3b 93 . ; . + LD (DE),A ;91ff 12 . + INC DE ;9200 13 . + DEC B ;9201 05 . + JR NZ,l91fbh ;9202 20 f7 . + DEC C ;9204 0d . + JR NZ,l91eeh ;9205 20 e7 . + LD A,0c1h ;9207 3e c1 > . + OUT (PORT_Y),A ;9209 d3 89 . . + LD A,(09343h) ;920b 3a 43 93 : C . + RET ;920e c9 . +sub_920fh: + LD (09343h),A ;920f 32 43 93 2 C . + EX DE,HL ;9212 eb . + LD HL,0b200h ;9213 21 00 b2 ! . . + LD A,IYH ;9216 fd 7c . | + ADD A,H ;9218 84 . + LD H,A ;9219 67 g + LD C,IYL ;921a fd 4d . M + LD B,000h ;921c 06 00 . . + ADD HL,BC ;921e 09 . + EX DE,HL ;921f eb . + LD A,(HL) ;9220 7e ~ + LD (DE),A ;9221 12 . + CALL sub_933bh ;9222 cd 3b 93 . ; . + LD A,(09343h) ;9225 3a 43 93 : C . + RET ;9228 c9 . +sub_9229h: + LD (09265h),A ;9229 32 65 92 2 e . + LD B,IYL ;922c fd 45 . E + LD A,01fh ;922e 3e 1f > . + AND B ;9230 a0 . + RLCA ;9231 07 . + RLCA ;9232 07 . + RLCA ;9233 07 . + LD (l9259h+1),A ;9234 32 5a 92 2 Z . + LD A,0e0h ;9237 3e e0 > . + AND B ;9239 a0 . + RRCA ;923a 0f . + RRCA ;923b 0f . + LD B,A ;923c 47 G + LD C,IYH ;923d fd 4c . L + LD A,003h ;923f 3e 03 > . + AND C ;9241 a1 . + RRCA ;9242 0f . + RRCA ;9243 0f . + OR B ;9244 b0 . + LD E,A ;9245 5f _ + LD A,00ch ;9246 3e 0c > . + AND C ;9248 a1 . + RRCA ;9249 0f . + RRCA ;924a 0f . + OR 040h ;924b f6 40 . @ + LD D,A ;924d 57 W + EX DE,HL ;924e eb . + LD (09262h),HL ;924f 22 62 92 " b . + EX DE,HL ;9252 eb . + LD A,050h ;9253 3e 50 > P + OUT (SLOT1),A ;9255 d3 a2 . . + LD C,008h ;9257 0e 08 . . +l9259h: + LD A,000h ;9259 3e 00 > . + OUT (PORT_Y),A ;925b d3 89 . . + INC A ;925d 3c < + LD (l9259h+1),A ;925e 32 5a 92 2 Z . + LD DE,00000h ;9261 11 00 00 . . . + LD A,000h ;9264 3e 00 > . + LD B,008h ;9266 06 08 . . +l9268h: + LD (DE),A ;9268 12 . + INC DE ;9269 13 . + DEC B ;926a 05 . + JR NZ,l9268h ;926b 20 fb . + DEC C ;926d 0d . + JR NZ,l9259h ;926e 20 e9 . + LD A,0c1h ;9270 3e c1 > . + OUT (PORT_Y),A ;9272 d3 89 . . + LD A,(09265h) ;9274 3a 65 92 : e . + RET ;9277 c9 . +sub_9278h: + LD E,A ;9278 5f _ + PUSH BC ;9279 c5 . + LD A,B ;927a 78 x + ADD A,B ;927b 80 . + INC A ;927c 3c < + ADD A,000h ;927d c6 00 . . + LD B,A ;927f 47 G + LD A,050h ;9280 3e 50 > P + OUT (SLOT1),A ;9282 d3 a2 . . + RRC E ;9284 cb 0b . . + RRC E ;9286 cb 0b . . + LD A,B ;9288 78 x + OUT (PORT_Y),A ;9289 d3 89 . . + LD B,000h ;928b 06 00 . . + LD HL,04300h ;928d 21 00 43 ! . C + ADD HL,BC ;9290 09 . + ADD HL,BC ;9291 09 . + ADD HL,BC ;9292 09 . + ADD HL,BC ;9293 09 . + LD A,IYH ;9294 fd 7c . | + AND 00ch ;9296 e6 0c . . + RRCA ;9298 0f . + RRCA ;9299 0f . + OR 020h ;929a f6 20 . + OR E ;929c b3 . + LD (HL),A ;929d 77 w + INC HL ;929e 23 # + LD A,IYH ;929f fd 7c . | + AND 003h ;92a1 e6 03 . . + RRCA ;92a3 0f . + RRCA ;92a4 0f . + LD B,A ;92a5 47 G + LD A,IYL ;92a6 fd 7d . } + AND 0e0h ;92a8 e6 e0 . . + RRCA ;92aa 0f . + RRCA ;92ab 0f . + OR B ;92ac b0 . + LD (HL),A ;92ad 77 w + INC HL ;92ae 23 # + LD A,IYL ;92af fd 7d . } + AND 01fh ;92b1 e6 1f . . + RLCA ;92b3 07 . + RLCA ;92b4 07 . + RLCA ;92b5 07 . + LD (HL),A ;92b6 77 w + INC HL ;92b7 23 # + LD (HL),000h ;92b8 36 00 6 . + POP BC ;92ba c1 . + LD A,0c1h ;92bb 3e c1 > . + OUT (PORT_Y),A ;92bd d3 89 . . + RET ;92bf c9 . +sub_92c0h: + JR l92ech ;92c0 18 2a . * + CALL sub_a208h ;92c2 cd 08 a2 . . . + LD HL,0c300h ;92c5 21 00 c3 ! . . + LD DE,02000h ;92c8 11 00 20 . . + XOR A ;92cb af . + OUT (PORT_Y),A ;92cc d3 89 . . + LD B,020h ;92ce 06 20 . + DI ;92d0 f3 . + LD D,D ;92d1 52 R + LD A,000h ;92d2 3e 00 > . +l92d4h: + LD E,E ;92d4 5b [ + LD (HL),D ;92d5 72 r + LD B,B ;92d6 40 @ + INC L ;92d7 2c , + LD E,E ;92d8 5b [ + LD (HL),E ;92d9 73 s + LD B,B ;92da 40 @ + INC L ;92db 2c , + LD E,E ;92dc 5b [ + LD (HL),E ;92dd 73 s + LD B,B ;92de 40 @ + INC L ;92df 2c , + LD E,E ;92e0 5b [ + LD (HL),E ;92e1 73 s + LD B,B ;92e2 40 @ + INC L ;92e3 2c , + DJNZ l92d4h ;92e4 10 ee . . + LD A,0c1h ;92e6 3e c1 > . + OUT (PORT_Y),A ;92e8 d3 89 . . + EI ;92ea fb . + RET ;92eb c9 . +l92ech: + LD IY,00000h ;92ec fd 21 00 00 . ! . . + JR l92fah ;92f0 18 08 . . +sub_92f2h: + LD IY,00000h ;92f2 fd 21 00 00 . ! . . + XOR A ;92f6 af . + CALL sub_9229h ;92f7 cd 29 92 . ) . +l92fah: + LD BC,00000h ;92fa 01 00 00 . . . +l92fdh: + XOR A ;92fd af . + CALL sub_9278h ;92fe cd 78 92 . x . + INC B ;9301 04 . + LD A,028h ;9302 3e 28 > ( + CP B ;9304 b8 . + JR NZ,l92fdh ;9305 20 f6 . + LD B,000h ;9307 06 00 . . + INC C ;9309 0c . + LD A,020h ;930a 3e 20 > + CP C ;930c b9 . + JR NZ,l92fdh ;930d 20 ee . + RET ;930f c9 . + + + +SET_PALETTE: LD DE,#0100 ;9310 11 00 01 . . . +.loop: PUSH AF ;9313 f5 . + PUSH DE ;9314 d5 . + LD HL,.colors ;9315 21 22 93 ! " . + LD BC,#FF*256 + BIOS.PIC_SET_PAL ;9318 01 a4 ff . . . + RST ToBIOS ;931b cf . + POP DE ;931c d1 . + POP AF ;931d f1 . + INC E ;931e 1c . + JR NZ,.loop ;931f 20 f2 . + RET ;9321 c9 . +.colors: DB 0,0,0,0 ;9322 00 . + +GENERATE_PALETTE: + XOR A ;9326 af . +.loop: CALL SET_PALETTE ;9327 cd 10 93 . . . + INC A ;932a 3c < + CP 8 ;932b fe 08 . . + JR NZ,.loop ;932d 20 f8 . + EI ;932f fb . + HALT ;9330 76 v + RET ;9331 c9 . + + + + + CALL GENERATE_PALETTE ;9332 cd 26 93 . & . + DI ;9335 f3 . + CALL sub_92f2h ;9336 cd f2 92 . . . + EI ;9339 fb . + RET ;933a c9 . + + + + +sub_933bh: + INC L ;933b 2c , + RET NZ ;933c c0 . + INC H ;933d 24 $ + RET NZ ;933e c0 . + LD H,0c0h ;933f 26 c0 & . + PUSH AF ;9341 f5 . + LD A,000h ;9342 3e 00 > . + INC A ;9344 3c < + LD (09343h),A ;9345 32 43 93 2 C . + CALL SET_PAGE_SLOT3_af ;9348 cd ec a1 . . . + POP AF ;934b f1 . + RET ;934c c9 . +sub_934dh: + CALL FAST_RAM_FN.ON_DI ;934d cd 73 a2 . s . + LD A,(0be05h) ;9350 3a 05 be : . . + OUT (SLOT1),A ;9353 d3 a2 . . + LD A,(03f1ah) ;9355 3a 1a 3f : . ? + LD C,A ;9358 4f O + LD A,(03f1bh) ;9359 3a 1b 3f : . ? + LD B,A ;935c 47 G + LD HL,(03f17h) ;935d 2a 17 3f * . ? + LD A,0c0h ;9360 3e c0 > . + ADD A,H ;9362 84 . + LD H,A ;9363 67 g + LD IYH,040h ;9364 fd 26 40 . & @ + LD IX,0c000h ;9367 dd 21 00 c0 . ! . . + LD DE,04040h ;936b 11 40 40 . @ @ +l936eh: + PUSH DE ;936e d5 . + PUSH BC ;936f c5 . +l9370h: + LD A,(03f19h) ;9370 3a 19 3f : . ? + CALL SET_PAGE_SLOT3_af ;9373 cd ec a1 . . . + LD A,(HL) ;9376 7e ~ + INC HL ;9377 23 # + CP 0e0h ;9378 fe e0 . . + EXX ;937a d9 . + JR NC,l93ech ;937b 30 6f 0 o + LD IYL,A ;937d fd 6f . o + LD C,(iy+000h) ;937f fd 4e 00 . N . + INC IYH ;9382 fd 24 . $ + LD B,(iy+000h) ;9384 fd 46 00 . F . + DEC IYH ;9387 fd 25 . % +l9389h: + LD A,(0be08h) ;9389 3a 08 be : . . + OUT (SLOT3),A ;938c d3 e2 . . + LD (ix+000h),C ;938e dd 71 00 . q . + INC IX ;9391 dd 23 . # + LD (ix+000h),B ;9393 dd 70 00 . p . + INC IX ;9396 dd 23 . # + XOR A ;9398 af . + LD (ix+000h),A ;9399 dd 77 00 . w . + INC IX ;939c dd 23 . # + LD (ix+000h),A ;939e dd 77 00 . w . + INC IX ;93a1 dd 23 . # + EXX ;93a3 d9 . + DEC D ;93a4 15 . + DEC B ;93a5 05 . + JR NZ,l9370h ;93a6 20 c8 . + OR D ;93a8 b2 . + JR Z,l93c3h ;93a9 28 18 ( . + XOR A ;93ab af . +l93ach: + LD (ix+000h),A ;93ac dd 77 00 . w . + INC IX ;93af dd 23 . # + LD (ix+000h),A ;93b1 dd 77 00 . w . + INC IX ;93b4 dd 23 . # + LD (ix+000h),A ;93b6 dd 77 00 . w . + INC IX ;93b9 dd 23 . # + LD (ix+000h),A ;93bb dd 77 00 . w . + INC IX ;93be dd 23 . # + DEC D ;93c0 15 . + JR NZ,l93ach ;93c1 20 e9 . +l93c3h: + POP BC ;93c3 c1 . + POP DE ;93c4 d1 . + DEC E ;93c5 1d . + DEC C ;93c6 0d . + JR NZ,l936eh ;93c7 20 a5 . + OR E ;93c9 b3 . + JR Z,l93e9h ;93ca 28 1d ( . +l93cch: + PUSH DE ;93cc d5 . +l93cdh: + XOR A ;93cd af . + LD (ix+000h),A ;93ce dd 77 00 . w . + INC IX ;93d1 dd 23 . # + LD (ix+000h),A ;93d3 dd 77 00 . w . + INC IX ;93d6 dd 23 . # + LD (ix+000h),A ;93d8 dd 77 00 . w . + INC IX ;93db dd 23 . # + LD (ix+000h),A ;93dd dd 77 00 . w . + INC IX ;93e0 dd 23 . # + DEC D ;93e2 15 . + JR NZ,l93cdh ;93e3 20 e8 . + POP DE ;93e5 d1 . + DEC E ;93e6 1d . + JR NZ,l93cch ;93e7 20 e3 . +l93e9h: + JP FAST_RAM_FN.OFF_EI ;93e9 c3 77 a2 . w . +l93ech: + LD C,A ;93ec 4f O + LD B,000h ;93ed 06 00 . . + JR l9389h ;93ef 18 98 . . +sub_93f1h: + LD A,(03f1ch) ;93f1 3a 1c 3f : . ? + OR A ;93f4 b7 . + LD DE,00b00h ;93f5 11 00 0b . . . + JR Z,l93fdh ;93f8 28 03 ( . + LD DE,00b80h ;93fa 11 80 0b . . . +l93fdh: + LD HL,03c04h ;93fd 21 04 3c ! . < + LD IXL,008h ;9400 dd 2e 08 . . . + LD BC,0000ch ;9403 01 0c 00 . . . +l9406h: + LD (HL),D ;9406 72 r + INC HL ;9407 23 # + LD A,(HL) ;9408 7e ~ + RES 7,A ;9409 cb bf . . + OR E ;940b b3 . + LD (HL),A ;940c 77 w + ADD HL,BC ;940d 09 . + DEC IXL ;940e dd 2d . - + JR NZ,l9406h ;9410 20 f4 . + LD (HL),D ;9412 72 r + LD A,(03f1eh) ;9413 3a 1e 3f : . ? + RES 7,A ;9416 cb bf . . + OR E ;9418 b3 . + LD (03f1eh),A ;9419 32 1e 3f 2 . ? + RET ;941c c9 . +sub_941dh: + DI ;941d f3 . + LD A,050h ;941e 3e 50 > P + OUT (SLOT1),A ;9420 d3 a2 . . + LD A,059h ;9422 3e 59 > Y + CALL sub_9450h ;9424 cd 50 94 . P . + LD A,0d9h ;9427 3e d9 > . + CALL sub_9450h ;9429 cd 50 94 . P . + CALL sub_9435h ;942c cd 35 94 . 5 . + LD A,0c1h ;942f 3e c1 > . + OUT (PORT_Y),A ;9431 d3 89 . . + EI ;9433 fb . + RET ;9434 c9 . +sub_9435h: + LD HL,l8021h ;9435 21 21 80 ! ! . + LD DE,04300h ;9438 11 00 43 . . C + LD D,D ;943b 52 R + LD A,080h ;943c 3e 80 > . + LD B,B ;943e 40 @ + LD A,04fh ;943f 3e 4f > O + OUT (PORT_Y),A ;9441 d3 89 . . + LD L,L ;9443 6d m + LD A,(HL) ;9444 7e ~ + LD (DE),A ;9445 12 . + LD B,B ;9446 40 @ + LD A,0cfh ;9447 3e cf > . + OUT (PORT_Y),A ;9449 d3 89 . . + LD L,L ;944b 6d m + LD A,(HL) ;944c 7e ~ + LD (DE),A ;944d 12 . + LD B,B ;944e 40 @ + RET ;944f c9 . +sub_9450h: + OUT (PORT_Y),A ;9450 d3 89 . . + LD HL,04300h ;9452 21 00 43 ! . C +l9455h: + LD A,(HL) ;9455 7e ~ + OR 004h ;9456 f6 04 . . + LD (HL),A ;9458 77 w + INC L ;9459 2c , + INC L ;945a 2c , + INC L ;945b 2c , + XOR A ;945c af . + LD (HL),A ;945d 77 w + INC L ;945e 2c , + LD A,L ;945f 7d } + CP 0a0h ;9460 fe a0 . . + JR NZ,l9455h ;9462 20 f1 . + RET ;9464 c9 . +sub_9465h: + LD IY,00000h ;9465 fd 21 00 00 . ! . . + LD A,(0be02h) ;9469 3a 02 be : . . + OUT (SLOT1),A ;946c d3 a2 . . + LD HL,04000h ;946e 21 00 40 ! . @ + LD DE,00c00h ;9471 11 00 0c . . . +l9474h: + LD A,IYH ;9474 fd 7c . | + AND 00ch ;9476 e6 0c . . + RRCA ;9478 0f . + RRCA ;9479 0f . + OR 060h ;947a f6 60 . ` + LD (HL),A ;947c 77 w + INC HL ;947d 23 # + LD A,IYH ;947e fd 7c . | + AND 003h ;9480 e6 03 . . + RRCA ;9482 0f . + RRCA ;9483 0f . + LD B,A ;9484 47 G + LD A,IYL ;9485 fd 7d . } + AND 0e0h ;9487 e6 e0 . . + RRCA ;9489 0f . + RRCA ;948a 0f . + OR B ;948b b0 . + LD (HL),A ;948c 77 w + INC HL ;948d 23 # + LD A,IYL ;948e fd 7d . } + AND 01fh ;9490 e6 1f . . + RLCA ;9492 07 . + RLCA ;9493 07 . + RLCA ;9494 07 . + LD (HL),A ;9495 77 w + INC HL ;9496 23 # + LD (HL),000h ;9497 36 00 6 . + INC HL ;9499 23 # + INC IY ;949a fd 23 . # + DEC DE ;949c 1b . + LD A,D ;949d 7a z + OR E ;949e b3 . + JR NZ,l9474h ;949f 20 d3 . + RET ;94a1 c9 . +sub_94a2h: + CALL FAST_RAM_FN.ON_DI ;94a2 cd 73 a2 . s . + LD HL,03c0bh ;94a5 21 0b 3c ! . < + LD DE,0000dh ;94a8 11 0d 00 . . . + LD C,0ffh ;94ab 0e ff . . + LD (HL),C ;94ad 71 q + ADD HL,DE ;94ae 19 . + LD (HL),C ;94af 71 q + ADD HL,DE ;94b0 19 . + LD (HL),C ;94b1 71 q + ADD HL,DE ;94b2 19 . + LD (HL),C ;94b3 71 q + ADD HL,DE ;94b4 19 . + LD (HL),C ;94b5 71 q + ADD HL,DE ;94b6 19 . + LD (HL),C ;94b7 71 q + ADD HL,DE ;94b8 19 . + LD (HL),C ;94b9 71 q + ADD HL,DE ;94ba 19 . + LD (HL),C ;94bb 71 q + JP FAST_RAM_FN.OFF_EI ;94bc c3 77 a2 . w . +sub_94bfh: + LD A,(0be08h) ;94bf 3a 08 be : . . + OUT (SLOT3),A ;94c2 d3 e2 . . + CALL FAST_RAM_FN.ON_DI ;94c4 cd 73 a2 . s . + LD HL,0c000h ;94c7 21 00 c0 ! . . + LD IX,03c01h ;94ca dd 21 01 3c . ! . < + LD E,000h ;94ce 1e 00 . . + LD IY,00000h ;94d0 fd 21 00 00 . ! . . + LD BC,00004h ;94d4 01 04 00 . . . +l94d7h: + LD A,(HL) ;94d7 7e ~ + CP 0e0h ;94d8 fe e0 . . + JR C,l9518h ;94da 38 3c 8 < + EXX ;94dc d9 . + LD HL,l9533h ;94dd 21 33 95 ! 3 . + SUB 0e0h ;94e0 d6 e0 . . + LD C,A ;94e2 4f O + LD B,000h ;94e3 06 00 . . + ADD HL,BC ;94e5 09 . + ADD HL,BC ;94e6 09 . + ADD HL,BC ;94e7 09 . + LD A,(HL) ;94e8 7e ~ + INC HL ;94e9 23 # + LD (ix+00ch),A ;94ea dd 77 0c . w . + LD A,(HL) ;94ed 7e ~ + INC HL ;94ee 23 # + LD (ix+007h),A ;94ef dd 77 07 . w . + LD A,(HL) ;94f2 7e ~ + LD (ix+008h),A ;94f3 dd 77 08 . w . + LD A,IYL ;94f6 fd 7d . } + LD (ix+00ah),A ;94f8 dd 77 0a . w . + LD A,IYH ;94fb fd 7c . | + LD (ix+00bh),A ;94fd dd 77 0b . w . + LD (ix+009h),000h ;9500 dd 36 09 00 . 6 . . + LD (ix+000h),000h ;9504 dd 36 00 00 . 6 . . + LD (ix+001h),000h ;9508 dd 36 01 00 . 6 . . + LD DE,0000dh ;950c 11 0d 00 . . . + ADD IX,DE ;950f dd 19 . . + EXX ;9511 d9 . + XOR A ;9512 af . + LD (HL),A ;9513 77 w + INC HL ;9514 23 # + LD (HL),A ;9515 77 w + DEC HL ;9516 2b + + INC E ;9517 1c . +l9518h: + ADD HL,BC ;9518 09 . + INC IYH ;9519 fd 24 . $ + LD A,IYH ;951b fd 7c . | + CP 040h ;951d fe 40 . @ + JR NZ,l94d7h ;951f 20 b6 . + LD IYH,000h ;9521 fd 26 00 . & . + INC IYL ;9524 fd 2c . , + LD A,IYL ;9526 fd 7d . } + CP 03fh ;9528 fe 3f . ? + JR NZ,l94d7h ;952a 20 ab . + LD A,E ;952c 7b { + LD (03c00h),A ;952d 32 00 3c 2 . < + JP FAST_RAM_FN.OFF_EI ;9530 c3 77 a2 . w . +l9533h: + NOP ;9533 00 . + NOP ;9534 00 . + NOP ;9535 00 . + LD BC,00000h ;9536 01 00 00 . . . + LD (BC),A ;9539 02 . + NOP ;953a 00 . + NOP ;953b 00 . + LD A,(BC) ;953c 0a . + NOP ;953d 00 . + NOP ;953e 00 . + INC BC ;953f 03 . + NOP ;9540 00 . + NOP ;9541 00 . +sub_9542h: + XOR A ;9542 af . + LD (l85d0h.set_byte5),A ;9543 32 47 86 2 G . + LD A,0c1h ;9546 3e c1 > . + OUT (PORT_Y),A ;9548 d3 89 . . + LD A,(0be08h) ;954a 3a 08 be : . . + OUT (SLOT3),A ;954d d3 e2 . . + LD A,(0be0fh) ;954f 3a 0f be : . . + OUT (SLOT1),A ;9552 d3 a2 . . + LD HL,0c000h ;9554 21 00 c0 ! . . + LD IX,04002h ;9557 dd 21 02 40 . ! . @ + LD DE,00000h ;955b 11 00 00 . . . + EXX ;955e d9 . + LD B,000h ;955f 06 00 . . + EXX ;9561 d9 . +l9562h: + LD A,(HL) ;9562 7e ~ + CP 006h ;9563 fe 06 . . + JR NZ,l9570h ;9565 20 09 . + LD A,(l85d0h.set_byte5) ;9567 3a 47 86 : G . + INC A ;956a 3c < + LD (l85d0h.set_byte5),A ;956b 32 47 86 2 G . + LD A,006h ;956e 3e 06 > . +l9570h: + EXX ;9570 d9 . + LD C,A ;9571 4f O + LD HL,l9595h ;9572 21 95 95 ! . . + ADD HL,BC ;9575 09 . + LD A,(HL) ;9576 7e ~ + OR A ;9577 b7 . + EXX ;9578 d9 . + JR Z,l9588h ;9579 28 0d ( . + LD A,L ;957b 7d } + LD (ix+000h),A ;957c dd 77 00 . w . + INC IX ;957f dd 23 . # + LD A,H ;9581 7c | + LD (ix+000h),A ;9582 dd 77 00 . w . + INC IX ;9585 dd 23 . # + INC DE ;9587 13 . +l9588h: + INC HL ;9588 23 # + INC HL ;9589 23 # + INC HL ;958a 23 # + INC HL ;958b 23 # + LD A,H ;958c 7c | + OR L ;958d b5 . + JR NZ,l9562h ;958e 20 d2 . + LD (04000h),DE ;9590 ed 53 00 40 . S . @ + RET ;9594 c9 . +l9595h: + NOP ;9595 00 . + NOP ;9596 00 . + NOP ;9597 00 . + NOP ;9598 00 . + INC B ;9599 04 . + NOP ;959a 00 . + LD B,000h ;959b 06 00 . . + NOP ;959d 00 . + NOP ;959e 00 . + NOP ;959f 00 . + NOP ;95a0 00 . + NOP ;95a1 00 . + NOP ;95a2 00 . + NOP ;95a3 00 . + NOP ;95a4 00 . + NOP ;95a5 00 . + NOP ;95a6 00 . + NOP ;95a7 00 . + NOP ;95a8 00 . + NOP ;95a9 00 . + NOP ;95aa 00 . + NOP ;95ab 00 . + NOP ;95ac 00 . + NOP ;95ad 00 . + NOP ;95ae 00 . + LD A,(DE) ;95af 1a . +sub_95b0h: + LD A,(0be11h) ;95b0 3a 11 be : . . + OUT (SLOT1),A ;95b3 d3 a2 . . + XOR A ;95b5 af . + LD (04000h),A ;95b6 32 00 40 2 . @ + RET ;95b9 c9 . +sub_95bah: + CALL FAST_RAM_FN.ON_DI ;95ba cd 73 a2 . s . + XOR A ;95bd af . + LD (03f1fh),A ;95be 32 1f 3f 2 . ? + LD (03f20h),A ;95c1 32 20 3f 2 ? + LD (03f21h),A ;95c4 32 21 3f 2 ! ? + LD (03f22h),A ;95c7 32 22 3f 2 " ? + LD (03f23h),A ;95ca 32 23 3f 2 # ? + LD (03f24h),A ;95cd 32 24 3f 2 $ ? + LD (03f25h),A ;95d0 32 25 3f 2 % ? + LD (03f26h),A ;95d3 32 26 3f 2 & ? + LD (03f27h),A ;95d6 32 27 3f 2 ' ? + LD (03f28h),A ;95d9 32 28 3f 2 ( ? + JP FAST_RAM_FN.OFF_EI ;95dc c3 77 a2 . w . +sub_95dfh: + LD IY,00a80h ;95df fd 21 80 0a . ! . . + LD BC,0001eh ;95e3 01 1e 00 . . . + CALL sub_95f3h ;95e6 cd f3 95 . . . + LD BC,0001fh ;95e9 01 1f 00 . . . + CALL sub_95f3h ;95ec cd f3 95 . . . + CALL sub_9607h ;95ef cd 07 96 . . . + RET ;95f2 c9 . +sub_95f3h: + PUSH IY ;95f3 fd e5 . . + PUSH BC ;95f5 c5 . + LD A,002h ;95f6 3e 02 > . + CALL sub_9278h ;95f8 cd 78 92 . x . + POP BC ;95fb c1 . + POP IY ;95fc fd e1 . . + INC IY ;95fe fd 23 . # + INC B ;9600 04 . + LD A,027h ;9601 3e 27 > ' + CP B ;9603 b8 . + JR NZ,sub_95f3h ;9604 20 ed . + RET ;9606 c9 . +sub_9607h: + CALL sub_9617h ;9607 cd 17 96 . . . + CALL sub_9632h ;960a cd 32 96 . 2 . + CALL sub_9640h ;960d cd 40 96 . @ . + CALL sub_964dh ;9610 cd 4d 96 . M . + CALL sub_965ah ;9613 cd 5a 96 . Z . + RET ;9616 c9 . +sub_9617h: + LD HL,l962bh ;9617 21 2b 96 ! + . + LD A,007h ;961a 3e 07 > . + LD B,01fh ;961c 06 1f . . +l961eh: + PUSH AF ;961e f5 . + LD C,(HL) ;961f 4e N + INC HL ;9620 23 # + PUSH HL ;9621 e5 . + CALL sub_9667h ;9622 cd 67 96 . g . + POP HL ;9625 e1 . + POP AF ;9626 f1 . + DEC A ;9627 3d = + JR NZ,l961eh ;9628 20 f4 . + RET ;962a c9 . + +l962bh: DB 0 ;962b 00 . +l962ch: DB 0 ;962c 00 . +l962dh: DB 0 ;962d 00 . +l962eh: DB 0 ;962e 00 . +l962fh: DB 0 ;962f 00 . +l9630h: DB 0 ;9630 00 . +l9631h: DB 0 ;9631 00 . +sub_9632h: + LD HL,l963eh ;9632 21 3e 96 ! > . + LD A,002h ;9635 3e 02 > . + LD B,019h ;9637 06 19 . . + JP l961eh ;9639 c3 1e 96 . . . + + NOP ;963c 00 . +l963dh: + NOP ;963d 00 . +l963eh: + NOP ;963e 00 . +l963fh: + NOP ;963f 00 . +sub_9640h: + LD HL,l964ch ;9640 21 4c 96 ! L . + LD A,001h ;9643 3e 01 > . + LD B,004h ;9645 06 04 . . + JP l961eh ;9647 c3 1e 96 . . . +l964ah: + NOP ;964a 00 . + NOP ;964b 00 . +l964ch: + NOP ;964c 00 . +sub_964dh: + LD HL,l9658h ;964d 21 58 96 ! X . + LD A,002h ;9650 3e 02 > . + LD B,013h ;9652 06 13 . . + JP l961eh ;9654 c3 1e 96 . . . +l9657h: + NOP ;9657 00 . +l9658h: + NOP ;9658 00 . +l9659h: + NOP ;9659 00 . +sub_965ah: + LD HL,l9665h ;965a 21 65 96 ! e . + LD A,002h ;965d 3e 02 > . + LD B,00ch ;965f 06 0c . . + JP l961eh ;9661 c3 1e 96 . . . +l9664h: + NOP ;9664 00 . +l9665h: + NOP ;9665 00 . + NOP ;9666 00 . +sub_9667h: + PUSH BC ;9667 c5 . + LD A,C ;9668 79 y + ADD A,0ceh ;9669 c6 ce . . + LD IYL,A ;966b fd 6f . o + LD IYH,00ah ;966d fd 26 0a . & . + LD C,01eh ;9670 0e 1e . . + LD A,002h ;9672 3e 02 > . + CALL sub_9278h ;9674 cd 78 92 . x . + INC C ;9677 0c . + LD A,IYL ;9678 fd 7d . } + ADD A,00ah ;967a c6 0a . . + LD IYL,A ;967c fd 6f . o + LD A,002h ;967e 3e 02 > . + CALL sub_9278h ;9680 cd 78 92 . x . + POP BC ;9683 c1 . + INC B ;9684 04 . + RET ;9685 c9 . +l9686h: + PUSH BC ;9686 c5 . + LD C,009h ;9687 0e 09 . . +l9689h: + CALL l9691h ;9689 cd 91 96 . . . + DEC C ;968c 0d . + JR NZ,l9689h ;968d 20 fa . + POP BC ;968f c1 . + RET ;9690 c9 . +l9691h: + PUSH HL ;9691 e5 . + LD HL,l9631h ;9692 21 31 96 ! 1 . +l9695h: + LD A,(HL) ;9695 7e ~ + CP 009h ;9696 fe 09 . . + JR Z,l969dh ;9698 28 03 ( . + INC (HL) ;969a 34 4 + POP HL ;969b e1 . + RET ;969c c9 . +l969dh: + LD (HL),000h ;969d 36 00 6 . + DEC HL ;969f 2b + + JR l9695h ;96a0 18 f3 . . +l96a2h: + LD A,(l85d0h.set_byte5) ;96a2 3a 47 86 : G . + OR A ;96a5 b7 . + RET Z ;96a6 c8 . + DEC A ;96a7 3d = + LD (l85d0h.set_byte5),A ;96a8 32 47 86 2 G . + PUSH HL ;96ab e5 . + LD HL,l963fh ;96ac 21 3f 96 ! ? . +l96afh: + LD A,(HL) ;96af 7e ~ + OR A ;96b0 b7 . + JR Z,l96b6h ;96b1 28 03 ( . + DEC (HL) ;96b3 35 5 + POP HL ;96b4 e1 . + RET ;96b5 c9 . +l96b6h: + LD (HL),009h ;96b6 36 09 6 . + DEC HL ;96b8 2b + + JR l96afh ;96b9 18 f4 . . +sub_96bbh: + LD HL,00000h ;96bb 21 00 00 ! . . + DEC HL ;96be 2b + + LD A,H ;96bf 7c | + OR L ;96c0 b5 . + JR Z,l96c7h ;96c1 28 04 ( . + LD (sub_96bbh+1),HL ;96c3 22 bc 96 " . . + RET ;96c6 c9 . +l96c7h: + LD HL,00000h ;96c7 21 00 00 ! . . + LD (sub_96bbh+1),HL ;96ca 22 bc 96 " . . + LD HL,l9659h ;96cd 21 59 96 ! Y . + CALL sub_96dch ;96d0 cd dc 96 . . . +.set_byte+1: LD A,000h ;96d3 3e 00 > . + OR A ;96d5 b7 . + RET Z ;96d6 c8 . + DEC A ;96d7 3d = + LD (l96c7h.set_byte),A ;96d8 32 d4 96 2 . . + RET ;96db c9 . +sub_96dch: + LD A,(HL) ;96dc 7e ~ + OR A ;96dd b7 . + JR Z,l96e2h ;96de 28 02 ( . + DEC (HL) ;96e0 35 5 + RET ;96e1 c9 . +l96e2h: + DEC HL ;96e2 2b + + LD A,(HL) ;96e3 7e ~ + OR A ;96e4 b7 . + RET Z ;96e5 c8 . + DEC (HL) ;96e6 35 5 + INC HL ;96e7 23 # + LD (HL),009h ;96e8 36 09 6 . + RET ;96ea c9 . +sub_96ebh: + LD (HL),000h ;96eb 36 00 6 . +l96edh: + CP 064h ;96ed fe 64 . d + JR C,l96f6h ;96ef 38 05 8 . + INC (HL) ;96f1 34 4 + SUB 064h ;96f2 d6 64 . d + JR l96edh ;96f4 18 f7 . . +l96f6h: + INC HL ;96f6 23 # + LD (HL),000h ;96f7 36 00 6 . +l96f9h: + CP 00ah ;96f9 fe 0a . . + JR C,l9702h ;96fb 38 05 8 . + INC (HL) ;96fd 34 4 + SUB 00ah ;96fe d6 0a . . + JR l96f9h ;9700 18 f7 . . +l9702h: + INC HL ;9702 23 # + LD (HL),A ;9703 77 w + RET ;9704 c9 . +sub_9705h: + CALL FAST_RAM_FN.ON_DI ;9705 cd 73 a2 . s . + XOR A ;9708 af . + LD (sub_9712h+1),A ;9709 32 13 97 2 . . + LD (03f00h),A ;970c 32 00 3f 2 . ? + JP FAST_RAM_FN.OFF_EI ;970f c3 77 a2 . w . +sub_9712h: + LD A,000h ;9712 3e 00 > . + INC A ;9714 3c < + AND 007h ;9715 e6 07 . . + LD (sub_9712h+1),A ;9717 32 13 97 2 . . + EX AF,AF' ;971a 08 . + CALL FAST_RAM_FN.ON_DI ;971b cd 73 a2 . s . + EX AF,AF' ;971e 08 . + LD (03f00h),A ;971f 32 00 3f 2 . ? + JP FAST_RAM_FN.OFF_EI ;9722 c3 77 a2 . w . +sub_9725h: + LD A,(03f06h) ;9725 3a 06 3f : . ? + OR A ;9728 b7 . + RET Z ;9729 c8 . + DEC A ;972a 3d = + LD (03f06h),A ;972b 32 06 3f 2 . ? + LD HL,l9756h ;972e 21 56 97 ! V . + LD C,008h ;9731 0e 08 . . +l9733h: + PUSH BC ;9733 c5 . + LD A,(HL) ;9734 7e ~ + LD (03f27h),A ;9735 32 27 3f 2 ' ? + INC HL ;9738 23 # + LD A,(HL) ;9739 7e ~ + LD (03f16h),A ;973a 32 16 3f 2 . ? + INC HL ;973d 23 # + PUSH HL ;973e e5 . + CALL FAST_RAM_FN.OFF_EI ;973f cd 77 a2 . w . + CALL sub_875eh ;9742 cd 5e 87 . ^ . + CALL FAST_RAM_FN.ON_DI ;9745 cd 73 a2 . s . + POP HL ;9748 e1 . + POP BC ;9749 c1 . + DEC C ;974a 0d . + JR NZ,l9733h ;974b 20 e6 . + XOR A ;974d af . + LD (03f27h),A ;974e 32 27 3f 2 ' ? + LD (03f16h),A ;9751 32 16 3f 2 . ? + INC A ;9754 3c < + RET ;9755 c9 . +l9756h: + LD (BC),A ;9756 02 . + DEC B ;9757 05 . + LD (BC),A ;9758 02 . + LD (BC),A ;9759 02 . + LD BC,00107h ;975a 01 07 01 . . . + INC B ;975d 04 . + LD BC,00001h ;975e 01 01 00 . . . + LD B,000h ;9761 06 00 . . + INC BC ;9763 03 . + NOP ;9764 00 . + NOP ;9765 00 . +l9766h: + NOP ;9766 00 . + INC BC ;9767 03 . + NOP ;9768 00 . + LD B,001h ;9769 06 01 . . + LD BC,00401h ;976b 01 01 04 . . . + LD BC,00207h ;976e 01 07 02 . . . + LD (BC),A ;9771 02 . + LD (BC),A ;9772 02 . + DEC B ;9773 05 . +sub_9774h: + LD A,(03f1bh) ;9774 3a 1b 3f : . ? + SUB 00dh ;9777 d6 0d . . + LD C,A ;9779 4f O + LD A,(03f06h) ;977a 3a 06 3f : . ? + CP C ;977d b9 . + RET Z ;977e c8 . + LD HL,l9766h ;977f 21 66 97 ! f . + LD C,007h ;9782 0e 07 . . + CALL l9733h ;9784 cd 33 97 . 3 . + LD A,(03f06h) ;9787 3a 06 3f : . ? + INC A ;978a 3c < + LD (03f06h),A ;978b 32 06 3f 2 . ? + XOR A ;978e af . + RET ;978f c9 . +sub_9790h: + LD A,(03f07h) ;9790 3a 07 3f : . ? + OR A ;9793 b7 . + RET Z ;9794 c8 . + DEC A ;9795 3d = + LD (03f07h),A ;9796 32 07 3f 2 . ? + LD HL,l97c0h ;9799 21 c0 97 ! . . + LD C,007h ;979c 0e 07 . . +l979eh: + PUSH BC ;979e c5 . + LD A,(HL) ;979f 7e ~ + LD (03f28h),A ;97a0 32 28 3f 2 ( ? + INC HL ;97a3 23 # + LD A,(HL) ;97a4 7e ~ + LD (03f16h),A ;97a5 32 16 3f 2 . ? + INC HL ;97a8 23 # + PUSH HL ;97a9 e5 . + CALL FAST_RAM_FN.OFF_EI ;97aa cd 77 a2 . w . + CALL sub_875eh ;97ad cd 5e 87 . ^ . + CALL FAST_RAM_FN.ON_DI ;97b0 cd 73 a2 . s . + POP HL ;97b3 e1 . + POP BC ;97b4 c1 . + DEC C ;97b5 0d . + JR NZ,l979eh ;97b6 20 e6 . + XOR A ;97b8 af . + LD (03f28h),A ;97b9 32 28 3f 2 ( ? + LD (03f16h),A ;97bc 32 16 3f 2 . ? + RET ;97bf c9 . +l97c0h: + LD (BC),A ;97c0 02 . + LD D,B ;97c1 50 P + LD (BC),A ;97c2 02 . + JR NZ,l97c6h ;97c3 20 01 . + LD (HL),B ;97c5 70 p +l97c6h: + LD BC,00140h ;97c6 01 40 01 . @ . + DJNZ l97cbh ;97c9 10 00 . . +l97cbh: + LD H,B ;97cb 60 ` + NOP ;97cc 00 . + JR NC,l97cfh ;97cd 30 00 0 . +l97cfh: + NOP ;97cf 00 . +l97d0h: + NOP ;97d0 00 . + JR NC,l97d3h ;97d1 30 00 0 . +l97d3h: + LD H,B ;97d3 60 ` + LD BC,00110h ;97d4 01 10 01 . . . + LD B,B ;97d7 40 @ + LD BC,00270h ;97d8 01 70 02 . p . + JR NZ,$+4 ;97db 20 02 . + LD D,B ;97dd 50 P +sub_97deh: + LD A,(03f1ah) ;97de 3a 1a 3f : . ? + SUB 00ah ;97e1 d6 0a . . + LD C,A ;97e3 4f O + LD A,(03f07h) ;97e4 3a 07 3f : . ? + CP C ;97e7 b9 . + RET Z ;97e8 c8 . + LD HL,l97d0h ;97e9 21 d0 97 ! . . + LD C,007h ;97ec 0e 07 . . + CALL l979eh ;97ee cd 9e 97 . . . + LD A,(03f07h) ;97f1 3a 07 3f : . ? + INC A ;97f4 3c < + LD (03f07h),A ;97f5 32 07 3f 2 . ? + XOR A ;97f8 af . + RET ;97f9 c9 . +sub_97fah: + LD E,A ;97fa 5f _ + LD D,000h ;97fb 16 00 . . + LD IY,l9cf2h ;97fd fd 21 f2 9c . ! . . + ADD IY,DE ;9801 fd 19 . . + ADD IY,DE ;9803 fd 19 . . + LD C,(iy+000h) ;9805 fd 4e 00 . N . + LD B,(iy+001h) ;9808 fd 46 01 . F . + LD IXL,C ;980b dd 69 . i + LD IXH,B ;980d dd 60 . ` + CALL FAST_RAM_FN.ON_DI ;980f cd 73 a2 . s . + LD A,(ix+000h) ;9812 dd 7e 00 . ~ . + LD (03f1ah),A ;9815 32 1a 3f 2 . ? + LD A,(ix+001h) ;9818 dd 7e 01 . ~ . + LD (03f1bh),A ;981b 32 1b 3f 2 . ? + LD A,(ix+002h) ;981e dd 7e 02 . ~ . + LD (03f19h),A ;9821 32 19 3f 2 . ? + LD L,(ix+003h) ;9824 dd 6e 03 . n . + LD H,(ix+004h) ;9827 dd 66 04 . f . + LD (03f17h),HL ;982a 22 17 3f " . ? + LD A,(ix+005h) ;982d dd 7e 05 . ~ . + LD (03f29h),A ;9830 32 29 3f 2 ) ? + LD L,(ix+006h) ;9833 dd 6e 06 . n . + LD H,(ix+007h) ;9836 dd 66 07 . f . + LD (03f2ah),HL ;9839 22 2a 3f " * ? + LD A,(ix+008h) ;983c dd 7e 08 . ~ . + LD (03f07h),A ;983f 32 07 3f 2 . ? + LD A,(ix+009h) ;9842 dd 7e 09 . ~ . + LD (03f06h),A ;9845 32 06 3f 2 . ? + LD A,(ix+00ah) ;9848 dd 7e 0a . ~ . + LD (03f2ch),A ;984b 32 2c 3f 2 , ? + LD L,(ix+00bh) ;984e dd 6e 0b . n . + LD H,(ix+00ch) ;9851 dd 66 0c . f . + LD (03f2dh),HL ;9854 22 2d 3f " - ? + LD A,(ix+00dh) ;9857 dd 7e 0d . ~ . + LD (03f3bh),A ;985a 32 3b 3f 2 ; ? + LD A,(03f19h) ;985d 3a 19 3f : . ? + CALL SET_PAGE_SLOT1 ;9860 cd e2 a1 . . . + LD A,(03f1ah) ;9863 3a 1a 3f : . ? + LD C,A ;9866 4f O + LD A,(03f1bh) ;9867 3a 1b 3f : . ? + LD B,A ;986a 47 G + LD HL,(03f17h) ;986b 2a 17 3f * . ? + LD A,H ;986e 7c | + ADD A,040h ;986f c6 40 . @ + LD H,A ;9871 67 g + LD A,(0be05h) ;9872 3a 05 be : . . + OUT (SLOT1),A ;9875 d3 a2 . . + LD A,0c1h ;9877 3e c1 > . + OUT (PORT_Y),A ;9879 d3 89 . . + LD H,042h ;987b 26 42 & B + LD L,000h ;987d 2e 00 . . + XOR A ;987f af . + LD C,002h ;9880 0e 02 . . +l9882h: + LD (HL),A ;9882 77 w + INC L ;9883 2c , + JR NZ,l9882h ;9884 20 fc . + INC H ;9886 24 $ + DEC C ;9887 0d . + JR NZ,l9882h ;9888 20 f8 . + LD A,(03f29h) ;988a 3a 29 3f : ) ? + LD (098cfh),A ;988d 32 cf 98 2 . . + LD IX,(03f2ah) ;9890 dd 2a 2a 3f . * * ? + EXX ;9894 d9 . + LD BC,04400h ;9895 01 00 44 . . D + EXX ;9898 d9 . + LD DE,00000h ;9899 11 00 00 . . . + LD C,000h ;989c 0e 00 . . +l989eh: + LD A,0c0h ;989e 3e c0 > . + ADD A,IXH ;98a0 dd 84 . . + LD IXH,A ;98a2 dd 67 . g +l98a4h: + LD A,(098cfh) ;98a4 3a cf 98 : . . + CALL SET_PAGE_SLOT3_af ;98a7 cd ec a1 . . . + LD A,(ix+000h) ;98aa dd 7e 00 . ~ . + INC IX ;98ad dd 23 . # + CP 0fdh ;98af fe fd . . + JR C,l98edh ;98b1 38 3a 8 : + JR NZ,l98c7h ;98b3 20 12 . +l98b5h: + LD A,(ix+000h) ;98b5 dd 7e 00 . ~ . + LD C,(ix+001h) ;98b8 dd 4e 01 . N . + LD B,(ix+002h) ;98bb dd 46 02 . F . + LD A,0c0h ;98be 3e c0 > . + ADD A,B ;98c0 80 . + LD B,A ;98c1 47 G + PUSH BC ;98c2 c5 . + POP IX ;98c3 dd e1 . . + JR l989eh ;98c5 18 d7 . . +l98c7h: + CP 0feh ;98c7 fe fe . . + JR NZ,l98d3h ;98c9 20 08 . + INC C ;98cb 0c . + PUSH IX ;98cc dd e5 . . + LD A,000h ;98ce 3e 00 > . + PUSH AF ;98d0 f5 . + JR l98b5h ;98d1 18 e2 . . +l98d3h: + DEC C ;98d3 0d . + LD A,C ;98d4 79 y + CP 0ffh ;98d5 fe ff . . + JR NZ,l98e2h ;98d7 20 09 . + EXX ;98d9 d9 . + LD L,C ;98da 69 i + LD H,B ;98db 60 ` + LD (03f36h),HL ;98dc 22 36 3f " 6 ? + JP FAST_RAM_FN.OFF_EI ;98df c3 77 a2 . w . +l98e2h: + POP AF ;98e2 f1 . + POP IX ;98e3 dd e1 . . + INC IX ;98e5 dd 23 . # + INC IX ;98e7 dd 23 . # + INC IX ;98e9 dd 23 . # + JR l989eh ;98eb 18 b1 . . +l98edh: + LD H,040h ;98ed 26 40 & @ + LD L,A ;98ef 6f o + LD A,(ix+000h) ;98f0 dd 7e 00 . ~ . + LD (HL),A ;98f3 77 w + LD IYH,042h ;98f4 fd 26 42 . & B + LD IYL,A ;98f7 fd 6f . o + INC H ;98f9 24 $ + LD A,(ix+001h) ;98fa dd 7e 01 . ~ . + LD (HL),A ;98fd 77 w + EXX ;98fe d9 . + LD A,(iy+000h) ;98ff fd 7e 00 . ~ . + INC IYH ;9902 fd 24 . $ + OR (iy+000h) ;9904 fd b6 00 . . . + JR Z,l9913h ;9907 28 0a ( . + LD D,(iy+000h) ;9909 fd 56 00 . V . + DEC IYH ;990c fd 25 . % + LD E,(iy+000h) ;990e fd 5e 00 . ^ . + JR l993ah ;9911 18 27 . ' +l9913h: + LD (iy+000h),B ;9913 fd 70 00 . p . + DEC IYH ;9916 fd 25 . % + LD (iy+000h),C ;9918 fd 71 00 . q . + PUSH BC ;991b c5 . + LD A,(0be04h) ;991c 3a 04 be : . . + OUT (SLOT1),A ;991f d3 a2 . . + LD H,040h ;9921 26 40 & @ + LD A,(ix+000h) ;9923 dd 7e 00 . ~ . + LD L,A ;9926 6f o + LD A,(HL) ;9927 7e ~ + INC H ;9928 24 $ + LD H,(HL) ;9929 66 f + LD L,A ;992a 6f o + LD E,(HL) ;992b 5e ^ + LD A,(0be05h) ;992c 3a 05 be : . . + OUT (SLOT1),A ;992f d3 a2 . . + LD H,B ;9931 60 ` + LD L,C ;9932 69 i + LD D,000h ;9933 16 00 . . + ADD HL,DE ;9935 19 . + ADD HL,DE ;9936 19 . + LD B,H ;9937 44 D + LD C,L ;9938 4d M + POP DE ;9939 d1 . +l993ah: + EX DE,HL ;993a eb . + LD E,(ix+001h) ;993b dd 5e 01 . ^ . + LD D,000h ;993e 16 00 . . + ADD HL,DE ;9940 19 . + ADD HL,DE ;9941 19 . + LD (HL),C ;9942 71 q + INC HL ;9943 23 # + LD (HL),B ;9944 70 p + LD D,(ix+000h) ;9945 dd 56 00 . V . + LD E,(ix+001h) ;9948 dd 5e 01 . ^ . + INC IX ;994b dd 23 . # + INC IX ;994d dd 23 . # + LD A,(0be04h) ;994f 3a 04 be : . . + OUT (SLOT1),A ;9952 d3 a2 . . + LD IYH,040h ;9954 fd 26 40 . & @ + LD IYL,D ;9957 fd 6a . j + LD A,(iy+000h) ;9959 fd 7e 00 . ~ . + LD L,A ;995c 6f o + INC IYH ;995d fd 24 . $ + LD A,(iy+000h) ;995f fd 7e 00 . ~ . + LD H,A ;9962 67 g + LD D,000h ;9963 16 00 . . + INC HL ;9965 23 # + ADD HL,DE ;9966 19 . + ADD HL,DE ;9967 19 . + LD E,(HL) ;9968 5e ^ + INC HL ;9969 23 # + LD D,(HL) ;996a 56 V + LD A,(DE) ;996b 1a . + INC DE ;996c 13 . + LD L,C ;996d 69 i + LD H,B ;996e 60 ` + LD IYL,C ;996f fd 69 . i + LD IYH,B ;9971 fd 60 . ` + LD C,A ;9973 4f O + LD B,000h ;9974 06 00 . . + ADD HL,BC ;9976 09 . + ADD HL,BC ;9977 09 . + LD C,L ;9978 4d M + LD B,H ;9979 44 D + EX DE,HL ;997a eb . +l997bh: + PUSH AF ;997b f5 . + LD E,(HL) ;997c 5e ^ + INC HL ;997d 23 # + LD D,(HL) ;997e 56 V + INC HL ;997f 23 # + PUSH HL ;9980 e5 . + EX DE,HL ;9981 eb . + LD A,(HL) ;9982 7e ~ + INC HL ;9983 23 # + PUSH AF ;9984 f5 . + LD A,(HL) ;9985 7e ~ + LD (09a2ah),A ;9986 32 2a 9a 2 * . + INC HL ;9989 23 # + LD E,(HL) ;998a 5e ^ + INC HL ;998b 23 # + LD D,(HL) ;998c 56 V + INC HL ;998d 23 # + CALL SET_PAGE_SLOT3_af ;998e cd ec a1 . . . + LD A,0c0h ;9991 3e c0 > . + ADD A,D ;9993 82 . + LD D,A ;9994 57 W + LD A,(0be05h) ;9995 3a 05 be : . . + OUT (SLOT1),A ;9998 d3 a2 . . + LD (iy+000h),C ;999a fd 71 00 . q . + INC IY ;999d fd 23 . # + LD (iy+000h),B ;999f fd 70 00 . p . + INC IY ;99a2 fd 23 . # + EX DE,HL ;99a4 eb . + POP AF ;99a5 f1 . + PUSH IY ;99a6 fd e5 . . + PUSH AF ;99a8 f5 . + EXX ;99a9 d9 . + PUSH DE ;99aa d5 . + EXX ;99ab d9 . + POP IY ;99ac fd e1 . . +l99aeh: + LD A,(HL) ;99ae 7e ~ + INC L ;99af 2c , + JR NZ,l99b6h ;99b0 20 04 . + INC H ;99b2 24 $ + CALL Z,sub_9a26h ;99b3 cc 26 9a . & . +l99b6h: + CP 0fdh ;99b6 fe fd . . + JR NC,l99c7h ;99b8 30 0d 0 . + CP 0fbh ;99ba fe fb . . + JR NC,l99c3h ;99bc 30 05 0 . + CALL sub_9a34h ;99be cd 34 9a . 4 . + JR l99aeh ;99c1 18 eb . . +l99c3h: + LD (BC),A ;99c3 02 . + INC BC ;99c4 03 . + JR l99aeh ;99c5 18 e7 . . +l99c7h: + LD (BC),A ;99c7 02 . + INC BC ;99c8 03 . + JR NZ,l99d5h ;99c9 20 0a . + LD A,(HL) ;99cb 7e ~ + INC L ;99cc 2c , + JR NZ,l99d3h ;99cd 20 04 . + INC H ;99cf 24 $ + CALL Z,sub_9a26h ;99d0 cc 26 9a . & . +l99d3h: + LD (BC),A ;99d3 02 . + INC BC ;99d4 03 . +l99d5h: + EX DE,HL ;99d5 eb . + LD A,(0be04h) ;99d6 3a 04 be : . . + OUT (SLOT1),A ;99d9 d3 a2 . . + LD A,(HL) ;99db 7e ~ + LD (09a2ah),A ;99dc 32 2a 9a 2 * . + INC HL ;99df 23 # + LD E,(HL) ;99e0 5e ^ + INC HL ;99e1 23 # + LD D,(HL) ;99e2 56 V + INC HL ;99e3 23 # + CALL SET_PAGE_SLOT3_af ;99e4 cd ec a1 . . . + LD A,0c0h ;99e7 3e c0 > . + ADD A,D ;99e9 82 . + LD D,A ;99ea 57 W + EX DE,HL ;99eb eb . + POP AF ;99ec f1 . + PUSH AF ;99ed f5 . + CALL sub_9a58h ;99ee cd 58 9a . X . + EX DE,HL ;99f1 eb . + LD A,(0be04h) ;99f2 3a 04 be : . . + OUT (SLOT1),A ;99f5 d3 a2 . . + LD A,(HL) ;99f7 7e ~ + LD (09a2ah),A ;99f8 32 2a 9a 2 * . + INC HL ;99fb 23 # + LD E,(HL) ;99fc 5e ^ + INC HL ;99fd 23 # + LD D,(HL) ;99fe 56 V + INC HL ;99ff 23 # + CALL SET_PAGE_SLOT3_af ;9a00 cd ec a1 . . . + LD A,0c0h ;9a03 3e c0 > . + ADD A,D ;9a05 82 . + LD D,A ;9a06 57 W + EX DE,HL ;9a07 eb . + POP AF ;9a08 f1 . + CALL sub_9aa3h ;9a09 cd a3 9a . . . + POP IY ;9a0c fd e1 . . + LD A,(0be04h) ;9a0e 3a 04 be : . . + OUT (SLOT1),A ;9a11 d3 a2 . . + POP HL ;9a13 e1 . + POP AF ;9a14 f1 . + DEC A ;9a15 3d = + JP NZ,l997bh ;9a16 c2 7b 99 . { . + EXX ;9a19 d9 . + LD A,(0be05h) ;9a1a 3a 05 be : . . + OUT (SLOT1),A ;9a1d d3 a2 . . + JP l98a4h ;9a1f c3 a4 98 . . . + INC L ;9a22 2c , + RET NZ ;9a23 c0 . + INC H ;9a24 24 $ + RET NZ ;9a25 c0 . +sub_9a26h: + LD H,0c0h ;9a26 26 c0 & . + PUSH AF ;9a28 f5 . + LD A,000h ;9a29 3e 00 > . + INC A ;9a2b 3c < + LD (09a2ah),A ;9a2c 32 2a 9a 2 * . + CALL SET_PAGE_SLOT3_af ;9a2f cd ec a1 . . . + POP AF ;9a32 f1 . + RET ;9a33 c9 . +sub_9a34h: + PUSH IY ;9a34 fd e5 . . + PUSH DE ;9a36 d5 . + LD E,A ;9a37 5f _ + LD D,000h ;9a38 16 00 . . + ADD IY,DE ;9a3a fd 19 . . + ADD IY,DE ;9a3c fd 19 . . + ADD IY,DE ;9a3e fd 19 . . + ADD IY,DE ;9a40 fd 19 . . + ADD IY,DE ;9a42 fd 19 . . + ADD IY,DE ;9a44 fd 19 . . + ADD IY,DE ;9a46 fd 19 . . + ADD IY,DE ;9a48 fd 19 . . + ADD IY,DE ;9a4a fd 19 . . + LD A,IYH ;9a4c fd 7c . | + LD (BC),A ;9a4e 02 . + INC BC ;9a4f 03 . + LD A,IYL ;9a50 fd 7d . } + LD (BC),A ;9a52 02 . + INC BC ;9a53 03 . + POP DE ;9a54 d1 . + POP IY ;9a55 fd e1 . . + RET ;9a57 c9 . +sub_9a58h: + PUSH AF ;9a58 f5 . + IN A,(SLOT1) ;9a59 db a2 . . + LD (09a8eh),A ;9a5b 32 8e 9a 2 . . + POP AF ;9a5e f1 . + PUSH DE ;9a5f d5 . + PUSH BC ;9a60 c5 . + PUSH IX ;9a61 dd e5 . . + PUSH IY ;9a63 fd e5 . . + EXX ;9a65 d9 . + PUSH BC ;9a66 c5 . + PUSH DE ;9a67 d5 . + PUSH HL ;9a68 e5 . + PUSH DE ;9a69 d5 . + EXX ;9a6a d9 . + POP IY ;9a6b fd e1 . . +l9a6dh: + PUSH AF ;9a6d f5 . + LD A,009h ;9a6e 3e 09 > . +l9a70h: + PUSH AF ;9a70 f5 . + LD A,(CURRENT_PAGE.SLOT3) ;9a71 3a b5 a1 : . . + PUSH HL ;9a74 e5 . + PUSH IY ;9a75 fd e5 . . + CALL sub_920fh ;9a77 cd 0f 92 . . . + POP IY ;9a7a fd e1 . . + LD (09a87h),HL ;9a7c 22 87 9a " . . + POP HL ;9a7f e1 . + INC IY ;9a80 fd 23 . # + POP AF ;9a82 f1 . + DEC A ;9a83 3d = + JR NZ,l9a70h ;9a84 20 ea . + LD HL,00000h ;9a86 21 00 00 ! . . + POP AF ;9a89 f1 . + DEC A ;9a8a 3d = + JR NZ,l9a6dh ;9a8b 20 e0 . + LD A,000h ;9a8d 3e 00 > . + OUT (SLOT1),A ;9a8f d3 a2 . . + LD A,(CURRENT_PAGE.SLOT3) ;9a91 3a b5 a1 : . . + CALL SET_PAGE_SLOT3_af ;9a94 cd ec a1 . . . + EXX ;9a97 d9 . + POP HL ;9a98 e1 . + POP DE ;9a99 d1 . + POP BC ;9a9a c1 . + EXX ;9a9b d9 . + POP IY ;9a9c fd e1 . . + POP IX ;9a9e dd e1 . . + POP BC ;9aa0 c1 . + POP DE ;9aa1 d1 . + RET ;9aa2 c9 . +sub_9aa3h: + PUSH AF ;9aa3 f5 . + IN A,(SLOT1) ;9aa4 db a2 . . + LD (09ad3h),A ;9aa6 32 d3 9a 2 . . + POP AF ;9aa9 f1 . + PUSH DE ;9aaa d5 . + PUSH BC ;9aab c5 . + PUSH IX ;9aac dd e5 . . + PUSH IY ;9aae fd e5 . . + EXX ;9ab0 d9 . + PUSH BC ;9ab1 c5 . + PUSH HL ;9ab2 e5 . + PUSH DE ;9ab3 d5 . + EXX ;9ab4 d9 . + POP IY ;9ab5 fd e1 . . +l9ab7h: + PUSH AF ;9ab7 f5 . + LD A,009h ;9ab8 3e 09 > . +l9abah: + PUSH AF ;9aba f5 . + LD A,(CURRENT_PAGE.SLOT3) ;9abb 3a b5 a1 : . . + PUSH IY ;9abe fd e5 . . + CALL sub_91bbh ;9ac0 cd bb 91 . . . + POP IY ;9ac3 fd e1 . . + LD (CURRENT_PAGE.SLOT3),A ;9ac5 32 b5 a1 2 . . + INC IY ;9ac8 fd 23 . # + POP AF ;9aca f1 . + DEC A ;9acb 3d = + JR NZ,l9abah ;9acc 20 ec . + POP AF ;9ace f1 . + DEC A ;9acf 3d = + JR NZ,l9ab7h ;9ad0 20 e5 . + LD A,000h ;9ad2 3e 00 > . + OUT (SLOT1),A ;9ad4 d3 a2 . . + PUSH IY ;9ad6 fd e5 . . + EXX ;9ad8 d9 . + POP DE ;9ad9 d1 . + POP HL ;9ada e1 . + POP BC ;9adb c1 . + EXX ;9adc d9 . + POP IY ;9add fd e1 . . + POP IX ;9adf dd e1 . . + POP BC ;9ae1 c1 . + POP DE ;9ae2 d1 . + RET ;9ae3 c9 . +sub_9ae4h: + LD A,(0be0bh) ;9ae4 3a 0b be : . . + OUT (SLOT1),A ;9ae7 d3 a2 . . + LD H,040h ;9ae9 26 40 & @ + LD L,000h ;9aeb 2e 00 . . + LD C,002h ;9aed 0e 02 . . +l9aefh: + LD (HL),000h ;9aef 36 00 6 . + INC L ;9af1 2c , + JR NZ,l9aefh ;9af2 20 fb . + INC H ;9af4 24 $ + DEC C ;9af5 0d . + JR NZ,l9aefh ;9af6 20 f7 . + LD H,040h ;9af8 26 40 & @ + LD L,000h ;9afa 2e 00 . . + LD D,040h ;9afc 16 40 . @ + LD E,000h ;9afe 1e 00 . . + LD IX,04200h ;9b00 dd 21 00 42 . ! . B +l9b04h: + LD A,(0be04h) ;9b04 3a 04 be : . . + OUT (SLOT1),A ;9b07 d3 a2 . . + LD C,(HL) ;9b09 4e N + INC H ;9b0a 24 $ + LD B,(HL) ;9b0b 46 F + DEC H ;9b0c 25 % + LD A,B ;9b0d 78 x + OR C ;9b0e b1 . + JR NZ,l9b2ch ;9b0f 20 1b . + LD A,(0be0bh) ;9b11 3a 0b be : . . + OUT (SLOT1),A ;9b14 d3 a2 . . + XOR A ;9b16 af . + LD (DE),A ;9b17 12 . + INC D ;9b18 14 . + LD (DE),A ;9b19 12 . + DEC D ;9b1a 15 . +l9b1bh: + INC E ;9b1b 1c . + INC L ;9b1c 2c , + JR NZ,l9b04h ;9b1d 20 e5 . + PUSH IX ;9b1f dd e5 . . + POP HL ;9b21 e1 . + CALL FAST_RAM_FN.ON_DI ;9b22 cd 73 a2 . s . + LD (03f38h),HL ;9b25 22 38 3f " 8 ? + CALL FAST_RAM_FN.OFF_EI ;9b28 cd 77 a2 . w . + RET ;9b2b c9 . +l9b2ch: + LD A,(BC) ;9b2c 0a . + INC BC ;9b2d 03 . + PUSH BC ;9b2e c5 . + LD C,A ;9b2f 4f O + EX AF,AF' ;9b30 08 . + LD B,000h ;9b31 06 00 . . + PUSH IX ;9b33 dd e5 . . + ADD IX,BC ;9b35 dd 09 . . + ADD IX,BC ;9b37 dd 09 . . + POP IY ;9b39 fd e1 . . + LD A,(0be0bh) ;9b3b 3a 0b be : . . + OUT (SLOT1),A ;9b3e d3 a2 . . + LD A,IYL ;9b40 fd 7d . } + LD (DE),A ;9b42 12 . + INC D ;9b43 14 . + LD A,IYH ;9b44 fd 7c . | + LD (DE),A ;9b46 12 . + DEC D ;9b47 15 . + EX AF,AF' ;9b48 08 . + EXX ;9b49 d9 . + POP HL ;9b4a e1 . +l9b4bh: + EX AF,AF' ;9b4b 08 . + LD A,(0be04h) ;9b4c 3a 04 be : . . + OUT (SLOT1),A ;9b4f d3 a2 . . + LD E,(HL) ;9b51 5e ^ + INC HL ;9b52 23 # + LD D,(HL) ;9b53 56 V + INC HL ;9b54 23 # + LD A,(DE) ;9b55 1a . + PUSH AF ;9b56 f5 . + LD A,(0be0bh) ;9b57 3a 0b be : . . + OUT (SLOT1),A ;9b5a d3 a2 . . + LD A,IXL ;9b5c dd 7d . } + LD (iy+000h),A ;9b5e fd 77 00 . w . + INC IY ;9b61 fd 23 . # + LD A,IXH ;9b63 dd 7c . | + LD (iy+000h),A ;9b65 fd 77 00 . w . + INC IY ;9b68 fd 23 . # + POP AF ;9b6a f1 . + LD (ix+000h),A ;9b6b dd 77 00 . w . + INC IX ;9b6e dd 23 . # +l9b70h: + LD (ix+000h),000h ;9b70 dd 36 00 00 . 6 . . + INC IX ;9b74 dd 23 . # + LD (ix+000h),000h ;9b76 dd 36 00 00 . 6 . . + INC IX ;9b7a dd 23 . # + LD (ix+000h),000h ;9b7c dd 36 00 00 . 6 . . + INC IX ;9b80 dd 23 . # + LD (ix+000h),000h ;9b82 dd 36 00 00 . 6 . . + INC IX ;9b86 dd 23 . # + LD (ix+000h),000h ;9b88 dd 36 00 00 . 6 . . + INC IX ;9b8c dd 23 . # + LD (ix+000h),000h ;9b8e dd 36 00 00 . 6 . . + INC IX ;9b92 dd 23 . # + LD (ix+000h),000h ;9b94 dd 36 00 00 . 6 . . + INC IX ;9b98 dd 23 . # + LD (ix+000h),000h ;9b9a dd 36 00 00 . 6 . . + INC IX ;9b9e dd 23 . # + LD (ix+000h),000h ;9ba0 dd 36 00 00 . 6 . . + INC IX ;9ba4 dd 23 . # + LD (ix+000h),000h ;9ba6 dd 36 00 00 . 6 . . + INC IX ;9baa dd 23 . # + LD (ix+000h),000h ;9bac dd 36 00 00 . 6 . . + INC IX ;9bb0 dd 23 . # + LD (ix+000h),000h ;9bb2 dd 36 00 00 . 6 . . + INC IX ;9bb6 dd 23 . # + LD (ix+000h),000h ;9bb8 dd 36 00 00 . 6 . . + INC IX ;9bbc dd 23 . # + LD (ix+000h),000h ;9bbe dd 36 00 00 . 6 . . + INC IX ;9bc2 dd 23 . # + LD (ix+000h),000h ;9bc4 dd 36 00 00 . 6 . . + INC IX ;9bc8 dd 23 . # + LD (ix+000h),000h ;9bca dd 36 00 00 . 6 . . + INC IX ;9bce dd 23 . # + LD (ix+000h),000h ;9bd0 dd 36 00 00 . 6 . . + INC IX ;9bd4 dd 23 . # + LD (ix+000h),000h ;9bd6 dd 36 00 00 . 6 . . + INC IX ;9bda dd 23 . # + LD (ix+000h),000h ;9bdc dd 36 00 00 . 6 . . + INC IX ;9be0 dd 23 . # + LD (ix+000h),000h ;9be2 dd 36 00 00 . 6 . . + INC IX ;9be6 dd 23 . # + LD (ix+000h),000h ;9be8 dd 36 00 00 . 6 . . + INC IX ;9bec dd 23 . # + LD (ix+000h),000h ;9bee dd 36 00 00 . 6 . . + INC IX ;9bf2 dd 23 . # + LD (ix+000h),000h ;9bf4 dd 36 00 00 . 6 . . + INC IX ;9bf8 dd 23 . # + LD (ix+000h),000h ;9bfa dd 36 00 00 . 6 . . + INC IX ;9bfe dd 23 . # + LD (ix+000h),000h ;9c00 dd 36 00 00 . 6 . . + INC IX ;9c04 dd 23 . # + LD (ix+000h),000h ;9c06 dd 36 00 00 . 6 . . + INC IX ;9c0a dd 23 . # + LD (ix+000h),000h ;9c0c dd 36 00 00 . 6 . . + INC IX ;9c10 dd 23 . # + LD (ix+000h),000h ;9c12 dd 36 00 00 . 6 . . + INC IX ;9c16 dd 23 . # + LD (ix+000h),000h ;9c18 dd 36 00 00 . 6 . . + INC IX ;9c1c dd 23 . # + LD (ix+000h),000h ;9c1e dd 36 00 00 . 6 . . + INC IX ;9c22 dd 23 . # + LD (ix+000h),000h ;9c24 dd 36 00 00 . 6 . . + INC IX ;9c28 dd 23 . # + LD (ix+000h),000h ;9c2a dd 36 00 00 . 6 . . + INC IX ;9c2e dd 23 . # + LD (ix+000h),000h ;9c30 dd 36 00 00 . 6 . . + INC IX ;9c34 dd 23 . # + LD (ix+000h),000h ;9c36 dd 36 00 00 . 6 . . + INC IX ;9c3a dd 23 . # + LD (ix+000h),000h ;9c3c dd 36 00 00 . 6 . . + INC IX ;9c40 dd 23 . # + LD (ix+000h),000h ;9c42 dd 36 00 00 . 6 . . + INC IX ;9c46 dd 23 . # + LD (ix+000h),000h ;9c48 dd 36 00 00 . 6 . . + INC IX ;9c4c dd 23 . # + DEC A ;9c4e 3d = + JP NZ,l9b70h ;9c4f c2 70 9b . p . + EX AF,AF' ;9c52 08 . + DEC A ;9c53 3d = + JP NZ,l9b4bh ;9c54 c2 4b 9b . K . + EXX ;9c57 d9 . + JP l9b1bh ;9c58 c3 1b 9b . . . +sub_9c5bh: + LD A,0c1h ;9c5b 3e c1 > . + OUT (PORT_Y),A ;9c5d d3 89 . . + LD IX,07000h ;9c5f dd 21 00 70 . ! . p + PUSH IX ;9c63 dd e5 . . + EXX ;9c65 d9 . + LD BC,00000h ;9c66 01 00 00 . . . + EXX ;9c69 d9 . + INC IX ;9c6a dd 23 . # + INC IX ;9c6c dd 23 . # + LD D,042h ;9c6e 16 42 . B + LD E,000h ;9c70 1e 00 . . + LD H,040h ;9c72 26 40 & @ + LD L,E ;9c74 6b k +l9c75h: + LD A,(0be05h) ;9c75 3a 05 be : . . + OUT (SLOT1),A ;9c78 d3 a2 . . + EX DE,HL ;9c7a eb . + LD C,(HL) ;9c7b 4e N + INC H ;9c7c 24 $ + LD B,(HL) ;9c7d 46 F + DEC H ;9c7e 25 % + LD A,(0be0bh) ;9c7f 3a 0b be : . . + OUT (SLOT1),A ;9c82 d3 a2 . . + EX DE,HL ;9c84 eb . + LD A,B ;9c85 78 x + OR C ;9c86 b1 . + JR NZ,l9c9ch ;9c87 20 13 . +l9c89h: + INC L ;9c89 2c , + INC E ;9c8a 1c . + JR NZ,l9c75h ;9c8b 20 e8 . + EXX ;9c8d d9 . + POP IX ;9c8e dd e1 . . + LD A,(0be0bh) ;9c90 3a 0b be : . . + OUT (SLOT1),A ;9c93 d3 a2 . . + LD (ix+000h),C ;9c95 dd 71 00 . q . + LD (ix+001h),B ;9c98 dd 70 01 . p . + RET ;9c9b c9 . +l9c9ch: + LD A,(0be05h) ;9c9c 3a 05 be : . . + OUT (SLOT1),A ;9c9f d3 a2 . . + LD A,L ;9ca1 7d } + EXX ;9ca2 d9 . + LD H,042h ;9ca3 26 42 & B + LD L,A ;9ca5 6f o + LD E,(HL) ;9ca6 5e ^ + INC H ;9ca7 24 $ + LD D,(HL) ;9ca8 56 V + LD A,D ;9ca9 7a z + OR E ;9caa b3 . + EXX ;9cab d9 . + JR Z,l9c89h ;9cac 28 db ( . +l9caeh: + EXX ;9cae d9 . + LD A,(0be04h) ;9caf 3a 04 be : . . + OUT (SLOT1),A ;9cb2 d3 a2 . . + LD H,040h ;9cb4 26 40 & @ + LD A,(HL) ;9cb6 7e ~ + INC H ;9cb7 24 $ + LD H,(HL) ;9cb8 66 f + LD L,A ;9cb9 6f o + LD L,(HL) ;9cba 6e n + EX DE,HL ;9cbb eb . + XOR A ;9cbc af . + LD (09cd8h),A ;9cbd 32 d8 9c 2 . . + LD A,(0be05h) ;9cc0 3a 05 be : . . + OUT (SLOT1),A ;9cc3 d3 a2 . . +l9cc5h: + LD D,(HL) ;9cc5 56 V + INC HL ;9cc6 23 # + LD A,(HL) ;9cc7 7e ~ + INC HL ;9cc8 23 # + OR D ;9cc9 b2 . + JR Z,l9ce5h ;9cca 28 19 ( . + LD A,(0be0bh) ;9ccc 3a 0b be : . . +l9ccfh: + OUT (SLOT1),A ;9ccf d3 a2 . . + INC BC ;9cd1 03 . + EXX ;9cd2 d9 . + LD (ix+000h),E ;9cd3 dd 73 00 . s . + EXX ;9cd6 d9 . + LD A,000h ;9cd7 3e 00 > . + INC IX ;9cd9 dd 23 . # + LD (ix+000h),A ;9cdb dd 77 00 . w . + INC IX ;9cde dd 23 . # + LD A,(0be05h) ;9ce0 3a 05 be : . . + OUT (SLOT1),A ;9ce3 d3 a2 . . +l9ce5h: + LD A,(09cd8h) ;9ce5 3a d8 9c : . . + INC A ;9ce8 3c < + LD (09cd8h),A ;9ce9 32 d8 9c 2 . . + DEC E ;9cec 1d . + JR NZ,l9cc5h ;9ced 20 d6 . + EXX ;9cef d9 . +l9cf0h: + JR l9c89h ;9cf0 18 97 . . +l9cf2h: + LD H,(HL) ;9cf2 66 f + SBC A,L ;9cf3 9d . + LD (HL),L ;9cf4 75 u + SBC A,L ;9cf5 9d . + ADD A,H ;9cf6 84 . + SBC A,L ;9cf7 9d . + SUB E ;9cf8 93 . + SBC A,L ;9cf9 9d . + AND D ;9cfa a2 . + SBC A,L ;9cfb 9d . + OR C ;9cfc b1 . + SBC A,L ;9cfd 9d . + RET NZ ;9cfe c0 . + SBC A,L ;9cff 9d . + RST ToBIOS ;9d00 cf . + SBC A,L ;9d01 9d . + SBC A,09dh ;9d02 de 9d . . + DEFB 0edh ;next byte illegal after ed ;9d04 ed . + SBC A,L ;9d05 9d . + CALL M,00b9dh ;9d06 fc 9d 0b . . . + SBC A,(HL) ;9d09 9e . + LD A,(DE) ;9d0a 1a . + SBC A,(HL) ;9d0b 9e . + ADD HL,HL ;9d0c 29 ) + SBC A,(HL) ;9d0d 9e . + JR C,l9caeh ;9d0e 38 9e 8 . + LD B,A ;9d10 47 G + SBC A,(HL) ;9d11 9e . + LD D,(HL) ;9d12 56 V + SBC A,(HL) ;9d13 9e . + LD H,L ;9d14 65 e + SBC A,(HL) ;9d15 9e . + LD (HL),H ;9d16 74 t + SBC A,(HL) ;9d17 9e . + ADD A,E ;9d18 83 . + SBC A,(HL) ;9d19 9e . + SUB D ;9d1a 92 . + SBC A,(HL) ;9d1b 9e . + AND C ;9d1c a1 . + SBC A,(HL) ;9d1d 9e . + OR B ;9d1e b0 . + SBC A,(HL) ;9d1f 9e . + CP A ;9d20 bf . + SBC A,(HL) ;9d21 9e . + ADC A,09eh ;9d22 ce 9e . . + SBC A,(ix-014h) ;9d24 dd 9e ec . . . + SBC A,(HL) ;9d27 9e . + EI ;9d28 fb . + SBC A,(HL) ;9d29 9e . + LD A,(BC) ;9d2a 0a . + SBC A,A ;9d2b 9f . + ADD HL,DE ;9d2c 19 . + SBC A,A ;9d2d 9f . + JR Z,l9ccfh ;9d2e 28 9f ( . + SCF ;9d30 37 7 + SBC A,A ;9d31 9f . + LD B,(HL) ;9d32 46 F + SBC A,A ;9d33 9f . + LD D,L ;9d34 55 U + SBC A,A ;9d35 9f . + LD H,H ;9d36 64 d + SBC A,A ;9d37 9f . + LD (HL),E ;9d38 73 s + SBC A,A ;9d39 9f . + ADD A,D ;9d3a 82 . + SBC A,A ;9d3b 9f . + SUB C ;9d3c 91 . + SBC A,A ;9d3d 9f . + AND B ;9d3e a0 . + SBC A,A ;9d3f 9f . + XOR A ;9d40 af . + SBC A,A ;9d41 9f . + CP (HL) ;9d42 be . + SBC A,A ;9d43 9f . + CALL 0dc9fh ;9d44 cd 9f dc . . . + SBC A,A ;9d47 9f . + EX DE,HL ;9d48 eb . + SBC A,A ;9d49 9f . + JP M,0099fh ;9d4a fa 9f 09 . . . + AND B ;9d4d a0 . + JR l9cf0h ;9d4e 18 a0 . . + DAA ;9d50 27 ' + AND B ;9d51 a0 . + LD (HL),0a0h ;9d52 36 a0 6 . + LD B,L ;9d54 45 E + AND B ;9d55 a0 . + CP L ;9d56 bd . + AND B ;9d57 a0 . + LD D,H ;9d58 54 T + AND B ;9d59 a0 . + LD H,E ;9d5a 63 c + AND B ;9d5b a0 . + LD (HL),D ;9d5c 72 r + AND B ;9d5d a0 . + ADD A,C ;9d5e 81 . + AND B ;9d5f a0 . + SUB B ;9d60 90 . + AND B ;9d61 a0 . + SBC A,A ;9d62 9f . + AND B ;9d63 a0 . + XOR (HL) ;9d64 ae . + AND B ;9d65 a0 . +l9d66h: + DJNZ l9d79h ;9d66 10 11 . . + RLCA ;9d68 07 . + NOP ;9d69 00 . + NOP ;9d6a 00 . + LD B,000h ;9d6b 06 00 . . + NOP ;9d6d 00 . + NOP ;9d6e 00 . + NOP ;9d6f 00 . + DEC L ;9d70 2d - + LD (00000h),A ;9d71 32 00 00 2 . . + RST 38h ;9d74 ff . + LD A,(BC) ;9d75 0a . + CPL ;9d76 2f / + RLCA ;9d77 07 . + NOP ;9d78 00 . +l9d79h: + NOP ;9d79 00 . + LD B,000h ;9d7a 06 00 . . + NOP ;9d7c 00 . + NOP ;9d7d 00 . + NOP ;9d7e 00 . + LD D,B ;9d7f 50 P + LD (00000h),A ;9d80 32 00 00 2 . . + RST 38h ;9d83 ff . + LD L,013h ;9d84 2e 13 . . + RLCA ;9d86 07 . + NOP ;9d87 00 . + NOP ;9d88 00 . + LD B,000h ;9d89 06 00 . . + NOP ;9d8b 00 . + NOP ;9d8c 00 . + NOP ;9d8d 00 . + LD H,E ;9d8e 63 c + LD B,B ;9d8f 40 @ + NOP ;9d90 00 . + NOP ;9d91 00 . + RST 38h ;9d92 ff . + DEC H ;9d93 25 % + DEC C ;9d94 0d . + RLCA ;9d95 07 . + NOP ;9d96 00 . + NOP ;9d97 00 . + LD B,000h ;9d98 06 00 . . + NOP ;9d9a 00 . + NOP ;9d9b 00 . + NOP ;9d9c 00 . + LD (00028h),A ;9d9d 32 28 00 2 ( . + NOP ;9da0 00 . + RST 38h ;9da1 ff . + DEC H ;9da2 25 % + LD D,007h ;9da3 16 07 . . + NOP ;9da5 00 . + NOP ;9da6 00 . + LD B,000h ;9da7 06 00 . . + NOP ;9da9 00 . + NOP ;9daa 00 . + NOP ;9dab 00 . + LD E,C ;9dac 59 Y + JR Z,l9dafh ;9dad 28 00 ( . +l9dafh: + NOP ;9daf 00 . + RST 38h ;9db0 ff . + LD A,(0070dh) ;9db1 3a 0d 07 : . . + NOP ;9db4 00 . + NOP ;9db5 00 . + LD B,000h ;9db6 06 00 . . + NOP ;9db8 00 . + NOP ;9db9 00 . + NOP ;9dba 00 . + LD H,E ;9dbb 63 c + LD H,H ;9dbc 64 d + NOP ;9dbd 00 . + NOP ;9dbe 00 . + RST 38h ;9dbf ff . + LD A,(BC) ;9dc0 0a . + SCF ;9dc1 37 7 + RLCA ;9dc2 07 . + NOP ;9dc3 00 . + NOP ;9dc4 00 . + LD B,000h ;9dc5 06 00 . . + NOP ;9dc7 00 . + NOP ;9dc8 00 . + NOP ;9dc9 00 . + LD H,E ;9dca 63 c + JR Z,l9dcdh ;9dcb 28 00 ( . +l9dcdh: + NOP ;9dcd 00 . + RST 38h ;9dce ff . + RRA ;9dcf 1f . + LD D,007h ;9dd0 16 07 . . + NOP ;9dd2 00 . + NOP ;9dd3 00 . + LD B,000h ;9dd4 06 00 . . + NOP ;9dd6 00 . + NOP ;9dd7 00 . + NOP ;9dd8 00 . + LD H,E ;9dd9 63 c + INC A ;9dda 3c < + NOP ;9ddb 00 . + NOP ;9ddc 00 . + RST 38h ;9ddd ff . + JR Z,l9df0h ;9dde 28 10 ( . + RLCA ;9de0 07 . + NOP ;9de1 00 . + NOP ;9de2 00 . + LD B,000h ;9de3 06 00 . . + NOP ;9de5 00 . + NOP ;9de6 00 . + NOP ;9de7 00 . + LD H,E ;9de8 63 c + INC A ;9de9 3c < + NOP ;9dea 00 . + NOP ;9deb 00 . + RST 38h ;9dec ff . + JR Z,l9dfch ;9ded 28 0d ( . + RLCA ;9def 07 . +l9df0h: + NOP ;9df0 00 . + NOP ;9df1 00 . + LD B,000h ;9df2 06 00 . . + NOP ;9df4 00 . + NOP ;9df5 00 . + NOP ;9df6 00 . + LD B,L ;9df7 45 E + RET Z ;9df8 c8 . + NOP ;9df9 00 . + NOP ;9dfa 00 . + RST 38h ;9dfb ff . +l9dfch: + LD (0070dh),HL ;9dfc 22 0d 07 " . . + NOP ;9dff 00 . + NOP ;9e00 00 . + LD B,000h ;9e01 06 00 . . + NOP ;9e03 00 . + NOP ;9e04 00 . + NOP ;9e05 00 . + INC A ;9e06 3c < + LD (00000h),A ;9e07 32 00 00 2 . . + RST 38h ;9e0a ff . + LD (00722h),HL ;9e0b 22 22 07 " " . + NOP ;9e0e 00 . + NOP ;9e0f 00 . + LD B,000h ;9e10 06 00 . . + NOP ;9e12 00 . + NOP ;9e13 00 . + NOP ;9e14 00 . + LD E,C ;9e15 59 Y + LD B,(HL) ;9e16 46 F + NOP ;9e17 00 . + NOP ;9e18 00 . + RST 38h ;9e19 ff . + ADD HL,DE ;9e1a 19 . + ADD HL,DE ;9e1b 19 . + RLCA ;9e1c 07 . + NOP ;9e1d 00 . + NOP ;9e1e 00 . + LD B,000h ;9e1f 06 00 . . + NOP ;9e21 00 . + NOP ;9e22 00 . + NOP ;9e23 00 . + LD H,E ;9e24 63 c + INC D ;9e25 14 . + NOP ;9e26 00 . + NOP ;9e27 00 . + RST 38h ;9e28 ff . + DJNZ $+27 ;9e29 10 19 . . + RLCA ;9e2b 07 . + NOP ;9e2c 00 . + NOP ;9e2d 00 . + LD B,000h ;9e2e 06 00 . . + NOP ;9e30 00 . + NOP ;9e31 00 . + NOP ;9e32 00 . + LD B,(HL) ;9e33 46 F + INC D ;9e34 14 . + NOP ;9e35 00 . + NOP ;9e36 00 . + RST 38h ;9e37 ff . + LD SP,0070dh ;9e38 31 0d 07 1 . . + NOP ;9e3b 00 . + NOP ;9e3c 00 . + LD B,000h ;9e3d 06 00 . . + NOP ;9e3f 00 . + NOP ;9e40 00 . + NOP ;9e41 00 . + LD C,A ;9e42 4f O + LD E,000h ;9e43 1e 00 . . + NOP ;9e45 00 . + RST 38h ;9e46 ff . + LD SP,0070dh ;9e47 31 0d 07 1 . . + NOP ;9e4a 00 . + NOP ;9e4b 00 . + LD B,000h ;9e4c 06 00 . . + NOP ;9e4e 00 . + NOP ;9e4f 00 . + NOP ;9e50 00 . + LD H,E ;9e51 63 c + INC A ;9e52 3c < + NOP ;9e53 00 . + NOP ;9e54 00 . + RST 38h ;9e55 ff . + LD SP,0070dh ;9e56 31 0d 07 1 . . + NOP ;9e59 00 . + NOP ;9e5a 00 . + LD B,000h ;9e5b 06 00 . . + NOP ;9e5d 00 . + NOP ;9e5e 00 . + NOP ;9e5f 00 . + LD B,(HL) ;9e60 46 F + INC A ;9e61 3c < + NOP ;9e62 00 . + NOP ;9e63 00 . + RST 38h ;9e64 ff . + LD SP,0070dh ;9e65 31 0d 07 1 . . + NOP ;9e68 00 . + NOP ;9e69 00 . + LD B,000h ;9e6a 06 00 . . + NOP ;9e6c 00 . + NOP ;9e6d 00 . + NOP ;9e6e 00 . + LD B,L ;9e6f 45 E + INC A ;9e70 3c < + NOP ;9e71 00 . + NOP ;9e72 00 . + RST 38h ;9e73 ff . + LD SP,0070dh ;9e74 31 0d 07 1 . . + NOP ;9e77 00 . + NOP ;9e78 00 . + LD B,000h ;9e79 06 00 . . + NOP ;9e7b 00 . + NOP ;9e7c 00 . + NOP ;9e7d 00 . + LD H,E ;9e7e 63 c + INC A ;9e7f 3c < + NOP ;9e80 00 . + NOP ;9e81 00 . + RST 38h ;9e82 ff . + LD (00722h),HL ;9e83 22 22 07 " " . + NOP ;9e86 00 . + NOP ;9e87 00 . + LD B,000h ;9e88 06 00 . . + NOP ;9e8a 00 . + NOP ;9e8b 00 . + NOP ;9e8c 00 . + LD E,C ;9e8d 59 Y + LD B,(HL) ;9e8e 46 F + NOP ;9e8f 00 . + NOP ;9e90 00 . + RST 38h ;9e91 ff . + LD SP,0070dh ;9e92 31 0d 07 1 . . + NOP ;9e95 00 . + NOP ;9e96 00 . + LD B,000h ;9e97 06 00 . . + NOP ;9e99 00 . + NOP ;9e9a 00 . + NOP ;9e9b 00 . + LD H,E ;9e9c 63 c + LD E,000h ;9e9d 1e 00 . . + NOP ;9e9f 00 . + RST 38h ;9ea0 ff . + LD SP,0070dh ;9ea1 31 0d 07 1 . . + NOP ;9ea4 00 . + NOP ;9ea5 00 . + LD B,000h ;9ea6 06 00 . . + NOP ;9ea8 00 . + NOP ;9ea9 00 . + NOP ;9eaa 00 . + LD H,E ;9eab 63 c + LD H,H ;9eac 64 d + NOP ;9ead 00 . + NOP ;9eae 00 . + RST 38h ;9eaf ff . + LD SP,0070dh ;9eb0 31 0d 07 1 . . + NOP ;9eb3 00 . + NOP ;9eb4 00 . + LD B,000h ;9eb5 06 00 . . + NOP ;9eb7 00 . + NOP ;9eb8 00 . + NOP ;9eb9 00 . + LD H,E ;9eba 63 c + LD H,H ;9ebb 64 d + NOP ;9ebc 00 . + NOP ;9ebd 00 . + RST 38h ;9ebe ff . + LD SP,0070dh ;9ebf 31 0d 07 1 . . + NOP ;9ec2 00 . + NOP ;9ec3 00 . + LD B,000h ;9ec4 06 00 . . + NOP ;9ec6 00 . + NOP ;9ec7 00 . + NOP ;9ec8 00 . + LD H,E ;9ec9 63 c + JR Z,l9ecch ;9eca 28 00 ( . +l9ecch: + NOP ;9ecc 00 . + RST 38h ;9ecd ff . + LD SP,0070dh ;9ece 31 0d 07 1 . . + NOP ;9ed1 00 . + NOP ;9ed2 00 . + LD B,000h ;9ed3 06 00 . . + NOP ;9ed5 00 . + NOP ;9ed6 00 . + NOP ;9ed7 00 . + LD H,E ;9ed8 63 c + INC A ;9ed9 3c < + NOP ;9eda 00 . + NOP ;9edb 00 . + RST 38h ;9edc ff . +l9eddh: + LD SP,0780dh ;9edd 31 0d 78 1 . x + NOP ;9ee0 00 . + NOP ;9ee1 00 . + LD B,000h ;9ee2 06 00 . . + NOP ;9ee4 00 . + NOP ;9ee5 00 . + NOP ;9ee6 00 . + LD H,E ;9ee7 63 c + LD H,H ;9ee8 64 d + NOP ;9ee9 00 . + NOP ;9eea 00 . + RST 38h ;9eeb ff . + LD D,019h ;9eec 16 19 . . + LD A,B ;9eee 78 x + NOP ;9eef 00 . + NOP ;9ef0 00 . + LD B,000h ;9ef1 06 00 . . + NOP ;9ef3 00 . + NOP ;9ef4 00 . + NOP ;9ef5 00 . + LD H,E ;9ef6 63 c + DEC C ;9ef7 0d . + NOP ;9ef8 00 . + NOP ;9ef9 00 . + RST 38h ;9efa ff . + LD D,019h ;9efb 16 19 . . + LD A,B ;9efd 78 x + NOP ;9efe 00 . + NOP ;9eff 00 . + LD B,000h ;9f00 06 00 . . + NOP ;9f02 00 . + NOP ;9f03 00 . + NOP ;9f04 00 . + LD H,E ;9f05 63 c + LD H,H ;9f06 64 d + NOP ;9f07 00 . + NOP ;9f08 00 . + RST 38h ;9f09 ff . + LD D,019h ;9f0a 16 19 . . + LD A,B ;9f0c 78 x + NOP ;9f0d 00 . + NOP ;9f0e 00 . + LD B,000h ;9f0f 06 00 . . + NOP ;9f11 00 . + NOP ;9f12 00 . + NOP ;9f13 00 . + LD H,E ;9f14 63 c + LD E,000h ;9f15 1e 00 . . + NOP ;9f17 00 . + RST 38h ;9f18 ff . + JR Z,l9f34h ;9f19 28 19 ( . + LD A,B ;9f1b 78 x + NOP ;9f1c 00 . + NOP ;9f1d 00 . + LD B,000h ;9f1e 06 00 . . + NOP ;9f20 00 . + NOP ;9f21 00 . + NOP ;9f22 00 . + LD H,E ;9f23 63 c + LD H,H ;9f24 64 d + NOP ;9f25 00 . + NOP ;9f26 00 . + RST 38h ;9f27 ff . + JR Z,$+27 ;9f28 28 19 ( . + LD A,B ;9f2a 78 x + NOP ;9f2b 00 . + NOP ;9f2c 00 . + LD B,000h ;9f2d 06 00 . . + NOP ;9f2f 00 . + NOP ;9f30 00 . + NOP ;9f31 00 . + LD H,E ;9f32 63 c + LD H,H ;9f33 64 d +l9f34h: + NOP ;9f34 00 . + NOP ;9f35 00 . + RST 38h ;9f36 ff . + JR Z,l9f52h ;9f37 28 19 ( . + LD A,B ;9f39 78 x + NOP ;9f3a 00 . + NOP ;9f3b 00 . + LD B,000h ;9f3c 06 00 . . + NOP ;9f3e 00 . + NOP ;9f3f 00 . + NOP ;9f40 00 . + LD H,E ;9f41 63 c + LD (00000h),A ;9f42 32 00 00 2 . . + RST 38h ;9f45 ff . + JR Z,$+27 ;9f46 28 19 ( . + LD A,B ;9f48 78 x + NOP ;9f49 00 . + NOP ;9f4a 00 . + LD B,000h ;9f4b 06 00 . . + NOP ;9f4d 00 . + NOP ;9f4e 00 . + NOP ;9f4f 00 . + LD H,E ;9f50 63 c + INC D ;9f51 14 . +l9f52h: + NOP ;9f52 00 . + NOP ;9f53 00 . + RST 38h ;9f54 ff . + JR Z,$+27 ;9f55 28 19 ( . + LD A,B ;9f57 78 x + NOP ;9f58 00 . + NOP ;9f59 00 . + LD B,000h ;9f5a 06 00 . . + NOP ;9f5c 00 . + NOP ;9f5d 00 . + NOP ;9f5e 00 . + DEC SP ;9f5f 3b ; + LD (00000h),A ;9f60 32 00 00 2 . . + RST 38h ;9f63 ff . + JR Z,$+27 ;9f64 28 19 ( . + LD A,B ;9f66 78 x + NOP ;9f67 00 . + NOP ;9f68 00 . + LD B,000h ;9f69 06 00 . . + NOP ;9f6b 00 . + NOP ;9f6c 00 . + NOP ;9f6d 00 . + LD H,E ;9f6e 63 c + LD (00000h),A ;9f6f 32 00 00 2 . . + RST 38h ;9f72 ff . + JR Z,$+27 ;9f73 28 19 ( . + LD A,B ;9f75 78 x + NOP ;9f76 00 . + NOP ;9f77 00 . + LD B,000h ;9f78 06 00 . . + NOP ;9f7a 00 . + NOP ;9f7b 00 . + NOP ;9f7c 00 . + LD H,E ;9f7d 63 c + LD E,000h ;9f7e 1e 00 . . + NOP ;9f80 00 . + RST 38h ;9f81 ff . + JR Z,$+27 ;9f82 28 19 ( . + LD A,B ;9f84 78 x + NOP ;9f85 00 . + NOP ;9f86 00 . + LD B,000h ;9f87 06 00 . . + NOP ;9f89 00 . + NOP ;9f8a 00 . + NOP ;9f8b 00 . + LD E,C ;9f8c 59 Y + LD (00000h),A ;9f8d 32 00 00 2 . . + RST 38h ;9f90 ff . + JR Z,$+27 ;9f91 28 19 ( . + LD A,B ;9f93 78 x + NOP ;9f94 00 . + NOP ;9f95 00 . + LD B,000h ;9f96 06 00 . . + NOP ;9f98 00 . + NOP ;9f99 00 . + NOP ;9f9a 00 . + LD E,C ;9f9b 59 Y + LD (00000h),A ;9f9c 32 00 00 2 . . + RST 38h ;9f9f ff . + JR Z,l9fbbh ;9fa0 28 19 ( . + LD A,B ;9fa2 78 x + NOP ;9fa3 00 . + NOP ;9fa4 00 . + LD B,000h ;9fa5 06 00 . . + NOP ;9fa7 00 . + NOP ;9fa8 00 . + NOP ;9fa9 00 . + LD H,E ;9faa 63 c + LD (00000h),A ;9fab 32 00 00 2 . . + RST 38h ;9fae ff . + JR Z,l9fcah ;9faf 28 19 ( . + LD A,B ;9fb1 78 x + NOP ;9fb2 00 . + NOP ;9fb3 00 . + LD B,000h ;9fb4 06 00 . . + NOP ;9fb6 00 . + NOP ;9fb7 00 . + NOP ;9fb8 00 . + LD H,E ;9fb9 63 c + INC A ;9fba 3c < +l9fbbh: + NOP ;9fbb 00 . + NOP ;9fbc 00 . + RST 38h ;9fbd ff . + JR Z,l9fd9h ;9fbe 28 19 ( . + LD A,B ;9fc0 78 x + NOP ;9fc1 00 . + NOP ;9fc2 00 . + LD B,000h ;9fc3 06 00 . . + NOP ;9fc5 00 . + NOP ;9fc6 00 . + NOP ;9fc7 00 . + LD H,E ;9fc8 63 c + INC A ;9fc9 3c < +l9fcah: + NOP ;9fca 00 . + NOP ;9fcb 00 . + RST 38h ;9fcc ff . + JR Z,$+27 ;9fcd 28 19 ( . + LD A,B ;9fcf 78 x + NOP ;9fd0 00 . + NOP ;9fd1 00 . + LD B,000h ;9fd2 06 00 . . + NOP ;9fd4 00 . + NOP ;9fd5 00 . + NOP ;9fd6 00 . + LD B,C ;9fd7 41 A + INC A ;9fd8 3c < +l9fd9h: + NOP ;9fd9 00 . + NOP ;9fda 00 . + RST 38h ;9fdb ff . + JR Z,l9ff7h ;9fdc 28 19 ( . + LD A,B ;9fde 78 x + NOP ;9fdf 00 . + NOP ;9fe0 00 . + LD B,000h ;9fe1 06 00 . . + NOP ;9fe3 00 . + NOP ;9fe4 00 . + NOP ;9fe5 00 . + LD C,A ;9fe6 4f O + LD (00000h),A ;9fe7 32 00 00 2 . . + RST 38h ;9fea ff . +l9febh: + JR Z,la006h ;9feb 28 19 ( . + LD A,C ;9fed 79 y + NOP ;9fee 00 . + NOP ;9fef 00 . + LD B,000h ;9ff0 06 00 . . + NOP ;9ff2 00 . + NOP ;9ff3 00 . + NOP ;9ff4 00 . + LD H,E ;9ff5 63 c + LD B,(HL) ;9ff6 46 F +l9ff7h: + NOP ;9ff7 00 . + NOP ;9ff8 00 . + RST 38h ;9ff9 ff . + JR Z,la015h ;9ffa 28 19 ( . + LD A,C ;9ffc 79 y + NOP ;9ffd 00 . + NOP ;9ffe 00 . + LD B,000h ;9fff 06 00 . . + NOP ;a001 00 . + NOP ;a002 00 . + NOP ;a003 00 . + LD H,E ;a004 63 c + LD B,(HL) ;a005 46 F +la006h: + NOP ;a006 00 . + NOP ;a007 00 . + RST 38h ;a008 ff . + JR Z,la024h ;a009 28 19 ( . + LD A,C ;a00b 79 y + NOP ;a00c 00 . + NOP ;a00d 00 . + LD B,000h ;a00e 06 00 . . + NOP ;a010 00 . + NOP ;a011 00 . + NOP ;a012 00 . + LD H,E ;a013 63 c + LD B,(HL) ;a014 46 F +la015h: + NOP ;a015 00 . + NOP ;a016 00 . + RST 38h ;a017 ff . + JR Z,la033h ;a018 28 19 ( . + LD A,C ;a01a 79 y + NOP ;a01b 00 . + NOP ;a01c 00 . + LD B,000h ;a01d 06 00 . . + NOP ;a01f 00 . + NOP ;a020 00 . + NOP ;a021 00 . + LD H,E ;a022 63 c + LD B,(HL) ;a023 46 F +la024h: + NOP ;a024 00 . + NOP ;a025 00 . + RST 38h ;a026 ff . + JR Z,la042h ;a027 28 19 ( . + LD A,C ;a029 79 y + NOP ;a02a 00 . + NOP ;a02b 00 . + LD B,000h ;a02c 06 00 . . + NOP ;a02e 00 . + NOP ;a02f 00 . + NOP ;a030 00 . + LD H,E ;a031 63 c + LD E,D ;a032 5a Z +la033h: + NOP ;a033 00 . + NOP ;a034 00 . + RST 38h ;a035 ff . + JR Z,la051h ;a036 28 19 ( . + LD A,C ;a038 79 y + NOP ;a039 00 . + NOP ;a03a 00 . + LD B,000h ;a03b 06 00 . . + NOP ;a03d 00 . + NOP ;a03e 00 . + NOP ;a03f 00 . + LD C,A ;a040 4f O + LD E,D ;a041 5a Z +la042h: + NOP ;a042 00 . + NOP ;a043 00 . + RST 38h ;a044 ff . + JR Z,la060h ;a045 28 19 ( . + LD A,C ;a047 79 y + NOP ;a048 00 . + NOP ;a049 00 . + LD B,000h ;a04a 06 00 . . + NOP ;a04c 00 . + NOP ;a04d 00 . + NOP ;a04e 00 . + LD C,A ;a04f 4f O + LD E,D ;a050 5a Z +la051h: + NOP ;a051 00 . + NOP ;a052 00 . + RST 38h ;a053 ff . + ADD HL,DE ;a054 19 . + ADD HL,DE ;a055 19 . + LD A,C ;a056 79 y + NOP ;a057 00 . + NOP ;a058 00 . + LD B,000h ;a059 06 00 . . + NOP ;a05b 00 . + NOP ;a05c 00 . + NOP ;a05d 00 . + LD H,E ;a05e 63 c + LD A,(BC) ;a05f 0a . +la060h: + NOP ;a060 00 . + NOP ;a061 00 . + RST 38h ;a062 ff . + DEC H ;a063 25 % + ADD HL,DE ;a064 19 . + LD A,C ;a065 79 y + NOP ;a066 00 . + NOP ;a067 00 . + LD B,000h ;a068 06 00 . . + NOP ;a06a 00 . + NOP ;a06b 00 . + NOP ;a06c 00 . + LD H,E ;a06d 63 c + DJNZ la070h ;a06e 10 00 . . +la070h: + NOP ;a070 00 . + RST 38h ;a071 ff . + LD (07919h),HL ;a072 22 19 79 " . y + NOP ;a075 00 . + NOP ;a076 00 . + LD B,000h ;a077 06 00 . . + NOP ;a079 00 . + NOP ;a07a 00 . + NOP ;a07b 00 . + LD H,E ;a07c 63 c + DJNZ la07fh ;a07d 10 00 . . +la07fh: + NOP ;a07f 00 . + RST 38h ;a080 ff . + INC E ;a081 1c . + ADD HL,DE ;a082 19 . + LD A,C ;a083 79 y + NOP ;a084 00 . + NOP ;a085 00 . + LD B,000h ;a086 06 00 . . + NOP ;a088 00 . + NOP ;a089 00 . + NOP ;a08a 00 . + LD H,E ;a08b 63 c + DJNZ la08eh ;a08c 10 00 . . +la08eh: + NOP ;a08e 00 . + RST 38h ;a08f ff . + LD (07919h),HL ;a090 22 19 79 " . y + NOP ;a093 00 . + NOP ;a094 00 . + LD B,000h ;a095 06 00 . . + NOP ;a097 00 . + NOP ;a098 00 . + NOP ;a099 00 . + LD H,E ;a09a 63 c + DJNZ la09dh ;a09b 10 00 . . +la09dh: + NOP ;a09d 00 . + RST 38h ;a09e ff . + RRA ;a09f 1f . + ADD HL,DE ;a0a0 19 . + LD A,C ;a0a1 79 y + NOP ;a0a2 00 . + NOP ;a0a3 00 . + LD B,000h ;a0a4 06 00 . . + NOP ;a0a6 00 . + NOP ;a0a7 00 . + NOP ;a0a8 00 . + LD H,E ;a0a9 63 c + DJNZ la0ach ;a0aa 10 00 . . +la0ach: + NOP ;a0ac 00 . + RST 38h ;a0ad ff . + LD L,016h ;a0ae 2e 16 . . + LD A,C ;a0b0 79 y + NOP ;a0b1 00 . + NOP ;a0b2 00 . + LD B,000h ;a0b3 06 00 . . + NOP ;a0b5 00 . + NOP ;a0b6 00 . + NOP ;a0b7 00 . + SCF ;a0b8 37 7 + LD (00000h),A ;a0b9 32 00 00 2 . . + RST 38h ;a0bc ff . + LD L,018h ;a0bd 2e 18 . . + LD A,C ;a0bf 79 y + POP BC ;a0c0 c1 . + LD SP,04706h ;a0c1 31 06 47 1 . G + LD L,000h ;a0c4 2e 00 . . + NOP ;a0c6 00 . + LD H,E ;a0c7 63 c + JR Z,la0cah ;a0c8 28 00 ( . +la0cah: + NOP ;a0ca 00 . + RST 38h ;a0cb ff . +sub_a0cch: + LD A,(0be03h) ;a0cc 3a 03 be : . . + OUT (SLOT3),A ;a0cf d3 e2 . . + LD HL,0c008h ;a0d1 21 08 c0 ! . . + LD (0a15bh),HL ;a0d4 22 5b a1 " [ . + LD HL,00000h ;a0d7 21 00 00 ! . . + LD (0c000h),HL ;a0da 22 00 c0 " . . + LD A,0c1h ;a0dd 3e c1 > . + OUT (PORT_Y),A ;a0df d3 89 . . + LD A,(0be0bh) ;a0e1 3a 0b be : . . + OUT (SLOT1),A ;a0e4 d3 a2 . . + LD IX,07000h ;a0e6 dd 21 00 70 . ! . p + LD C,(ix+000h) ;a0ea dd 4e 00 . N . + INC IX ;a0ed dd 23 . # + LD B,(ix+000h) ;a0ef dd 46 00 . F . + INC IX ;a0f2 dd 23 . # + LD A,B ;a0f4 78 x + OR C ;a0f5 b1 . + RET Z ;a0f6 c8 . +la0f7h: + LD D,040h ;a0f7 16 40 . @ + LD E,(ix+000h) ;a0f9 dd 5e 00 . ^ . + EXX ;a0fc d9 . + LD A,(ix+000h) ;a0fd dd 7e 00 . ~ . + LD L,A ;a100 6f o + CP 01ah ;a101 fe 1a . . + JR Z,la10fh ;a103 28 0a ( . + CP 004h ;a105 fe 04 . . + JR Z,la10fh ;a107 28 06 ( . + CP 006h ;a109 fe 06 . . + LD A,000h ;a10b 3e 00 > . + JR NZ,la110h ;a10d 20 01 . +la10fh: + INC A ;a10f 3c < +la110h: + LD (la179h+1),A ;a110 32 7a a1 2 z . + EXX ;a113 d9 . + INC IX ;a114 dd 23 . # + EX DE,HL ;a116 eb . + LD E,(HL) ;a117 5e ^ + INC H ;a118 24 $ + LD D,(HL) ;a119 56 V + EX DE,HL ;a11a eb . + LD E,(ix+000h) ;a11b dd 5e 00 . ^ . + EXX ;a11e d9 . + LD C,(ix+000h) ;a11f dd 4e 00 . N . + EXX ;a122 d9 . + INC IX ;a123 dd 23 . # + LD D,000h ;a125 16 00 . . + ADD HL,DE ;a127 19 . + ADD HL,DE ;a128 19 . + LD A,(HL) ;a129 7e ~ + INC HL ;a12a 23 # + LD H,(HL) ;a12b 66 f + LD L,A ;a12c 6f o + LD E,(HL) ;a12d 5e ^ + INC HL ;a12e 23 # + XOR A ;a12f af . + LD (0a180h),A ;a130 32 80 a1 2 . . + EXX ;a133 d9 . + LD A,(0be05h) ;a134 3a 05 be : . . + OUT (SLOT1),A ;a137 d3 a2 . . + LD H,042h ;a139 26 42 & B + LD A,(HL) ;a13b 7e ~ + INC H ;a13c 24 $ + LD H,(HL) ;a13d 66 f + LD L,A ;a13e 6f o + LD B,000h ;a13f 06 00 . . + ADD HL,BC ;a141 09 . + ADD HL,BC ;a142 09 . + LD A,(HL) ;a143 7e ~ + INC HL ;a144 23 # + LD H,(HL) ;a145 66 f + LD L,A ;a146 6f o + LD DE,00000h ;a147 11 00 00 . . . + LD (0a19eh),HL ;a14a 22 9e a1 " . . +la14dh: + ADD HL,DE ;a14d 19 . + ADD HL,DE ;a14e 19 . + LD A,(HL) ;a14f 7e ~ + INC HL ;a150 23 # + LD H,(HL) ;a151 66 f + LD L,A ;a152 6f o + LD A,(0be0bh) ;a153 3a 0b be : . . + OUT (SLOT1),A ;a156 d3 a2 . . + PUSH DE ;a158 d5 . + EX DE,HL ;a159 eb . + LD HL,00000h ;a15a 21 00 00 ! . . + LD (HL),E ;a15d 73 s + INC HL ;a15e 23 # + LD (HL),D ;a15f 72 r + INC HL ;a160 23 # + LD (0a16ah),HL ;a161 22 6a a1 " j . + EX DE,HL ;a164 eb . + POP DE ;a165 d1 . + EXX ;a166 d9 . + PUSH DE ;a167 d5 . + EX DE,HL ;a168 eb . + LD HL,00000h ;a169 21 00 00 ! . . + LD (HL),E ;a16c 73 s + INC HL ;a16d 23 # + LD (HL),D ;a16e 72 r + INC HL ;a16f 23 # + LD A,(0a180h) ;a170 3a 80 a1 : . . + OR A ;a173 b7 . + JR NZ,la179h ;a174 20 03 . + LD (HL),A ;a176 77 w + JR la17bh ;a177 18 02 . . +la179h: + LD (HL),000h ;a179 36 00 6 . +la17bh: + INC HL ;a17b 23 # + INC HL ;a17c 23 # + INC HL ;a17d 23 # + INC HL ;a17e 23 # + LD A,000h ;a17f 3e 00 > . + INC A ;a181 3c < + LD (0a180h),A ;a182 32 80 a1 2 . . + LD (0a15bh),HL ;a185 22 5b a1 " [ . + LD HL,(0c000h) ;a188 2a 00 c0 * . . + INC HL ;a18b 23 # + LD (0c000h),HL ;a18c 22 00 c0 " . . + EX DE,HL ;a18f eb . + POP DE ;a190 d1 . + PUSH BC ;a191 c5 . + LD BC,00025h ;a192 01 25 00 . % . + ADD HL,BC ;a195 09 . + POP BC ;a196 c1 . + EXX ;a197 d9 . + LD A,(0be05h) ;a198 3a 05 be : . . + OUT (SLOT1),A ;a19b d3 a2 . . + LD HL,00000h ;a19d 21 00 00 ! . . + INC DE ;a1a0 13 . + EXX ;a1a1 d9 . + DEC E ;a1a2 1d . + EXX ;a1a3 d9 . + JP NZ,la14dh ;a1a4 c2 4d a1 . M . + EXX ;a1a7 d9 . + LD A,(0be0bh) ;a1a8 3a 0b be : . . + OUT (SLOT1),A ;a1ab d3 a2 . . + DEC BC ;a1ad 0b . + LD A,B ;a1ae 78 x + OR C ;a1af b1 . + JP NZ,la0f7h ;a1b0 c2 f7 a0 . . . + RET ;a1b3 c9 . + + +CURRENT_MEM_USED: + DB 0 ;a1b4 00 . +CURRENT_PAGE: +.SLOT3: DB 0 ;a1b5 00 . +.SLOT1: DB 0 ;a1b6 00 . + +GET_MEM_AND_PAGES: + LD (CURRENT_MEM_USED),A ;a1b7 32 b4 a1 2 . . + LD C,BIOS.GetMem ;a1ba 0e c2 . . + LD B,A ;a1bc 47 G + RST ToBIOS ;a1bd cf . + JP C,l83a1h ;a1be da a1 83 . . . + ; + LD (CURRENT_MEM_BLOCK_ID),A ;a1c1 32 af a2 2 . . + LD C,BIOS.GetMemBlkPages ;a1c4 0e c5 . . + LD HL,PAGES_BUFFER ;a1c6 21 00 be ! . . + RST ToBIOS ;a1c9 cf . + JP C,l83a1h ;a1ca da a1 83 . . . + RET ;a1cd c9 . + +FREE_MEM_: LD C,BIOS.FreeMem ;a1ce 0e c3 . . + LD A,(CURRENT_MEM_BLOCK_ID) ;a1d0 3a af a2 : . . + RST ToBIOS ;a1d3 cf . + JP C,SetUp_RESET_EXIT ;a1d4 da 63 83 . c . + RET ;a1d7 c9 . + + +SET_PAGE_SLOT3: LD (CURRENT_PAGE.SLOT3),A ;a1d8 32 b5 a1 2 . . + LD L,A ;a1db 6f o + LD H,high PAGES_BUFFER ;a1dc 26 be & . + LD A,(HL) ;a1de 7e ~ + OUT (SLOT3),A ;a1df d3 e2 . . + RET ;a1e1 c9 . + +SET_PAGE_SLOT1: LD (CURRENT_PAGE.SLOT1),A ;a1e2 32 b6 a1 2 . . + LD L,A ;a1e5 6f o + LD H,high PAGES_BUFFER ;a1e6 26 be & . + LD A,(HL) ;a1e8 7e ~ + OUT (SLOT1),A ;a1e9 d3 a2 . . + RET ;a1eb c9 . + +SET_PAGE_SLOT3_af: + PUSH AF ;a1ec f5 . + PUSH HL ;a1ed e5 . + LD (CURRENT_PAGE.SLOT3),A ;a1ee 32 b5 a1 2 . . + LD L,A ;a1f1 6f o + LD H,high PAGES_BUFFER ;a1f2 26 be & . + LD A,(HL) ;a1f4 7e ~ + OUT (SLOT3),A ;a1f5 d3 e2 . . + POP HL ;a1f7 e1 . + POP AF ;a1f8 f1 . + RET ;a1f9 c9 . + +SET_PAGE_SLOT1_af: + PUSH AF ;a1fa f5 . + PUSH HL ;a1fb e5 . + LD (CURRENT_PAGE.SLOT1),A ;a1fc 32 b6 a1 2 . . + LD L,A ;a1ff 6f o + LD H,high PAGES_BUFFER ;a200 26 be & . + LD A,(HL) ;a202 7e ~ + OUT (SLOT1),A ;a203 d3 a2 . . + POP HL ;a205 e1 . + POP AF ;a206 f1 . + RET ;a207 c9 . +sub_a208h: + LD A,050h ;a208 3e 50 > P + OUT (SLOT3),A ;a20a d3 e2 . . + RET ;a20c c9 . + + LD A,050h ;a20d 3e 50 > P + OUT (SLOT1),A ;a20f d3 a2 . . + RET ;a211 c9 . + + + LD E,(HL) ;a212 5e ^ + INC HL ;a213 23 # + LD D,(HL) ;a214 56 V + INC HL ;a215 23 # +la216h: + XOR A ;a216 af . + INC A ;a217 3c < + LD BC,0ffa4h ;a218 01 a4 ff . . . + RST ToBIOS ;a21b cf . + RET ;a21c c9 . + LD DE,00100h ;a21d 11 00 01 . . . +la220h: + LD BC,0ffa4h ;a220 01 a4 ff . . . + LD HL,PALETTE_1 ;a223 21 83 a2 ! . . + XOR A ;a226 af . + PUSH DE ;a227 d5 . + RST ToBIOS ;a228 cf . + POP DE ;a229 d1 . + INC E ;a22a 1c . + JR NZ,la220h ;a22b 20 f3 . + RET ;a22d c9 . + LD A,0c1h ;a22e 3e c1 > . + OUT (PORT_Y),A ;a230 d3 89 . . + RET ;a232 c9 . + LD IX,0e000h ;a233 dd 21 00 e0 . ! . . + PUSH IX ;a237 dd e5 . . + CALL sub_a240h ;a239 cd 40 a2 . @ . + POP HL ;a23c e1 . + JP la261h ;a23d c3 61 a2 . a . +sub_a240h: + LD B,000h ;a240 06 00 . . + LD C,B ;a242 48 H +la243h: + LD A,(HL) ;a243 7e ~ + LD (ix+002h),A ;a244 dd 77 02 . w . + INC HL ;a247 23 # + LD A,(HL) ;a248 7e ~ + LD (ix+001h),A ;a249 dd 77 01 . w . + INC HL ;a24c 23 # + LD A,(HL) ;a24d 7e ~ + LD (ix+000h),A ;a24e dd 77 00 . w . + INC HL ;a251 23 # + LD (ix+003h),B ;a252 dd 70 03 . p . + INC IX ;a255 dd 23 . # + INC IX ;a257 dd 23 . # + INC IX ;a259 dd 23 . # + INC IX ;a25b dd 23 . # + DEC C ;a25d 0d . + JR NZ,la243h ;a25e 20 e3 . + RET ;a260 c9 . +la261h: + LD E,000h ;a261 1e 00 . . + LD D,000h ;a263 16 00 . . + JP la216h ;a265 c3 16 a2 . . . + LD BC,03135h ;a268 01 35 31 . 5 1 + RST ToDSS ;a26b d7 . + RET ;a26c c9 . + RET ;a26d c9 . + + + +FAST_RAM_FN: +.ON_EI: DI ;a26e f3 . + IN A,(FastRAM.ON) ;a26f db fb . . + EI ;a271 fb . + RET ;a272 c9 . + ; +.ON_DI: DI ;a273 f3 . + IN A,(FastRAM.ON) ;a274 db fb . . + RET ;a276 c9 . + ; +.OFF_EI: DI ;a277 f3 . + IN A,(FastRAM.OFF) ;a278 db 7b . { + EI ;a27a fb . + RET ;a27b c9 . + ; +.OFF_DI: DI ;a27c f3 . + IN A,(FastRAM.OFF) ;a27d db 7b . { + RET ;a27f c9 . + + + + +la280h: NOP ;a280 00 . +la281h: NOP ;a281 00 . + NOP ;a282 00 . + + +PALETTE_1: DB #00, #00, #00, #00 + DB #82, #00, #a2, #00 + DB #c2, #00, #e2, #00 + DB #89, #00, #20, #39 + DB #37, #00, #4b, #04 + DB #00, #4d, #06, #00 + DB #48, #05, #00, #50 + DB #07, #1b, #01, #3a + DB #34, #05, #0a, #36 + DB #07, #0b, #38, #09 + DB #0c, #32, #03, #0d + +CURRENT_MEM_BLOCK_ID: + DB 0 ;a2af 00 . +sub_a2b0h: + LD HL,00000h ;a2b0 21 00 00 ! . . + LD IY,00000h ;a2b3 fd 21 00 00 . ! . . + PUSH IY ;a2b7 fd e5 . . + PUSH IY ;a2b9 fd e5 . . + CALL sub_a3a1h ;a2bb cd a1 a3 . . . + LD A,0c1h ;a2be 3e c1 > . + OUT (PORT_Y),A ;a2c0 d3 89 . . + POP IY ;a2c2 fd e1 . . + LD HL,00000h ;a2c4 21 00 00 ! . . + LD A,000h ;a2c7 3e 00 > . + LD DE,00000h ;a2c9 11 00 00 . . . + CALL sub_a457h ;a2cc cd 57 a4 . W . + LD IY,00000h ;a2cf fd 21 00 00 . ! . . + LD A,000h ;a2d3 3e 00 > . + LD IXH,A ;a2d5 dd 67 . g + LD HL,0c000h ;a2d7 21 00 c0 ! . . + LD BC,00008h ;a2da 01 08 00 . . . + LD A,(0be02h) ;a2dd 3a 02 be : . . + LD (0a2e7h),A ;a2e0 32 e7 a2 2 . . + PUSH IY ;a2e3 fd e5 . . +la2e5h: + EXX ;a2e5 d9 . + LD A,000h ;a2e6 3e 00 > . + OUT (SLOT1),A ;a2e8 d3 a2 . . + LD A,IYH ;a2ea fd 7c . | + LD H,A ;a2ec 67 g + LD A,IYL ;a2ed fd 7d . } + LD L,A ;a2ef 6f o + ADD HL,HL ;a2f0 29 ) + ADD HL,HL ;a2f1 29 ) + SET 6,H ;a2f2 cb f4 . . + LD A,(HL) ;a2f4 7e ~ + AND 03fh ;a2f5 e6 3f . ? + OR 040h ;a2f7 f6 40 . @ + LD D,A ;a2f9 57 W + INC L ;a2fa 2c , + LD E,(HL) ;a2fb 5e ^ + INC L ;a2fc 2c , + LD A,(HL) ;a2fd 7e ~ + LD IXL,A ;a2fe dd 6f . o + PUSH DE ;a300 d5 . + EXX ;a301 d9 . + POP DE ;a302 d1 . + LD A,050h ;a303 3e 50 > P + OUT (SLOT1),A ;a305 d3 a2 . . + DI ;a307 f3 . + LD D,D ;a308 52 R + LD A,008h ;a309 3e 08 > . + LD B,B ;a30b 40 @ + LD A,IXL ;a30c dd 7d . } + OUT (PORT_Y),A ;a30e d3 89 . . + LD L,L ;a310 6d m + LD A,(HL) ;a311 7e ~ + LD (DE),A ;a312 12 . + LD B,B ;a313 40 @ + ADD HL,BC ;a314 09 . + INC IXL ;a315 dd 2c . , + LD A,IXL ;a317 dd 7d . } + OUT (PORT_Y),A ;a319 d3 89 . . + LD L,L ;a31b 6d m + LD A,(HL) ;a31c 7e ~ + LD (DE),A ;a31d 12 . + LD B,B ;a31e 40 @ + ADD HL,BC ;a31f 09 . + INC IXL ;a320 dd 2c . , + LD A,IXL ;a322 dd 7d . } + OUT (PORT_Y),A ;a324 d3 89 . . + LD L,L ;a326 6d m + LD A,(HL) ;a327 7e ~ + LD (DE),A ;a328 12 . + LD B,B ;a329 40 @ + ADD HL,BC ;a32a 09 . + INC IXL ;a32b dd 2c . , + LD A,IXL ;a32d dd 7d . } + OUT (PORT_Y),A ;a32f d3 89 . . + LD L,L ;a331 6d m + LD A,(HL) ;a332 7e ~ + LD (DE),A ;a333 12 . + LD B,B ;a334 40 @ + ADD HL,BC ;a335 09 . + INC IXL ;a336 dd 2c . , + LD A,IXL ;a338 dd 7d . } + OUT (PORT_Y),A ;a33a d3 89 . . + LD L,L ;a33c 6d m + LD A,(HL) ;a33d 7e ~ + LD (DE),A ;a33e 12 . + LD B,B ;a33f 40 @ + ADD HL,BC ;a340 09 . + INC IXL ;a341 dd 2c . , + LD A,IXL ;a343 dd 7d . } + OUT (PORT_Y),A ;a345 d3 89 . . + LD L,L ;a347 6d m + LD A,(HL) ;a348 7e ~ + LD (DE),A ;a349 12 . + LD B,B ;a34a 40 @ + ADD HL,BC ;a34b 09 . + INC IXL ;a34c dd 2c . , + LD A,IXL ;a34e dd 7d . } + OUT (PORT_Y),A ;a350 d3 89 . . + LD L,L ;a352 6d m + LD A,(HL) ;a353 7e ~ + LD (DE),A ;a354 12 . + LD B,B ;a355 40 @ + ADD HL,BC ;a356 09 . + INC IXL ;a357 dd 2c . , + LD A,IXL ;a359 dd 7d . } + OUT (PORT_Y),A ;a35b d3 89 . . + LD L,L ;a35d 6d m + LD A,(HL) ;a35e 7e ~ + LD (DE),A ;a35f 12 . + LD B,B ;a360 40 @ + EI ;a361 fb . + ADD HL,BC ;a362 09 . + INC IY ;a363 fd 23 . # + DEC IXH ;a365 dd 25 . % + JP NZ,la2e5h ;a367 c2 e5 a2 . . . + LD A,0c1h ;a36a 3e c1 > . + OUT (PORT_Y),A ;a36c d3 89 . . + POP HL ;a36e e1 . + POP BC ;a36f c1 . + LD A,(0be0ah) ;a370 3a 0a be : . . + OUT (SLOT3),A ;a373 d3 e2 . . + LD A,(0be02h) ;a375 3a 02 be : . . + OUT (SLOT1),A ;a378 d3 a2 . . + ADD HL,HL ;a37a 29 ) + ADD HL,HL ;a37b 29 ) + SET 6,H ;a37c cb f4 . . + LD DE,00000h ;a37e 11 00 00 . . . + LD IXL,B ;a381 dd 68 . h + LD B,000h ;a383 06 00 . . + LD A,C ;a385 79 y + RLCA ;a386 07 . + RLCA ;a387 07 . + LD C,A ;a388 4f O + LD (0a38fh),A ;a389 32 8f a3 2 . . + DI ;a38c f3 . + LD D,D ;a38d 52 R + LD A,000h ;a38e 3e 00 > . + LD B,B ;a390 40 @ + LD IXH,E ;a391 dd 63 . c +la393h: + LD L,L ;a393 6d m + LD A,(HL) ;a394 7e ~ + LD (DE),A ;a395 12 . + LD B,B ;a396 40 @ + ADD HL,BC ;a397 09 . + LD E,IXH ;a398 dd 5c . \ + INC D ;a39a 14 . + DEC IXL ;a39b dd 2d . - + JR NZ,la393h ;a39d 20 f4 . + EI ;a39f fb . + RET ;a3a0 c9 . +sub_a3a1h: + LD A,050h ;a3a1 3e 50 > P + OUT (SLOT1),A ;a3a3 d3 a2 . . + LD BC,00008h ;a3a5 01 08 00 . . . + EX DE,HL ;a3a8 eb . + LD HL,0c000h ;a3a9 21 00 c0 ! . . + LD A,IYL ;a3ac fd 7d . } +la3aeh: + EX AF,AF' ;a3ae 08 . + PUSH DE ;a3af d5 . +la3b0h: + LD A,(0be0ah) ;a3b0 3a 0a be : . . + OUT (SLOT3),A ;a3b3 d3 e2 . . + LD A,(DE) ;a3b5 1a . + AND 003h ;a3b6 e6 03 . . + INC E ;a3b8 1c . + OR 040h ;a3b9 f6 40 . @ + LD IXH,A ;a3bb dd 67 . g + LD A,(DE) ;a3bd 1a . + INC E ;a3be 1c . + LD IXL,A ;a3bf dd 6f . o + LD A,(DE) ;a3c1 1a . + INC E ;a3c2 1c . + INC E ;a3c3 1c . + PUSH DE ;a3c4 d5 . + LD E,IXL ;a3c5 dd 5d . ] + LD D,IXH ;a3c7 dd 54 . T + LD IXL,A ;a3c9 dd 6f . o + LD A,(0be09h) ;a3cb 3a 09 be : . . + OUT (SLOT3),A ;a3ce d3 e2 . . + DI ;a3d0 f3 . + LD D,D ;a3d1 52 R + LD A,008h ;a3d2 3e 08 > . + LD B,B ;a3d4 40 @ + LD A,IXL ;a3d5 dd 7d . } + OUT (PORT_Y),A ;a3d7 d3 89 . . + LD L,L ;a3d9 6d m + LD A,(DE) ;a3da 1a . + LD (HL),A ;a3db 77 w + LD B,B ;a3dc 40 @ + ADD HL,BC ;a3dd 09 . + INC IXL ;a3de dd 2c . , + LD A,IXL ;a3e0 dd 7d . } + OUT (PORT_Y),A ;a3e2 d3 89 . . + LD L,L ;a3e4 6d m + LD A,(DE) ;a3e5 1a . + LD (HL),A ;a3e6 77 w + LD B,B ;a3e7 40 @ + ADD HL,BC ;a3e8 09 . + INC IXL ;a3e9 dd 2c . , + LD A,IXL ;a3eb dd 7d . } + OUT (PORT_Y),A ;a3ed d3 89 . . + LD L,L ;a3ef 6d m + LD A,(DE) ;a3f0 1a . + LD (HL),A ;a3f1 77 w + LD B,B ;a3f2 40 @ + ADD HL,BC ;a3f3 09 . + INC IXL ;a3f4 dd 2c . , + LD A,IXL ;a3f6 dd 7d . } + OUT (PORT_Y),A ;a3f8 d3 89 . . + LD L,L ;a3fa 6d m + LD A,(DE) ;a3fb 1a . + LD (HL),A ;a3fc 77 w + LD B,B ;a3fd 40 @ + ADD HL,BC ;a3fe 09 . + INC IXL ;a3ff dd 2c . , + LD A,IXL ;a401 dd 7d . } + OUT (PORT_Y),A ;a403 d3 89 . . + LD L,L ;a405 6d m + LD A,(DE) ;a406 1a . + LD (HL),A ;a407 77 w + LD B,B ;a408 40 @ + ADD HL,BC ;a409 09 . + INC IXL ;a40a dd 2c . , + LD A,IXL ;a40c dd 7d . } + OUT (PORT_Y),A ;a40e d3 89 . . + LD L,L ;a410 6d m + LD A,(DE) ;a411 1a . + LD (HL),A ;a412 77 w + LD B,B ;a413 40 @ + ADD HL,BC ;a414 09 . + INC IXL ;a415 dd 2c . , + LD A,IXL ;a417 dd 7d . } + OUT (PORT_Y),A ;a419 d3 89 . . + LD L,L ;a41b 6d m + LD A,(DE) ;a41c 1a . + LD (HL),A ;a41d 77 w + LD B,B ;a41e 40 @ + ADD HL,BC ;a41f 09 . + INC IXL ;a420 dd 2c . , + LD A,IXL ;a422 dd 7d . } + OUT (PORT_Y),A ;a424 d3 89 . . + LD L,L ;a426 6d m + LD A,(DE) ;a427 1a . + LD (HL),A ;a428 77 w + LD B,B ;a429 40 @ + EI ;a42a fb . + ADD HL,BC ;a42b 09 . + POP DE ;a42c d1 . + DEC IYL ;a42d fd 2d . - + JP NZ,la3b0h ;a42f c2 b0 a3 . . . + POP DE ;a432 d1 . + INC D ;a433 14 . + EX AF,AF' ;a434 08 . + LD IYL,A ;a435 fd 6f . o + DEC IYH ;a437 fd 25 . % + JP NZ,la3aeh ;a439 c2 ae a3 . . . + LD A,0c1h ;a43c 3e c1 > . + OUT (PORT_Y),A ;a43e d3 89 . . + RET ;a440 c9 . +sub_a441h: + PUSH AF ;a441 f5 . + PUSH BC ;a442 c5 . + LD HL,0c000h ;a443 21 00 c0 ! . . + LD A,(03f30h) ;a446 3a 30 3f : 0 ? + ADD A,H ;a449 84 . + LD H,A ;a44a 67 g + LD A,(03f2fh) ;a44b 3a 2f 3f : / ? + ADD A,A ;a44e 87 . + LD C,A ;a44f 4f O + LD B,000h ;a450 06 00 . . + ADD HL,BC ;a452 09 . + ADD HL,BC ;a453 09 . + POP BC ;a454 c1 . + POP AF ;a455 f1 . + RET ;a456 c9 . +sub_a457h: + CALL SET_PAGE_SLOT1_af ;a457 cd fa a1 . . . + LD BC,0ffd8h ;a45a 01 d8 ff . . . + XOR A ;a45d af . + OR E ;a45e b3 . + JR Z,la465h ;a45f 28 04 ( . +la461h: + ADD HL,BC ;a461 09 . + DEC E ;a462 1d . + JR NZ,la461h ;a463 20 fc . +la465h: + LD B,000h ;a465 06 00 . . + LD C,D ;a467 4a J + XOR A ;a468 af . + SBC HL,BC ;a469 ed 42 . B + LD A,(0be09h) ;a46b 3a 09 be : . . + OUT (SLOT3),A ;a46e d3 e2 . . + LD DE,0c000h ;a470 11 00 c0 . . . + LD B,E ;a473 43 C +la474h: + LD A,IYL ;a474 fd 7d . } + LD IXL,A ;a476 dd 6f . o + PUSH HL ;a478 e5 . +la479h: + LD A,008h ;a479 3e 08 > . +la47bh: + EX AF,AF' ;a47b 08 . + LD A,(HL) ;a47c 7e ~ + OR A ;a47d b7 . + JR Z,la481h ;a47e 28 01 ( . + LD (DE),A ;a480 12 . +la481h: + INC HL ;a481 23 # + INC E ;a482 1c . + LD A,(HL) ;a483 7e ~ + OR A ;a484 b7 . + JR Z,la488h ;a485 28 01 ( . + LD (DE),A ;a487 12 . +la488h: + INC HL ;a488 23 # + INC E ;a489 1c . + LD A,(HL) ;a48a 7e ~ + OR A ;a48b b7 . + JR Z,la48fh ;a48c 28 01 ( . + LD (DE),A ;a48e 12 . +la48fh: + INC HL ;a48f 23 # + INC E ;a490 1c . + LD A,(HL) ;a491 7e ~ + OR A ;a492 b7 . + JR Z,la496h ;a493 28 01 ( . + LD (DE),A ;a495 12 . +la496h: + INC HL ;a496 23 # + INC E ;a497 1c . + LD A,(HL) ;a498 7e ~ + OR A ;a499 b7 . + JR Z,la49dh ;a49a 28 01 ( . + LD (DE),A ;a49c 12 . +la49dh: + INC HL ;a49d 23 # + INC E ;a49e 1c . + LD A,(HL) ;a49f 7e ~ + OR A ;a4a0 b7 . + JR Z,la4a4h ;a4a1 28 01 ( . + LD (DE),A ;a4a3 12 . +la4a4h: + INC HL ;a4a4 23 # + INC E ;a4a5 1c . + LD A,(HL) ;a4a6 7e ~ + OR A ;a4a7 b7 . + JR Z,la4abh ;a4a8 28 01 ( . + LD (DE),A ;a4aa 12 . +la4abh: + INC HL ;a4ab 23 # + INC E ;a4ac 1c . + LD A,(HL) ;a4ad 7e ~ + OR A ;a4ae b7 . + JR Z,la4b2h ;a4af 28 01 ( . + LD (DE),A ;a4b1 12 . +la4b2h: + INC DE ;a4b2 13 . + LD C,021h ;a4b3 0e 21 . ! + ADD HL,BC ;a4b5 09 . + EX AF,AF' ;a4b6 08 . + DEC A ;a4b7 3d = + JR NZ,la47bh ;a4b8 20 c1 . + DEC IXL ;a4ba dd 2d . - + JR NZ,la479h ;a4bc 20 bb . + POP HL ;a4be e1 . + LD C,008h ;a4bf 0e 08 . . + ADD HL,BC ;a4c1 09 . + DEC IYH ;a4c2 fd 25 . % + JR NZ,la474h ;a4c4 20 ae . + RET ;a4c6 c9 . +sub_a4c7h: + CALL FAST_RAM_FN.ON_EI ;a4c7 cd 6e a2 . n . + LD IX,03c01h ;a4ca dd 21 01 3c . ! . < + LD A,(03f08h) ;a4ce 3a 08 3f : . ? + OR A ;a4d1 b7 . + JR Z,la4dch ;a4d2 28 08 ( . + LD IX,03c0eh ;a4d4 dd 21 0e 3c . ! . < + LD A,007h ;a4d8 3e 07 > . + JR la4deh ;a4da 18 02 . . +la4dch: + LD A,008h ;a4dc 3e 08 > . +la4deh: + PUSH AF ;a4de f5 . + LD A,(ix+00ah) ;a4df dd 7e 0a . ~ . + INC A ;a4e2 3c < + JP Z,la5bah ;a4e3 ca ba a5 . . . + LD A,(ix+002h) ;a4e6 dd 7e 02 . ~ . + CP 0f0h ;a4e9 fe f0 . . + JP C,la5bah ;a4eb da ba a5 . . . + SUB 0f0h ;a4ee d6 f0 . . + LD HL,04000h ;a4f0 21 00 40 ! . @ + OR A ;a4f3 b7 . + JR Z,la4fdh ;a4f4 28 07 ( . + LD BC,00640h ;a4f6 01 40 06 . @ . +la4f9h: + ADD HL,BC ;a4f9 09 . + DEC A ;a4fa 3d = + JR NZ,la4f9h ;a4fb 20 fc . +la4fdh: + LD A,00eh ;a4fd 3e 0e > . + EX DE,HL ;a4ff eb . + JR la502h ;a500 18 00 . . +la502h: + LD (0a2c8h),A ;a502 32 c8 a2 2 . . + EX DE,HL ;a505 eb . + LD DE,00148h ;a506 11 48 01 . H . + ADD HL,DE ;a509 19 . + LD (0a2c5h),HL ;a50a 22 c5 a2 " . . + LD A,(03f07h) ;a50d 3a 07 3f : . ? + LD C,A ;a510 4f O + LD A,(03f06h) ;a511 3a 06 3f : . ? + LD B,A ;a514 47 G + EXX ;a515 d9 . + LD A,(ix+005h) ;a516 dd 7e 05 . ~ . + LD IYL,A ;a519 fd 6f . o + LD E,A ;a51b 5f _ + AND 003h ;a51c e6 03 . . + SRL E ;a51e cb 3b . ; + SRL E ;a520 cb 3b . ; + SRL E ;a522 cb 3b . ; + LD (0a58bh),A ;a524 32 8b a5 2 . . + LD A,(ix+006h) ;a527 dd 7e 06 . ~ . + LD IYH,A ;a52a fd 67 . g + LD D,A ;a52c 57 W + AND 003h ;a52d e6 03 . . + SRL D ;a52f cb 3a . : + SRL D ;a531 cb 3a . : + SRL D ;a533 cb 3a . : + LD (0a58ch),A ;a535 32 8c a5 2 . . + LD BC,00303h ;a538 01 03 03 . . . + LD A,IYL ;a53b fd 7d . } + OR A ;a53d b7 . + JR Z,la541h ;a53e 28 01 ( . + INC C ;a540 0c . +la541h: + LD A,IYH ;a541 fd 7c . | + OR A ;a543 b7 . + JR Z,la547h ;a544 28 01 ( . + INC B ;a546 04 . +la547h: + EXX ;a547 d9 . + LD E,(ix+00ah) ;a548 dd 5e 0a . ^ . + LD A,E ;a54b 7b { + CP C ;a54c b9 . + JP C,la5c7h ;a54d da c7 a5 . . . + SUB C ;a550 91 . + LD E,A ;a551 5f _ + CP 00bh ;a552 fe 0b . . + JP NC,la5bah ;a554 d2 ba a5 . . . +la557h: + LD D,(ix+00bh) ;a557 dd 56 0b . V . + LD A,D ;a55a 7a z + CP B ;a55b b8 . + JP C,la5f1h ;a55c da f1 a5 . . . + SUB B ;a55f 90 . + LD D,A ;a560 57 W + CP 00fh ;a561 fe 0f . . + JR NC,la5bah ;a563 30 55 0 U +la565h: + LD A,E ;a565 7b { + ADD A,E ;a566 83 . + ADD A,E ;a567 83 . + LD (03f2fh),A ;a568 32 2f 3f 2 / ? + LD (ix+000h),A ;a56b dd 77 00 . w . + LD A,D ;a56e 7a z + LD E,A ;a56f 5f _ + ADD A,E ;a570 83 . + ADD A,E ;a571 83 . + LD (ix+001h),A ;a572 dd 77 01 . w . + LD (03f30h),A ;a575 32 30 3f 2 0 ? + CALL sub_a441h ;a578 cd 41 a4 . A . + EXX ;a57b d9 . + PUSH BC ;a57c c5 . + PUSH DE ;a57d d5 . + EXX ;a57e d9 . + POP DE ;a57f d1 . + LD A,D ;a580 7a z + ADD A,H ;a581 84 . + LD H,A ;a582 67 g + RL E ;a583 cb 13 . . + LD D,000h ;a585 16 00 . . + ADD HL,DE ;a587 19 . + ADD HL,DE ;a588 19 . + LD IY,00000h ;a589 fd 21 00 00 . ! . . + LD (0a2cah),IY ;a58d fd 22 ca a2 . " . . + POP IY ;a591 fd e1 . . + LD (sub_a2b0h+1),HL ;a593 22 b1 a2 " . . + LD (0a37fh),HL ;a596 22 7f a3 " . . + LD (0a2b5h),IY ;a599 fd 22 b5 a2 . " . . + LD A,(ix+003h) ;a59d dd 7e 03 . ~ . + LD (0a2d2h),A ;a5a0 32 d2 a2 2 . . + LD A,(ix+004h) ;a5a3 dd 7e 04 . ~ . + LD (0a2d1h),A ;a5a6 32 d1 a2 2 . . + XOR A ;a5a9 af . +la5aah: + ADD A,IYL ;a5aa fd 85 . . + DEC IYH ;a5ac fd 25 . % + JR NZ,la5aah ;a5ae 20 fa . + LD (0a2d4h),A ;a5b0 32 d4 a2 2 . . + PUSH IX ;a5b3 dd e5 . . + CALL sub_a2b0h ;a5b5 cd b0 a2 . . . + POP IX ;a5b8 dd e1 . . +la5bah: + LD DE,0000dh ;a5ba 11 0d 00 . . . + ADD IX,DE ;a5bd dd 19 . . + POP AF ;a5bf f1 . + DEC A ;a5c0 3d = + JP NZ,la4deh ;a5c1 c2 de a4 . . . + JP FAST_RAM_FN.OFF_EI ;a5c4 c3 77 a2 . w . +la5c7h: + LD A,IYL ;a5c7 fd 7d . } + OR A ;a5c9 b7 . + JR Z,la5bah ;a5ca 28 ee ( . + INC E ;a5cc 1c . + EXX ;a5cd d9 . + DEC C ;a5ce 0d . + DEC C ;a5cf 0d . + DEC C ;a5d0 0d . + LD E,000h ;a5d1 1e 00 . . + EXX ;a5d3 d9 . + PUSH HL ;a5d4 e5 . + LD HL,(0a2c5h) ;a5d5 2a c5 a2 * . . + LD A,L ;a5d8 7d } + ADD A,0c0h ;a5d9 c6 c0 . . + LD L,A ;a5db 6f o + LD A,H ;a5dc 7c | + ADC A,003h ;a5dd ce 03 . . + LD H,A ;a5df 67 g + LD (0a2c5h),HL ;a5e0 22 c5 a2 " . . + POP HL ;a5e3 e1 . + LD A,E ;a5e4 7b { + CP C ;a5e5 b9 . + JR C,la5bah ;a5e6 38 d2 8 . + SUB C ;a5e8 91 . + LD E,A ;a5e9 5f _ + CP 00bh ;a5ea fe 0b . . + JR NC,la5bah ;a5ec 30 cc 0 . + JP la557h ;a5ee c3 57 a5 . W . +la5f1h: + LD A,IYH ;a5f1 fd 7c . | + OR A ;a5f3 b7 . + JR Z,la5bah ;a5f4 28 c4 ( . + INC D ;a5f6 14 . + EXX ;a5f7 d9 . + DEC B ;a5f8 05 . + DEC B ;a5f9 05 . + DEC B ;a5fa 05 . + LD D,000h ;a5fb 16 00 . . + EXX ;a5fd d9 . + PUSH HL ;a5fe e5 . + LD HL,(0a2c5h) ;a5ff 2a c5 a2 * . . + LD A,L ;a602 7d } + ADD A,018h ;a603 c6 18 . . + LD L,A ;a605 6f o + ADC A,H ;a606 8c . + SUB L ;a607 95 . + LD H,A ;a608 67 g + LD (0a2c5h),HL ;a609 22 c5 a2 " . . + POP HL ;a60c e1 . + LD A,D ;a60d 7a z + CP B ;a60e b8 . + JR C,la5bah ;a60f 38 a9 8 . + SUB B ;a611 90 . + LD D,A ;a612 57 W + CP 00fh ;a613 fe 0f . . + JR NC,la5bah ;a615 30 a3 0 . + JP la565h ;a617 c3 65 a5 . e . + RET ;a61a c9 . + + + + + +DEPACKER: DI ;a61b f3 . + LD IX,#fff4 ;a61c dd 21 f4 ff . ! . . + ADD IX,SP ;a620 dd 39 . 9 + PUSH DE ;a622 d5 . + LD SP,HL ;a623 f9 . + POP BC ;a624 c1 . + EX DE,HL ;a625 eb . + POP BC ;a626 c1 . + DEC BC ;a627 0b . + ADD HL,BC ;a628 09 . + EX DE,HL ;a629 eb . + POP BC ;a62a c1 . + DEC BC ;a62b 0b . + ADD HL,BC ;a62c 09 . + SBC HL,DE ;a62d ed 52 . R + ADD HL,DE ;a62f 19 . + JR C,.la634h ;a630 38 02 8 . + LD D,H ;a632 54 T + LD E,L ;a633 5d ] +.la634h: LDDR ;a634 ed b8 . . + EX DE,HL ;a636 eb . + LD D,(ix+00bh) ;a637 dd 56 0b . V . + LD E,(ix+00ah) ;a63a dd 5e 0a . ^ . + LD SP,HL ;a63d f9 . + POP HL ;a63e e1 . + POP HL ;a63f e1 . + POP HL ;a640 e1 . + LD B,006h ;a641 06 06 . . +.loop1: DEC SP ;a643 3b ; + POP AF ;a644 f1 . + LD (ix+006h),A ;a645 dd 77 06 . w . + INC IX ;a648 dd 23 . # + DJNZ .loop1 ;a64a 10 f7 . . + EXX ;a64c d9 . + LD D,#bf ;a64d 16 bf . . + LD BC,#1010 ;a64f 01 10 10 . . . + POP HL ;a652 e1 . +.la653h: DEC SP ;a653 3b ; + POP AF ;a654 f1 . + EXX ;a655 d9 . +.loop2: LD (DE),A ;a656 12 . + INC DE ;a657 13 . +.loop3: EXX ;a658 d9 . +.loop4: ADD HL,HL ;a659 29 ) + DJNZ .la65eh ;a65a 10 02 . . + POP HL ;a65c e1 . + LD B,C ;a65d 41 A +.la65eh: JR C,.la653h ;a65e 38 f3 8 . + LD E,1 ;a660 1e 01 . . +.loop5: LD A,#80 ;a662 3e 80 > . +.loop6: ADD HL,HL ;a664 29 ) + DJNZ .la669h ;a665 10 02 . . + POP HL ;a667 e1 . + LD B,C ;a668 41 A +.la669h: RLA ;a669 17 . + JR C,.loop6 ;a66a 38 f8 8 . + CP 3 ;a66c fe 03 . . + JR C,.la675h ;a66e 38 05 8 . + ADD A,E ;a670 83 . + LD E,A ;a671 5f _ + XOR C ;a672 a9 . + JR NZ,.loop5 ;a673 20 ed . +.la675h: ADD A,E ;a675 83 . + CP 4 ;a676 fe 04 . . + JR Z,.la6d4h ;a678 28 5a ( Z + ADC A,#FF ;a67a ce ff . . + CP 2 ;a67c fe 02 . . + EXX ;a67e d9 . +.la67fh: LD C,A ;a67f 4f O +.la680h: EXX ;a680 d9 . + LD A,#BF ;a681 3e bf > . + JR C,.la699h ;a683 38 14 8 . +.la685h: ADD HL,HL ;a685 29 ) + DJNZ .la68ah ;a686 10 02 . . + POP HL ;a688 e1 . + LD B,C ;a689 41 A +.la68ah: RLA ;a68a 17 . + JR C,.la685h ;a68b 38 f8 8 . + JR Z,.la694h ;a68d 28 05 ( . + INC A ;a68f 3c < + ADD A,D ;a690 82 . + JR NC,.la69bh ;a691 30 08 0 . + SUB D ;a693 92 . +.la694h: INC A ;a694 3c < + JR NZ,.la6a3h ;a695 20 0c . + LD A,#EF ;a697 3e ef > . +.la699h: RRCA ;a699 0f . + CP A ;a69a bf . +.la69bh: ADD HL,HL ;a69b 29 ) + DJNZ .la6a0h ;a69c 10 02 . . + POP HL ;a69e e1 . + LD B,C ;a69f 41 A +.la6a0h: RLA ;a6a0 17 . + JR C,.la69bh ;a6a1 38 f8 8 . +.la6a3h: EXX ;a6a3 d9 . + LD H,#FF ;a6a4 26 ff & . + JR Z,.la6aeh ;a6a6 28 06 ( . + LD H,A ;a6a8 67 g + DEC SP ;a6a9 3b ; + INC A ;a6aa 3c < + JR Z,.la6b9h ;a6ab 28 0c ( . + POP AF ;a6ad f1 . +.la6aeh: LD L,A ;a6ae 6f o + ADD HL,DE ;a6af 19 . + LDIR ;a6b0 ed b0 . . +.la6b2h: JR .loop3 ;a6b2 18 a4 . . +.la6b4h: EXX ;a6b4 d9 . + RRC D ;a6b5 cb 0a . . + JR .loop4 ;a6b7 18 a0 . . +.la6b9h: POP AF ;a6b9 f1 . + CP #E0 ;a6ba fe e0 . . + JR C,.la6aeh ;a6bc 38 f0 8 . + RLCA ;a6be 07 . + XOR C ;a6bf a9 . + INC A ;a6c0 3c < + JR Z,.la6b4h ;a6c1 28 f1 ( . + SUB #10 ;a6c3 d6 10 . . +.la6c5h: LD L,A ;a6c5 6f o + LD C,A ;a6c6 4f O + LD H,#FF ;a6c7 26 ff & . + ADD HL,DE ;a6c9 19 . + LDI ;a6ca ed a0 . . + DEC SP ;a6cc 3b ; + POP AF ;a6cd f1 . + LD (DE),A ;a6ce 12 . + INC HL ;a6cf 23 # + INC DE ;a6d0 13 . + LD A,(HL) ;a6d1 7e ~ + JR .loop2 ;a6d2 18 82 . . +.la6d4h: LD A,#80 ;a6d4 3e 80 > . +.la6d6h: ADD HL,HL ;a6d6 29 ) + DJNZ .la6dbh ;a6d7 10 02 . . + POP HL ;a6d9 e1 . + LD B,C ;a6da 41 A +.la6dbh: ADC A,A ;a6db 8f . + JR NZ,.la6f7h ;a6dc 20 19 . + JR C,.la6d6h ;a6de 38 f6 8 . + LD A,0fch ;a6e0 3e fc > . + JR .la6fah ;a6e2 18 16 . . +.la6e4h: DEC SP ;a6e4 3b ; + POP BC ;a6e5 c1 . + LD C,B ;a6e6 48 H + LD B,A ;a6e7 47 G + CCF ;a6e8 3f ? + JR .la680h ;a6e9 18 95 . . +.la6ebh: CP 00fh ;a6eb fe 0f . . + JR C,.la6e4h ;a6ed 38 f5 8 . + JR NZ,.la67fh ;a6ef 20 8e . + ADD A,0f4h ;a6f1 c6 f4 . . + LD SP,IX ;a6f3 dd f9 . . + JR .la70bh ;a6f5 18 14 . . +.la6f7h: SBC A,A ;a6f7 9f . + LD A,#EF ;a6f8 3e ef > . +.la6fah: ADD HL,HL ;a6fa 29 ) + DJNZ .la6ffh ;a6fb 10 02 . . + POP HL ;a6fd e1 . + LD B,C ;a6fe 41 A +.la6ffh: RLA ;a6ff 17 . + JR C,.la6fah ;a700 38 f8 8 . + EXX ;a702 d9 . + JR NZ,.la6c5h ;a703 20 c0 . + BIT 7,A ;a705 cb 7f . . + JR Z,.la6ebh ;a707 28 e2 ( . + SUB #EA ;a709 d6 ea . . +.la70bh: EX DE,HL ;a70b eb . +.la70ch: POP DE ;a70c d1 . + LD (HL),E ;a70d 73 s + INC HL ;a70e 23 # + LD (HL),D ;a70f 72 r + INC HL ;a710 23 # + DEC A ;a711 3d = + JR NZ,.la70ch ;a712 20 f8 . + EX DE,HL ;a714 eb . + JR NC,.la6b2h ;a715 30 9b 0 . + RET ;a717 c9 . + + + + + +sub_a718h: LD A,(laa88h) ;a718 3a 88 aa : . . + LD C,A ;a71b 4f O + LD A,(laa89h) ;a71c 3a 89 aa : . . + CP C ;a71f b9 . + RET Z ;a720 c8 . + PUSH AF ;a721 f5 . + CALL OPEN_PAK_FILE ;a722 cd 4f a9 . O . + POP AF ;a725 f1 . + OR A ;a726 b7 . + JR NZ,la784h ;a727 20 5b [ + LD HL,(la859h) ;a729 2a 59 a8 * Y . + LD A,H ;a72c 7c | + LD IXH,A ;a72d dd 67 . g + LD A,L ;a72f 7d } + LD IXL,A ;a730 dd 6f . o + LD HL,(la857h) ;a732 2a 57 a8 * W . + LD A,(PAK_FILE_FM) ;a735 3a 80 aa : . . + LD B,000h ;a738 06 00 . . + LD C,015h ;a73a 0e 15 . . + RST ToDSS ;a73c d7 . + LD B,01bh ;a73d 06 1b . . + LD C,010h ;a73f 0e 10 . . + LD HL,00328h ;a741 21 28 03 ! ( . + LD A,003h ;a744 3e 03 > . + CALL UNPACK_RESOURCE ;a746 cd 8e a9 . . . + LD B,012h ;a749 06 12 . . + LD C,009h ;a74b 0e 09 . . + LD HL,01e8fh ;a74d 21 8f 1e ! . . + LD A,001h ;a750 3e 01 > . + CALL UNPACK_RESOURCE ;a752 cd 8e a9 . . . +la755h: CALL sub_a97bh ;a755 cd 7b a9 . { . + CALL FAST_RAM_FN.ON_DI ;a758 cd 73 a2 . s . + CALL 0015ah ;a75b cd 5a 01 . Z . + CALL 00151h ;a75e cd 51 01 . Q . + CALL FAST_RAM_FN.OFF_DI ;a761 cd 7c a2 . | . + LD A,(laa88h) ;a764 3a 88 aa : . . + CP 002h ;a767 fe 02 . . + JR NZ,la77dh ;a769 20 12 . + CALL FAST_RAM_FN.ON_DI ;a76b cd 73 a2 . s . + LD A,01bh ;a76e 3e 1b > . + LD HL,00000h ;a770 21 00 00 ! . . + DI ;a773 f3 . + CALL 0014eh ;a774 cd 4e 01 . N . + CALL FAST_RAM_FN.OFF_DI ;a777 cd 7c a2 . | . + CALL sub_916dh ;a77a cd 6d 91 . m . +la77dh: LD A,(laa89h) ;a77d 3a 89 aa : . . + LD (laa88h),A ;a780 32 88 aa 2 . . + RET ;a783 c9 . + +la784h: CP 002h ;a784 fe 02 . . + JR Z,la7b6h ;a786 28 2e ( . + LD HL,(la855h) ;a788 2a 55 a8 * U . + LD A,H ;a78b 7c | + LD IXH,A ;a78c dd 67 . g + LD A,L ;a78e 7d } + LD IXL,A ;a78f dd 6f . o + LD HL,(la853h) ;a791 2a 53 a8 * S . + LD A,(PAK_FILE_FM) ;a794 3a 80 aa : . . + LD B,000h ;a797 06 00 . . + LD C,015h ;a799 0e 15 . . + RST ToDSS ;a79b d7 . + LD B,01bh ;a79c 06 1b . . + LD C,010h ;a79e 0e 10 . . + LD HL,03669h ;a7a0 21 69 36 ! i 6 + LD A,002h ;a7a3 3e 02 > . + CALL UNPACK_RESOURCE ;a7a5 cd 8e a9 . . . + LD B,012h ;a7a8 06 12 . . + LD C,009h ;a7aa 0e 09 . . + LD HL,01065h ;a7ac 21 65 10 ! e . + LD A,001h ;a7af 3e 01 > . + CALL UNPACK_RESOURCE ;a7b1 cd 8e a9 . . . + JR la755h ;a7b4 18 9f . . + +la7b6h: LD A,(laa88h) ;a7b6 3a 88 aa : . . + CP 001h ;a7b9 fe 01 . . + JR NZ,la7efh ;a7bb 20 32 2 + LD HL,(la859h) ;a7bd 2a 59 a8 * Y . + LD A,H ;a7c0 7c | + LD IXH,A ;a7c1 dd 67 . g + LD A,L ;a7c3 7d } + LD IXL,A ;a7c4 dd 6f . o + LD HL,(la857h) ;a7c6 2a 57 a8 * W . + LD A,(PAK_FILE_FM) ;a7c9 3a 80 aa : . . + LD B,000h ;a7cc 06 00 . . + LD C,015h ;a7ce 0e 15 . . + RST ToDSS ;a7d0 d7 . + LD B,01bh ;a7d1 06 1b . . + LD C,010h ;a7d3 0e 10 . . + LD HL,00328h ;a7d5 21 28 03 ! ( . + LD A,003h ;a7d8 3e 03 > . + CALL UNPACK_RESOURCE ;a7da cd 8e a9 . . . + LD B,012h ;a7dd 06 12 . . + LD C,009h ;a7df 0e 09 . . + LD HL,01e8fh ;a7e1 21 8f 1e ! . . + LD A,001h ;a7e4 3e 01 > . + CALL UNPACK_RESOURCE ;a7e6 cd 8e a9 . . . + CALL sub_a97bh ;a7e9 cd 7b a9 . { . + CALL OPEN_PAK_FILE ;a7ec cd 4f a9 . O . +la7efh: LD HL,(la85dh) ;a7ef 2a 5d a8 * ] . + LD A,H ;a7f2 7c | + LD IXH,A ;a7f3 dd 67 . g + LD A,L ;a7f5 7d } + LD IXL,A ;a7f6 dd 6f . o + LD HL,(la85bh) ;a7f8 2a 5b a8 * [ . + LD A,(PAK_FILE_FM) ;a7fb 3a 80 aa : . . + LD B,000h ;a7fe 06 00 . . + LD C,015h ;a800 0e 15 . . + RST ToDSS ;a802 d7 . + LD B,01bh ;a803 06 1b . . + LD C,00fh ;a805 0e 0f . . + LD HL,03596h ;a807 21 96 35 ! . 5 + LD A,003h ;a80a 3e 03 > . + CALL UNPACK_RESOURCE ;a80c cd 8e a9 . . . + CALL FAST_RAM_FN.ON_DI ;a80f cd 73 a2 . s . + LD A,01bh ;a812 3e 1b > . + LD HL,00000h ;a814 21 00 00 ! . . + DI ;a817 f3 . + CALL 0014eh ;a818 cd 4e 01 . N . + CALL FAST_RAM_FN.OFF_DI ;a81b cd 7c a2 . | . + CALL sub_916dh ;a81e cd 6d 91 . m . + JP la755h ;a821 c3 55 a7 . U . + +sub_a824h: LD A,0c1h ;a824 3e c1 > . + OUT (PORT_Y),A ;a826 d3 89 . . + CALL OPEN_PAK_FILE ;a828 cd 4f a9 . O . + LD HL,(la851h) ;a82b 2a 51 a8 * Q . + LD A,H ;a82e 7c | + LD IXH,A ;a82f dd 67 . g + LD A,L ;a831 7d } + LD IXL,A ;a832 dd 6f . o + LD HL,(la84fh) ;a834 2a 4f a8 * O . + LD B,000h ;a837 06 00 . . + LD C,015h ;a839 0e 15 . . + LD A,(PAK_FILE_FM) ;a83b 3a 80 aa : . . + RST ToDSS ;a83e d7 . + LD B,06eh ;a83f 06 6e . n + LD C,005h ;a841 0e 05 . . + LD HL,01be8h ;a843 21 e8 1b ! . . + LD A,003h ;a846 3e 03 > . + CALL UNPACK_RESOURCE ;a848 cd 8e a9 . . . + CALL sub_a97bh ;a84b cd 7b a9 . { . + RET ;a84e c9 . + + +la84fh: NOP ;a84f 00 . + NOP ;a850 00 . +la851h: NOP ;a851 00 . + NOP ;a852 00 . +la853h: NOP ;a853 00 . + NOP ;a854 00 . +la855h: NOP ;a855 00 . + NOP ;a856 00 . +la857h: NOP ;a857 00 . + NOP ;a858 00 . +la859h: NOP ;a859 00 . + NOP ;a85a 00 . +la85bh: NOP ;a85b 00 . + NOP ;a85c 00 . +la85dh: NOP ;a85d 00 . + NOP ;a85e 00 . +la85fh: NOP ;a85f 00 . + NOP ;a860 00 . +la861h: NOP ;a861 00 . + NOP ;a862 00 . +la863h: NOP ;a863 00 . + NOP ;a864 00 . +la865h: NOP ;a865 00 . + NOP ;a866 00 . +la867h: NOP ;a867 00 . + NOP ;a868 00 . +la869h: NOP ;a869 00 . + NOP ;a86a 00 . +la86bh: NOP ;a86b 00 . + NOP ;a86c 00 . +la86dh: NOP ;a86d 00 . + NOP ;a86e 00 . +la86fh: NOP ;a86f 00 . + NOP ;a870 00 . +la871h: NOP ;a871 00 . + NOP ;a872 00 . + RET ;a873 c9 . + +sub_a874h: LD A,(PAK_FILE_FM) ;a874 3a 80 aa : . . + LD HL,00000h ;a877 21 00 00 ! . . + LD IX,00000h ;a87a dd 21 00 00 . ! . . + LD B,001h ;a87e 06 01 . . + LD C,015h ;a880 0e 15 . . + RST ToDSS ;a882 d7 . + RET ;a883 c9 . +sub_a884h: + LD HL,FILE_HIGHSCORE_STR ;a884 21 00 a9 ! . . + LD C,011h ;a887 0e 11 . . + LD A,001h ;a889 3e 01 > . + RST ToDSS ;a88b d7 . + JP C,la8f5h ;a88c da f5 a8 . . . + LD (PAK_FILE_FM),A ;a88f 32 80 aa 2 . . + CALL CHECK_ZERO_FILE_SIZE ;a892 cd 6b aa . k . + JP Z,ERROR_EXIT ;a895 ca 85 aa . . . + LD (PAK_FILE_FM.Size_HL),HL ;a898 22 81 aa " . . + LD (PAK_FILE_FM.Size_IX),IX ;a89b dd 22 83 aa . " . . + LD BC,00015h ;a89f 01 15 00 . . . + LD H,B ;a8a2 60 ` + LD L,B ;a8a3 68 h + LD IX,00000h ;a8a4 dd 21 00 00 . ! . . + LD A,(PAK_FILE_FM) ;a8a8 3a 80 aa : . . + RST ToDSS ;a8ab d7 . + JP C,ERROR_EXIT ;a8ac da 85 aa . . . + LD A,009h ;a8af 3e 09 > . + CALL SET_PAGE_SLOT1_af ;a8b1 cd fa a1 . . . + LD A,(PAK_FILE_FM) ;a8b4 3a 80 aa : . . + LD DE,04000h ;a8b7 11 00 40 . . @ + LD HL,04000h ;a8ba 21 00 40 ! . @ + LD C,013h ;a8bd 0e 13 . . + RST ToDSS ;a8bf d7 . + JP C,ERROR_EXIT ;a8c0 da 85 aa . . . + CP 0ffh ;a8c3 fe ff . . + JP NZ,ERROR_EXIT ;a8c5 c2 85 aa . . . + LD C,012h ;a8c8 0e 12 . . + LD A,(PAK_FILE_FM) ;a8ca 3a 80 aa : . . + RST ToDSS ;a8cd d7 . + JP C,ERROR_EXIT ;a8ce da 85 aa . . . + LD A,(0be09h) ;a8d1 3a 09 be : . . + OUT (SLOT1),A ;a8d4 d3 a2 . . + LD A,(PAGES_BUFFER) ;a8d6 3a 00 be : . . + OUT (SLOT3),A ;a8d9 d3 e2 . . + LD HL,04000h ;a8db 21 00 40 ! . @ + LD DE,0c033h ;a8de 11 33 c0 . 3 . + LD C,0e6h ;a8e1 0e e6 . . + LD B,000h ;a8e3 06 00 . . +la8e5h: + LD A,(HL) ;a8e5 7e ~ + SUB 00fh ;a8e6 d6 0f . . + ADD A,L ;a8e8 85 . + SUB E ;a8e9 93 . + ADD A,C ;a8ea 81 . + LD (DE),A ;a8eb 12 . + ADD A,B ;a8ec 80 . + LD B,A ;a8ed 47 G + INC L ;a8ee 2c , + INC DE ;a8ef 13 . + DEC C ;a8f0 0d . + JR NZ,la8e5h ;a8f1 20 f2 . + CP (HL) ;a8f3 be . + RET Z ;a8f4 c8 . +la8f5h: + LD A,(PAGES_BUFFER) ;a8f5 3a 00 be : . . + OUT (SLOT3),A ;a8f8 d3 e2 . . + CALL 0c125h ;a8fa cd 25 c1 . % . + JP sub_a90dh ;a8fd c3 0d a9 . . . + +FILE_HIGHSCORE_STR: + DZ 'HiScore.dat' ;a900 +FILE_HIGHSCORE_FM: + DB 0 ;a90c 00 . + +sub_a90dh: + LD A,(0be09h) ;a90d 3a 09 be : . . + OUT (SLOT1),A ;a910 d3 a2 . . + LD A,(PAGES_BUFFER) ;a912 3a 00 be : . . + OUT (SLOT3),A ;a915 d3 e2 . . + LD HL,04000h ;a917 21 00 40 ! . @ + LD DE,0c033h ;a91a 11 33 c0 . 3 . + LD C,0e6h ;a91d 0e e6 . . + LD B,000h ;a91f 06 00 . . +la921h: + LD A,(DE) ;a921 1a . + ADD A,B ;a922 80 . + LD B,A ;a923 47 G + LD A,(DE) ;a924 1a . + ADD A,00fh ;a925 c6 0f . . + SUB L ;a927 95 . + ADD A,E ;a928 83 . + SUB C ;a929 91 . + LD (HL),A ;a92a 77 w + INC L ;a92b 2c , + INC DE ;a92c 13 . + DEC C ;a92d 0d . + JR NZ,la921h ;a92e 20 f1 . + LD (HL),B ;a930 70 p + LD HL,FILE_HIGHSCORE_STR ;a931 21 00 a9 ! . . + LD C,Dss.Create ;a934 0e 0a . . + LD A,000h ;a936 3e 00 > . + RST ToDSS ;a938 d7 . + LD (FILE_HIGHSCORE_FM),A ;a939 32 0c a9 2 . . + LD HL,04000h ;a93c 21 00 40 ! . @ + LD DE,000e7h ;a93f 11 e7 00 . . . + LD C,014h ;a942 0e 14 . . + LD A,(FILE_HIGHSCORE_FM) ;a944 3a 0c a9 : . . + RST ToDSS ;a947 d7 . + LD C,012h ;a948 0e 12 . . + LD A,(FILE_HIGHSCORE_FM) ;a94a 3a 0c a9 : . . + RST ToDSS ;a94d d7 . + RET ;a94e c9 . + +OPEN_PAK_FILE: LD C,Dss.Open ;a94f 0e 11 . . + 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 . . . + ; + 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 " . . + LD (PAK_FILE_FM.Size_IX),IX ;a966 dd 22 83 aa . " . . + ; + LD BC,Dss.Move_FP.FrStart ;a96a 01 15 00 . . . + LD H,B ;a96d 60 ` + LD L,B ;a96e 68 h + LD IX,00000h ;a96f dd 21 00 00 . ! . . + LD A,(PAK_FILE_FM) ;a973 3a 80 aa : . . + RST ToDSS ;a976 d7 . + JP C,ERROR_EXIT ;a977 da 85 aa . . . + RET ;a97a c9 . + +sub_a97bh: + LD C,012h ;a97b 0e 12 . . + LD A,(PAK_FILE_FM) ;a97d 3a 80 aa : . . + RST ToDSS ;a980 d7 . + JP C,ERROR_EXIT ;a981 da 85 aa . . . + RET ;a984 c9 . +PAK_FILE_NAME: DZ "TITD.pak" ;a985 + + + + +; загрузка и распихивание данных +; A - количество полных страниц +; HL - кол-во байтов для дозагрузки в последнюю страницу +; B - +; C - кол-во кусков (страниц) расспакованого ресурса (один HR - одна страница) +UNPACK_RESOURCE: + LD E,#4d ;a98e 1e 4d . M + OR A ;a990 b7 . + JR Z,.finalLoad ;a991 28 1f ( . +.loopLoad: PUSH AF ;a993 f5 . + PUSH DE ;a994 d5 . + PUSH BC ;a995 c5 . + PUSH HL ;a996 e5 . + LD A,E ;a997 7b { + CALL SET_PAGE_SLOT1_af ;a998 cd fa a1 . . . + LD A,(PAK_FILE_FM) ;a99b 3a 80 aa : . . + LD DE,#4000 ;a99e 11 00 40 . . @ + LD HL,#4000 ;a9a1 21 00 40 ! . @ + LD C,Dss.Read ;a9a4 0e 13 . . + RST ToDSS ;a9a6 d7 . + JP C,ERROR_EXIT ;a9a7 da 85 aa . . . + POP HL ;a9aa e1 . + POP BC ;a9ab c1 . + POP DE ;a9ac d1 . + INC E ;a9ad 1c . + POP AF ;a9ae f1 . + DEC A ;a9af 3d = + JR NZ,.loopLoad ;a9b0 20 e1 . + ; +.finalLoad: LD A,H ;a9b2 7c | + OR L ;a9b3 b5 . + JR Z,.Depack ;a9b4 28 13 ( . + PUSH BC ;a9b6 c5 . + LD A,E ;a9b7 7b { + CALL SET_PAGE_SLOT1_af ;a9b8 cd fa a1 . . . + EX DE,HL ;a9bb eb . + LD A,(PAK_FILE_FM) ;a9bc 3a 80 aa : . . + LD HL,#4000 ;a9bf 21 00 40 ! . @ + LD C,Dss.Read ;a9c2 0e 13 . . + RST ToDSS ;a9c4 d7 . + JP C,ERROR_EXIT ;a9c5 da 85 aa . . . + POP BC ;a9c8 c1 . + ; +.Depack: DI ;a9c9 f3 . + LD E,#4d ;a9ca 1e 4d . M + EXX ;a9cc d9 . + LD HL,#c000 ;a9cd 21 00 c0 ! . . + EXX ;a9d0 d9 . +.loop: LD A,E ;a9d1 7b { + CALL SET_PAGE_SLOT3_af ;a9d2 cd ec a1 . . . + LD A,9 ;a9d5 3e 09 > . + CALL SET_PAGE_SLOT1_af ;a9d7 cd fa a1 . . . + EXX ;a9da d9 . + LD DE,#4000 ;a9db 11 00 40 . . @ + LD C,(HL) ;a9de 4e N + CALL GET_NEXT_HR_HEADER_BYTE ;a9df cd 0c aa . . . + LD B,(HL) ;a9e2 46 F + CALL GET_NEXT_HR_HEADER_BYTE ;a9e3 cd 0c aa . . . +.small_loop: LD A,(HL) ;a9e6 7e ~ + LD (DE),A ;a9e7 12 . + CALL GET_NEXT_HR_HEADER_BYTE ;a9e8 cd 0c aa . . . + INC DE ;a9eb 13 . + DEC BC ;a9ec 0b . + LD A,B ;a9ed 78 x + OR C ;a9ee b1 . + JR NZ,.small_loop ;a9ef 20 f5 . + PUSH HL ;a9f1 e5 . + EXX ;a9f2 d9 . + PUSH BC ;a9f3 c5 . + PUSH DE ;a9f4 d5 . + LD A,B ;a9f5 78 x + CALL SET_PAGE_SLOT3_af ;a9f6 cd ec a1 . . . + LD HL,#4000 ;a9f9 21 00 40 ! . @ + LD DE,#c000 ;a9fc 11 00 c0 . . . + CALL DEPACKER ;a9ff cd 1b a6 . . . + POP DE ;aa02 d1 . + POP BC ;aa03 c1 . + EXX ;aa04 d9 . + POP HL ;aa05 e1 . + EXX ;aa06 d9 . + INC B ;aa07 04 . + DEC C ;aa08 0d . + JR NZ,.loop ;aa09 20 c6 . + RET ;aa0b c9 . + ; +GET_NEXT_HR_HEADER_BYTE: + INC L ;aa0c 2c , + RET NZ ;aa0d c0 . + INC H ;aa0e 24 $ + RET NZ ;aa0f c0 . + LD H,#C0 ;aa10 26 c0 & . + EXX ;aa12 d9 . + INC E ;aa13 1c . + LD A,E ;aa14 7b { + CALL SET_PAGE_SLOT3_af ;aa15 cd ec a1 . . . + EXX ;aa18 d9 . + RET ;aa19 c9 . +; ; ; + + + + + LD (laa45h+1),A ;aa1a 32 46 aa 2 F . + LD C,011h ;aa1d 0e 11 . . + LD A,001h ;aa1f 3e 01 > . + RST ToDSS ;aa21 d7 . + JP C,ERROR_EXIT ;aa22 da 85 aa . . . + LD (PAK_FILE_FM),A ;aa25 32 80 aa 2 . . + CALL CHECK_ZERO_FILE_SIZE ;aa28 cd 6b aa . k . + JP Z,ERROR_EXIT ;aa2b ca 85 aa . . . + LD (PAK_FILE_FM.Size_HL),HL ;aa2e 22 81 aa " . . + LD (PAK_FILE_FM.Size_IX),IX ;aa31 dd 22 83 aa . " . . + LD BC,00015h ;aa35 01 15 00 . . . + LD H,B ;aa38 60 ` + LD L,B ;aa39 68 h + LD IX,00000h ;aa3a dd 21 00 00 . ! . . + LD A,(PAK_FILE_FM) ;aa3e 3a 80 aa : . . + RST ToDSS ;aa41 d7 . + JP C,ERROR_EXIT ;aa42 da 85 aa . . . +laa45h: + LD A,000h ;aa45 3e 00 > . + CALL SET_PAGE_SLOT1_af ;aa47 cd fa a1 . . . + LD HL,laa45h+1 ;aa4a 21 46 aa ! F . + INC (HL) ;aa4d 34 4 + LD A,(PAK_FILE_FM) ;aa4e 3a 80 aa : . . + LD DE,04000h ;aa51 11 00 40 . . @ + LD HL,04000h ;aa54 21 00 40 ! . @ + LD C,013h ;aa57 0e 13 . . + RST ToDSS ;aa59 d7 . + JP C,ERROR_EXIT ;aa5a da 85 aa . . . + CP 0ffh ;aa5d fe ff . . + JR NZ,laa45h ;aa5f 20 e4 . + LD C,012h ;aa61 0e 12 . . + LD A,(PAK_FILE_FM) ;aa63 3a 80 aa : . . + RST ToDSS ;aa66 d7 . + JP C,ERROR_EXIT ;aa67 da 85 aa . . . + RET ;aa6a c9 . + + +CHECK_ZERO_FILE_SIZE: + LD BC,Dss.Move_FP.FrEnd ;aa6b 01 15 02 . . . + LD HL,00000h ;aa6e 21 00 00 ! . . + LD IX,00000h ;aa71 dd 21 00 00 . ! . . + RST ToDSS ;aa75 d7 . + JP C,ERROR_EXIT ;aa76 da 85 aa . . . + LD A,H ;aa79 7c | + OR L ;aa7a b5 . + OR IXH ;aa7b dd b4 . . + OR IXL ;aa7d dd b5 . . + RET ;aa7f c9 . + + +PAK_FILE_FM: DB 0 ;aa80 00 . +.Size_HL: DW 0000 ;aa81 00 . +.Size_IX: DW 0000 ;aa83 00 . + + +ERROR_EXIT: JP SetUp_RESET_EXIT ;aa85 c3 63 83 . c . +laa88h: + NOP ;aa88 00 . +laa89h: + NOP ;aa89 00 . +sub_aa8ah: + CALL OPEN_PAK_FILE ;aa8a cd 4f a9 . O . + LD HL,(la86dh) ;aa8d 2a 6d a8 * m . + LD A,H ;aa90 7c | + LD IXH,A ;aa91 dd 67 . g + LD A,L ;aa93 7d } + LD IXL,A ;aa94 dd 6f . o + LD HL,(la86bh) ;aa96 2a 6b a8 * k . + LD A,(PAK_FILE_FM) ;aa99 3a 80 aa : . . + LD B,000h ;aa9c 06 00 . . + LD C,015h ;aa9e 0e 15 . . + RST ToDSS ;aaa0 d7 . + LD B,06eh ;aaa1 06 6e . n + LD C,005h ;aaa3 0e 05 . . + LD HL,00b25h ;aaa5 21 25 0b ! % . + LD A,004h ;aaa8 3e 04 > . + JP lab13h ;aaaa c3 13 ab . . . +sub_aaadh: + CALL OPEN_PAK_FILE ;aaad cd 4f a9 . O . + LD HL,(la871h) ;aab0 2a 71 a8 * q . + LD A,H ;aab3 7c | + LD IXH,A ;aab4 dd 67 . g + LD A,L ;aab6 7d } + LD IXL,A ;aab7 dd 6f . o + LD HL,(la86fh) ;aab9 2a 6f a8 * o . + LD A,(PAK_FILE_FM) ;aabc 3a 80 aa : . . + LD B,000h ;aabf 06 00 . . + LD C,015h ;aac1 0e 15 . . + RST ToDSS ;aac3 d7 . + LD B,06eh ;aac4 06 6e . n + LD C,005h ;aac6 0e 05 . . + LD HL,005b2h ;aac8 21 b2 05 ! . . + LD A,000h ;aacb 3e 00 > . + JP lab13h ;aacd c3 13 ab . . . +sub_aad0h: + CALL OPEN_PAK_FILE ;aad0 cd 4f a9 . O . + LD HL,(la869h) ;aad3 2a 69 a8 * i . + LD A,H ;aad6 7c | + LD IXH,A ;aad7 dd 67 . g + LD A,L ;aad9 7d } + LD IXL,A ;aada dd 6f . o + LD HL,(la867h) ;aadc 2a 67 a8 * g . + LD A,(PAK_FILE_FM) ;aadf 3a 80 aa : . . + LD B,000h ;aae2 06 00 . . + LD C,015h ;aae4 0e 15 . . + RST ToDSS ;aae6 d7 . + LD B,06eh ;aae7 06 6e . n + LD C,005h ;aae9 0e 05 . . + LD HL,032e1h ;aaeb 21 e1 32 ! . 2 + LD A,003h ;aaee 3e 03 > . + JP lab13h ;aaf0 c3 13 ab . . . +sub_aaf3h: + CALL OPEN_PAK_FILE ;aaf3 cd 4f a9 . O . + LD HL,(la861h) ;aaf6 2a 61 a8 * a . + LD A,H ;aaf9 7c | + LD IXH,A ;aafa dd 67 . g + LD A,L ;aafc 7d } + LD IXL,A ;aafd dd 6f . o + LD HL,(la85fh) ;aaff 2a 5f a8 * _ . + LD A,(PAK_FILE_FM) ;ab02 3a 80 aa : . . + LD B,000h ;ab05 06 00 . . + LD C,015h ;ab07 0e 15 . . + RST ToDSS ;ab09 d7 . + LD B,06eh ;ab0a 06 6e . n + LD C,005h ;ab0c 0e 05 . . + LD HL,026d4h ;ab0e 21 d4 26 ! . & + LD A,003h ;ab11 3e 03 > . +lab13h: + CALL UNPACK_RESOURCE ;ab13 cd 8e a9 . . . + CALL sub_a97bh ;ab16 cd 7b a9 . { . + CALL FAST_RAM_FN.ON_DI ;ab19 cd 73 a2 . s . + CALL 0015ah ;ab1c cd 5a 01 . Z . + CALL 00151h ;ab1f cd 51 01 . Q . + JP FAST_RAM_FN.OFF_DI ;ab22 c3 7c a2 . | . +sub_ab25h: + CALL OPEN_PAK_FILE ;ab25 cd 4f a9 . O . + LD HL,(la865h) ;ab28 2a 65 a8 * e . + LD A,H ;ab2b 7c | + LD IXH,A ;ab2c dd 67 . g + LD A,L ;ab2e 7d } + LD IXL,A ;ab2f dd 6f . o + LD HL,(la863h) ;ab31 2a 63 a8 * c . + LD A,(PAK_FILE_FM) ;ab34 3a 80 aa : . . + LD B,000h ;ab37 06 00 . . + LD C,015h ;ab39 0e 15 . . + RST ToDSS ;ab3b d7 . + LD B,06eh ;ab3c 06 6e . n + LD C,005h ;ab3e 0e 05 . . + LD HL,01761h ;ab40 21 61 17 ! a . + LD A,003h ;ab43 3e 03 > . + CALL UNPACK_RESOURCE ;ab45 cd 8e a9 . . . + CALL sub_a97bh ;ab48 cd 7b a9 . { . + CALL FAST_RAM_FN.ON_DI ;ab4b cd 73 a2 . s . + CALL 0015ah ;ab4e cd 5a 01 . Z . + CALL 00151h ;ab51 cd 51 01 . Q . + JP FAST_RAM_FN.OFF_DI ;ab54 c3 7c a2 . | . +sub_ab57h: + OR A ;ab57 b7 . + JR Z,lab77h ;ab58 28 1d ( . +lab5ah: + PUSH AF ;ab5a f5 . + PUSH BC ;ab5b c5 . + PUSH HL ;ab5c e5 . + LD A,B ;ab5d 78 x + CALL SET_PAGE_SLOT1_af ;ab5e cd fa a1 . . . + LD A,(PAK_FILE_FM) ;ab61 3a 80 aa : . . + LD DE,04000h ;ab64 11 00 40 . . @ + LD HL,04000h ;ab67 21 00 40 ! . @ + LD C,013h ;ab6a 0e 13 . . + RST ToDSS ;ab6c d7 . + JP C,ERROR_EXIT ;ab6d da 85 aa . . . + POP HL ;ab70 e1 . + POP BC ;ab71 c1 . + INC B ;ab72 04 . + POP AF ;ab73 f1 . + DEC A ;ab74 3d = + JR NZ,lab5ah ;ab75 20 e3 . +lab77h: + LD A,H ;ab77 7c | + OR L ;ab78 b5 . + RET Z ;ab79 c8 . + LD A,B ;ab7a 78 x + CALL SET_PAGE_SLOT1_af ;ab7b cd fa a1 . . . + EX DE,HL ;ab7e eb . + LD A,(PAK_FILE_FM) ;ab7f 3a 80 aa : . . + LD HL,04000h ;ab82 21 00 40 ! . @ + LD C,013h ;ab85 0e 13 . . + RST ToDSS ;ab87 d7 . + JP C,ERROR_EXIT ;ab88 da 85 aa . . . + RET ;ab8b c9 . +sub_ab8ch: + CALL GENERATE_PALETTE ;ab8c cd 26 93 . & . + LD A,0c1h ;ab8f 3e c1 > . + OUT (PORT_Y),A ;ab91 d3 89 . . + LD B,000h ;ab93 06 00 . . + LD C,001h ;ab95 0e 01 . . + LD HL,01a8bh ;ab97 21 8b 1a ! . . + XOR A ;ab9a af . + CALL UNPACK_RESOURCE ;ab9b cd 8e a9 . . . + LD B,001h ;ab9e 06 01 . . + LD HL,01b00h ;aba0 21 00 1b ! . . + XOR A ;aba3 af . + CALL sub_ab57h ;aba4 cd 57 ab . W . + LD B,07ch ;aba7 06 7c . | + LD C,001h ;aba9 0e 01 . . + LD HL,02a67h ;abab 21 67 2a ! g * + XOR A ;abae af . + CALL sub_ab57h ;abaf cd 57 ab . W . + LD A,(0be7ch) ;abb2 3a 7c be : | . + OUT (SLOT3),A ;abb5 d3 e2 . . + CALL FAST_RAM_FN.ON_DI ;abb7 cd 73 a2 . s . + LD DE,00100h ;abba 11 00 01 . . . + LD HL,0c000h ;abbd 21 00 c0 ! . . +labc0h: + LD A,(HL) ;abc0 7e ~ + LD (DE),A ;abc1 12 . + INC HL ;abc2 23 # + INC DE ;abc3 13 . + LD A,040h ;abc4 3e 40 > @ + CP D ;abc6 ba . + JR NZ,labc0h ;abc7 20 f7 . + CALL FAST_RAM_FN.OFF_EI ;abc9 cd 77 a2 . w . + LD B,06eh ;abcc 06 6e . n + LD C,005h ;abce 0e 05 . . + LD HL,0354fh ;abd0 21 4f 35 ! O 5 + XOR A ;abd3 af . + CALL UNPACK_RESOURCE ;abd4 cd 8e a9 . . . + CALL sub_8bdbh ;abd7 cd db 8b . . . + CALL sub_8cb2h ;abda cd b2 8c . . . + LD HL,0d500h ;abdd 21 00 d5 ! . . + CALL sub_8c57h ;abe0 cd 57 8c . W . + LD B,06eh ;abe3 06 6e . n + LD C,005h ;abe5 0e 05 . . + LD HL,00f76h ;abe7 21 76 0f ! v . + LD A,001h ;abea 3e 01 > . + CALL UNPACK_RESOURCE ;abec cd 8e a9 . . . + CALL sub_8c35h ;abef cd 35 8c . 5 . + CALL sub_8bdbh ;abf2 cd db 8b . . . + CALL sub_8cb2h ;abf5 cd b2 8c . . . + LD HL,0d800h ;abf8 21 00 d8 ! . . + CALL sub_8c57h ;abfb cd 57 8c . W . + LD B,06eh ;abfe 06 6e . n + LD C,005h ;ac00 0e 05 . . + LD HL,0219fh ;ac02 21 9f 21 ! . ! + LD A,003h ;ac05 3e 03 > . + CALL UNPACK_RESOURCE ;ac07 cd 8e a9 . . . + CALL sub_8c35h ;ac0a cd 35 8c . 5 . + CALL sub_8bdbh ;ac0d cd db 8b . . . + CALL sub_8cb2h ;ac10 cd b2 8c . . . + LD HL,0cf00h ;ac13 21 00 cf ! . . + CALL sub_8c57h ;ac16 cd 57 8c . W . + LD B,006h ;ac19 06 06 . . + LD C,001h ;ac1b 0e 01 . . + LD HL,02fd7h ;ac1d 21 d7 2f ! . / + XOR A ;ac20 af . + CALL sub_ab57h ;ac21 cd 57 ab . W . + LD B,007h ;ac24 06 07 . . + LD C,001h ;ac26 0e 01 . . + LD HL,03f4eh ;ac28 21 4e 3f ! N ? + XOR A ;ac2b af . + CALL sub_ab57h ;ac2c cd 57 ab . W . + LD B,06eh ;ac2f 06 6e . n + LD C,006h ;ac31 0e 06 . . + LD HL,02243h ;ac33 21 43 22 ! C " + LD A,001h ;ac36 3e 01 > . + CALL UNPACK_RESOURCE ;ac38 cd 8e a9 . . . + LD B,074h ;ac3b 06 74 . t + LD C,006h ;ac3d 0e 06 . . + LD HL,01584h ;ac3f 21 84 15 ! . . + XOR A ;ac42 af . + CALL UNPACK_RESOURCE ;ac43 cd 8e a9 . . . + CALL FAST_RAM_FN.ON_DI ;ac46 cd 73 a2 . s . + LD HL,PAGES_BUFFER ;ac49 21 00 be ! . . + LD DE,03e00h ;ac4c 11 00 3e . . > + LD BC,00100h ;ac4f 01 00 01 . . . + LDIR ;ac52 ed b0 . . + LD IXH,0a8h ;ac54 dd 26 a8 . & . + CALL 00157h ;ac57 cd 57 01 . W . + LD IXH,0a8h ;ac5a dd 26 a8 . & . + CALL 00154h ;ac5d cd 54 01 . T . + CALL FAST_RAM_FN.OFF_DI ;ac60 cd 7c a2 . | . + LD B,00ch ;ac63 06 0c . . + LD C,001h ;ac65 0e 01 . . + LD HL,029fch ;ac67 21 fc 29 ! . ) + XOR A ;ac6a af . + CALL sub_ab57h ;ac6b cd 57 ab . W . + LD B,00dh ;ac6e 06 0d . . + LD C,001h ;ac70 0e 01 . . + LD HL,0348fh ;ac72 21 8f 34 ! . 4 + XOR A ;ac75 af . + CALL sub_ab57h ;ac76 cd 57 ab . W . + LD A,(0be0dh) ;ac79 3a 0d be : . . + OUT (SLOT3),A ;ac7c d3 e2 . . + LD IYL,01fh ;ac7e fd 2e 1f . . . + LD IX,0c000h ;ac81 dd 21 00 c0 . ! . . +lac85h: + LD A,(ix+000h) ;ac85 dd 7e 00 . ~ . + INC IX ;ac88 dd 23 . # + LD L,A ;ac8a 6f o + LD A,(ix+000h) ;ac8b dd 7e 00 . ~ . + INC IX ;ac8e dd 23 . # + LD H,A ;ac90 67 g + LD C,(HL) ;ac91 4e N + INC HL ;ac92 23 # + LD B,(HL) ;ac93 46 F + INC HL ;ac94 23 # + LD E,(HL) ;ac95 5e ^ + INC HL ;ac96 23 # + LD D,(HL) ;ac97 56 V + DEC HL ;ac98 2b + + DEC HL ;ac99 2b + + DEC HL ;ac9a 2b + +lac9bh: + LD (HL),C ;ac9b 71 q + INC HL ;ac9c 23 # + LD (HL),B ;ac9d 70 p + INC HL ;ac9e 23 # + INC BC ;ac9f 03 . + DEC DE ;aca0 1b . + LD A,D ;aca1 7a z + OR E ;aca2 b3 . + JR NZ,lac9bh ;aca3 20 f6 . + DEC IYL ;aca5 fd 2d . - + JR NZ,lac85h ;aca7 20 dc . + LD B,07bh ;aca9 06 7b . { + LD C,001h ;acab 0e 01 . . + LD HL,002b3h ;acad 21 b3 02 ! . . + XOR A ;acb0 af . + CALL UNPACK_RESOURCE ;acb1 cd 8e a9 . . . + LD B,07ch ;acb4 06 7c . | + LD C,001h ;acb6 0e 01 . . + LD HL,00762h ;acb8 21 62 07 ! b . + XOR A ;acbb af . + CALL UNPACK_RESOURCE ;acbc cd 8e a9 . . . + CALL sub_a874h ;acbf cd 74 a8 . t . + LD (la85fh),HL ;acc2 22 5f a8 " _ . + LD A,IXH ;acc5 dd 7c . | + LD H,A ;acc7 67 g + LD A,IXL ;acc8 dd 7d . } + LD L,A ;acca 6f o + LD (la861h),HL ;accb 22 61 a8 " a . + LD B,06eh ;acce 06 6e . n + LD C,005h ;acd0 0e 05 . . + LD HL,026d4h ;acd2 21 d4 26 ! . & + LD A,003h ;acd5 3e 03 > . + CALL UNPACK_RESOURCE ;acd7 cd 8e a9 . . . + CALL sub_a874h ;acda cd 74 a8 . t . + LD (la867h),HL ;acdd 22 67 a8 " g . + LD A,IXH ;ace0 dd 7c . | + LD H,A ;ace2 67 g + LD A,IXL ;ace3 dd 7d . } + LD L,A ;ace5 6f o + LD (la869h),HL ;ace6 22 69 a8 " i . + LD B,06eh ;ace9 06 6e . n + LD C,005h ;aceb 0e 05 . . + LD HL,032e1h ;aced 21 e1 32 ! . 2 + LD A,003h ;acf0 3e 03 > . + CALL UNPACK_RESOURCE ;acf2 cd 8e a9 . . . + CALL sub_a874h ;acf5 cd 74 a8 . t . + LD (la86bh),HL ;acf8 22 6b a8 " k . + LD A,IXH ;acfb dd 7c . | + LD H,A ;acfd 67 g + LD A,IXL ;acfe dd 7d . } +lad00h: + LD L,A ;ad00 6f o +lad01h: + LD (la86dh),HL ;ad01 22 6d a8 " m . + LD B,06eh ;ad04 06 6e . n + LD C,005h ;ad06 0e 05 . . + LD HL,00b25h ;ad08 21 25 0b ! % . + LD A,004h ;ad0b 3e 04 > . + CALL UNPACK_RESOURCE ;ad0d cd 8e a9 . . . + CALL sub_a874h ;ad10 cd 74 a8 . t . + LD (la86fh),HL ;ad13 22 6f a8 " o . + LD A,IXH ;ad16 dd 7c . | + LD H,A ;ad18 67 g + LD A,IXL ;ad19 dd 7d . } + LD L,A ;ad1b 6f o + LD (la871h),HL ;ad1c 22 71 a8 " q . + LD B,06eh ;ad1f 06 6e . n + LD C,005h ;ad21 0e 05 . . + LD HL,005b2h ;ad23 21 b2 05 ! . . + LD A,000h ;ad26 3e 00 > . + CALL UNPACK_RESOURCE ;ad28 cd 8e a9 . . . + CALL sub_a874h ;ad2b cd 74 a8 . t . + LD (la863h),HL ;ad2e 22 63 a8 " c . + LD A,IXH ;ad31 dd 7c . | + LD H,A ;ad33 67 g + LD A,IXL ;ad34 dd 7d . } + LD L,A ;ad36 6f o +.tst_addr+2: LD (la865h),HL ;ad37 22 65 a8 " e . +.tst_byte+1: LD B,#6E ;ad3a 06 6e . n +lad3ch: + LD C,005h ;ad3c 0e 05 . . +lad3eh: +.tst_byte_+1: LD HL,#1761 ;ad3e 21 61 17 ! a . + LD A,003h ;ad41 3e 03 > . +.tst_byte+1: CALL UNPACK_RESOURCE ;ad43 cd 8e a9 . . . + LD B,073h ;ad46 06 73 . s + LD C,005h ;ad48 0e 05 . . + LD HL,005e1h ;ad4a 21 e1 05 ! . . + LD A,004h ;ad4d 3e 04 > . + CALL UNPACK_RESOURCE ;ad4f cd 8e a9 . . . + LD B,078h ;ad52 06 78 . x + LD C,001h ;ad54 0e 01 . . + LD HL,03f9fh ;ad56 21 9f 3f ! . ? + XOR A ;ad59 af . + CALL sub_ab57h ;ad5a cd 57 ab . W . + LD B,079h ;ad5d 06 79 . y + LD C,001h ;ad5f 0e 01 . . + LD HL,03611h ;ad61 21 11 36 ! . 6 + XOR A ;ad64 af . + CALL sub_ab57h ;ad65 cd 57 ab . W . + LD B,07dh ;ad68 06 7d . } + LD C,002h ;ad6a 0e 02 . . + LD HL,01233h ;ad6c 21 33 12 ! 3 . + XOR A ;ad6f af . + CALL UNPACK_RESOURCE ;ad70 cd 8e a9 . . . + CALL sub_a874h ;ad73 cd 74 a8 . t . + LD (la85bh),HL ;ad76 22 5b a8 " [ . + LD A,IXH ;ad79 dd 7c . | + LD H,A ;ad7b 67 g + LD A,IXL ;ad7c dd 7d . } + LD L,A ;ad7e 6f o + LD (la85dh),HL ;ad7f 22 5d a8 " ] . + LD B,01bh ;ad82 06 1b . . + LD C,00fh ;ad84 0e 0f . . + LD HL,03596h ;ad86 21 96 35 ! . 5 + LD A,003h ;ad89 3e 03 > . + CALL UNPACK_RESOURCE ;ad8b cd 8e a9 . . . + CALL sub_a874h ;ad8e cd 74 a8 . t . + LD (la853h),HL ;ad91 22 53 a8 " S . + LD A,IXH ;ad94 dd 7c . | + LD H,A ;ad96 67 g + LD A,IXL ;ad97 dd 7d . } + LD L,A ;ad99 6f o + LD (la855h),HL ;ad9a 22 55 a8 " U . + LD B,01bh ;ad9d 06 1b . . + LD C,010h ;ad9f 0e 10 . . + LD HL,03669h ;ada1 21 69 36 ! i 6 + LD A,002h ;ada4 3e 02 > . + CALL UNPACK_RESOURCE ;ada6 cd 8e a9 . . . + LD B,012h ;ada9 06 12 . . + LD C,009h ;adab 0e 09 . . + LD HL,01065h ;adad 21 65 10 ! e . + LD A,001h ;adb0 3e 01 > . + CALL UNPACK_RESOURCE ;adb2 cd 8e a9 . . . + CALL sub_a874h ;adb5 cd 74 a8 . t . + LD (la857h),HL ;adb8 22 57 a8 " W . + LD A,IXH ;adbb dd 7c . | + LD H,A ;adbd 67 g + LD A,IXL ;adbe dd 7d . } + LD L,A ;adc0 6f o + LD (la859h),HL ;adc1 22 59 a8 " Y . + LD B,01bh ;adc4 06 1b . . + LD C,010h ;adc6 0e 10 . . + LD HL,00328h ;adc8 21 28 03 ! ( . + LD A,003h ;adcb 3e 03 > . + CALL UNPACK_RESOURCE ;adcd cd 8e a9 . . . + LD B,012h ;add0 06 12 . . + LD C,009h ;add2 0e 09 . . + LD HL,01e8fh ;add4 21 8f 1e ! . . + LD A,001h ;add7 3e 01 > . + CALL UNPACK_RESOURCE ;add9 cd 8e a9 . . . + LD B,07fh ;addc 06 7f . . + LD C,001h ;adde 0e 01 . . + LD HL,0317fh ;ade0 21 7f 31 ! . 1 + XOR A ;ade3 af . + CALL UNPACK_RESOURCE ;ade4 cd 8e a9 . . . + LD B,080h ;ade7 06 80 . . + LD C,001h ;ade9 0e 01 . . + LD HL,0226eh ;adeb 21 6e 22 ! n " + XOR A ;adee af . + CALL UNPACK_RESOURCE ;adef cd 8e a9 . . . + LD B,081h ;adf2 06 81 . . + LD C,001h ;adf4 0e 01 . . + LD HL,0333bh ;adf6 21 3b 33 ! ; 3 + XOR A ;adf9 af . + CALL UNPACK_RESOURCE ;adfa cd 8e a9 . . . + LD B,082h ;adfd 06 82 . . + LD C,040h ;adff 0e 40 . @ + LD HL,02e30h ;ae01 21 30 2e ! 0 . + LD A,002h ;ae04 3e 02 > . + CALL UNPACK_RESOURCE ;ae06 cd 8e a9 . . . + CALL sub_a874h ;ae09 cd 74 a8 . t . + LD (la84fh),HL ;ae0c 22 4f a8 " O . + LD A,IXH ;ae0f dd 7c . | + LD H,A ;ae11 67 g + LD A,IXL ;ae12 dd 7d . } + LD L,A ;ae14 6f o + LD (la851h),HL ;ae15 22 51 a8 " Q . + CALL sub_a97bh ;ae18 cd 7b a9 . { . + RET ;ae1b c9 . + ; + DZ 'Cash.dat' ;ae1c +; diff --git a/loader_b000_dasm.a80 b/loader_b000_dasm.a80 new file mode 100644 index 0000000..591bfa6 --- /dev/null +++ b/loader_b000_dasm.a80 @@ -0,0 +1,1724 @@ +; z80dasm 1.2.0 +; command line: z80dasm -a -l -u -t -g 0xb000 -o /Users/tolik/Documents/SP_Projects/ASM/GIT/TITD/Build/loader_b000_dasm.a80 /Users/tolik/Documents/SP_Projects/ASM/GIT/TITD/Build/bin/loader_b000.bin +GAME_PREPARE EQU #8000 + + + ORG #B000 + + LD A,(ix-003h) ;b000 dd 7e fd . ~ . + LD (TITD_FM),A ;b003 32 b6 b0 2 . . + ; serial check crack + XOR A ;b006 af . + LD HL,7 ;b007 21 07 00 ! . . + JP C,ERROR_EXIT.BIOS ;b00a da 94 b0 . . . + LD (BOARD_ID.number),HL ;b00d 22 b7 b0 " . . + LD (BOARD_ID.type),A ;b010 32 b9 b0 2 . . + ; + LD HL,SN_CHECKSUM ;b013 21 bb b0 ! . . + LD DE,4 ;b016 11 04 00 . . . + LD C,Dss.Read ;b019 0e 13 . . + LD A,(TITD_FM) ;b01b 3a b6 b0 : . . + RST ToDSS ;b01e d7 . + ; + LD HL,GAME_PREPARE ;b01f 21 00 80 ! . . + LD DE,#3000 ;b022 11 00 30 . . 0 + LD C,Dss.Read ;b025 0e 13 . . + LD A,(TITD_FM) ;b027 3a b6 b0 : . . + RST ToDSS ;b02a d7 . + JR C,ERROR_EXIT.Disk ;b02b 38 6c 8 l + + PUSH DE ;b02d d5 . + LD A,(TITD_FM) ;b02e 3a b6 b0 : . . + LD C,Dss.Close ;b031 0e 12 . . + RST ToDSS ;b033 d7 . + POP DE ;b034 d1 . + ; check serial +CHECK_SERIAL_PROC: + LD IX,BOARD_ID ;b035 dd 21 b7 b0 . ! . . + LD A,(IX) ;b039 dd 7e 00 . ~ . + XOR %0101'0101 ;b03c ee 55 . U + LD (IX),A ;b03e dd 77 00 . w . + LD A,(IX+1) ;b041 dd 7e 01 . ~ . + XOR %1010'1110 ;b044 ee ae . . + LD (IX+1),A ;b046 dd 77 01 . w . + LD A,(IX+2) ;b049 dd 7e 02 . ~ . + XOR %0100'0011 ;b04c ee 43 . C + LD (IX+2),A ;b04e dd 77 02 . w . + LD A,(IX+3) ;b051 dd 7e 03 . ~ . + XOR %0011'0010 ;b054 ee 32 . 2 + LD (IX+3),A ;b056 dd 77 03 . w . + LD HL,#8000 ;b059 21 00 80 ! . . + EXX ;b05c d9 . + SUB A ;b05d 97 . + LD L,A ;b05e 6f o + LD H,A ;b05f 67 g + LD C,A ;b060 4f O + LD B,A ;b061 47 G + LD D,A ;b062 57 W + EXX ;b063 d9 . +.loop: LD A,(HL) ;b064 7e ~ +.next_num+2: XOR (IX) ;b065 dd ae 00 . . . + XOR L ;b068 ad . + LD (HL),A ;b069 77 w + EXX ;b06a d9 . + LD E,A ;b06b 5f _ + ADD HL,DE ;b06c 19 . + JR NC,.no_inc_BC ;b06d 30 01 0 . + INC BC ;b06f 03 . +.no_inc_BC: EXX ;b070 d9 . + LD A,(.next_num) ;b071 3a 67 b0 : g . + INC A ;b074 3c < + AND 3 ;b075 e6 03 . . + LD (.next_num),A ;b077 32 67 b0 2 g . + INC HL ;b07a 23 # + DEC DE ;b07b 1b . + LD A,D ;b07c 7a z + OR E ;b07d b3 . + JR NZ,.loop ;b07e 20 e4 . + ; + EXX ;b080 d9 . + EX DE,HL ;b081 eb . + LD HL,(SN_CHECKSUM.low) ;b082 2a bb b0 * . . + OR A ;b085 b7 . + SBC HL,DE ;b086 ed 52 . R + JR NZ,ERROR_EXIT.SN ;b088 20 14 . + LD HL,(SN_CHECKSUM.high) ;b08a 2a bd b0 * . . + SBC HL,BC ;b08d ed 42 . B + JR NZ,ERROR_EXIT.SN ;b08f 20 0d . + JP GAME_PREPARE ;b091 c3 00 80 . . . + +ERROR_EXIT: +.BIOS: LD HL,STRINGS.BIOS_Error ;b094 21 f4 b0 ! . . + JR .exit ;b097 18 08 . . +.Disk LD HL,STRINGS.Disk_Error ;b099 21 0c b1 ! . . + JR .exit ;b09c 18 03 . . +.SN: LD HL,STRINGS.Invalid_SN ;b09e 21 22 b1 ! " . +.exit: PUSH HL ;b0a1 e5 . + LD HL,STRINGS.Name ;b0a2 21 bf b0 ! . . + LD C,Dss.PChars ;b0a5 0e 5c . \ + RST ToDSS ;b0a7 d7 . + POP HL ;b0a8 e1 . + LD C,Dss.PChars ;b0a9 0e 5c . \ + RST ToDSS ;b0ab d7 . + LD A,(TITD_FM) ;b0ac 3a b6 b0 : . . + LD C,Dss.Close ;b0af 0e 12 . . + RST ToDSS ;b0b1 d7 . + LD BC,256*#FF + Dss.Exit ;b0b2 01 41 ff . A . + RST ToDSS ;b0b5 d7 . + + + +TITD_FM: DB 2 ;b0b6 02 . + +BOARD_ID +.number: DW 7 ;b0b7 +.type: DB 0 ;b0b9 00 . + DB 0 ;b0ba 00 . + +SN_CHECKSUM: +.low: DW #ABB6 ;b0bb 00 . +.high: DW #0012 ;b0bd + + +STRINGS: +.Name: DZ "\r\nThunder in the Deep. Copyright (C) 2003 Deviants.\r\n" ;b0bf +.BIOS_Error: DZ "Invalid bios version!\r\n" ;b0f4 +.Disk_Error: DZ "Disk loading error.\r\n" ;b10c +.Invalid_SN: DZ "Invalid serial number! Please register!\r\n" ;b122 + + + DB #EC, #A2, #54, #EB, #B3, #E3, #7A, #31, #2E, #DC, #4F, #3D, #5B, #D7, #D4, #7F + DB #61, #0D, #A4, #82, #A1, #91, #CC, #8B, #88, #12, #FF, #B3, #DF, #0B, #F0, #2A + DB #95, #6A, #A3, #A5, #51, #A0, #7C, #1B, #0A, #D0, #FF, #31, #7D, #DC, #39, #63 + DB #14, #CF, #60, #49, #6D, #E3, #9B, #87, #46, #FA, #03, #97, #DB, #C4, #8D, #25 + DB #8E, #D0, #93, #78, #B2, #11, #F8, #9E, #5E, #A0, #BD, #BA, #EA, #A5, #F7, #37 + DB #A4, #27, #82, #CF, #13, #38, #73, #4B, #46, #C8, #0E, #28, #7A, #55, #F2, #2E + DB #15, #B4, #73, #F5, #D7, #BD, #27, #FE, #C0, #6E, #C8, #CE, #9C, #36, #F1, #FF + DB #84, #C3, #A2, #04, #57, #D3, #5F, #DD, #D6, #DE, #28, #31, #99, #2B, #A2, #E4 + DB #C4, #55, #E9, #CE, #E6, #77, #2C, #E5, #76, #F2, #50, #1D, #EF, #92, #19, #5A + DB #A4, #2A, #EC, #CA, #B6, #C3, #64, #82, #BD, #63, #E8, #5D, #0E, #31, #7D, #A4 + DB #E1, #8D, #55, #7E, #85, #6B, #AD, #D4, #CF, #4F, #D8, #05, #F1, #58, #9F, #F8 + DB #EB, #76, #0F, #D7, #62, #AC, #0A, #B2, #A8, #08, #11, #4C, #FC, #EC, #4B, #EF + DB #FF, #42, #33, #E7, #89, #82, #9A, #B3, #13, #92, #2B, #F6, #3B, #AB, #F2, #D0 + DB #86, #F4, #40, #B4, #3D, #4C, #27, #2C, #69, #16, #9F, #D9, #F4, #7F, #02, #25 + DB #5C, #22, #82, #90, #97, #A9, #1F, #93, #8C, #88, #A3, #BB, #5A, #E5, #43, #45 + DB #FA, #A0, #67, #69, #F9, #C1, #31, #76, #DD, #85, #1F, #8E, #F9, #1C, #95, #D3 + DB #F3, #EC, #50, #77, #7D, #77, #EF, #18, #2D, #ED, #06, #1F, #0E, #6B, #62, #B4 + DB #6E, #40, #38, #31, #4C, #5D, #FF, #E6, #42, #5D, #D8, #36, #81, #D8, #9C, #1D + DB #DD, #65, #FA, #64, #4B, #E4, #25, #14, #2C, #07, #76, #EF, #28, #CA, #7C, #CD + DB #F2, #D5, #11, #06, #1B, #37, #FE, #60, #C5, #9C, #EA, #DB, #B1, #32, #DE, #5F + DB #B7, #6C, #EB, #EC, #2C, #CD, #3C, #18, #18, #CE, #CB, #E2, #17, #00, #FE, #68 + DB #3F, #79, #85, #89, #4D, #0A, #76, #D6, #70, #86, #8C, #5F, #2B, #6B, #A7, #12 + DB #E2, #94, #75, #2B, #56, #1E, #61, #FC, #F6, #26, #ED, #A0, #BF, #83, #A2, #03 + DB #21, #D8, #FB, #18, #F6, #21, #57, #66, #01, #F8, #F4, #75, #C6, #27, #15, #87 + DB #40, #3B, #BE, #E1, #2E, #59, #3F, #3E, #49, #30, #DC, #6D, #A9, #D3, #4C, #0A + DB #84, #DF, #53, #07, #AC, #A6, #B1, #BF, #4E, #9F, #4E, #4F, #5A, #C4, #A5, #ED + DB #07, #3D, #F0, #41, #EF, #21, #EE, #24, #5A, #51, #42, #3C, #31, #C4, #15, #BB + DB #41, #97, #38, #C5, #94, #CA, #01, #81, #4E, #F1, #9F, #61, #5E, #0E, #2D, #CE + DB #6B, #32, #44, #75, #05, #72, #7E, #FF, #1E, #D7, #94, #3E, #BD, #47, #18, #7C + DB #E4, #10, #17, #29, #EB, #44, #85, #B4, #7C, #A7, #D6, #72, #05, #51, #C8, #49 + DB #2D, #41, #8E, #74, #8C, #F9, #FA, #B4, #24, #32, #F3, #6D, #0A, #BE, #5D, #93 + DB #F0, #FB, #F3, #B9, #8E, #E3, #FD, #2A, #CB, #4F, #D1, #77, #3D, #21, #6F, #B3 + DB #44, #D8, #E6, #01, #7F, #AE, #25, #3E, #6C, #A5, #A6, #71, #F4, #56, #00, #11 + DB #16, #8F, #A3, #02, #44, #83, #A5, #6A, #E4, #67, #53, #33, #1E, #CC, #72, #D4 + DB #93, #A5, #0B, #37, #D7, #06, #6A, #DF, #5C, #CA, #B3, #23, #57, #A8, #30, #5C + DB #E9, #B0, #D6, #D7, #3B, #BC, #A0, #11, #AF, #76, #2E, #BF, #CC, #37, #71, #01 + DB #51, #29, #A7, #11, #B0, #98, #06, #2A, #AD, #62, #3E, #D9, #E5, #71, #FA, #B8 + DB #B1, #4C, #E4, #98, #FD, #BA, #EC, #FD, #FA, #63, #4F, #EE, #6F, #FF, #63, #C4 + DB #99, #84, #77, #BF, #BF, #97, #33, #BD, #08, #DC, #EF, #C1, #2C, #38, #C9, #47 + DB #DD, #6B, #F3, #0F, #90, #9B, #DA, #06, #95, #DD, #E7, #8F, #B8, #95, #1B, #8D + DB #DA, #9C, #C2, #2E, #DE, #8A, #69, #67, #A0, #54, #25, #8A, #87, #4C, #77, #B1 + DB #DE, #F5, #E3, #9D, #BD, #5A, #54, #47, #CF, #DB, #55, #E5, #62, #A2, #6F, #D6 + DB #96, #1D, #51, #79, #84, #0B, #4D, #68, #1F, #9A, #E0, #AD, #62, #AD, #F0, #C8 + DB #7E, #D1, #56, #0D, #EB, #88, #B8, #95, #C1, #B7, #F3, #18, #07, #75, #DA, #81 + DB #E1, #DE, #5D, #E5, #81, #0B, #46, #7F, #A1, #66, #9C, #3C, #5D, #56, #59, #D9 + DB #49, #39, #9A, #2E, #60, #72, #DA, #7A, #EF, #3D, #F0, #C9, #5B, #E2, #98, #50 + DB #EA, #77, #D4, #8B, #A3, #D6, #59, #7C, #F2, #AB, #73, #4E, #88, #10, #E7, #6D + DB #93, #38, #72, #21, #84, #65, #89, #F6, #E5, #7A, #B8, #DC, #5A, #3F, #76, #70 + DB #E2, #23, #29, #DA, #FE, #2D, #8E, #D1, #57, #54, #DB, #5A, #7D, #4A, #26, #1F + DB #23, #06, #FC, #5C, #D9, #56, #36, #C8, #58, #28, #8B, #3F, #9C, #BD, #52, #72 + DB #12, #73, #F8, #7E, #0E, #A7, #F3, #73, #FF, #8B, #24, #A8, #0B, #81, #28, #98 + DB #EB, #C7, #06, #80, #CF, #A4, #FC, #17, #DF, #60, #66, #D8, #0C, #9B, #D7, #F7 + DB #A2, #0D, #DD, #17, #6D, #7F, #9E, #D9, #E1, #44, #D3, #AD, #43, #0E, #11, #89 + DB #05, #71, #DE, #DA, #50, #46, #0A, #B2, #39, #F5, #38, #07, #93, #2B, #6F, #3E + DB #49, #EE, #A4, #F7, #08, #D5, #05, #7A, #77, #4E, #17, #BA, #B8, #15, #EA, #9A + DB #6C, #C9, #21, #C6, #9A, #8E, #CB, #74, #0E, #3B, #68, #66, #D7, #2E, #1B, #B4 + DB #9E, #96, #1C, #DA, #6A, #18, #AF, #14, #97, #F6, #12, #BF, #62, #E9, #09, #1B + DB #88, #CF, #6C, #79, #5E, #4C, #99, #21, #51, #83, #25, #6A, #AA, #BE, #BC, #A0 + DB #33, #48, #BE, #8C, #1C, #E8, #4E, #3B, #79, #06, #AA, #E5, #ED, #D5, #79, #67 + DB #F4, #5E, #AC, #FC, #5A, #B0, #F1, #65, #4E, #05, #7D, #54, #5D, #51, #4E, #16 + DB #65, #E7, #A0, #95, #23, #C9, #7F, #37, #E6, #1B, #6F, #05, #D2, #7A, #C8, #74 + DB #FA, #91, #24, #99, #B8, #B7, #4F, #E4, #26, #02, #AD, #FD, #83, #3D, #A2, #3C + DB #01, #4B, #33, #7A, #FE, #40, #80, #32, #C2, #3E, #61, #7A, #04, #B2, #A6, #9C + DB #FA, #B6, #8F, #07, #97, #E3, #7C, #CA, #BE, #95, #D8, #E5, #EA, #EE, #22, #C9 + DB #C3, #1B, #DF, #97, #AE, #98, #EB, #DF, #43, #07, #B9, #B5, #0A, #B7, #82, #32 + DB #90, #EE, #1E, #D1, #F9, #21, #BA, #35, #6E, #D4, #13, #43, #ED, #74, #1A, #53 + DB #D7, #18, #1B, #8B, #8A, #AC, #B0, #22, #68, #B6, #60, #B1, #97, #2D, #1D, #85 + DB #CC, #4F, #5B, #95, #16, #93, #3A, #A8, #23, #BD, #AB, #F9, #DF, #AC, #E6, #7F + DB #B2, #34, #E0, #AB, #70, #B5, #0C, #86, #E7, #F2, #99, #E8, #B9, #01, #29, #B1 + DB #A7, #59, #B8, #D2, #D5, #EB, #D2, #B7, #DB, #EA, #59, #43, #1A, #C5, #8D, #22 + DB #F7, #57, #F6, #9B, #6D, #E6, #F2, #5E, #48, #25, #A5, #33, #CD, #C1, #C5, #B4 + DB #60, #7E, #D5, #CE, #6C, #6A, #CE, #54, #1A, #AC, #8C, #70, #87, #F9, #21, #DB + DB #31, #24, #79, #5D, #BB, #99, #8F, #A0, #4A, #E3, #37, #F3, #DD, #1B, #11, #98 + DB #78, #93, #11, #41, #16, #F3, #AF, #FD, #F7, #E8, #7E, #6F, #F0, #09, #5D, #0D + DB #E4, #22, #12, #4C, #20, #CB, #22, #16, #D9, #8C, #67, #96, #44, #7B, #D3, #CB + DB #5C, #C4, #A5, #77, #C5, #B9, #28, #25, #08, #B8, #8B, #11, #CB, #88, #40, #6F + DB #3B, #1A, #3B, #D6, #4F, #4F, #D2, #53, #60, #85, #29, #92, #3F, #9B, #97, #F2 + DB #DA, #1B, #8D, #22, #DF, #97, #C3, #1C, #BF, #C7, #76, #5A, #05, #93, #7C, #FC + DB #0D, #A7, #3A, #68, #EC, #93, #05, #14, #F7, #2A, #76, #26, #E6, #EE, #1E, #D2 + DB #A4, #3F, #34, #E2, #E0, #41, #D7, #78, #90, #3B, #6F, #67, #3C, #FE, #49, #8F + DB #D9, #12, #F5, #23, #95, #35, #82, #D8, #52, #70, #78, #2B, #46, #71, #59, #FF + DB #17, #0C, #4B, #53, #24, #DB, #77, #F9, #3F, #DC, #2F, #E5, #53, #86, #FB, #BF + DB #01, #8F, #58, #B9, #0A, #A7, #84, #04, #86, #2D, #5C, #54, #29, #AD, #F6, #AB + DB #07, #85, #E7, #83, #94, #88, #30, #D1, #B5, #3E, #E7, #55, #D7, #5D, #C5, #57 + DB #E0, #9C, #2E, #30, #8D, #B3, #6E, #71, #A5, #B5, #0D, #B3, #15, #C1, #76, #6C + DB #95, #67, #5E, #8B, #C0, #4F, #20, #13, #B2, #67, #61, #AF, #53, #30, #97, #AD + DB #B7, #F1, #B6, #EE, #F5, #B5, #8D, #8C, #7D, #D2, #EF, #C3, #A0, #58, #CF, #6E + DB #95, #9A, #F9, #39, #10, #DA, #D8, #14, #5B, #50, #21, #93, #C8, #37, #E5, #7B + DB #E5, #70, #2D, #F2, #4E, #1D, #C5, #5B, #9B, #CA, #67, #19, #D8, #41, #EA, #CE + DB #10, #A2, #F4, #C9, #FA, #07, #9F, #1E, #9B, #31, #C8, #9A, #75, #64, #47, #07 + DB #43, #7E, #3A, #64, #29, #D4, #4C, #CD, #68, #E2, #1B, #1B, #1F, #F3, #46, #B3 + DB #48, #2A, #C1, #9E, #C4, #1C, #FB, #DF, #C1, #D4, #72, #FC, #C1, #7E, #99, #E3 + DB #39, #C5, #84, #9F, #C2, #85, #D8, #2E, #A6, #EB, #0E, #E5, #E7, #B7, #CA, #8E + DB #4B, #14, #CC, #0D, #18, #D0, #69, #07, #23, #B4, #F9, #2B, #65, #BA, #00, #0F + DB #68, #66, #D1, #10, #40, #0C, #8E, #2E, #26, #89, #58, #62, #4C, #AB, #82, #09 + DB #8D, #6D, #05, #5A, #0B, #99, #01, #FF, #DF, #4E, #08, #21, #9E, #8D, #CB, #A6 + DB #A1, #A3, #F3, #6D, #E3, #E8, #80, #16, #EA, #52, #50, #76, #30, #06, #C0, #77 + DB #68, #87, #44, #46, #17, #94, #76, #32, #EA, #F5, #A1, #84, #72, #DA, #D6, #48 + DB #E1, #37, #71, #2C, #CA, #FA, #89, #53, #BB, #AC, #E0, #CD, #3B, #4D, #59, #70 + DB #C8, #C0, #E4, #9D, #D1, #0D, #43, #CE, #A2, #75, #3A, #1C, #36, #4A, #05, #23 + DB #4F, #FE, #36, #23, #DA, #0C, #AC, #6D, #01, #D6, #B5, #D8, #72, #70, #4B, #82 + DB #EF, #4F, #76, #44, #B5, #DB, #73, #58, #39, #F2, #7F, #41, #20, #BD, #34, #40 + DB #52, #B3, #DE, #1E, #06, #00, #28, #CC, #EA, #27, #EA, #EF, #CB, #62, #7C, #87 + DB #88, #31, #98, #5C, #3A, #95, #58, #5D, #3F, #B2, #AC, #9F, #7D, #A6, #FC, #D4 + DB #E2, #AA, #6F, #0D, #F1, #CF, #0D, #F5, #CB, #1D, #25, #9A, #AD, #E9, #88, #91 + DB #2C, #7F, #47, #F0, #5A, #06, #B8, #A1, #14, #4F, #77, #D8, #47, #1D, #CC, #D5 + DB #78, #3B, #03, #A4, #07, #BF, #E5, #FC, #59, #F5, #D9, #91, #1B, #F0, #12, #1E + DB #59, #A4, #01, #39, #55, #16, #A8, #91, #FA, #91, #C1, #B9, #CB, #94, #38, #64 + DB #B4, #16, #D9, #2B, #83, #0B, #01, #C4, #68, #6B, #D2, #5F, #14, #C3, #7A, #10 + DB #FF, #D3, #F8, #38, #B5, #D3, #24, #95, #00, #1C, #C8, #38, #10, #F3, #AB, #F4 + DB #9B, #50, #6B, #23, #E2, #12, #15, #1C, #9A, #6E, #22, #83, #8E, #CF, #FB, #AF + DB #35, #2A, #29, #91, #0E, #A5, #12, #02, #B5, #77, #C0, #D0, #FF, #8D, #98, #21 + DB #C7, #54, #C7, #89, #B0, #AF, #34, #78, #7E, #C3, #E6, #AA, #EA, #73, #56, #72 + DB #4C, #03, #C7, #63, #6E, #60, #4D, #B9, #2D, #DA, #C7, #F9, #1B, #CC, #81, #E7 + DB #C2, #76, #53, #B7, #89, #A7, #99, #B4, #4A, #BF, #C2, #56, #66, #87, #42, #AC + DB #EA, #0C, #7A, #7E, #6D, #23, #06, #52, #CC, #52, #7E, #AA, #12, #44, #19, #85 + DB #BB, #F5, #E8, #F4, #72, #15, #F0, #04, #6A, #FF, #B2, #DC, #8E, #4F, #5A, #F6 + DB #6A, #65, #D8, #2C, #F1, #7F, #6A, #2E, #52, #8E, #93, #8F, #ED, #8D, #78, #F4 + DB #A8, #77, #4A, #76, #92, #A4, #B9, #BD, #81, #16, #8B, #C7, #6F, #1E, #D9, #8C + DB #B2, #5F, #30, #45, #62, #84, #C9, #AD, #C3, #5C, #E3, #1F, #E7, #29, #4C, #68 + DB #0C, #C3, #3E, #B2, #06, #60, #FD, #2B, #25, #1B, #DF, #DB, #BB, #B2, #27, #41 + DB #D5, #D0, #E5, #D9, #DC, #BA, #17, #E3, #7F, #A3, #BE, #A2 + + +; lb14c: CALL PE,054a2h ;b14c ec a2 54 . . T +; EX DE,HL ;b14f eb . +; OR E ;b150 b3 . +; EX (SP),HL ;b151 e3 . +; LD A,D ;b152 7a z +; LD SP,0dc2eh ;b153 31 2e dc 1 . . +; LD C,A ;b156 4f O +; DEC A ;b157 3d = +; LD E,E ;b158 5b [ +; RST ToDSS ;b159 d7 . +; CALL NC,0617fh ;b15a d4 7f 61 . . a +; DEC C ;b15d 0d . +; AND H ;b15e a4 . +; lb15fh: +; ADD A,D ;b15f 82 . +; AND C ;b160 a1 . +; SUB C ;b161 91 . +; CALL Z,0888bh ;b162 cc 8b 88 . . . +; LD (DE),A ;b165 12 . +; RST 38h ;b166 ff . +; OR E ;b167 b3 . +; RST 18h ;b168 df . +; DEC BC ;b169 0b . +; RET P ;b16a f0 . +; LD HL,(06a95h) ;b16b 2a 95 6a * . j +; AND E ;b16e a3 . +; AND L ;b16f a5 . +; LD D,C ;b170 51 Q +; AND B ;b171 a0 . +; LD A,H ;b172 7c | +; DEC DE ;b173 1b . +; LD A,(BC) ;b174 0a . +; RET NC ;b175 d0 . +; RST 38h ;b176 ff . +; LD SP,0dc7dh ;b177 31 7d dc 1 } . +; ADD HL,SP ;b17a 39 9 +; LD H,E ;b17b 63 c +; INC D ;b17c 14 . +; RST 8 ;b17d cf . +; lb17eh: +; LD H,B ;b17e 60 ` +; lb17fh: +; LD C,C ;b17f 49 I +; LD L,L ;b180 6d m +; EX (SP),HL ;b181 e3 . +; SBC A,E ;b182 9b . +; ADD A,A ;b183 87 . +; LD B,(HL) ;b184 46 F +; JP M,09703h ;b185 fa 03 97 . . . +; IN A,(0c4h) ;b188 db c4 . . +; ADC A,L ;b18a 8d . +; DEC H ;b18b 25 % +; ADC A,(HL) ;b18c 8e . +; RET NC ;b18d d0 . +; SUB E ;b18e 93 . +; LD A,B ;b18f 78 x +; OR D ;b190 b2 . +; LD DE,09ef8h ;b191 11 f8 9e . . . +; LD E,(HL) ;b194 5e ^ +; AND B ;b195 a0 . +; CP L ;b196 bd . +; CP D ;b197 ba . +; JP PE,0f7a5h ;b198 ea a5 f7 . . . +; SCF ;b19b 37 7 +; AND H ;b19c a4 . +; DAA ;b19d 27 ' +; lb19eh: +; ADD A,D ;b19e 82 . +; RST 8 ;b19f cf . +; lb1a0h: +; INC DE ;b1a0 13 . +; JR C,lb216h ;b1a1 38 73 8 s +; LD C,E ;b1a3 4b K +; LD B,(HL) ;b1a4 46 F +; RET Z ;b1a5 c8 . +; LD C,028h ;b1a6 0e 28 . ( +; LD A,D ;b1a8 7a z +; LD D,L ;b1a9 55 U +; JP P,0152eh ;b1aa f2 2e 15 . . . +; OR H ;b1ad b4 . +; LD (HL),E ;b1ae 73 s +; PUSH AF ;b1af f5 . +; RST ToDSS ;b1b0 d7 . +; CP L ;b1b1 bd . +; DAA ;b1b2 27 ' +; lb1b3h: +; CP 0c0h ;b1b3 fe c0 . . +; LD L,(HL) ;b1b5 6e n +; RET Z ;b1b6 c8 . +; ADC A,09ch ;b1b7 ce 9c . . +; LD (HL),0f1h ;b1b9 36 f1 6 . +; RST 38h ;b1bb ff . +; ADD A,H ;b1bc 84 . +; JP 004a2h ;b1bd c3 a2 04 . . . +; LD D,A ;b1c0 57 W +; OUT (05fh),A ;b1c1 d3 5f . _ +; DEFB 0ddh,0d6h,0deh ;illegal sequence ;b1c3 dd d6 de . . . +; JR Z,lb1f9h ;b1c6 28 31 ( 1 +; SBC A,C ;b1c8 99 . +; DEC HL ;b1c9 2b + +; AND D ;b1ca a2 . +; CALL PO,055c4h ;b1cb e4 c4 55 . . U +; JP (HL) ;b1ce e9 . +; ADC A,0e6h ;b1cf ce e6 . . +; LD (HL),A ;b1d1 77 w +; INC L ;b1d2 2c , +; PUSH HL ;b1d3 e5 . +; HALT ;b1d4 76 v +; JP P,01d50h ;b1d5 f2 50 1d . P . +; RST 28h ;b1d8 ef . +; SUB D ;b1d9 92 . +; ADD HL,DE ;b1da 19 . +; lb1dbh: +; LD E,D ;b1db 5a Z +; AND H ;b1dc a4 . +; LD HL,(0caech) ;b1dd 2a ec ca * . . +; OR (HL) ;b1e0 b6 . +; JP 08264h ;b1e1 c3 64 82 . d . +; CP L ;b1e4 bd . +; LD H,E ;b1e5 63 c +; RET PE ;b1e6 e8 . +; LD E,L ;b1e7 5d ] +; LD C,031h ;b1e8 0e 31 . 1 +; LD A,L ;b1ea 7d } +; AND H ;b1eb a4 . +; POP HL ;b1ec e1 . +; ADC A,L ;b1ed 8d . +; LD D,L ;b1ee 55 U +; LD A,(HL) ;b1ef 7e ~ +; ADD A,L ;b1f0 85 . +; LD L,E ;b1f1 6b k +; XOR L ;b1f2 ad . +; CALL NC,04fcfh ;b1f3 d4 cf 4f . . O +; RET C ;b1f6 d8 . +; DEC B ;b1f7 05 . +; POP AF ;b1f8 f1 . +; lb1f9h: +; LD E,B ;b1f9 58 X +; SBC A,A ;b1fa 9f . +; RET M ;b1fb f8 . +; EX DE,HL ;b1fc eb . +; HALT ;b1fd 76 v +; RRCA ;b1fe 0f . +; RST ToDSS ;b1ff d7 . +; LD H,D ;b200 62 b +; XOR H ;b201 ac . +; LD A,(BC) ;b202 0a . +; OR D ;b203 b2 . +; XOR B ;b204 a8 . +; EX AF,AF' ;b205 08 . +; LD DE,0fc4ch ;b206 11 4c fc . L . +; CALL PE,0ef4bh ;b209 ec 4b ef . K . +; RST 38h ;b20c ff . +; LD B,D ;b20d 42 B +; INC SP ;b20e 33 3 +; RST 20h ;b20f e7 . +; ADC A,C ;b210 89 . +; ADD A,D ;b211 82 . +; SBC A,D ;b212 9a . +; OR E ;b213 b3 . +; INC DE ;b214 13 . +; SUB D ;b215 92 . +; lb216h: +; DEC HL ;b216 2b + +; OR 03bh ;b217 f6 3b . ; +; XOR E ;b219 ab . +; JP P,086d0h ;b21a f2 d0 86 . . . +; CALL P,0b440h ;b21d f4 40 b4 . @ . +; DEC A ;b220 3d = +; LD C,H ;b221 4c L +; DAA ;b222 27 ' +; INC L ;b223 2c , +; LD L,C ;b224 69 i +; LD D,09fh ;b225 16 9f . . +; EXX ;b227 d9 . +; CALL P,0027fh ;b228 f4 7f 02 . . . +; DEC H ;b22b 25 % +; LD E,H ;b22c 5c \ +; LD (09082h),HL ;b22d 22 82 90 " . . +; SUB A ;b230 97 . +; XOR C ;b231 a9 . +; RRA ;b232 1f . +; SUB E ;b233 93 . +; ADC A,H ;b234 8c . +; ADC A,B ;b235 88 . +; AND E ;b236 a3 . +; CP E ;b237 bb . +; LD E,D ;b238 5a Z +; PUSH HL ;b239 e5 . +; LD B,E ;b23a 43 C +; LD B,L ;b23b 45 E +; JP M,067a0h ;b23c fa a0 67 . . g +; LD L,C ;b23f 69 i +; LD SP,HL ;b240 f9 . +; POP BC ;b241 c1 . +; LD SP,0dd76h ;b242 31 76 dd 1 v . +; ADD A,L ;b245 85 . +; RRA ;b246 1f . +; ADC A,(HL) ;b247 8e . +; LD SP,HL ;b248 f9 . +; INC E ;b249 1c . +; SUB L ;b24a 95 . +; OUT (0f3h),A ;b24b d3 f3 . . +; CALL PE,07750h ;b24d ec 50 77 . P w +; LD A,L ;b250 7d } +; LD (HL),A ;b251 77 w +; RST 28h ;b252 ef . +; JR lb282h ;b253 18 2d . - +; DEFB 0edh ;next byte illegal after ed ;b255 ed . +; LD B,01fh ;b256 06 1f . . +; LD C,06bh ;b258 0e 6b . k +; LD H,D ;b25a 62 b +; OR H ;b25b b4 . +; LD L,(HL) ;b25c 6e n +; LD B,B ;b25d 40 @ +; JR C,$+51 ;b25e 38 31 8 1 +; LD C,H ;b260 4c L +; LD E,L ;b261 5d ] +; RST 38h ;b262 ff . +; AND 042h ;b263 e6 42 . B +; LD E,L ;b265 5d ] +; RET C ;b266 d8 . +; LD (HL),081h ;b267 36 81 6 . +; RET C ;b269 d8 . +; SBC A,H ;b26a 9c . +; DEC E ;b26b 1d . +; LD IXH,IXL ;b26c dd 65 . e +; JP M,04b64h ;b26e fa 64 4b . d K +; CALL PO,01425h ;b271 e4 25 14 . % . +; INC L ;b274 2c , +; RLCA ;b275 07 . +; HALT ;b276 76 v +; RST 28h ;b277 ef . +; JR Z,$-52 ;b278 28 ca ( . +; LD A,H ;b27a 7c | +; CALL 0d5f2h ;b27b cd f2 d5 . . . +; LD DE,01b06h ;b27e 11 06 1b . . . +; SCF ;b281 37 7 +; lb282h: +; CP 060h ;b282 fe 60 . ` +; PUSH BC ;b284 c5 . +; SBC A,H ;b285 9c . +; JP PE,lb1dbh ;b286 ea db b1 . . . +; LD (05fdeh),A ;b289 32 de 5f 2 . _ +; OR A ;b28c b7 . +; LD L,H ;b28d 6c l +; EX DE,HL ;b28e eb . +; CALL PE,0cd2ch ;b28f ec 2c cd . , . +; INC A ;b292 3c < +; JR $+26 ;b293 18 18 . . +; ADC A,0cbh ;b295 ce cb . . +; JP PO,00017h ;b297 e2 17 00 . . . +; CP 068h ;b29a fe 68 . h +; CCF ;b29c 3f ? +; LD A,C ;b29d 79 y +; ADD A,L ;b29e 85 . +; ADC A,C ;b29f 89 . +; LD C,L ;b2a0 4d M +; LD A,(BC) ;b2a1 0a . +; HALT ;b2a2 76 v +; SUB 070h ;b2a3 d6 70 . p +; ADD A,(HL) ;b2a5 86 . +; ADC A,H ;b2a6 8c . +; LD E,A ;b2a7 5f _ +; DEC HL ;b2a8 2b + +; LD L,E ;b2a9 6b k +; AND A ;b2aa a7 . +; LD (DE),A ;b2ab 12 . +; JP PO,07594h ;b2ac e2 94 75 . . u +; DEC HL ;b2af 2b + +; LD D,(HL) ;b2b0 56 V +; LD E,061h ;b2b1 1e 61 . a +; lb2b3h: +; CALL M,026f6h ;b2b3 fc f6 26 . . & +; LDI ;b2b6 ed a0 . . +; CP A ;b2b8 bf . +; ADD A,E ;b2b9 83 . +; AND D ;b2ba a2 . +; INC BC ;b2bb 03 . +; LD HL,0fbd8h ;b2bc 21 d8 fb ! . . +; JR $-8 ;b2bf 18 f6 . . +; LD HL,06657h ;b2c1 21 57 66 ! W f +; LD BC,0f4f8h ;b2c4 01 f8 f4 . . . +; LD (HL),L ;b2c7 75 u +; ADD A,027h ;b2c8 c6 27 . ' +; DEC D ;b2ca 15 . +; ADD A,A ;b2cb 87 . +; LD B,B ;b2cc 40 @ +; DEC SP ;b2cd 3b ; +; CP (HL) ;b2ce be . +; POP HL ;b2cf e1 . +; LD L,059h ;b2d0 2e 59 . Y +; CCF ;b2d2 3f ? +; LD A,049h ;b2d3 3e 49 > I +; JR NC,lb2b3h ;b2d5 30 dc 0 . +; LD L,L ;b2d7 6d m +; XOR C ;b2d8 a9 . +; OUT (04ch),A ;b2d9 d3 4c . L +; LD A,(BC) ;b2db 0a . +; ADD A,H ;b2dc 84 . +; RST 18h ;b2dd df . +; LD D,E ;b2de 53 S +; RLCA ;b2df 07 . +; XOR H ;b2e0 ac . +; AND (HL) ;b2e1 a6 . +; OR C ;b2e2 b1 . +; CP A ;b2e3 bf . +; LD C,(HL) ;b2e4 4e N +; SBC A,A ;b2e5 9f . +; LD C,(HL) ;b2e6 4e N +; LD C,A ;b2e7 4f O +; LD E,D ;b2e8 5a Z +; CALL NZ,0eda5h ;b2e9 c4 a5 ed . . . +; RLCA ;b2ec 07 . +; DEC A ;b2ed 3d = +; RET P ;b2ee f0 . +; LD B,C ;b2ef 41 A +; RST 28h ;b2f0 ef . +; LD HL,024eeh ;b2f1 21 ee 24 ! . $ +; LD E,D ;b2f4 5a Z +; LD D,C ;b2f5 51 Q +; LD B,D ;b2f6 42 B +; INC A ;b2f7 3c < +; LD SP,015c4h ;b2f8 31 c4 15 1 . . +; CP E ;b2fb bb . +; LD B,C ;b2fc 41 A +; SUB A ;b2fd 97 . +; JR C,$-57 ;b2fe 38 c5 8 . +; SUB H ;b300 94 . +; JP Z,08101h ;b301 ca 01 81 . . . +; LD C,(HL) ;b304 4e N +; POP AF ;b305 f1 . +; SBC A,A ;b306 9f . +; LD H,C ;b307 61 a +; LD E,(HL) ;b308 5e ^ +; LD C,02dh ;b309 0e 2d . - +; ADC A,06bh ;b30b ce 6b . k +; LD (07544h),A ;b30d 32 44 75 2 D u +; DEC B ;b310 05 . +; LD (HL),D ;b311 72 r +; LD A,(HL) ;b312 7e ~ +; RST 38h ;b313 ff . +; LD E,0d7h ;b314 1e d7 . . +; SUB H ;b316 94 . +; LD A,0bdh ;b317 3e bd > . +; LD B,A ;b319 47 G +; JR lb398h ;b31a 18 7c . | +; CALL PO,01710h ;b31c e4 10 17 . . . +; ADD HL,HL ;b31f 29 ) +; EX DE,HL ;b320 eb . +; LD B,H ;b321 44 D +; ADD A,L ;b322 85 . +; OR H ;b323 b4 . +; LD A,H ;b324 7c | +; AND A ;b325 a7 . +; SUB 072h ;b326 d6 72 . r +; DEC B ;b328 05 . +; LD D,C ;b329 51 Q +; RET Z ;b32a c8 . +; LD C,C ;b32b 49 I +; DEC L ;b32c 2d - +; LD B,C ;b32d 41 A +; ADC A,(HL) ;b32e 8e . +; LD (HL),H ;b32f 74 t +; ADC A,H ;b330 8c . +; LD SP,HL ;b331 f9 . +; JP M,024b4h ;b332 fa b4 24 . . $ +; LD (06df3h),A ;b335 32 f3 6d 2 . m +; LD A,(BC) ;b338 0a . +; CP (HL) ;b339 be . +; LD E,L ;b33a 5d ] +; SUB E ;b33b 93 . +; RET P ;b33c f0 . +; EI ;b33d fb . +; DI ;b33e f3 . +; CP C ;b33f b9 . +; ADC A,(HL) ;b340 8e . +; EX (SP),HL ;b341 e3 . +; LD IY,(04fcbh) ;b342 fd 2a cb 4f . * . O +; POP DE ;b346 d1 . +; LD (HL),A ;b347 77 w +; DEC A ;b348 3d = +; LD HL,lb36fh ;b349 21 6f b3 ! o . +; LD B,H ;b34c 44 D +; RET C ;b34d d8 . +; AND 001h ;b34e e6 01 . . +; LD A,A ;b350 7f . +; XOR (HL) ;b351 ae . +; DEC H ;b352 25 % +; LD A,06ch ;b353 3e 6c > l +; AND L ;b355 a5 . +; AND (HL) ;b356 a6 . +; LD (HL),C ;b357 71 q +; CALL P,00056h ;b358 f4 56 00 . V . +; LD DE,08f16h ;b35b 11 16 8f . . . +; AND E ;b35e a3 . +; LD (BC),A ;b35f 02 . +; LD B,H ;b360 44 D +; ADD A,E ;b361 83 . +; AND L ;b362 a5 . +; LD L,D ;b363 6a j +; CALL PO,05367h ;b364 e4 67 53 . g S +; INC SP ;b367 33 3 +; LD E,0cch ;b368 1e cc . . +; LD (HL),D ;b36a 72 r +; CALL NC,0a593h ;b36b d4 93 a5 . . . +; DEC BC ;b36e 0b . +; lb36fh: +; SCF ;b36f 37 7 +; RST ToDSS ;b370 d7 . +; LD B,06ah ;b371 06 6a . j +; RST 18h ;b373 df . +; LD E,H ;b374 5c \ +; JP Z,023b3h ;b375 ca b3 23 . . # +; LD D,A ;b378 57 W +; XOR B ;b379 a8 . +; JR NC,lb3d8h ;b37a 30 5c 0 \ +; JP (HL) ;b37c e9 . +; OR B ;b37d b0 . +; SUB 0d7h ;b37e d6 d7 . . +; DEC SP ;b380 3b ; +; CP H ;b381 bc . +; AND B ;b382 a0 . +; LD DE,076afh ;b383 11 af 76 . . v +; LD L,0bfh ;b386 2e bf . . +; CALL Z,07137h ;b388 cc 37 71 . 7 q +; LD BC,02951h ;b38b 01 51 29 . Q ) +; AND A ;b38e a7 . +; LD DE,098b0h ;b38f 11 b0 98 . . . +; LD B,02ah ;b392 06 2a . * +; XOR L ;b394 ad . +; LD H,D ;b395 62 b +; LD A,0d9h ;b396 3e d9 > . +; lb398h: +; PUSH HL ;b398 e5 . +; LD (HL),C ;b399 71 q +; JP M,0b1b8h ;b39a fa b8 b1 . . . +; LD C,H ;b39d 4c L +; CALL PO,0fd98h ;b39e e4 98 fd . . . +; CP D ;b3a1 ba . +; CALL PE,0fafdh ;b3a2 ec fd fa . . . +; LD H,E ;b3a5 63 c +; LD C,A ;b3a6 4f O +; XOR 06fh ;b3a7 ee 6f . o +; RST 38h ;b3a9 ff . +; LD H,E ;b3aa 63 c +; CALL NZ,08499h ;b3ab c4 99 84 . . . +; LD (HL),A ;b3ae 77 w +; CP A ;b3af bf . +; CP A ;b3b0 bf . +; SUB A ;b3b1 97 . +; INC SP ;b3b2 33 3 +; CP L ;b3b3 bd . +; EX AF,AF' ;b3b4 08 . +; CALL C,0c1efh ;b3b5 dc ef c1 . . . +; INC L ;b3b8 2c , +; JR C,$-53 ;b3b9 38 c9 8 . +; LD B,A ;b3bb 47 G +; LD IXL,E ;b3bc dd 6b . k +; DI ;b3be f3 . +; RRCA ;b3bf 0f . +; SUB B ;b3c0 90 . +; SBC A,E ;b3c1 9b . +; JP C,09506h ;b3c2 da 06 95 . . . +; DEFB 0ddh,0e7h,08fh ;illegal sequence ;b3c5 dd e7 8f . . . +; CP B ;b3c8 b8 . +; SUB L ;b3c9 95 . +; DEC DE ;b3ca 1b . +; ADC A,L ;b3cb 8d . +; JP C,0c29ch ;b3cc da 9c c2 . . . +; LD L,0deh ;b3cf 2e de . . +; ADC A,D ;b3d1 8a . +; LD L,C ;b3d2 69 i +; LD H,A ;b3d3 67 g +; AND B ;b3d4 a0 . +; LD D,H ;b3d5 54 T +; DEC H ;b3d6 25 % +; ADC A,D ;b3d7 8a . +; lb3d8h: +; ADD A,A ;b3d8 87 . +; LD C,H ;b3d9 4c L +; LD (HL),A ;b3da 77 w +; OR C ;b3db b1 . +; SBC A,0f5h ;b3dc de f5 . . +; EX (SP),HL ;b3de e3 . +; SBC A,L ;b3df 9d . +; CP L ;b3e0 bd . +; LD E,D ;b3e1 5a Z +; LD D,H ;b3e2 54 T +; LD B,A ;b3e3 47 G +; RST 8 ;b3e4 cf . +; IN A,(055h) ;b3e5 db 55 . U +; PUSH HL ;b3e7 e5 . +; LD H,D ;b3e8 62 b +; AND D ;b3e9 a2 . +; LD L,A ;b3ea 6f o +; SUB 096h ;b3eb d6 96 . . +; DEC E ;b3ed 1d . +; LD D,C ;b3ee 51 Q +; LD A,C ;b3ef 79 y +; ADD A,H ;b3f0 84 . +; DEC BC ;b3f1 0b . +; lb3f2h: +; LD C,L ;b3f2 4d M +; LD L,B ;b3f3 68 h +; RRA ;b3f4 1f . +; SBC A,D ;b3f5 9a . +; RET PO ;b3f6 e0 . +; XOR L ;b3f7 ad . +; LD H,D ;b3f8 62 b +; XOR L ;b3f9 ad . +; RET P ;b3fa f0 . +; RET Z ;b3fb c8 . +; LD A,(HL) ;b3fc 7e ~ +; POP DE ;b3fd d1 . +; LD D,(HL) ;b3fe 56 V +; DEC C ;b3ff 0d . +; EX DE,HL ;b400 eb . +; ADC A,B ;b401 88 . +; CP B ;b402 b8 . +; SUB L ;b403 95 . +; POP BC ;b404 c1 . +; OR A ;b405 b7 . +; DI ;b406 f3 . +; JR lb410h ;b407 18 07 . . +; LD (HL),L ;b409 75 u +; JP C,0e181h ;b40a da 81 e1 . . . +; SBC A,05dh ;b40d de 5d . ] +; PUSH HL ;b40f e5 . +; lb410h: +; ADD A,C ;b410 81 . +; DEC BC ;b411 0b . +; LD B,(HL) ;b412 46 F +; LD A,A ;b413 7f . +; lb414h: +; AND C ;b414 a1 . +; LD H,(HL) ;b415 66 f +; SBC A,H ;b416 9c . +; INC A ;b417 3c < +; LD E,L ;b418 5d ] +; LD D,(HL) ;b419 56 V +; LD E,C ;b41a 59 Y +; EXX ;b41b d9 . +; LD C,C ;b41c 49 I +; ADD HL,SP ;b41d 39 9 +; SBC A,D ;b41e 9a . +; LD L,060h ;b41f 2e 60 . ` +; LD (HL),D ;b421 72 r +; lb422h: +; JP C,0ef7ah ;b422 da 7a ef . z . +; DEC A ;b425 3d = +; RET P ;b426 f0 . +; RET ;b427 c9 . +; LD E,E ;b428 5b [ +; JP PO,05098h ;b429 e2 98 50 . . P +; JP PE,0d477h ;b42c ea 77 d4 . w . +; ADC A,E ;b42f 8b . +; AND E ;b430 a3 . +; SUB 059h ;b431 d6 59 . Y +; LD A,H ;b433 7c | +; JP P,073abh ;b434 f2 ab 73 . . s +; LD C,(HL) ;b437 4e N +; ADC A,B ;b438 88 . +; DJNZ lb422h ;b439 10 e7 . . +; LD L,L ;b43b 6d m +; SUB E ;b43c 93 . +; JR C,lb4b1h ;b43d 38 72 8 r +; LD HL,06584h ;b43f 21 84 65 ! . e +; ADC A,C ;b442 89 . +; OR 0e5h ;b443 f6 e5 . . +; LD A,D ;b445 7a z +; CP B ;b446 b8 . +; CALL C,03f5ah ;b447 dc 5a 3f . Z ? +; HALT ;b44a 76 v +; LD (HL),B ;b44b 70 p +; JP PO,02923h ;b44c e2 23 29 . # ) +; JP C,02dfeh ;b44f da fe 2d . . - +; ADC A,(HL) ;b452 8e . +; POP DE ;b453 d1 . +; LD D,A ;b454 57 W +; LD D,H ;b455 54 T +; IN A,(05ah) ;b456 db 5a . Z +; LD A,L ;b458 7d } +; LD C,D ;b459 4a J +; LD H,01fh ;b45a 26 1f & . +; INC HL ;b45c 23 # +; LD B,0fch ;b45d 06 fc . . +; LD E,H ;b45f 5c \ +; EXX ;b460 d9 . +; LD D,(HL) ;b461 56 V +; LD (HL),0c8h ;b462 36 c8 6 . +; LD E,B ;b464 58 X +; JR Z,lb3f2h ;b465 28 8b ( . +; CCF ;b467 3f ? +; SBC A,H ;b468 9c . +; CP L ;b469 bd . +; LD D,D ;b46a 52 R +; LD (HL),D ;b46b 72 r +; LD (DE),A ;b46c 12 . +; LD (HL),E ;b46d 73 s +; RET M ;b46e f8 . +; LD A,(HL) ;b46f 7e ~ +; LD C,0a7h ;b470 0e a7 . . +; DI ;b472 f3 . +; LD (HL),E ;b473 73 s +; RST 38h ;b474 ff . +; ADC A,E ;b475 8b . +; INC H ;b476 24 $ +; XOR B ;b477 a8 . +; DEC BC ;b478 0b . +; ADD A,C ;b479 81 . +; JR Z,lb414h ;b47a 28 98 ( . +; EX DE,HL ;b47c eb . +; RST 0 ;b47d c7 . +; LD B,080h ;b47e 06 80 . . +; RST 8 ;b480 cf . +; AND H ;b481 a4 . +; CALL M,0df17h ;b482 fc 17 df . . . +; LD H,B ;b485 60 ` +; LD H,(HL) ;b486 66 f +; RET C ;b487 d8 . +; INC C ;b488 0c . +; SBC A,E ;b489 9b . +; RST ToDSS ;b48a d7 . +; RST 30h ;b48b f7 . +; AND D ;b48c a2 . +; DEC C ;b48d 0d . +; DEFB 0ddh,017h,06dh ;illegal sequence ;b48e dd 17 6d . . m +; LD A,A ;b491 7f . +; SBC A,(HL) ;b492 9e . +; EXX ;b493 d9 . +; POP HL ;b494 e1 . +; LD B,H ;b495 44 D +; OUT (0adh),A ;b496 d3 ad . . +; LD B,E ;b498 43 C +; LD C,011h ;b499 0e 11 . . +; ADC A,C ;b49b 89 . +; DEC B ;b49c 05 . +; LD (HL),C ;b49d 71 q +; SBC A,0dah ;b49e de da . . +; LD D,B ;b4a0 50 P +; LD B,(HL) ;b4a1 46 F +; LD A,(BC) ;b4a2 0a . +; OR D ;b4a3 b2 . +; ADD HL,SP ;b4a4 39 9 +; PUSH AF ;b4a5 f5 . +; JR C,lb4afh ;b4a6 38 07 8 . +; SUB E ;b4a8 93 . +; DEC HL ;b4a9 2b + +; LD L,A ;b4aa 6f o +; LD A,049h ;b4ab 3e 49 > I +; XOR 0a4h ;b4ad ee a4 . . +; lb4afh: +; RST 30h ;b4af f7 . +; EX AF,AF' ;b4b0 08 . +; lb4b1h: +; PUSH DE ;b4b1 d5 . +; DEC B ;b4b2 05 . +; LD A,D ;b4b3 7a z +; LD (HL),A ;b4b4 77 w +; LD C,(HL) ;b4b5 4e N +; RLA ;b4b6 17 . +; CP D ;b4b7 ba . +; CP B ;b4b8 b8 . +; DEC D ;b4b9 15 . +; JP PE,06c9ah ;b4ba ea 9a 6c . . l +; RET ;b4bd c9 . +; LD HL,09ac6h ;b4be 21 c6 9a ! . . +; ADC A,(HL) ;b4c1 8e . +; BIT 6,H ;b4c2 cb 74 . t +; LD C,03bh ;b4c4 0e 3b . ; +; LD L,B ;b4c6 68 h +; LD H,(HL) ;b4c7 66 f +; RST ToDSS ;b4c8 d7 . +; LD L,01bh ;b4c9 2e 1b . . +; OR H ;b4cb b4 . +; SBC A,(HL) ;b4cc 9e . +; SUB (HL) ;b4cd 96 . +; INC E ;b4ce 1c . +; JP C,0186ah ;b4cf da 6a 18 . j . +; XOR A ;b4d2 af . +; INC D ;b4d3 14 . +; SUB A ;b4d4 97 . +; OR 012h ;b4d5 f6 12 . . +; CP A ;b4d7 bf . +; LD H,D ;b4d8 62 b +; JP (HL) ;b4d9 e9 . +; ADD HL,BC ;b4da 09 . +; DEC DE ;b4db 1b . +; ADC A,B ;b4dc 88 . +; RST 8 ;b4dd cf . +; LD L,H ;b4de 6c l +; LD A,C ;b4df 79 y +; LD E,(HL) ;b4e0 5e ^ +; LD C,H ;b4e1 4c L +; SBC A,C ;b4e2 99 . +; LD HL,08351h ;b4e3 21 51 83 ! Q . +; DEC H ;b4e6 25 % +; LD L,D ;b4e7 6a j +; XOR D ;b4e8 aa . +; CP (HL) ;b4e9 be . +; CP H ;b4ea bc . +; AND B ;b4eb a0 . +; INC SP ;b4ec 33 3 +; LD C,B ;b4ed 48 H +; CP (HL) ;b4ee be . +; ADC A,H ;b4ef 8c . +; INC E ;b4f0 1c . +; RET PE ;b4f1 e8 . +; LD C,(HL) ;b4f2 4e N +; DEC SP ;b4f3 3b ; +; LD A,C ;b4f4 79 y +; LD B,0aah ;b4f5 06 aa . . +; PUSH HL ;b4f7 e5 . +; DEFB 0edh ;next byte illegal after ed ;b4f8 ed . +; PUSH DE ;b4f9 d5 . +; LD A,C ;b4fa 79 y +; LD H,A ;b4fb 67 g +; CALL P,0ac5eh ;b4fc f4 5e ac . ^ . +; CALL M,0b05ah ;b4ff fc 5a b0 . Z . +; POP AF ;b502 f1 . +; LD H,L ;b503 65 e +; LD C,(HL) ;b504 4e N +; DEC B ;b505 05 . +; LD A,L ;b506 7d } +; LD D,H ;b507 54 T +; LD E,L ;b508 5d ] +; LD D,C ;b509 51 Q +; LD C,(HL) ;b50a 4e N +; LD D,065h ;b50b 16 65 . e +; RST 20h ;b50d e7 . +; AND B ;b50e a0 . +; SUB L ;b50f 95 . +; INC HL ;b510 23 # +; RET ;b511 c9 . +; LD A,A ;b512 7f . +; SCF ;b513 37 7 +; AND 01bh ;b514 e6 1b . . +; LD L,A ;b516 6f o +; DEC B ;b517 05 . +; JP NC,0c87ah ;b518 d2 7a c8 . z . +; LD (HL),H ;b51b 74 t +; JP M,02491h ;b51c fa 91 24 . . $ +; SBC A,C ;b51f 99 . +; CP B ;b520 b8 . +; OR A ;b521 b7 . +; LD C,A ;b522 4f O +; CALL PO,00226h ;b523 e4 26 02 . & . +; XOR L ;b526 ad . +; DEFB 0fdh,083h,03dh ;illegal sequence ;b527 fd 83 3d . . = +; AND D ;b52a a2 . +; INC A ;b52b 3c < +; LD BC,0334bh ;b52c 01 4b 33 . K 3 +; LD A,D ;b52f 7a z +; CP 040h ;b530 fe 40 . @ +; ADD A,B ;b532 80 . +; LD (03ec2h),A ;b533 32 c2 3e 2 . > +; LD H,C ;b536 61 a +; LD A,D ;b537 7a z +; INC B ;b538 04 . +; OR D ;b539 b2 . +; AND (HL) ;b53a a6 . +; SBC A,H ;b53b 9c . +; JP M,08fb6h ;b53c fa b6 8f . . . +; RLCA ;b53f 07 . +; SUB A ;b540 97 . +; EX (SP),HL ;b541 e3 . +; LD A,H ;b542 7c | +; JP Z,095beh ;b543 ca be 95 . . . +; RET C ;b546 d8 . +; PUSH HL ;b547 e5 . +; JP PE,022eeh ;b548 ea ee 22 . . " +; RET ;b54b c9 . +; JP 0df1bh ;b54c c3 1b df . . . +; SUB A ;b54f 97 . +; XOR (HL) ;b550 ae . +; SBC A,B ;b551 98 . +; EX DE,HL ;b552 eb . +; RST 18h ;b553 df . +; LD B,E ;b554 43 C +; RLCA ;b555 07 . +; CP C ;b556 b9 . +; OR L ;b557 b5 . +; LD A,(BC) ;b558 0a . +; OR A ;b559 b7 . +; ADD A,D ;b55a 82 . +; LD (0ee90h),A ;b55b 32 90 ee 2 . . +; LD E,0d1h ;b55e 1e d1 . . +; LD SP,HL ;b560 f9 . +; LD HL,035bah ;b561 21 ba 35 ! . 5 +; LD L,(HL) ;b564 6e n +; CALL NC,04313h ;b565 d4 13 43 . . C +; DEFB 0edh ;next byte illegal after ed ;b568 ed . +; LD (HL),H ;b569 74 t +; LD A,(DE) ;b56a 1a . +; LD D,E ;b56b 53 S +; RST ToDSS ;b56c d7 . +; JR lb58ah ;b56d 18 1b . . +; ADC A,E ;b56f 8b . +; ADC A,D ;b570 8a . +; XOR H ;b571 ac . +; OR B ;b572 b0 . +; LD (lb668h),HL ;b573 22 68 b6 " h . +; LD H,B ;b576 60 ` +; OR C ;b577 b1 . +; SUB A ;b578 97 . +; DEC L ;b579 2d - +; DEC E ;b57a 1d . +; ADD A,L ;b57b 85 . +; CALL Z,05b4fh ;b57c cc 4f 5b . O [ +; SUB L ;b57f 95 . +; LD D,093h ;b580 16 93 . . +; LD A,(023a8h) ;b582 3a a8 23 : . # +; CP L ;b585 bd . +; XOR E ;b586 ab . +; LD SP,HL ;b587 f9 . +; RST 18h ;b588 df . +; XOR H ;b589 ac . +; lb58ah: +; AND 07fh ;b58a e6 7f . . +; OR D ;b58c b2 . +; INC (HL) ;b58d 34 4 +; RET PO ;b58e e0 . +; XOR E ;b58f ab . +; LD (HL),B ;b590 70 p +; OR L ;b591 b5 . +; INC C ;b592 0c . +; ADD A,(HL) ;b593 86 . +; RST 20h ;b594 e7 . +; JP P,0e899h ;b595 f2 99 e8 . . . +; CP C ;b598 b9 . +; LD BC,lb129h ;b599 01 29 b1 . ) . +; AND A ;b59c a7 . +; LD E,C ;b59d 59 Y +; CP B ;b59e b8 . +; JP NC,0ebd5h ;b59f d2 d5 eb . . . +; JP NC,0dbb7h ;b5a2 d2 b7 db . . . +; JP PE,04359h ;b5a5 ea 59 43 . Y C +; LD A,(DE) ;b5a8 1a . +; PUSH BC ;b5a9 c5 . +; ADC A,L ;b5aa 8d . +; LD (057f7h),HL ;b5ab 22 f7 57 " . W +; OR 09bh ;b5ae f6 9b . . +; LD L,L ;b5b0 6d m +; AND 0f2h ;b5b1 e6 f2 . . +; LD E,(HL) ;b5b3 5e ^ +; LD C,B ;b5b4 48 H +; DEC H ;b5b5 25 % +; AND L ;b5b6 a5 . +; INC SP ;b5b7 33 3 +; CALL 0c5c1h ;b5b8 cd c1 c5 . . . +; OR H ;b5bb b4 . +; LD H,B ;b5bc 60 ` +; lb5bdh: +; LD A,(HL) ;b5bd 7e ~ +; PUSH DE ;b5be d5 . +; ADC A,06ch ;b5bf ce 6c . l +; LD L,D ;b5c1 6a j +; ADC A,054h ;b5c2 ce 54 . T +; LD A,(DE) ;b5c4 1a . +; XOR H ;b5c5 ac . +; ADC A,H ;b5c6 8c . +; LD (HL),B ;b5c7 70 p +; ADD A,A ;b5c8 87 . +; LD SP,HL ;b5c9 f9 . +; LD HL,031dbh ;b5ca 21 db 31 ! . 1 +; INC H ;b5cd 24 $ +; LD A,C ;b5ce 79 y +; LD E,L ;b5cf 5d ] +; CP E ;b5d0 bb . +; SBC A,C ;b5d1 99 . +; ADC A,A ;b5d2 8f . +; AND B ;b5d3 a0 . +; LD C,D ;b5d4 4a J +; EX (SP),HL ;b5d5 e3 . +; lb5d6h: +; SCF ;b5d6 37 7 +; DI ;b5d7 f3 . +; DEFB 0ddh,01bh,011h ;illegal sequence ;b5d8 dd 1b 11 . . . +; SBC A,B ;b5db 98 . +; LD A,B ;b5dc 78 x +; SUB E ;b5dd 93 . +; LD DE,01641h ;b5de 11 41 16 . A . +; DI ;b5e1 f3 . +; XOR A ;b5e2 af . +; DEFB 0fdh,0f7h,0e8h ;illegal sequence ;b5e3 fd f7 e8 . . . +; LD A,(HL) ;b5e6 7e ~ +; LD L,A ;b5e7 6f o +; RET P ;b5e8 f0 . +; ADD HL,BC ;b5e9 09 . +; LD E,L ;b5ea 5d ] +; DEC C ;b5eb 0d . +; CALL PO,01222h ;b5ec e4 22 12 . " . +; LD C,H ;b5ef 4c L +; JR NZ,lb5bdh ;b5f0 20 cb . +; LD (0d916h),HL ;b5f2 22 16 d9 " . . +; ADC A,H ;b5f5 8c . +; LD H,A ;b5f6 67 g +; SUB (HL) ;b5f7 96 . +; LD B,H ;b5f8 44 D +; LD A,E ;b5f9 7b { +; OUT (0cbh),A ;b5fa d3 cb . . +; LD E,H ;b5fc 5c \ +; CALL NZ,077a5h ;b5fd c4 a5 77 . . w +; PUSH BC ;b600 c5 . +; CP C ;b601 b9 . +; JR Z,lb629h ;b602 28 25 ( % +; EX AF,AF' ;b604 08 . +; CP B ;b605 b8 . +; ADC A,E ;b606 8b . +; LD DE,088cbh ;b607 11 cb 88 . . . +; LD B,B ;b60a 40 @ +; LD L,A ;b60b 6f o +; DEC SP ;b60c 3b ; +; LD A,(DE) ;b60d 1a . +; DEC SP ;b60e 3b ; +; SUB 04fh ;b60f d6 4f . O +; LD C,A ;b611 4f O +; JP NC,06053h ;b612 d2 53 60 . S ` +; ADD A,L ;b615 85 . +; ADD HL,HL ;b616 29 ) +; SUB D ;b617 92 . +; CCF ;b618 3f ? +; SBC A,E ;b619 9b . +; SUB A ;b61a 97 . +; JP P,01bdah ;b61b f2 da 1b . . . +; ADC A,L ;b61e 8d . +; LD (097dfh),HL ;b61f 22 df 97 " . . +; JP 0bf1ch ;b622 c3 1c bf . . . +; RST 0 ;b625 c7 . +; HALT ;b626 76 v +; LD E,D ;b627 5a Z +; DEC B ;b628 05 . +; lb629h: +; SUB E ;b629 93 . +; LD A,H ;b62a 7c | +; CALL M,0a70dh ;b62b fc 0d a7 . . . +; LD A,(0ec68h) ;b62e 3a 68 ec : h . +; SUB E ;b631 93 . +; DEC B ;b632 05 . +; INC D ;b633 14 . +; RST 30h ;b634 f7 . +; LD HL,(02676h) ;b635 2a 76 26 * v & +; AND 0eeh ;b638 e6 ee . . +; LD E,0d2h ;b63a 1e d2 . . +; AND H ;b63c a4 . +; CCF ;b63d 3f ? +; INC (HL) ;b63e 34 4 +; JP PO,041e0h ;b63f e2 e0 41 . . A +; lb642h: +; RST ToDSS ;b642 d7 . +; LD A,B ;b643 78 x +; SUB B ;b644 90 . +; DEC SP ;b645 3b ; +; LD L,A ;b646 6f o +; LD H,A ;b647 67 g +; INC A ;b648 3c < +; CP 049h ;b649 fe 49 . I +; ADC A,A ;b64b 8f . +; EXX ;b64c d9 . +; LD (DE),A ;b64d 12 . +; PUSH AF ;b64e f5 . +; INC HL ;b64f 23 # +; SUB L ;b650 95 . +; DEC (HL) ;b651 35 5 +; ADD A,D ;b652 82 . +; RET C ;b653 d8 . +; LD D,D ;b654 52 R +; lb655h: +; LD (HL),B ;b655 70 p +; LD A,B ;b656 78 x +; DEC HL ;b657 2b + +; LD B,(HL) ;b658 46 F +; LD (HL),C ;b659 71 q +; LD E,C ;b65a 59 Y +; RST 38h ;b65b ff . +; RLA ;b65c 17 . +; INC C ;b65d 0c . +; LD C,E ;b65e 4b K +; LD D,E ;b65f 53 S +; INC H ;b660 24 $ +; IN A,(077h) ;b661 db 77 . w +; LD SP,HL ;b663 f9 . +; CCF ;b664 3f ? +; CALL C,0e52fh ;b665 dc 2f e5 . / . +; lb668h: +; LD D,E ;b668 53 S +; ADD A,(HL) ;b669 86 . +; EI ;b66a fb . +; CP A ;b66b bf . +; LD BC,0588fh ;b66c 01 8f 58 . . X +; CP C ;b66f b9 . +; LD A,(BC) ;b670 0a . +; AND A ;b671 a7 . +; ADD A,H ;b672 84 . +; INC B ;b673 04 . +; ADD A,(HL) ;b674 86 . +; DEC L ;b675 2d - +; LD E,H ;b676 5c \ +; LD D,H ;b677 54 T +; ADD HL,HL ;b678 29 ) +; XOR L ;b679 ad . +; OR 0abh ;b67a f6 ab . . +; RLCA ;b67c 07 . +; ADD A,L ;b67d 85 . +; RST 20h ;b67e e7 . +; ADD A,E ;b67f 83 . +; SUB H ;b680 94 . +; ADC A,B ;b681 88 . +; JR NC,lb655h ;b682 30 d1 0 . +; OR L ;b684 b5 . +; LD A,0e7h ;b685 3e e7 > . +; LD D,L ;b687 55 U +; RST ToDSS ;b688 d7 . +; LD E,L ;b689 5d ] +; PUSH BC ;b68a c5 . +; LD D,A ;b68b 57 W +; RET PO ;b68c e0 . +; SBC A,H ;b68d 9c . +; LD L,030h ;b68e 2e 30 . 0 +; ADC A,L ;b690 8d . +; OR E ;b691 b3 . +; LD L,(HL) ;b692 6e n +; LD (HL),C ;b693 71 q +; AND L ;b694 a5 . +; OR L ;b695 b5 . +; DEC C ;b696 0d . +; OR E ;b697 b3 . +; DEC D ;b698 15 . +; POP BC ;b699 c1 . +; HALT ;b69a 76 v +; LD L,H ;b69b 6c l +; lb69ch: +; SUB L ;b69c 95 . +; LD H,A ;b69d 67 g +; LD E,(HL) ;b69e 5e ^ +; ADC A,E ;b69f 8b . +; RET NZ ;b6a0 c0 . +; LD C,A ;b6a1 4f O +; JR NZ,$+21 ;b6a2 20 13 . +; OR D ;b6a4 b2 . +; LD H,A ;b6a5 67 g +; LD H,C ;b6a6 61 a +; XOR A ;b6a7 af . +; LD D,E ;b6a8 53 S +; JR NC,lb642h ;b6a9 30 97 0 . +; XOR L ;b6ab ad . +; OR A ;b6ac b7 . +; POP AF ;b6ad f1 . +; OR (HL) ;b6ae b6 . +; XOR 0f5h ;b6af ee f5 . . +; OR L ;b6b1 b5 . +; ADC A,L ;b6b2 8d . +; ADC A,H ;b6b3 8c . +; LD A,L ;b6b4 7d } +; JP NC,0c3efh ;b6b5 d2 ef c3 . . . +; AND B ;b6b8 a0 . +; LD E,B ;b6b9 58 X +; RST 8 ;b6ba cf . +; LD L,(HL) ;b6bb 6e n +; SUB L ;b6bc 95 . +; SBC A,D ;b6bd 9a . +; LD SP,HL ;b6be f9 . +; ADD HL,SP ;b6bf 39 9 +; DJNZ lb69ch ;b6c0 10 da . . +; RET C ;b6c2 d8 . +; INC D ;b6c3 14 . +; LD E,E ;b6c4 5b [ +; LD D,B ;b6c5 50 P +; LD HL,0c893h ;b6c6 21 93 c8 ! . . +; SCF ;b6c9 37 7 +; PUSH HL ;b6ca e5 . +; LD A,E ;b6cb 7b { +; PUSH HL ;b6cc e5 . +; LD (HL),B ;b6cd 70 p +; DEC L ;b6ce 2d - +; JP P,01d4eh ;b6cf f2 4e 1d . N . +; PUSH BC ;b6d2 c5 . +; LD E,E ;b6d3 5b [ +; SBC A,E ;b6d4 9b . +; JP Z,01967h ;b6d5 ca 67 19 . g . +; RET C ;b6d8 d8 . +; LD B,C ;b6d9 41 A +; JP PE,010ceh ;b6da ea ce 10 . . . +; AND D ;b6dd a2 . +; CALL P,0fac9h ;b6de f4 c9 fa . . . +; RLCA ;b6e1 07 . +; SBC A,A ;b6e2 9f . +; LD E,09bh ;b6e3 1e 9b . . +; LD SP,09ac8h ;b6e5 31 c8 9a 1 . . +; LD (HL),L ;b6e8 75 u +; LD H,H ;b6e9 64 d +; LD B,A ;b6ea 47 G +; RLCA ;b6eb 07 . +; LD B,E ;b6ec 43 C +; LD A,(HL) ;b6ed 7e ~ +; LD A,(02964h) ;b6ee 3a 64 29 : d ) +; CALL NC,0cd4ch ;b6f1 d4 4c cd . L . +; LD L,B ;b6f4 68 h +; JP PO,01b1bh ;b6f5 e2 1b 1b . . . +; RRA ;b6f8 1f . +; DI ;b6f9 f3 . +; LD B,(HL) ;b6fa 46 F +; OR E ;b6fb b3 . +; LD C,B ;b6fc 48 H +; LD HL,(09ec1h) ;b6fd 2a c1 9e * . . +; CALL NZ,0fb1ch ;b700 c4 1c fb . . . +; RST 18h ;b703 df . +; POP BC ;b704 c1 . +; CALL NC,0fc72h ;b705 d4 72 fc . r . +; POP BC ;b708 c1 . +; LD A,(HL) ;b709 7e ~ +; SBC A,C ;b70a 99 . +; EX (SP),HL ;b70b e3 . +; ADD HL,SP ;b70c 39 9 +; PUSH BC ;b70d c5 . +; ADD A,H ;b70e 84 . +; SBC A,A ;b70f 9f . +; JP NZ,0d885h ;b710 c2 85 d8 . . . +; LD L,0a6h ;b713 2e a6 . . +; EX DE,HL ;b715 eb . +; LD C,0e5h ;b716 0e e5 . . +; RST 20h ;b718 e7 . +; OR A ;b719 b7 . +; JP Z,04b8eh ;b71a ca 8e 4b . . K +; INC D ;b71d 14 . +; CALL Z,0180dh ;b71e cc 0d 18 . . . +; RET NC ;b721 d0 . +; LD L,C ;b722 69 i +; RLCA ;b723 07 . +; INC HL ;b724 23 # +; OR H ;b725 b4 . +; LD SP,HL ;b726 f9 . +; DEC HL ;b727 2b + +; LD H,L ;b728 65 e +; CP D ;b729 ba . +; NOP ;b72a 00 . +; RRCA ;b72b 0f . +; LD L,B ;b72c 68 h +; LD H,(HL) ;b72d 66 f +; POP DE ;b72e d1 . +; DJNZ $+66 ;b72f 10 40 . @ +; INC C ;b731 0c . +; ADC A,(HL) ;b732 8e . +; LD L,026h ;b733 2e 26 . & +; ADC A,C ;b735 89 . +; LD E,B ;b736 58 X +; LD H,D ;b737 62 b +; LD C,H ;b738 4c L +; XOR E ;b739 ab . +; ADD A,D ;b73a 82 . +; ADD HL,BC ;b73b 09 . +; ADC A,L ;b73c 8d . +; LD L,L ;b73d 6d m +; DEC B ;b73e 05 . +; LD E,D ;b73f 5a Z +; DEC BC ;b740 0b . +; SBC A,C ;b741 99 . +; LD BC,0dfffh ;b742 01 ff df . . . +; LD C,(HL) ;b745 4e N +; EX AF,AF' ;b746 08 . +; LD HL,08d9eh ;b747 21 9e 8d ! . . +; RES 4,(HL) ;b74a cb a6 . . +; AND C ;b74c a1 . +; AND E ;b74d a3 . +; DI ;b74e f3 . +; LD L,L ;b74f 6d m +; EX (SP),HL ;b750 e3 . +; RET PE ;b751 e8 . +; ADD A,B ;b752 80 . +; LD D,0eah ;b753 16 ea . . +; LD D,D ;b755 52 R +; LD D,B ;b756 50 P +; HALT ;b757 76 v +; JR NC,lb760h ;b758 30 06 0 . +; RET NZ ;b75a c0 . +; LD (HL),A ;b75b 77 w +; LD L,B ;b75c 68 h +; ADD A,A ;b75d 87 . +; LD B,H ;b75e 44 D +; LD B,(HL) ;b75f 46 F +; lb760h: +; RLA ;b760 17 . +; SUB H ;b761 94 . +; HALT ;b762 76 v +; LD (0f5eah),A ;b763 32 ea f5 2 . . +; AND C ;b766 a1 . +; lb767h: +; ADD A,H ;b767 84 . +; LD (HL),D ;b768 72 r +; JP C,048d6h ;b769 da d6 48 . . H +; POP HL ;b76c e1 . +; SCF ;b76d 37 7 +; LD (HL),C ;b76e 71 q +; INC L ;b76f 2c , +; JP Z,089fah ;b770 ca fa 89 . . . +; LD D,E ;b773 53 S +; CP E ;b774 bb . +; XOR H ;b775 ac . +; RET PO ;b776 e0 . +; CALL 04d3bh ;b777 cd 3b 4d . ; M +; LD E,C ;b77a 59 Y +; LD (HL),B ;b77b 70 p +; RET Z ;b77c c8 . +; RET NZ ;b77d c0 . +; CALL PO,0d19dh ;b77e e4 9d d1 . . . +; DEC C ;b781 0d . +; LD B,E ;b782 43 C +; ADC A,0a2h ;b783 ce a2 . . +; LD (HL),L ;b785 75 u +; LD A,(0361ch) ;b786 3a 1c 36 : . 6 +; LD C,D ;b789 4a J +; DEC B ;b78a 05 . +; INC HL ;b78b 23 # +; LD C,A ;b78c 4f O +; CP 036h ;b78d fe 36 . 6 +; INC HL ;b78f 23 # +; JP C,0ac0ch ;b790 da 0c ac . . . +; LD L,L ;b793 6d m +; LD BC,lb5d6h ;b794 01 d6 b5 . . . +; RET C ;b797 d8 . +; LD (HL),D ;b798 72 r +; LD (HL),B ;b799 70 p +; LD C,E ;b79a 4b K +; ADD A,D ;b79b 82 . +; RST 28h ;b79c ef . +; LD C,A ;b79d 4f O +; HALT ;b79e 76 v +; LD B,H ;b79f 44 D +; OR L ;b7a0 b5 . +; IN A,(073h) ;b7a1 db 73 . s +; LD E,B ;b7a3 58 X +; ADD HL,SP ;b7a4 39 9 +; JP P,0417fh ;b7a5 f2 7f 41 . . A +; JR NZ,lb767h ;b7a8 20 bd . +; INC (HL) ;b7aa 34 4 +; LD B,B ;b7ab 40 @ +; LD D,D ;b7ac 52 R +; OR E ;b7ad b3 . +; SBC A,01eh ;b7ae de 1e . . +; LD B,000h ;b7b0 06 00 . . +; JR Z,$-50 ;b7b2 28 cc ( . +; JP PE,0ea27h ;b7b4 ea 27 ea . ' . +; RST 28h ;b7b7 ef . +; BIT 4,D ;b7b8 cb 62 . b +; LD A,H ;b7ba 7c | +; ADD A,A ;b7bb 87 . +; ADC A,B ;b7bc 88 . +; LD SP,05c98h ;b7bd 31 98 5c 1 . \ +; LD A,(05895h) ;b7c0 3a 95 58 : . X +; LD E,L ;b7c3 5d ] +; CCF ;b7c4 3f ? +; OR D ;b7c5 b2 . +; XOR H ;b7c6 ac . +; SBC A,A ;b7c7 9f . +; LD A,L ;b7c8 7d } +; AND (HL) ;b7c9 a6 . +; CALL M,0e2d4h ;b7ca fc d4 e2 . . . +; XOR D ;b7cd aa . +; LD L,A ;b7ce 6f o +; DEC C ;b7cf 0d . +; POP AF ;b7d0 f1 . +; RST 8 ;b7d1 cf . +; DEC C ;b7d2 0d . +; PUSH AF ;b7d3 f5 . +; RR L ;b7d4 cb 1d . . +; lb7d6h: +; DEC H ;b7d6 25 % +; SBC A,D ;b7d7 9a . +; XOR L ;b7d8 ad . +; JP (HL) ;b7d9 e9 . +; ADC A,B ;b7da 88 . +; SUB C ;b7db 91 . +; INC L ;b7dc 2c , +; LD A,A ;b7dd 7f . +; LD B,A ;b7de 47 G +; RET P ;b7df f0 . +; LD E,D ;b7e0 5a Z +; LD B,0b8h ;b7e1 06 b8 . . +; AND C ;b7e3 a1 . +; INC D ;b7e4 14 . +; LD C,A ;b7e5 4f O +; LD (HL),A ;b7e6 77 w +; RET C ;b7e7 d8 . +; LD B,A ;b7e8 47 G +; DEC E ;b7e9 1d . +; CALL Z,078d5h ;b7ea cc d5 78 . . x +; DEC SP ;b7ed 3b ; +; INC BC ;b7ee 03 . +; AND H ;b7ef a4 . +; RLCA ;b7f0 07 . +; CP A ;b7f1 bf . +; PUSH HL ;b7f2 e5 . +; CALL M,0f559h ;b7f3 fc 59 f5 . Y . +; EXX ;b7f6 d9 . +; SUB C ;b7f7 91 . +; DEC DE ;b7f8 1b . +; RET P ;b7f9 f0 . +; LD (DE),A ;b7fa 12 . +; LD E,059h ;b7fb 1e 59 . Y +; AND H ;b7fd a4 . +; LD BC,05539h ;b7fe 01 39 55 . 9 U +; LD D,0a8h ;b801 16 a8 . . +; SUB C ;b803 91 . +; JP M,0c191h ;b804 fa 91 c1 . . . +; CP C ;b807 b9 . +; RES 2,H ;b808 cb 94 . . +; JR C,lb870h ;b80a 38 64 8 d +; OR H ;b80c b4 . +; LD D,0d9h ;b80d 16 d9 . . +; DEC HL ;b80f 2b + +; ADD A,E ;b810 83 . +; DEC BC ;b811 0b . +; LD BC,068c4h ;b812 01 c4 68 . . h +; LD L,E ;b815 6b k +; JP NC,0145fh ;b816 d2 5f 14 . _ . +; JP 0107ah ;b819 c3 7a 10 . z . +; RST 38h ;b81c ff . +; OUT (0f8h),A ;b81d d3 f8 . . +; JR C,lb7d6h ;b81f 38 b5 8 . +; OUT (024h),A ;b821 d3 24 . $ +; SUB L ;b823 95 . +; NOP ;b824 00 . +; INC E ;b825 1c . +; RET Z ;b826 c8 . +; JR C,lb839h ;b827 38 10 8 . +; DI ;b829 f3 . +; XOR E ;b82a ab . +; CALL P,0509bh ;b82b f4 9b 50 . . P +; LD L,E ;b82e 6b k +; INC HL ;b82f 23 # +; JP PO,01512h ;b830 e2 12 15 . . . +; INC E ;b833 1c . +; SBC A,D ;b834 9a . +; LD L,(HL) ;b835 6e n +; LD (08e83h),HL ;b836 22 83 8e " . . +; lb839h: +; RST 8 ;b839 cf . +; EI ;b83a fb . +; XOR A ;b83b af . +; DEC (HL) ;b83c 35 5 +; LD HL,(09129h) ;b83d 2a 29 91 * ) . +; LD C,0a5h ;b840 0e a5 . . +; LD (DE),A ;b842 12 . +; LD (BC),A ;b843 02 . +; OR L ;b844 b5 . +; LD (HL),A ;b845 77 w +; RET NZ ;b846 c0 . +; RET NC ;b847 d0 . +; RST 38h ;b848 ff . +; ADC A,L ;b849 8d . +; SBC A,B ;b84a 98 . +; LD HL,054c7h ;b84b 21 c7 54 ! . T +; RST 0 ;b84e c7 . +; ADC A,C ;b84f 89 . +; OR B ;b850 b0 . +; XOR A ;b851 af . +; INC (HL) ;b852 34 4 +; LD A,B ;b853 78 x +; LD A,(HL) ;b854 7e ~ +; JP 0aae6h ;b855 c3 e6 aa . . . +; JP PE,05673h ;b858 ea 73 56 . s V +; LD (HL),D ;b85b 72 r +; LD C,H ;b85c 4c L +; INC BC ;b85d 03 . +; RST 0 ;b85e c7 . +; LD H,E ;b85f 63 c +; LD L,(HL) ;b860 6e n +; LD H,B ;b861 60 ` +; LD C,L ;b862 4d M +; CP C ;b863 b9 . +; DEC L ;b864 2d - +; JP C,0f9c7h ;b865 da c7 f9 . . . +; DEC DE ;b868 1b . +; CALL Z,0e781h ;b869 cc 81 e7 . . . +; JP NZ,05376h ;b86c c2 76 53 . v S +; OR A ;b86f b7 . +; lb870h: +; ADC A,C ;b870 89 . +; AND A ;b871 a7 . +; SBC A,C ;b872 99 . +; OR H ;b873 b4 . +; LD C,D ;b874 4a J +; CP A ;b875 bf . +; JP NZ,06656h ;b876 c2 56 66 . V f +; ADD A,A ;b879 87 . +; LD B,D ;b87a 42 B +; XOR H ;b87b ac . +; JP PE,07a0ch ;b87c ea 0c 7a . . z +; LD A,(HL) ;b87f 7e ~ +; LD L,L ;b880 6d m +; INC HL ;b881 23 # +; LD B,052h ;b882 06 52 . R +; CALL Z,07e52h ;b884 cc 52 7e . R ~ +; XOR D ;b887 aa . +; LD (DE),A ;b888 12 . +; LD B,H ;b889 44 D +; ADD HL,DE ;b88a 19 . +; ADD A,L ;b88b 85 . +; CP E ;b88c bb . +; PUSH AF ;b88d f5 . +; RET PE ;b88e e8 . +; CALL P,01572h ;b88f f4 72 15 . r . +; RET P ;b892 f0 . +; INC B ;b893 04 . +; LD L,D ;b894 6a j +; RST 38h ;b895 ff . +; OR D ;b896 b2 . +; CALL C,04f8eh ;b897 dc 8e 4f . . O +; LD E,D ;b89a 5a Z +; OR 06ah ;b89b f6 6a . j +; LD H,L ;b89d 65 e +; RET C ;b89e d8 . +; INC L ;b89f 2c , +; POP AF ;b8a0 f1 . +; LD A,A ;b8a1 7f . +; LD L,D ;b8a2 6a j +; LD L,052h ;b8a3 2e 52 . R +; ADC A,(HL) ;b8a5 8e . +; SUB E ;b8a6 93 . +; ADC A,A ;b8a7 8f . +; DEFB 0edh ;next byte illegal after ed ;b8a8 ed . +; ADC A,L ;b8a9 8d . +; LD A,B ;b8aa 78 x +; CALL P,077a8h ;b8ab f4 a8 77 . . w +; LD C,D ;b8ae 4a J +; HALT ;b8af 76 v +; SUB D ;b8b0 92 . +; AND H ;b8b1 a4 . +; CP C ;b8b2 b9 . +; CP L ;b8b3 bd . +; ADD A,C ;b8b4 81 . +; LD D,08bh ;b8b5 16 8b . . +; RST 0 ;b8b7 c7 . +; LD L,A ;b8b8 6f o +; LD E,0d9h ;b8b9 1e d9 . . +; ADC A,H ;b8bb 8c . +; OR D ;b8bc b2 . +; LD E,A ;b8bd 5f _ +; JR NC,$+71 ;b8be 30 45 0 E +; LD H,D ;b8c0 62 b +; ADD A,H ;b8c1 84 . +; RET ;b8c2 c9 . +; XOR L ;b8c3 ad . +; JP 0e35ch ;b8c4 c3 5c e3 . \ . +; RRA ;b8c7 1f . +; RST 20h ;b8c8 e7 . +; ADD HL,HL ;b8c9 29 ) +; LD C,H ;b8ca 4c L +; LD L,B ;b8cb 68 h +; INC C ;b8cc 0c . +; JP 0b23eh ;b8cd c3 3e b2 . > . +; LD B,060h ;b8d0 06 60 . ` +; DEC IY ;b8d2 fd 2b . + +; DEC H ;b8d4 25 % +; DEC DE ;b8d5 1b . +; RST 18h ;b8d6 df . +; IN A,(0bbh) ;b8d7 db bb . . +; OR D ;b8d9 b2 . +; DAA ;b8da 27 ' +; LD B,C ;b8db 41 A +; PUSH DE ;b8dc d5 . +; RET NC ;b8dd d0 . +; PUSH HL ;b8de e5 . +; EXX ;b8df d9 . +; CALL C,017bah ;b8e0 dc ba 17 . . . +; EX (SP),HL ;b8e3 e3 . +; LD A,A ;b8e4 7f . +; AND E ;b8e5 a3 . +; CP (HL) ;b8e6 be . +; AND D ;b8e7 a2 . diff --git a/reversing/GAME_00.ACX b/reversing/GAME_00.ACX new file mode 100644 index 0000000..2e70bb6 Binary files /dev/null and b/reversing/GAME_00.ACX differ diff --git a/reversing/TITD_PAK.TXT b/reversing/TITD_PAK.TXT new file mode 100644 index 0000000..1ae979f --- /dev/null +++ b/reversing/TITD_PAK.TXT @@ -0,0 +1,11 @@ +| -------- | ------ | --------- | ------------- | --------- | +| NAME | Part № | Part Size | OFFSET IN PAK | FULL SIZE | +| -------- | ------ | --------- | ------------- | --------- | +| TITD.ACX | | | 0 | #6569 | +| | 1 | #1BB8 | #0002 | | +| | 2 | #1DAB | #1BBC | | +| | 3 | #1A9F | #3969 | | +| | 4 | #115F | #54AB | | +| -------- | ------ | --------- | ------------- | --------- | +| | | | | | +| | | | | | \ No newline at end of file