Prev: 63489 Up: Map Next: 64579
63581: Routine at F85D
Used by the routine at AliasInterruptRedirect.
63581 DI Disable interrupts.
63582 PUSH AF Stash AF, BC, DE, HL and IX on the stack.
63583 PUSH BC
63584 PUSH DE
63585 PUSH HL
63586 PUSH IX
63588 LD HL,55353 Jump to 63905 if bit 7 of *55353 is set.
63591 BIT 7,(HL)
63593 JP NZ,63905
63596 LD A,(55349) Jump to 63613 if *PlayerCursor_Flag is OFF (0).
63599 CP 0
63601 JP Z,63613
The players cursor is showing, so update the attribute cycling animation.
63604 CALL Remove_PlayerCursorAttributes Call Remove_PlayerCursorAttributes.
63607 CALL PlayerCursor_AttributesRotator Call PlayerCursor_AttributesRotator.
63610 CALL Draw_Cursor Call Draw_Cursor.
63613 LD A,(55355) Jump to 63686 if *55355 is equal to 0.
63616 CP 0
63618 JP Z,63686
63621 LD HL,55362 HL=55362.
63624 DEC (HL) Decrease *HL by one.
63625 JP NZ,63686 Jump to 63686 if *HL is not zero.
63628 LD (HL),3 Write 3 to *HL.
63630 LD HL,(55379) HL=*55379.
63633 LD C,(HL) C=*HL.
63634 INC HL Increment HL by one.
63635 LD B,(HL) B=*HL.
63636 LD A,(55829) A=*55829.
63639 CALL 55941 Call 55941.
63642 LD A,(55830) A=*55830.
63645 CALL 55951 Call 55951.
63648 LD HL,55366 HL=55366.
63651 DEC (HL) Decrease *HL by one.
63652 JP NZ,63686 Jump to 63686 if *HL is not zero.
63655 LD (HL),6 Write 6 to *HL.
63657 LD HL,(55379) HL=*55379.
63660 INC HL Increment HL by two.
63661 INC HL
63662 LD A,(HL) Jump to 63683 if *HL is not equal to 255.
63663 CP 255
63665 JP NZ,63683
63668 LD HL,55352 HL=Bomb.
63671 SET 1,(HL) Set bit 1 of *HL.
63673 XOR A Write 0 to *55355.
63674 LD (55355),A
63677 CALL 55985 Call 55985.
63680 LD HL,55839 Write 55839 to *55379.
63683 LD (55379),HL
63686 LD A,(55356) Jump to 63759 if *55356 is equal to 0.
63689 CP 0
63691 JP Z,63759
63694 LD HL,55363 HL=55363.
63697 DEC (HL) Decrease *HL by one.
63698 JP NZ,63759 Jump to 63759 if *HL is not zero.
63701 LD (HL),3 Write 3 to *HL.
63703 LD HL,(55381) HL=*55381.
63706 LD C,(HL) C=*HL.
63707 INC HL Increment HL by one.
63708 LD B,(HL) B=*HL.
63709 LD A,(55831) A=*55831.
63712 CALL 55941 Call 55941.
63715 LD A,(55832) A=*55832.
63718 CALL 55951 Call 55951.
63721 LD HL,55367 HL=55367.
63724 DEC (HL) Decrease *HL by one.
63725 JP NZ,63759 Jump to 63759 if *HL is not zero.
63728 LD (HL),6 Write 6 to *HL.
63730 LD HL,(55381) HL=*55381.
63733 INC HL Increment HL by two.
63734 INC HL
63735 LD A,(HL) Jump to 63756 if *HL is not equal to 255.
63736 CP 255
63738 JP NZ,63756
63741 LD HL,55352 HL=Bomb.
63744 SET 2,(HL) Set bit 2 of *HL.
63746 XOR A Write 0 to *55356.
63747 LD (55356),A
63750 CALL 55985 Call 55985.
63753 LD HL,55839 Write 55839 to *55381.
63756 LD (55381),HL
63759 LD A,(55357) Jump to 63832 if *55357 is equal to 0.
63762 CP 0
63764 JP Z,63832
63767 LD HL,55364 HL=55364.
63770 DEC (HL) Decrease *HL by one.
63771 JP NZ,63832 Jump to 63832 if *HL is not zero.
63774 LD (HL),3 Write 3 to *HL.
63776 LD HL,(55383) HL=*55383.
63779 LD C,(HL) C=*HL.
63780 INC HL Increment HL by one.
63781 LD B,(HL) B=*HL.
63782 LD A,(55833) A=*55833.
63785 CALL 55941 Call 55941.
63788 LD A,(55834) A=*55834.
63791 CALL 55951 Call 55951.
63794 LD HL,55368 HL=55368.
63797 DEC (HL) Decrease *HL by one.
63798 JP NZ,63832 Jump to 63832 if *HL is not zero.
63801 LD (HL),6 Write 6 to *HL.
63803 LD HL,(55383) HL=*55383.
63806 INC HL Increment HL by two.
63807 INC HL
63808 LD A,(HL) Jump to 63829 if *HL is not equal to 255.
63809 CP 255
63811 JP NZ,63829
63814 LD HL,55352 HL=Bomb.
63817 SET 3,(HL) Set bit 3 of *HL.
63819 XOR A Write 0 to *55357.
63820 LD (55357),A
63823 CALL 55985 Call 55985.
63826 LD HL,55839 Write 55839 to *55383.
63829 LD (55383),HL
63832 LD A,(55358) Jump to 63905 if *55358 is equal to 0.
63835 CP 0
63837 JP Z,63905
63840 LD HL,55365 HL=55365.
63843 DEC (HL) Decrease *HL by one.
63844 JP NZ,63905 Jump to 63905 if *HL is not zero.
63847 LD (HL),3 Write 3 to *HL.
63849 LD HL,(55385) HL=*55385.
63852 LD C,(HL) C=*HL.
63853 INC HL Increment HL by one.
63854 LD B,(HL) B=*HL.
63855 LD A,(55835) A=*55835.
63858 CALL 55941 Call 55941.
63861 LD A,(55836) A=*55836.
63864 CALL 55951 Call 55951.
63867 LD HL,55369 HL=55369.
63870 DEC (HL) Decrease *HL by one.
63871 JP NZ,63905 Jump to 63905 if *HL is not zero.
63874 LD (HL),6 Write 6 to *HL.
63876 LD HL,(55385) HL=*55385.
63879 INC HL Increment HL by two.
63880 INC HL
63881 LD A,(HL) Jump to 63902 if *HL is not equal to 255.
63882 CP 255
63884 JP NZ,63902
63887 LD HL,55352 HL=Bomb.
63890 SET 4,(HL) Set bit 4 of *HL.
63892 XOR A Write 0 to *55358.
63893 LD (55358),A
63896 CALL 55985 Call 55985.
63899 LD HL,55839 Write 55839 to *55385.
63902 LD (55385),HL
63905 LD HL,55353 Jump to 63965 if bit 1 of *55353 is set.
63908 BIT 1,(HL)
63910 JP NZ,63965
63913 LD HL,55376 HL=55376.
63916 DEC (HL) Decrease *HL by one.
63917 JP NZ,64073 Jump to 64073 if *HL is not zero.
63920 LD (HL),1 Write 1 to *HL.
63922 LD A,(55353) Jump to 64073 if bit 0 of *55353 is set.
63925 BIT 0,A
63927 JP NZ,64073
63930 LD (HL),30 Write 30 to *HL.
63932 LD HL,55353 HL=55353.
63935 SET 1,(HL) Set bit 1 of *HL.
63937 LD HL,55317 HL=Timer_DoorTop.
63940 RLC (HL) Rotate *HL left (with carry).
63942 LD HL,55353 HL=55353.
63945 JP NC,63958 Jump to 63958 if *HL is higher.
63948 BIT 7,(HL) Test bit 7 of *HL.
63950 JP NZ,63958 Jump to 63958 if *HL is not zero.
63953 SET 2,(HL) Set bit 2 of *HL.
63955 JP 63965 Jump to 63965.
63958 RES 2,(HL) Reset bit 2 of *HL.
63960 LD A,255 Write 255 to *57956.
63962 LD (57956),A
63965 BIT 2,(HL) Test bit 2 of *HL.
63967 LD A,69 A=INK: CYAN, PAPER: BLACK (BRIGHT) .
63969 LD (22537),A Write A to *22537 (attribute buffer location).
63972 LD (22538),A Write A to *22538 (attribute buffer location).
63975 LD (22539),A Write A to *22539 (attribute buffer location).
63978 LD (22540),A Write A to *22540 (attribute buffer location).
63981 LD HL,(55370) HL=*55370.
63984 LD B,8 B=8.
63986 JP Z,64034 Jump to 64034 if *HL is zero.
63989 SLA (HL) Shift *HL left two positions (with carry).
63991 SLA (HL)
63993 JP NC,64002 Jump to 64002 if *HL is higher.
63996 INC H Increment H by one.
63997 DJNZ 63989 Decrease counter by one and loop back to 63989 until counter is zero.
63999 JP 64073 Jump to 64073.
64002 LD A,(55336) A=*55336.
64005 CP 1 Jump to 64021 if A is equal to 1.
64007 JP Z,64021
64010 DEC A Decrease A by one.
64011 LD (55336),A Write A to *55336.
64014 DEC HL Decrease HL by one.
64015 LD (55370),HL Write HL to *55370.
64018 JP 63989 Jump to 63989.
64021 LD HL,55353 HL=55353.
64024 RES 1,(HL) Reset bit 1 of *HL.
64026 LD A,128 Write 128 to *57956.
64028 LD (57956),A
64031 JP 64073 Jump to 64073.
64034 SCF Set the carry flag.
64035 RR (HL) Rotate *HL right.
64037 SCF Set the carry flag.
64038 RR (HL) Rotate *HL right.
64040 JP C,64049 Jump to 64049 if HL is lower.
64043 INC H Increment H by one.
64044 DJNZ 64034 Decrease counter by one and loop back to 64034 until counter is zero.
64046 JP 64073 Jump to 64073.
64049 LD A,(55336) A=*55336.
64052 CP 4 Jump to 64068 if A is equal to 4.
64054 JP Z,64068
64057 INC A Increment A by one.
64058 LD (55336),A Write A to *55336.
64061 INC HL Increment HL by one.
64062 LD (55370),HL Write HL to *55370.
64065 JP 64034 Jump to 64034.
64068 LD HL,55353 HL=55353.
64071 RES 1,(HL) Reset bit 1 of *HL.
64073 LD HL,55353 HL=55353.
64076 BIT 3,(HL) Test bit 3 of *HL.
64078 JP NZ,64133 Jump to 64133 if HL is not zero.
64081 LD HL,55377 HL=55377.
64084 DEC (HL) Decrease *HL by one.
64085 JP NZ,64265 Jump to 64265 if *HL is not zero.
64088 LD (HL),1 Write 1 to *HL.
64090 LD A,(55353) A=*55353.
64093 BIT 0,A Test bit 0 of A.
64095 JP NZ,64265 Jump to 64265 if *HL is not zero.
64098 LD (HL),30 Write 30 to *HL.
64100 LD HL,55353 HL=55353.
64103 SET 3,(HL) Set bit 3 of *HL.
64105 LD HL,55318 HL=Timer_DoorBottom.
64108 RLC (HL) Rotate *HL left (with carry).
64110 LD HL,55353 HL=55353.
64113 JP NC,64126 Jump to 64126 if *HL is higher.
64116 BIT 7,(HL) Test bit 7 of *HL.
64118 JP NZ,64126 Jump to 64126 if *HL is not zero.
64121 SET 4,(HL) Set bit 4 of *HL.
64123 JP 64133 Jump to 64133.
64126 RES 4,(HL) Reset bit 4 of *HL.
64128 LD A,255 Write 255 to *57998.
64130 LD (57998),A
64133 BIT 4,(HL) Test bit 4 of *HL.
64135 LD A,69 A=INK: CYAN, PAPER: BLACK (BRIGHT) .
64137 LD (23209),A Write A to *23209 (attribute buffer location).
64140 LD (23210),A Write A to *23210 (attribute buffer location).
64143 LD (23211),A Write A to *23211 (attribute buffer location).
64146 LD (23212),A Write A to *23212 (attribute buffer location).
64149 LD HL,(55372) HL=*55372.
64152 LD B,8 B=8.
64154 JP Z,64214 Jump to 64214 if *HL is zero.
This entry point is used by the routine at 61025.
64157 SRL (HL) Shift *HL right.
64159 SRL (HL) Shift *HL right.
64161 JP NC,64176 Jump to 64176 if *HL is higher.
64164 INC H Increment H by one.
64165 DJNZ 64157 Decrease counter by one and loop back to 64157 until counter is zero.
64167 LD HL,55354 HL=Time.
64170 BIT 7,(HL) Test bit 7 of *HL.
64172 RET NZ Return if H is not zero.
64173 JP 64265 Jump to 64265.
64176 LD A,(55337) A=*55337.
64179 CP 1 Jump to 64195 if A is equal to 1.
64181 JP Z,64195
64184 DEC A Decrease A by one.
64185 LD (55337),A Write A to *55337.
64188 INC HL Increment HL by one.
64189 LD (55372),HL Write HL to *55372.
64192 JP 64157 Jump to 64157.
64195 LD HL,55353 HL=55353.
64198 RES 3,(HL) Reset bit 3 of *HL.
64200 LD A,128 Write 128 to *57998.
64202 LD (57998),A
64205 LD HL,55354 HL=Time.
64208 BIT 7,(HL) Test bit 7 of *HL.
64210 RET NZ Return if HL is not zero.
64211 JP 64265 Jump to 64265.
This entry point is used by the routine at 61025.
64214 SCF Set the carry flag.
64215 RL (HL) Rotate *HL left.
64217 SCF Set the carry flag.
64218 RL (HL) Rotate *HL left.
64220 JP C,64235 Jump to 64235 if HL is lower.
64223 INC H Increment H by one.
64224 DJNZ 64214 Decrease counter by one and loop back to 64214 until counter is zero.
64226 LD HL,55354 HL=Time.
64229 BIT 7,(HL) Test bit 7 of *HL.
64231 RET NZ Return if H is not zero.
64232 JP 64265 Jump to 64265.
64235 LD A,(55337) A=*55337.
64238 CP 4 Jump to 64254 if A is equal to 4.
64240 JP Z,64254
64243 INC A Increment A by one.
64244 LD (55337),A Write A to *55337.
64247 DEC HL Decrease HL by one.
64248 LD (55372),HL Write HL to *55372.
64251 JP 64214 Jump to 64214.
64254 LD HL,55353 HL=55353.
64257 RES 3,(HL) Reset bit 3 of *HL.
64259 LD HL,55354 HL=Time.
64262 BIT 7,(HL) Test bit 7 of *HL.
64264 RET NZ Return if HL is not zero.
64265 LD HL,55353 HL=55353.
64268 BIT 5,(HL) Test bit 5 of *HL.
64270 JP NZ,64325 Jump to 64325 if HL is not zero.
64273 LD HL,55378 HL=55378.
64276 DEC (HL) Decrease *HL by one.
64277 JP NZ,64477 Jump to 64477 if *HL is not zero.
64280 LD (HL),1 Write 1 to *HL.
64282 LD A,(55353) A=*55353.
64285 BIT 0,A Test bit 0 of A.
64287 JP NZ,64477 Jump to 64477 if *HL is not zero.
64290 LD (HL),30 Write 30 to *HL.
64292 LD HL,55353 HL=55353.
64295 SET 5,(HL) Set bit 5 of *HL.
64297 LD HL,55319 HL=Timer_DoorLeft.
64300 RLC (HL) Rotate *HL left (with carry).
64302 LD HL,55353 HL=55353.
64305 JP NC,64318 Jump to 64318 if *HL is higher.
64308 BIT 7,(HL) Test bit 7 of *HL.
64310 JP NZ,64318 Jump to 64318 if *HL is not zero.
64313 SET 6,(HL) Set bit 6 of *HL.
64315 JP 64325 Jump to 64325.
64318 RES 6,(HL) Reset bit 6 of *HL.
64320 LD A,255 Write 255 to *57974.
64322 LD (57974),A
64325 BIT 6,(HL) Test bit 6 of *HL.
64327 LD A,69 A=INK: CYAN, PAPER: BLACK (BRIGHT) .
64329 LD (22816),A Write A to *22816 (attribute buffer location).
64332 LD (22848),A Write A to *22848 (attribute buffer location).
64335 LD (22880),A Write A to *22880 (attribute buffer location).
64338 LD (22912),A Write A to *22912 (attribute buffer location).
64341 LD HL,(55374) HL=*55374.
64344 JP Z,64416 Jump to 64416 if *HL is zero.
64347 LD A,(HL) Jump to 64403 if *HL is equal to 0.
64348 CP 0
64350 JP Z,64403
64353 LD (HL),0 Write 0 to *HL.
64355 INC H Increment H by one.
64356 LD (HL),0 Write 0 to *HL.
64358 INC H Increment H by one.
64359 LD (55374),HL Write HL to *55374.
64362 LD HL,55338 HL=55338.
64365 DEC (HL) Decrease *HL by one.
64366 JP NZ,64477 Jump to 64477 if *HL is not zero.
64369 LD (HL),4 Write 4 to *HL.
64371 LD HL,(55374) HL=*55374.
64374 LD DE,2016 DE=2016.
64377 SCF Set the carry flag.
64378 CCF Invert the carry flag.
64379 SBC HL,DE HL-=DE (with carry).
64381 LD (55374),HL Write HL to *55374.
64384 LD HL,55339 HL=55339.
64387 DEC (HL) Decrease *HL by one.
64388 JP NZ,64477 Jump to 64477 if *HL is not zero.
64391 LD (HL),4 Write 4 to *HL.
64393 LD HL,(55374) HL=*55374.
64396 LD DE,1760 HL+=1760.
64399 ADD HL,DE
64400 LD (55374),HL Write HL to *55374.
64403 LD HL,55353 HL=55353.
64406 RES 5,(HL) Reset bit 5 of *HL.
64408 LD A,128 Write 128 to *57974.
64410 LD (57974),A
64413 JP 64477 Jump to 64477.
64416 LD A,(HL) Jump to 64472 if *HL is not equal to 0.
64417 CP 0
64419 JP NZ,64472
64422 LD (HL),255 Write 255 to *HL.
64424 DEC H Decrease H by one.
64425 LD (HL),255 Write 255 to *HL.
64427 DEC H Decrease H by one.
64428 LD (55374),HL Write HL to *55374.
64431 LD HL,55338 HL=55338.
64434 DEC (HL) Decrease *HL by one.
64435 JP NZ,64477 Jump to 64477 if *HL is not zero.
64438 LD (HL),4 Write 4 to *HL.
64440 LD HL,(55374) HL=*55374.
64443 LD DE,2016 HL+=2016.
64446 ADD HL,DE
64447 LD (55374),HL Write HL to *55374.
64450 LD HL,55339 HL=55339.
64453 DEC (HL) Decrease *HL by one.
64454 JP NZ,64477 Jump to 64477 if *HL is not zero.
64457 LD (HL),4 Write 4 to *HL.
64459 LD HL,(55374) HL=*55374.
64462 LD DE,1760 DE=1760.
64465 SCF Set the carry flag.
64466 CCF Invert the carry flag.
64467 SBC HL,DE HL-=DE (with carry).
64469 LD (55374),HL Write HL to *55374.
64472 LD HL,55353 HL=55353.
64475 RES 5,(HL) Reset bit 5 of *HL.
64477 LD HL,55391 HL=55391.
64480 LD B,12 B=12.
64482 DEC (HL) Decrease *HL by one.
64483 CALL Z,64492 Call 64492 zero.
64486 INC HL Increment HL by one.
64487 DJNZ 64482 Decrease counter by one and loop back to 64482 until counter is zero.
64489 JP 64579 Jump to 64579.
64492 LD (HL),30 Write 30 to *HL.
64494 PUSH HL Stash HL on the stack.
64495 LD HL,55320 HL=Timer_Crack_01.
64498 LD A,12 A=12.
64500 SUB B A-=B.
64501 LD D,0 D=0.
64503 LD E,A E=A.
64504 ADD HL,DE HL+=DE.
64505 RLC (HL) Rotate *HL left (with carry).
64507 JP NC,64528 Jump to 64528 if HL is higher.
64510 LD HL,55353 HL=55353.
64513 BIT 7,(HL) Test bit 7 of *HL.
64515 JP NZ,64528 Jump to 64528 if HL is not zero.
64518 LD C,104 C=104.
64520 CALL 64538 Call 64538.
64523 LD C,64 C=64.
64525 JP 64562 Jump to 64562.
64528 LD C,109 C=109.
64530 CALL 64538 Call 64538.
64533 LD C,255 C=255.
64535 JP 64562 Jump to 64562.
64538 LD IX,54964 IX=54964.
64542 RLCA RLCA.
64543 RLCA
64544 LD E,A E=A.
64545 ADD IX,DE IX+=DE.
64547 LD L,(IX+0) L=*IX+0.
64550 LD H,(IX+1) H=*IX+1.
64553 LD (HL),C Write C to *HL.
64554 LD L,(IX+2) L=*IX+2.
64557 LD H,(IX+3) H=*IX+3.
64560 LD (HL),C Write C to *HL.
64561 RET Return.
64562 LD IX,55012 IX=55012.
64566 RRCA RRCA.
64567 LD E,A E=A.
64568 ADD IX,DE IX+=DE.
64570 LD L,(IX+0) L=*IX+0.
64573 LD H,(IX+1) H=*IX+1.
64576 LD (HL),C Write C to *HL.
64577 POP HL Restore HL from the stack.
64578 RET Return.
Prev: 63489 Up: Map Next: 64579