Prev: 46851 Up: Map Next: 47837
46884: Routine at B724
Used by the routine at StartGame.
46884 LD DE,50030 DE=50030.
46887 LD HL,50037 HL=50037.
46890 LD BC,7 BC=0007.
46893 LDIR LDIR.
46895 LD HL,49806 HL=49806.
46898 DEC (HL) Decrease *HL by one.
46899 RET NZ Return if {} is not zero.
46900 LD (HL),6 Write 6 to *HL.
46902 INC HL Increment HL by one.
46903 DEC (HL) Decrease *HL by one.
46904 RET NZ Return if {} is not zero.
46905 LD (HL),1 Write 1 to *HL.
46907 LD IX,50030 IX=50030.
46911 INC HL Increment HL by one.
46912 DEC (HL) Decrease *HL by one.
46913 JR NZ,46923 Jump to 46923 if {} is not zero.
46915 LD (HL),1 Write 1 to *HL.
46917 RES 5,(IX+23) Reset bit 5 of *IX+23.
46921 JR 46941 Jump to 46941.
46923 SET 5,(IX+23) Set bit 5 of *IX+23.
46927 BIT 5,(IX+19) Jump to 46941 if bit 5 of *IX+19 is set.
46931 JR NZ,46941
46933 LD A,(49806) A=*49806.
46936 ADD A,6 A+=6.
46938 LD (49806),A Write A to *49806.
46941 BIT 4,(IX+23) Jump to 46957 if bit 4 of *IX+23 is not set.
46945 JR Z,46957
46947 LD A,(49806) A=*49806.
46950 ADD A,4 A+=4.
46952 LD (49806),A Write A to *49806.
46955 JR 46977 Jump to 46977.
46957 BIT 1,(IX+23) Jump to 46971 if bit 1 of *IX+23 is not set.
46961 JR Z,46971
46963 INC HL Increment HL by one.
46964 LD (HL),1 Write 1 to *HL.
46966 INC HL Increment HL by one.
46967 LD (HL),1 Write 1 to *HL.
46969 JR 47009 Jump to 47009.
46971 INC HL Increment HL by one.
46972 DEC (HL) Decrease *HL by one.
46973 JR NZ,46947 Jump to 46947 if *HL is set.
46975 LD (HL),1 Write 1 to *HL.
46977 INC HL Increment HL by one.
46978 DEC (HL) Decrease *HL by one.
46979 JR Z,47007 Jump to 47007 if *HL is zero.
46981 BIT 1,(HL) Jump to 47009 if bit 1 of *HL is not set.
46983 JR Z,47009
46985 BIT 0,(HL) Test bit 0 of *HL.
46987 LD A,(IX+19) A=*IX+19.
46990 JR NZ,47002 Jump to 47002 if bit 0 of *HL is set.
46992 CALL 49613 Call 49613.
46995 LD IX,50030 IX=50030.
46999 LD A,(49637) A=*49637.
47002 AND %00011000 Keep only bits 3-4.
47004 LD E,A E=A.
47005 JR 47015 Jump to 47015.
47007 LD (HL),1 Write 1 to *HL.
47009 CALL Handler_Controls Call Handler_Controls.
47012 BIT 7,E Return if bit 7 of E is set.
47014 RET NZ
47015 BIT 0,(IX+24) Jump to 47051 if bit 0 of *IX+24 is not set.
47019 JR Z,47051
47021 LD A,8 A=8.
47023 CP E Compare A with E.
47024 RET NZ Return if {} is not zero.
47025 RES 1,(IX+23) Reset bit 1 of *IX+23.
47029 LD HL,(49783) HL=*49783.
47032 LD BC,33 BC=0033.
47035 BIT 4,(IX+16) Jump to 47044 if bit 4 of *IX+16 is not set.
47039 JR Z,47044
47041 LD BC,45 BC=0045.
47044 ADD HL,BC HL+=BC.
47045 SET 2,(HL) Set bit 2 of *HL.
47047 OR %01000000 Set bits 6.
47049 JR 47076 Jump to 47076.
47051 LD HL,(49783) HL=*49783.
47054 LD BC,33 BC=0033.
47057 BIT 4,(IX+16) Jump to 47066 if bit 4 of *IX+16 is not set.
47061 JR Z,47066
47063 LD BC,45 BC=0045.
47066 ADD HL,BC HL+=BC.
47067 BIT 1,(HL) Jump to 47073 if bit 1 of *HL is set.
47069 JR NZ,47073
47071 SET 3,(HL) Set bit 3 of *HL.
47073 LD A,(IX+19) A=*IX+19.
47076 LD B,A B=A.
47077 AND %00011000 Keep only bits 3-4.
47079 CP E Jump to 47091 if A is equal to E.
47080 JR Z,47091
47082 LD A,B A=B.
47083 AND %01000000 Keep only bits 6.
47085 OR E Set the bits from E.
47086 LD (IX+19),A Write A to *IX+19.
47089 JR 47100 Jump to 47100.
47091 BIT 5,B Jump to 47134 if bit 5 of B is not set.
47093 JR Z,47134
47095 RES 5,B Reset bit 5 of B.
47097 LD (IX+19),B Write B to *IX+19.
47100 BIT 0,(IX+23) Jump to 47113 if bit 0 of *IX+23 is set.
47104 JR NZ,47113
47106 BIT 2,(IX+23) Jump to 47270 if bit 2 of *IX+23 is not set.
47110 JP Z,47270
47113 BIT 3,(IX+23) Test bit 3 of *IX+23.
47117 LD A,2 A=2.
47119 JR Z,47123 Jump to 47123 if bit 3 of *IX+23 is not set.
47121 LD A,0 A=0.
47123 OR (IX+23) Set the bits of A with *IX+23.
47126 AND %11111010 Keep only bits 1, 3-7.
47128 LD (IX+23),A Write A to *IX+23.
47131 JP 47270 Jump to 47270.
47134 LD HL,49639 HL=49639.
47137 SRA E Shift E right (with carry).
47139 SRA E Shift E right (with carry).
47141 LD D,0 D=0.
47143 ADD HL,DE HL+=DE.
47144 LD E,(HL) E=*HL.
47145 INC HL Increment HL by one.
47146 LD D,(HL) D=*HL.
47147 LD L,(IX+16) L=*IX+16.
47150 LD H,(IX+17) H=*IX+17.
47153 ADD HL,DE HL+=DE.
47154 BIT 7,(HL) Jump to 47216 if bit 7 of *HL is set.
47156 JR NZ,47216
47158 PUSH HL Stash HL on the stack.
47159 LD DE,30880 DE=30880.
47162 AND A Set flags.
47163 SBC HL,DE HL-=DE (with carry).
47165 POP HL Restore HL from the stack.
47166 JP C,46481 Jump to 46481 if {} is lower.
47169 PUSH HL Stash HL on the stack.
47170 LD DE,31328 DE=31328.
47173 SBC HL,DE HL-=DE (with carry).
47175 POP HL Restore HL from the stack.
47176 JP NC,46332 Jump to 46332 if {} is higher.
47179 BIT 3,(IX+19) Jump to 47199 if bit 3 of *IX+19 is set.
47183 JR NZ,47199
47185 BIT 4,(IX+19) Test bit 4 of *IX+19.
47189 LD A,0 A=0.
47191 JR Z,47195 Jump to 47195 if bit 4 of *IX+19 is not set.
47193 LD A,31 A=31.
47195 XOR L Reset the bits from L.
47196 AND %00011111 Keep only bits 0-4.
47198 RET Z Return if the result is zero.
47199 PUSH HL Stash HL on the stack.
47200 SET 3,(IX+23) Set bit 3 of *IX+23.
47204 BIT 1,(IX+23) Jump to 47238 if bit 1 of *IX+23 is not set.
47208 JR Z,47238
47210 RES 1,(IX+23) Reset bit 1 of *IX+23.
47214 JR 47233 Jump to 47233.
47216 PUSH HL Stash HL on the stack.
47217 RES 3,(IX+23) Reset bit 3 of *IX+23.
47221 BIT 6,B Call 47786 if bit 6 of B is not set.
47223 CALL Z,47786
47226 POP HL Restore HL from the stack.
47227 PUSH HL Stash HL on the stack.
47228 CALL 47385 Call 47385.
47231 JR 47241 Jump to 47241.
47233 CALL 47385 Call 47385.
47236 POP HL Restore HL from the stack.
47237 PUSH HL Stash HL on the stack.
47238 CALL 47519 Call 47519.
47241 POP HL Restore HL from the stack.
This entry point is used by the routine at 48757.
47242 SET 5,B Set bit 5 of B.
47244 LD (IX+19),B Write B to *IX+19.
47247 LD (IX+16),L Write L to *IX+16.
47250 LD (IX+17),H Write H to *IX+17.
47253 BIT 3,B Jump to 47270 if bit 3 of B is not set.
47255 JR Z,47270
47257 INC (IX+7) Increment *IX+7 by one.
47260 BIT 4,B Jump to 47270 if bit 4 of B is set.
47262 JR NZ,47270
47264 DEC (IX+7) Decrease *IX+7 by one.
47267 DEC (IX+7) Decrease *IX+7 by one.
This entry point is used by the routines at 46264, 46481 and 48521.
47270 LD A,(IX+19) A=*IX+19.
47273 LD E,A E=A.
47274 LD D,0 D=0.
47276 LD L,(IX+20) L=*IX+20.
47279 LD H,(IX+21) H=*IX+21.
47282 ADD HL,DE HL+=DE.
47283 LD A,(HL) A=*HL.
47284 LD (IX+10),A Write A to *IX+10.
47287 INC HL Increment HL by one.
47288 LD A,(HL) A=*HL.
47289 LD (IX+11),A Write A to *IX+11.
47292 INC HL Increment HL by one.
47293 LD A,(HL) A=*HL.
47294 LD (IX+14),A Write A to *IX+14.
47297 INC HL Increment HL by one.
47298 LD A,(HL) A=*HL.
47299 LD (IX+15),A Write A to *IX+15.
47302 INC HL Increment HL by one.
47303 LD E,(HL) E=*HL.
47304 INC HL Increment HL by one.
47305 LD D,(HL) D=*HL.
47306 LD L,(IX+16) L=*IX+16.
47309 LD H,(IX+17) H=*IX+17.
47312 ADD HL,DE HL+=DE.
47313 RES 5,H Reset bit 5 of H.
47315 LD (IX+12),L Write L to *IX+12.
47318 LD (IX+8),L Write L to *IX+8.
47321 LD (IX+13),H Write H to *IX+13.
47324 LD A,H A=H.
47325 RLCA RLCA.
47326 RLCA RLCA.
47327 RLCA RLCA.
47328 AND %00011000 Keep only bits 3-4.
47330 OR %01000000 Set bits 6.
47332 LD (IX+9),A Write A to *IX+9.
47335 LD A,(IX+10) A=*IX+10.
47338 RLCA RLCA.
47339 RLCA RLCA.
47340 RLCA RLCA.
47341 RLCA RLCA.
47342 LD (IX+22),A Write A to *IX+22.
47345 BIT 0,(IX+23) Jump to 47356 if bit 0 of *IX+23 is not set.
47349 JR Z,47356
47351 LD (IX+11),1 Write 11 to *IX+11.
47355 RET Return.
47356 BIT 2,(IX+23) Return if bit 2 of *IX+23 is not set.
47360 RET Z
47361 LD (IX+11),1 Write 11 to *IX+11.
47365 INC (IX+8) Increment *IX+8 by one.
47368 INC (IX+12) Increment *IX+12 by one.
47371 LD L,(IX+14) L=*IX+14.
47374 ADD A,L A+=L.
47375 LD (IX+14),A Write A to *IX+14.
47378 RET NC Return if {} is higher.
47379 INC (IX+15) Increment *IX+15 by one.
47382 RET Return.
47383 DEC B Decrease B by one.
47384 INC C Increment C by one.
47385 PUSH IX Stash IX on the stack.
47387 LD IX,(49783) IX=49783.
47391 PUSH HL Stash HL on the stack.
47392 BIT 4,L Jump to 47401 if bit 4 of L is not set.
47394 JR Z,47401
47396 LD DE,12 DE=0012.
47399 ADD IX,DE IX+=DE.
47401 LD E,(IX+34) E=*IX+34.
47404 LD D,(IX+35) D=*IX+35.
47407 AND A Set flags.
47408 SBC HL,DE HL-=DE (with carry).
47410 POP HL Restore HL from the stack.
47411 JR Z,47432 Jump to 47432 if {} is zero.
47413 LD A,L A=L.
47414 ADD HL,HL HL+=HL.
47415 ADD HL,HL HL+=HL.
47416 ADD HL,HL HL+=HL.
47417 AND %00011111 Keep only bits 0-4.
47419 LD C,A C=A.
47420 CP 10 Jump to 47468 if A is lower than 10.
47422 JR C,47468
47424 CP 22 Jump to 47496 if A is higher than 22.
47426 JR NC,47496
47428 POP HL Restore HL, HL and HL from the stack.
47429 POP HL
47430 POP HL
47431 RET Return.
47432 PUSH IX Stash IX on the stack.
47434 POP HL Restore HL from the stack.
47435 LD DE,33 DE=0033.
47438 ADD HL,DE HL+=DE.
47439 BIT 4,(HL) Test bit 4 of *HL.
47441 JR Z,47428 Jump to 47428 if {} is zero.
47443 POP IX Restore IX from the stack.
47445 BIT 3,B Test bit 3 of B.
47447 JR Z,47429 Jump to 47429 if {} is zero.
47449 BIT 4,B Test bit 4 of B.
47451 JR Z,47429 Jump to 47429 if {} is zero.
47453 BIT 6,B Test bit 6 of B.
47455 JR Z,47429 Jump to 47429 if {} is zero.
47457 SET 3,(HL) Set bit 3 of *HL.
47459 SET 1,(IX+23) Set bit 1 of *IX+23.
47463 SET 0,(IX+24) Set bit 0 of *IX+24.
47467 RET Return.
47468 LD A,H A=H.
47469 CP (IX+32) Compare A with *IX+32.
47472 JR NZ,47428 Jump to 47428 if {} is not zero.
47474 POP IX Restore IX from the stack.
47476 BIT 1,(IX+23) Test bit 1 of *IX+23.
47480 RET NZ Return if {} is not zero.
47481 LD A,C A=C.
47482 CP 5 Compare A with 5.
47484 JR NC,47491 Jump to 47491 if {} is higher.
47486 SET 0,(IX+23) Set bit 0 of *IX+23.
47490 RET Return.
47491 SET 2,(IX+23) Set bit 2 of *IX+23.
47495 RET Return.
47496 LD A,H A=H.
47497 CP (IX+32) Compare A with *IX+32.
47500 JR NZ,47428 Jump to 47428 if {} is not zero.
47502 POP IX Restore IX from the stack.
47504 BIT 1,(IX+23) Test bit 1 of *IX+23.
47508 RET NZ Return if {} is not zero.
47509 LD A,C A=C.
47510 CP 27 Compare A with 27.
47512 JR NC,47491 Jump to 47491 if {} is higher.
47514 SET 0,(IX+23) Set bit 0 of *IX+23.
47518 RET Return.
47519 PUSH IX Stash IX on the stack.
47521 LD IX,(49783) IX=49783.
47525 BIT 4,L Test bit 4 of L.
47527 JR Z,47534 Jump to 47534 if {} is zero.
47529 LD DE,12 DE=0012.
47532 ADD IX,DE IX+=DE.
47534 PUSH HL Stash HL on the stack.
47535 LD DE,32 DE=0032.
47538 ADD HL,DE HL+=DE.
47539 LD A,(HL) A=*HL.
47540 AND %00111000 Keep only bits 3-5.
47542 CP 32 Compare A with 32.
47544 LD A,L A=L.
47545 JR NZ,47575 Jump to 47575 if {} is not zero.
47547 LD E,(IX+30) E=*IX+30.
47550 LD D,(IX+31) D=*IX+31.
47553 POP HL Restore HL from the stack.
47554 PUSH HL Stash HL on the stack.
47555 AND A Set flags.
47556 SBC HL,DE HL-=DE (with carry).
47558 JR Z,47575 Jump to 47575 if {} is zero.
47560 SET 0,(IX+33) Set bit 0 of *IX+33.
47564 RES 1,(IX+33) Reset bit 1 of *IX+33.
47568 LD HL,50054 HL=50054.
47571 SET 4,(HL) Set bit 4 of *HL.
47573 JR 47606 Jump to 47606.
47575 LD HL,50054 HL=50054.
47578 RES 4,(HL) Reset bit 4 of *HL.
47580 BIT 1,(IX+33) Jump to 47606 if bit 1 of *IX+33 is not set.
47584 JR Z,47606
47586 BIT 0,(IX+33) Jump to 47606 if bit 0 of *IX+33 is set.
47590 JR NZ,47606
47592 AND %00011111 Keep only bits 0-4.
47594 CP 8 Jump to 47602 if A is equal to 8.
47596 JR Z,47602
47598 CP 23 Jump to 47606 if A is not equal to 23.
47600 JR NZ,47606
47602 SET 2,(IX+33) Set bit 2 of *IX+33.
47606 POP HL Restore HL from the stack.
47607 LD A,L A=L.
47608 CP (IX+26) Compare A with *IX+26.
47611 JR NZ,47620 Jump to 47620 if {} is not zero.
47613 LD A,H A=H.
47614 CP (IX+27) Compare A with *IX+27.
47617 JR Z,47660 Jump to 47660 if {} is zero.
47619 LD A,L A=L.
47620 CP (IX+30) Compare A with *IX+30.
47623 JR NZ,47645 Jump to 47645 if {} is not zero.
47625 LD A,H A=H.
47626 CP (IX+31) Compare A with *IX+31.
47629 JR NZ,47645 Jump to 47645 if {} is not zero.
47631 POP IX Restore IX from the stack.
47633 CALL 49476 Call 49476.
47636 INC HL Increment HL by one.
47637 SET 3,(HL) Set bit 3 of *HL.
47639 LD HL,52285 HL=52285.
47642 SET 2,(HL) Set bit 2 of *HL.
47644 RET Return.
47645 LD L,(IX+30) L=*IX+30.
47648 LD H,(IX+31) H=*IX+31.
47651 POP IX Restore IX from the stack.
47653 CALL 49476 Call 49476.
47656 INC HL Increment HL by one.
47657 RES 3,(HL) Reset bit 3 of *HL.
47659 RET Return.
47660 CALL 49476 Call 49476.
47663 LD DE,65 DE=0065.
47666 ADD HL,DE HL+=DE.
47667 BIT 6,B Jump to 47700 if bit 6 of B is not set.
47669 JR Z,47700
47671 RES 3,(HL) Reset bit 3 of *HL.
47673 RES 6,B Reset bit 6 of B.
47675 SET 6,(IX+33) Set bit 6 of *IX+33.
47679 BIT 7,(IX+33) Test bit 7 of *IX+33.
47683 POP IX Restore IX from the stack.
47685 LD HL,52285 HL=52285.
47688 JR Z,47693 Jump to 47693 if bit 7 of *IX+33 is not set.
47690 SET 3,(HL) Set bit 3 of *HL.
47692 RET Return.
47693 SET 4,(HL) Set bit 4 of *HL.
47695 SET 4,(IX+23) Set bit 4 of *IX+23.
47699 RET Return.
47700 BIT 3,(HL) Jump to 47781 if bit 3 of *HL is set.
47702 JR NZ,47781
47704 SET 3,(HL) Set bit 3 of *HL.
47706 SET 6,B Set bit 6 of B.
47708 RES 6,(IX+33) Reset bit 6 of *IX+33.
47712 BIT 5,(IX+33) Jump to 47726 if bit 5 of *IX+33 is not set.
47716 JR Z,47726
47718 LD A,(50029) A=*50029.
47721 OR %00000000 Set bits .
47723 LD (50029),A Write A to *50029.
47726 PUSH IX Stash IX on the stack.
47728 POP HL Restore HL from the stack.
47729 LD DE,33 DE=0033.
47732 ADD HL,DE HL+=DE.
47733 POP IX Restore IX from the stack.
47735 BIT 4,(IX+23) Test bit 4 of *IX+23.
47739 RES 4,(IX+23) Reset bit 4 of *IX+23.
47743 JR NZ,47775 Jump to 47775 if bit 4 of *IX+23 is set.
47745 BIT 7,(HL) Test bit 7 of *HL.
47747 SET 7,(HL) Set bit 7 of *HL.
47749 JR NZ,47769 Jump to 47769 if *HL is set.
47751 SET 1,(HL) Set bit 1 of *HL.
47753 LD HL,52285 HL=52285.
47756 SET 3,(HL) Set bit 3 of *HL.
47758 LD HL,49780 HL=49780.
47761 PUSH IX Stash IX on the stack.
47763 CALL AddPointsToScore Call AddPointsToScore.
47766 POP IX Restore IX from the stack.
47768 RET Return.
47769 LD HL,52285 HL=52285.
47772 SET 3,(HL) Set bit 3 of *HL.
47774 RET Return.
47775 LD HL,52285 HL=52285.
47778 SET 2,(HL) Set bit 2 of *HL.
47780 RET Return.
47781 POP IX Restore IX from the stack.
47783 POP HL Restore HL and HL from the stack.
47784 POP HL
47785 RET Return.
47786 BIT 3,B Return if bit 3 of B is not set.
47788 RET Z
47789 BIT 4,B Return if bit 4 of B is not set.
47791 RET Z
47792 LD DE,96 DE=0096.
47795 RES 5,H Reset bit 5 of H.
47797 AND A Set flags.
47798 SBC HL,DE HL-=DE (with carry).
47800 LD DE,(49868) DE=*49868.
47804 SBC HL,DE HL-=DE (with carry).
47806 JR Z,47815 Jump to 47815 if {} is zero.
47808 LD DE,1 DE=0001.
47811 AND A Set flags.
47812 SBC HL,DE HL-=DE (with carry).
47814 RET NZ Return if {} is not zero.
47815 POP HL Restore HL and HL from the stack.
47816 POP HL
47817 SET 5,B Set bit 5 of B.
47819 LD A,B A=B.
47820 LD (IX+19),A Write A to *IX+19.
47823 AND %00111000 Keep only bits 3-5.
47825 OR %10000000 Set bits 7.
47827 RES 4,(IX+23) Reset bit 4 of *IX+23.
47831 CALL 47775 Call 47775.
47834 JP 47273 Jump to 47273.
Prev: 46851 Up: Map Next: 47837