Prev: 46974 Up: Map Next: 48985
46975: Routine at B77F
Used by the routine at 46845.
46975 LD A,(46974) Jump to 47018 if *46974 is not equal to 255.
46978 CP 255
46980 JR NZ,47018
46982 LD HL,(46806) HL=*46806.
46985 LD A,L Return if HL is zero.
46986 OR H
46987 RET Z
46988 XOR A Write 0 to *46974.
46989 LD (46974),A
46992 PUSH HL IX=HL (using the stack).
46993 POP IX
46995 LD L,(IX-2) L=*IX-2.
46998 LD H,(IX-1) H=*IX-1.
47001 LD (46806),HL Write HL to *46806.
47004 LD L,(IX+0) L=*IX+0.
47007 LD H,(IX+1) H=*IX+1.
47010 CALL 41415 Call 41415.
47013 INC HL Increment HL by two.
47014 INC HL
47015 PUSH HL IX=HL (using the stack).
47016 POP IX
47018 LD A,(IX+0) A=*IX+0.
47021 INC IX Increment IX by one.
47023 BIT 7,A Jump to 47053 if bit 7 of A is not set.
47025 JR Z,47053
47027 LD D,A D=A.
47028 LD E,(IX+0) E=*IX+0.
47031 INC IX Increment IX by one.
47033 AND %01110000 Keep only bits 4-6.
47035 CP 96 Jump to 47046 if A is equal to 96.
47037 JR Z,47046
47039 CP 48 Jump to 47046 if A is equal to 48.
47041 JR Z,47046
47043 CP 32 Return if A is not equal to 32.
47045 RET NZ
47046 LD A,255 Write 255 to *46974.
47048 LD (46974),A
47051 AND A Set flags.
47052 RET Return.
47053 CP 32 Jump to 47095 if A is less than 32.
47055 JR C,47095
47057 CP 96 Jump to 47069 if A is less than 96.
47059 JR C,47069
47061 CALL GetCommonWord Call GetCommonWord.
47064 OR %00000001 Set bit 0.
47066 LD A,0 A=0.
47068 RET Return.
47069 AND %00011111 Keep only bits 0-4.
47071 INC A Increment A by one.
47072 LD B,A B=A.
47073 PUSH IX HL=IX (using the stack).
47075 POP HL
47076 INC HL Increment HL by one.
47077 LD C,0 C=0.
47079 CALL 43408 Call 43408.
47082 DJNZ 47079 Decrease counter by one and loop back to 47079 until counter is zero.
47084 PUSH HL IX=HL (using the stack).
47085 POP IX
47087 LD A,C A=C.
47088 AND A Jump to 47018 if HL is not equal to A.
47089 JR NZ,47018
47091 DEC IX Decrease IX by one.
47093 JR 47018 Jump to 47018.
47095 CP 2
47097 JR NZ,47111
47099 LD E,(IX+0)
47102 LD D,(IX+1)
47105 ADD IX,DE
47107 DEC IX
47109 JR 47018
47111 CP 11
47113 JR NZ,47156
47115 LD E,(IX+0)
47118 LD D,(IX+1)
47121 PUSH IX
47123 POP HL
47124 LD A,2
47126 CALL 41244
47129 LD (IX+0),L
47132 LD (IX+1),H
47135 PUSH HL
47136 LD HL,(46806)
47139 LD (46806),IX
47143 LD (IX-2),L
47146 LD (IX-1),H
47149 POP HL
47150 ADD HL,DE
47151 PUSH HL
47152 POP IX
47154 JR 47107
47156 CP 29
47158 JP C,47018
47161 JP 46982
This entry point is used by the routines at 46410, 46810 and 46832.
47164 POP IX
47166 LD B,3
47168 LD E,(HL)
47169 INC HL
47170 LD D,(HL)
47171 INC HL
47172 PUSH DE
47173 DJNZ 47168
47175 POP HL
47176 EX (SP),HL
47177 PUSH HL
47178 JP (IX)
47180 LD HL,(45450)
47183 PUSH HL
47184 LD HL,(45448)
47187 PUSH HL
47188 LD HL,(45446)
47191 PUSH HL
47192 LD HL,(45452)
47195 PUSH HL
47196 LD HL,26730
47199 CALL 42399
47202 RET
47203 JP 51497
47206 NOP
47207 NOP
47208 NOP
47209 NOP
This entry point is used by the routine at 56428.
47210 PUSH AF
47211 LD IX,40942
47215 CALL 41207
47218 JR Z,47272
47220 LD C,(IX+0)
47223 LD B,(IX+1)
47226 LD (47208),BC
47230 LD L,(IX-2)
47233 LD H,(IX-1)
47236 LD (40940),HL
47239 CALL 41415
47242 POP AF
47243 PUSH AF
47244 AND A
47245 JR Z,47252
47247 CALL 47274
47250 JR Z,47272
47252 LD BC,(47208)
47256 LD (41003),BC
47260 CALL 44671
47263 CP 192
47265 JR NZ,47260
47267 LD HL,(41001)
47270 LD (HL),144
47272 POP AF
47273 RET
47274 LD HL,(47208)
47277 LD (41003),HL
47280 XOR A
47281 LD (40996),A
47284 LD HL,(40944)
47287 PUSH HL
47288 LD HL,0
47291 LD (40944),HL
47294 CALL 43698
47297 JR Z,47303
47299 CP 2
47301 JR NZ,47364
47303 LD HL,(41003)
47306 LD A,(HL)
47307 AND 240
47309 CP 192
47311 JR NZ,47294
47313 LD (HL),144
47315 LD A,8
47317 CALL 41244
47320 LD HL,(40942)
47323 LD (40942),IX
47327 LD (IX-2),L
47330 LD (IX-1),H
47333 LD HL,(40944)
47336 LD (IX+5),L
47339 LD (IX+6),H
47342 POP HL
47343 LD (40944),HL
47346 XOR A
47347 LD (IX+1),A
47350 LD A,(41012)
47353 LD (IX+0),A
47356 LD A,(40996)
47359 LD (IX+7),A
47362 XOR A
47363 RET
47364 PUSH AF
47365 CALL 55421
47368 POP AF
47369 POP HL
47370 LD (40944),HL
47373 RET
47374 CALL 47391
47377 LD (47206),IX
47381 LD E,(IX+5)
47384 LD D,(IX+6)
47387 PUSH DE
47388 POP IY
47390 RET
This entry point is used by the routine at 52279.
47391 LD IX,40944
47395 CALL 41207
47398 JR Z,47409
47400 LD A,(41014)
47403 CP (IX+0)
47406 RET Z
47407 JR 47395
47409 OR 1
47411 RET
47412 NOP
47413 NOP
This entry point is used by the routine at ScriptInterpreter.
47414 PUSH IX
47416 PUSH IY
47418 PUSH HL
47419 LD (47413),A
47422 CALL 47374
47425 LD A,(IX+7)
47428 CP 2
47430 JP Z,47648
47433 LD A,(IX+1)
47436 CP 255
47438 JR Z,47500
47440 LD A,(47413)
47443 LD (47412),A
47446 LD A,(IX+2)
47449 LD (40988),A
47452 LD C,(IX+3)
47455 LD B,(IX+4)
47458 LD (45438),BC
47462 CALL 45457
47465 JR Z,47540
47467 LD IX,(47206)
47471 LD BC,(45438)
47475 LD (IX+3),C
47478 LD (IX+4),B
47481 LD A,(40988)
47484 LD (IX+2),A
47487 AND A
47488 CALL Z,47562
47491 LD A,1
47493 POP HL
47494 POP IY
47496 POP IX
47498 AND A
47499 RET
47500 LD A,(IX+2)
47503 CALL 52958
47506 LD (41011),A
47509 LD A,(IX+3)
47512 CALL 52958
47515 LD (41012),A
47518 LD A,(IX+4)
47521 CALL 52958
47524 LD (41013),A
47527 CALL 47610
47530 JR 47491
47532 CALL 47562
47535 JR NZ,47532
47537 XOR A
47538 JR 47493
47540 LD A,(40988)
47543 AND A
47544 JR Z,47532
47546 LD IX,(47206)
47550 LD (IX+2),0
47554 CALL 47562
47557 JR Z,47537
47559 JP 47422
47562 LD IX,(47206)
47566 LD L,(IY-2)
47569 LD H,(IY-1)
47572 LD (IX+5),L
47575 LD (IX+6),H
47578 PUSH IX
47580 PUSH IY
47582 POP IX
47584 CALL 41415
47587 POP IX
47589 LD A,L
47590 OR H
47591 JR Z,47605
47593 PUSH HL
47594 POP IY
47596 BIT 6,(IY+1)
47600 JR NZ,47566
47602 OR 1
47604 RET
47605 CALL 47610
47608 XOR A
47609 RET
47610 LD IY,40942
47614 PUSH IX
47616 POP DE
47617 CALL 41220
47620 LD L,(IX-2)
47623 LD H,(IX-1)
47626 LD (IY-2),L
47629 LD (IY-1),H
47632 JP 41415
47635 NOP
47636 NOP
47637 NOP
47638 NOP
47639 NOP
47640 NOP
47641 NOP
47642 NOP
47643 NOP
47644 NOP
47645 NOP
47646 NOP
47647 NOP
47648 LD A,(41014)
47651 LD HL,47719
47654 CP 3
47656 JR Z,47665
47658 LD HL,47975
47661 CP 2
47663 JR NZ,47668
47665 CALL 47678
47668 LD A,1
47670 POP HL
47671 POP IY
47673 POP IX
47675 AND A
47676 SCF
47677 RET
47678 PUSH IX
47680 XOR A
47681 LD (40939),A
47684 LD E,(IX+5)
47687 LD D,(IX+6)
47690 PUSH DE
47691 PUSH DE
47692 POP IY
47694 CALL 53723
47697 POP IX
47699 PUSH AF
47700 CALL 41391
47703 POP AF
47704 POP IX
47706 PUSH AF
47707 CALL 47610
47710 POP AF
47711 RET
47712 NOP
47713 NOP
47714 NOP
47715 NOP
47716 NOP
47717 NOP
47718 NOP
47719 LD (47712),A
47722 LD (47713),A
47725 CALL 48510
47728 JP C,48062
47731 JR Z,47782
47733 CALL 48459
47736 JR NZ,47749
47738 LD A,1
47740 CALL 47942
47743 LD (47717),IX
47747 JR 47787
47749 CALL 48465
47752 JR NZ,47773
47754 LD A,2
47756 BIT 5,(IX+3)
47760 JR NZ,47740
47762 CALL 53917
47765 CP 50
47767 LD A,3
47769 JR C,47740
47771 JR 47782
47773 CALL 53917
47776 CP 70
47778 LD A,4
47780 JR C,47740
47782 CALL 44713
47785 JR NZ,47725
47787 LD A,(47712)
47790 AND A
47791 JP Z,47935
47794 LD A,(47713)
47797 AND A
47798 JR Z,47894
47800 LD IX,40950
47804 CALL 41207
47807 JR Z,47861
47809 LD A,(47714)
47812 CP (IX+0)
47815 JR NZ,47804
47817 LD A,(47715)
47820 CP (IX+1)
47823 JR NZ,47804
47825 LD A,(47716)
47828 CP (IX+2)
47831 JR NZ,47804
47833 PUSH IY
47835 PUSH IX
47837 POP DE
47838 LD IY,40948
47842 CALL 41220
47845 LD A,(IX-2)
47848 LD (IY-2),A
47851 LD A,(IX-1)
47854 LD (IY-1),A
47857 POP IY
47859 JR 47866
47861 LD A,5
47863 CALL 41244
47866 LD A,(47714)
47869 LD HL,(47715)
47872 LD (IX+0),A
47875 LD (IX+1),L
47878 LD (IX+2),H
47881 LD HL,(40948)
47884 LD (40948),IX
47888 LD (IX-2),L
47891 LD (IX-1),H
47894 LD A,(47712)
47897 CP 1
47899 JR Z,47964
47901 CALL 53917
47904 CP 25
47906 JR C,47935
47908 LD IX,47714
47912 CALL 48390
47915 JR NZ,47935
47917 LD A,C
47918 PUSH BC
47919 CALL 42172
47922 POP AF
47923 PUSH HL
47924 CALL 42172
47927 PUSH HL
47928 LD HL,28514
47931 CALL 42399
47934 RET
47935 LD HL,28500
47938 CALL 42399
47941 RET
47942 PUSH AF
47943 LD A,1
47945 LD (47713),A
47948 POP AF
47949 LD (47712),A
47952 LD HL,47641
47955 LD DE,47714
47958 LD BC,3
47961 LDIR
47963 RET
47964 LD IX,(47717)
47968 LD L,(IX+3)
47971 LD H,(IX+4)
47974 JP (HL)
47975 LD (47645),A
47978 LD (47644),A
47981 CALL 48510
47984 JP C,48062
47987 CALL 48161
47990 JR Z,47996
47992 LD HL,47644
47995 INC (HL)
47996 CALL 44713
47999 JR NZ,47981
48001 LD A,(47644)
48004 AND A
48005 JR NZ,48014
48007 LD HL,29279
48010 CALL 42399
48013 RET
48014 LD A,(47645)
48017 AND A
48018 JR Z,48073
48020 LD IX,(47646)
48024 PUSH IX
48026 CALL 48730
48029 LD A,(IX+3)
48032 AND 192
48034 CP 128
48036 JR Z,48049
48038 BIT 3,(IX+3)
48042 JR NZ,48049
48044 CALL 48754
48047 JR 48029
48049 POP IX
48051 JR NZ,48068
48053 LD HL,29333
48056 PUSH IX
48058 CALL 42399
48061 RET
48062 LD HL,29251
48065 JP 42399
48068 LD HL,29350
48071 JR 48056
48073 CALL 48198
48076 CALL 48284
48079 LD A,B
48080 AND A
48081 JR NZ,48101
48083 CALL 48244
48086 AND A
48087 JR Z,48094
48089 LD HL,29373
48092 JR 48056
48094 LD HL,29310
48097 CALL 42399
48100 RET
This entry point is used by the routine at 40341.
48101 PUSH AF
48102 LD HL,26623
48105 CALL 42399
48108 POP AF
48109 CP 1
48111 LD HL,29398
48114 CALL NZ,42399
48117 BIT 4,(IX+3)
48121 JR Z,48154
48123 RES 1,(IX+3)
48127 PUSH IX
48129 LD HL,29409
48132 CALL 42399
48135 LD L,(IX+4)
48138 LD H,(IX+5)
48141 LD A,L
48142 OR H
48143 JP NZ,42399
48146 LD A,34
48148 CALL 43447
48151 JP 42004
48154 LD L,(IX+4)
48157 LD H,(IX+5)
48160 JP (HL)
48161 CALL 48465
48164 JR NZ,48175
48166 LD A,(IX+3)
48169 AND 192
48171 CP 128
48173 JR Z,48177
48175 XOR A
48176 RET
48177 LD (47646),IX
48181 CALL 48329
48184 JR Z,48195
48186 LD A,1
48188 LD (47645),A
48191 SET 0,(IX+3)
48195 OR 1
48197 RET
This entry point is used by the routine at 40341.
48198 LD IX,39269
48202 LD HL,0
48205 PUSH HL
48206 LD A,(IX+0)
48209 CP 255
48211 JR Z,48232
48213 BIT 0,(IX+3)
48217 JR Z,48227
48219 BIT 5,(IX+3)
48223 JR NZ,48227
48225 PUSH IX
48227 CALL 48730
48230 JR 48206
48232 POP HL
48233 LD A,H
48234 OR L
48235 RET Z
48236 PUSH HL
48237 POP IX
48239 CALL 48329
48242 JR 48232
This entry point is used by the routine at 40341.
48244 LD IX,39269
48248 LD B,0
48250 LD A,(IX+0)
48253 CP 255
48255 JR Z,48278
48257 BIT 0,(IX+3)
48261 JR Z,48273
48263 CALL 48329
48266 JR Z,48273
48268 LD (47646),IX
48272 INC B
48273 CALL 48730
48276 JR 48250
48278 LD A,B
48279 LD IX,(47646)
48283 RET
This entry point is used by the routine at 40341.
48284 LD IX,39269
48288 LD B,0
48290 LD A,(IX+0)
48293 CP 255
48295 JR Z,48324
48297 BIT 0,(IX+3)
48301 JR Z,48317
48303 CALL 48329
48306 JR NZ,48317
48308 LD A,B
48309 INC B
48310 AND A
48311 JR NZ,48317
48313 LD (47646),IX
48317 PUSH BC
48318 CALL 48754
48321 POP BC
48322 JR 48290
48324 LD IX,(47646)
48328 RET
48329 BIT 2,(IX+3)
48333 JR Z,48346
48335 PUSH IX
48337 PUSH BC
48338 CALL 48904
48341 POP BC
48342 POP IX
48344 JR Z,48387
48346 BIT 5,(IX+3)
48350 JR Z,48358
48352 SET 0,(IX+3)
48356 JR 48385
48358 SET 1,(IX+3)
48362 RES 0,(IX+3)
48366 BIT 4,(IX+3)
48370 JR Z,48385
48372 LD L,(IX+4)
48375 LD H,(IX+5)
48378 PUSH IX
48380 CALL 53723
48383 POP IX
48385 XOR A
48386 RET
48387 OR 1
48389 RET
48390 PUSH IY
48392 PUSH IX
48394 POP IY
48396 LD IX,40950
48400 CALL 41207
48403 JR Z,48454
48405 LD B,(IX+2)
48408 LD C,(IY+2)
48411 LD A,(IX+0)
48414 CP (IY+0)
48417 JR Z,48446
48419 LD C,(IY+0)
48422 CP (IY+2)
48425 JR Z,48446
48427 LD B,(IX+0)
48430 LD A,(IX+2)
48433 CP (IY+2)
48436 JR Z,48446
48438 LD C,(IY+2)
48441 CP (IY+0)
48444 JR NZ,48400
48446 LD A,B
48447 CP C
48448 JR Z,48400
48450 POP IY
48452 XOR A
48453 RET
48454 OR 1
48456 POP IY
48458 RET
48459 LD IX,39549
48463 JR 48469
48465 LD IX,39269
48469 LD A,(IX+0)
48472 CP 255
48474 JR Z,48486
48476 CALL 48489
48479 JR Z,48488
48481 CALL 48730
48484 JR 48469
48486 OR 1
48488 RET
48489 LD A,(47642)
48492 CP (IX+1)
48495 RET NZ
48496 LD A,(47641)
48499 CP (IX+0)
48502 RET NZ
48503 LD A,(47643)
48506 CP (IX+2)
48509 RET
48510 PUSH IY
48512 POP HL
48513 LD DE,24
48516 ADD HL,DE
48517 BIT 7,(IY+25)
48521 JR Z,48526
48523 LD HL,40950
48526 BIT 6,(IY+25)
48530 JR Z,48535
48532 LD HL,40956
48535 LD DE,45426
48538 LD BC,6
48541 LDIR
48543 PUSH IY
48545 POP HL
48546 LD DE,8
48549 ADD HL,DE
48550 LD DE,45432
48553 LD BC,6
48556 LDIR
48558 LD L,(IY+0)
48561 LD A,(IY+1)
48564 AND 15
48566 LD H,A
48567 LD (47639),HL
48570 PUSH IY
48572 CALL 48578
48575 POP IY
48577 RET
48578 CALL AdjustObjectTableForSum
48581 LD (47635),IX
48585 LD (47637),IX
48589 LD DE,(47639)
48593 LD HL,39245
48596 LD B,1
48598 LD A,(HL)
48599 INC HL
48600 OR (HL)
48601 DEC HL
48602 RET Z
48603 LD A,E
48604 CP (HL)
48605 JR NZ,48613
48607 INC HL
48608 LD A,D
48609 CP (HL)
48610 DEC HL
48611 JR Z,48618
48613 INC HL
48614 INC HL
48615 INC B
48616 JR 48598
48618 LD A,B
48619 LD (47642),A
48622 LD A,2
48624 LD (41016),A
48627 CALL 48700
48630 CP 255
48632 RET Z
48633 LD (47641),A
48636 CALL 48700
48639 CP 255
48641 JR NZ,48698
48643 LD A,(47641)
48646 CALL 48674
48649 CALL 48715
48652 CP 255
48654 RET Z
48655 LD (47643),A
48658 CALL 48715
48661 CP 255
48663 JR NZ,48698
48665 LD A,(47643)
48668 CALL 48674
48671 OR 1
48673 RET
48674 CALL 53815
48677 PUSH IX
48679 POP HL
48680 BIT 6,(IX+5)
48684 LD DE,40950
48687 JR NZ,48692
48689 LD DE,40956
48692 LD BC,6
48695 LDIR
48697 RET
48698 SCF
48699 RET
48700 LD IX,(47635)
48704 LD HL,45426
48707 CALL 54122
48710 LD (47635),IX
48714 RET
48715 LD IX,(47637)
48719 LD HL,45432
48722 CALL 54122
48725 LD (47637),IX
48729 RET
48730 PUSH AF
48731 LD DE,2
48734 ADD IX,DE
48736 ADD IX,DE
48738 BIT 5,(IX-1)
48742 JR NZ,48750
48744 BIT 4,(IX-1)
48748 JR Z,48752
48750 ADD IX,DE
48752 POP AF
48753 RET
48754 PUSH AF
48755 LD B,0
48757 LD C,(IX+3)
48760 CALL 48730
48763 BIT 3,C
48765 JR Z,48772
48767 LD A,B
48768 AND A
48769 JR Z,48772
48771 DEC B
48772 BIT 2,C
48774 JR Z,48779
48776 INC B
48777 JR 48757
48779 LD A,B
48780 AND A
48781 JR NZ,48757
48783 POP AF
48784 RET
48785 BIT 1,(IX+3)
48789 JR NZ,48754
48791 LD A,(IX+3)
48794 AND 192
48796 CP 0
48798 JR NZ,48845
48800 LD A,(IX+0)
48803 PUSH IX
48805 CALL 53815
48808 BIT 7,(IX+6)
48812 POP IX
48814 JR Z,48754
48816 LD A,(IX+2)
48819 PUSH IX
48821 CALL 53815
48824 BIT 7,(IX+6)
48828 POP IX
48830 JR Z,48754
48832 SET 1,(IX+3)
48836 RES 0,(IX+3)
48840 OR 1
48842 JP 48754
48845 CP 128
48847 JR Z,48754
48849 CP 64
48851 JR NZ,48886
48853 LD A,(IX+0)
48856 PUSH IX
48858 CALL 53815
48861 BIT 6,(IX+6)
48865 POP IX
48867 JR Z,48754
48869 LD A,(IX+2)
48872 PUSH IX
48874 CALL 53815
48877 BIT 6,(IX+6)
48881 POP IX
48883 JP Z,48754
48886 BIT 2,(IX+3)
48890 JR Z,48832
48892 PUSH IX
48894 CALL 48904
48897 POP IX
48899 JR NZ,48832
48901 JP 48754
48904 CALL 48730
48907 BIT 3,(IX+3)
48911 PUSH AF
48912 CALL 48785
48915 JR NZ,48920
48917 POP AF
48918 XOR A
48919 RET
48920 POP AF
48921 JR Z,48907
48923 RET
This entry point is used by the routine at 42769.
48924 LD A,(IX+0)
48927 CALL 42172
48930 PUSH HL
48931 POP IY
48933 CALL 54248
48936 CALL 48965
48939 JR Z,48957
48941 CALL 43143
48944 LD A,(IX+2)
48947 CALL 42172
48950 PUSH HL
48951 POP IY
48953 CALL 54248
48956 RET
48957 LD DE,93
48960 CALL 43143
48963 JR 48944
48965 LD A,(IX+1)
48968 AND A
48969 RET Z
48970 DEC A
48971 LD E,A
48972 LD D,0
48974 LD HL,39245
48977 ADD HL,DE
48978 ADD HL,DE
48979 LD E,(HL)
48980 INC HL
48981 LD D,(HL)
48982 OR 1
48984 RET
Prev: 46974 Up: Map Next: 48985