38670: Routine at 970E
38670 |
LD HL,24158 |
38673 |
INC (HL) |
38674 |
BIT 0,(IX+8) |
38678 |
JP NZ,38900 |
38681 |
LD A,(24752) |
38684 |
AND A |
38685 |
JR NZ,38732 |
38687 |
LD H,(IX+3) |
38690 |
LD L,(IX+2) |
38693 |
LD DE,(24746) |
38697 |
LD BC,8 |
38700 |
ADD HL,BC |
38701 |
SBC HL,DE |
38703 |
LD A,H |
38704 |
AND 31 |
38706 |
JR NZ,38732 |
38708 |
LD A,L |
38709 |
CP 16 |
38711 |
JR NC,38732 |
38713 |
LD A,(24748) |
38716 |
SUB (IX+4) |
38719 |
CP 16 |
38721 |
JR NC,38732 |
38723 |
SET 0,(IX+8) |
38727 |
LD HL,24752 |
38730 |
SET 0,(HL) |
38732 |
CALL 39044 |
38735 |
JR NZ,38753 |
38737 |
LD DE,(24746) |
38741 |
LD (IX+3),D |
38744 |
LD (IX+2),E |
38747 |
LD A,(24748) |
38750 |
LD (IX+4),A |
38753 |
LD A,(IX+6) |
38756 |
AND A |
38757 |
JP M,38764 |
38760 |
CP 48 |
38762 |
JR NC,38769 |
38764 |
ADD A,2 |
38766 |
LD (IX+6),A |
38769 |
SRA A |
38771 |
SRA A |
38773 |
SRA A |
38775 |
SRA A |
38777 |
ADD A,(IX+4) |
38780 |
CP 176 |
38782 |
JR NC,38886 |
38784 |
LD (IX+4),A |
38787 |
LD H,(IX+3) |
38790 |
LD L,(IX+2) |
38793 |
PUSH HL |
38794 |
LD DE,(24698) |
38798 |
SBC HL,DE |
38800 |
LD C,0 |
38802 |
LD A,H |
38803 |
AND 31 |
38805 |
JR Z,38824 |
38807 |
OR 224 |
38809 |
CPL |
38810 |
AND A |
38811 |
JR Z,38824 |
38813 |
BIT 4,H |
38815 |
LD A,48 |
38817 |
JR NZ,38821 |
38819 |
LD A,208 |
38821 |
LD (IX+5),A |
38824 |
POP HL |
38825 |
BIT 0,(IX+8) |
38829 |
JP Z,38849 |
38832 |
LD (24746),HL |
38835 |
LD A,(IX+4) |
38838 |
ADD A,26 |
38840 |
CP 176 |
38842 |
JR C,38846 |
38844 |
LD A,175 |
38846 |
LD (24748),A |
38849 |
INC (IX+17) |
38852 |
LD A,(IX+17) |
38855 |
AND 7 |
38857 |
ADD A,64 |
38859 |
LD (IX+0),A |
38862 |
BIT 0,(IX+16) |
38866 |
JR Z,38879 |
38868 |
BIT 0,(IX+8) |
38872 |
JR Z,38879 |
38874 |
LD A,128 |
38876 |
LD (24752),A |
38879 |
LD (IX+7),69 |
38883 |
JP 38219 |
38886 |
LD A,(IX+6) |
38889 |
AND A |
38890 |
JP M,38784 |
38893 |
NEG |
38895 |
LD (IX+6),A |
38898 |
JR 38787 |
38900 |
INC (IX+17) |
38903 |
LD A,(IX+4) |
38906 |
CP 112 |
38908 |
LD A,(IX+6) |
38911 |
JR NC,39002 |
38913 |
AND A |
38914 |
JP M,38921 |
38917 |
CP 48 |
38919 |
JR NC,38923 |
38921 |
ADD A,2 |
38923 |
LD (IX+6),A |
38926 |
SRA A |
38928 |
SRA A |
38930 |
SRA A |
38932 |
SRA A |
38934 |
ADD A,(IX+4) |
38937 |
CP 176 |
38939 |
JR C,38943 |
38941 |
LD A,175 |
38943 |
LD (IX+4),A |
38946 |
LD A,(24128) |
38949 |
LD C,A |
38950 |
AND A |
38951 |
JR Z,39026 |
38953 |
AND 127 |
38955 |
JR NZ,38970 |
38957 |
LD A,C |
38958 |
AND 128 |
38960 |
LD C,A |
38961 |
LD A,(IX+8) |
38964 |
AND 127 |
38966 |
OR C |
38967 |
LD (IX+8),A |
38970 |
BIT 7,(IX+8) |
38974 |
LD A,(IX+5) |
38977 |
JR NZ,39014 |
38979 |
AND A |
38980 |
JP M,38987 |
38983 |
CP 48 |
38985 |
JR NC,38989 |
38987 |
ADD A,2 |
38989 |
LD (IX+5),A |
38992 |
LD H,(IX+3) |
38995 |
LD L,(IX+2) |
38998 |
PUSH HL |
38999 |
JP 38824 |
39002 |
AND A |
39003 |
JP P,39010 |
39006 |
CP 209 |
39008 |
JR C,38923 |
39010 |
SUB 2 |
39012 |
JR 38923 |
39014 |
AND A |
39015 |
JP P,39022 |
39018 |
CP 209 |
39020 |
JR C,38989 |
39022 |
SUB 2 |
39024 |
JR 38989 |
39026 |
CALL 37307 |
39029 |
LD A,D |
39030 |
AND A |
39031 |
JR Z,38970 |
39033 |
LD A,128 |
39035 |
LD (24752),A |
39038 |
LD (IX+8),0 |
39042 |
JR 38992 |
39044 |
LD H,(IX+3) |
39047 |
LD L,(IX+2) |
39050 |
LD DE,(24770) |
39054 |
LD BC,8 |
39057 |
ADD HL,BC |
39058 |
SBC HL,DE |
39060 |
LD A,H |
39061 |
AND 31 |
39063 |
JR NZ,39082 |
39065 |
LD A,L |
39066 |
CP 16 |
39068 |
JR NC,39082 |
39070 |
LD A,(24772) |
39073 |
SUB (IX+4) |
39076 |
CP 16 |
39078 |
JR NC,39082 |
39080 |
XOR A |
39081 |
RET |
39082 |
LD A,1 |
39084 |
AND A |
39085 |
RET |
39086 |
LD H,(IX+3) |
39089 |
LD L,(IX+2) |
39092 |
LD DE,(24698) |
39096 |
AND A |
39097 |
SBC HL,DE |
39099 |
LD DE,120 |
39102 |
ADD HL,DE |
39103 |
LD A,H |
39104 |
AND 31 |
39106 |
RET NZ |
39107 |
EX DE,HL |
39108 |
LD A,(24698) |
39111 |
AND 7 |
39113 |
LD B,A |
39114 |
LD A,0 |
39116 |
LD HL,255 |
39119 |
JR Z,39125 |
39121 |
ADD HL,HL |
39122 |
RLA |
39123 |
DJNZ 39121 |
39125 |
EX DE,HL |
39126 |
LD C,A |
39127 |
LD A,(24698) |
39130 |
RRA |
39131 |
RRA |
39132 |
RRA |
39133 |
AND 31 |
39135 |
LD L,A |
39136 |
LD A,(IX+2) |
39139 |
RRA |
39140 |
RRA |
39141 |
RRA |
39142 |
AND 31 |
39144 |
SUB L |
39145 |
ADD A,14 |
39147 |
AND 31 |
39149 |
LD HL,20672 |
39152 |
ADD A,L |
39153 |
LD L,A |
39154 |
LD B,8 |
39156 |
PUSH HL |
39157 |
LD A,E |
39158 |
AND (HL) |
39159 |
LD (HL),A |
39160 |
INC L |
39161 |
LD A,C |
39162 |
AND (HL) |
39163 |
LD (HL),A |
39164 |
INC L |
39165 |
LD A,D |
39166 |
AND (HL) |
39167 |
LD (HL),A |
39168 |
POP HL |
39169 |
INC H |
39170 |
DJNZ 39156 |
39172 |
XOR A |
39173 |
RET |
39174 |
LD H,(IX+3) |
39177 |
LD L,(IX+2) |
39180 |
LD DE,(24698) |
39184 |
AND A |
39185 |
SBC HL,DE |
39187 |
BIT 7,(IX+5) |
39191 |
JR NZ,39216 |
39193 |
LD A,H |
39194 |
AND 31 |
39196 |
CP 1 |
39198 |
JR Z,39223 |
39200 |
INC (IX+17) |
39203 |
LD A,(IX+17) |
39206 |
AND 7 |
39208 |
ADD A,136 |
39210 |
LD (IX+0),A |
39213 |
JP 38219 |
39216 |
LD A,H |
39217 |
OR 224 |
39219 |
CP 254 |
39221 |
JR NZ,39200 |
39223 |
LD (IX+0),0 |
39227 |
RET |
39228 |
LD H,(IX+3) |
39231 |
LD L,(IX+2) |
39234 |
LD DE,(24698) |
39238 |
AND A |
39239 |
SBC HL,DE |
39241 |
LD C,0 |
39243 |
LD A,H |
39244 |
AND 31 |
39246 |
JR Z,39265 |
39248 |
OR 224 |
39250 |
CPL |
39251 |
AND A |
39252 |
JR Z,39265 |
39254 |
BIT 4,H |
39256 |
LD A,48 |
39258 |
JR NZ,39262 |
39260 |
LD A,208 |
39262 |
LD (IX+5),A |
39265 |
LD A,(IX+4) |
39268 |
ADD A,(IX+6) |
39271 |
CP 56 |
39273 |
JR C,39304 |
39275 |
CP 176 |
39277 |
JR NC,39310 |
39279 |
LD (IX+4),A |
39282 |
INC (IX+17) |
39285 |
LD A,(IX+17) |
39288 |
CP 6 |
39290 |
JR C,39296 |
39292 |
XOR A |
39293 |
LD (IX+17),A |
39296 |
ADD A,168 |
39298 |
LD (IX+0),A |
39301 |
JP 38219 |
39304 |
LD (IX+6),3 |
39308 |
JR 39282 |
39310 |
LD (IX+6),253 |
39314 |
JR 39282 |
39316 |
LD A,(IX+18) |
39319 |
AND A |
39320 |
JP P,39327 |
39323 |
LD A,2 |
39325 |
JR 39329 |
39327 |
LD A,254 |
39329 |
ADD A,(IX+19) |
39332 |
LD (IX+19),A |
39335 |
ADD A,(IX+18) |
39338 |
LD (IX+18),A |
39341 |
LD A,(IX+20) |
39344 |
AND A |
39345 |
JP P,39352 |
39348 |
LD A,2 |
39350 |
JR 39354 |
39352 |
LD A,254 |
39354 |
ADD A,(IX+21) |
39357 |
LD (IX+21),A |
39360 |
ADD A,(IX+20) |
39363 |
LD (IX+20),A |
39366 |
ADD A,(IX+6) |
39369 |
SRA A |
39371 |
SRA A |
39373 |
SRA A |
39375 |
SRA A |
39377 |
ADD A,(IX+4) |
39380 |
CP 58 |
39382 |
JR C,39459 |
39384 |
CP 176 |
39386 |
JR NC,39465 |
39388 |
LD (IX+4),A |
39391 |
LD H,(IX+3) |
39394 |
LD L,(IX+2) |
39397 |
LD DE,(24698) |
39401 |
AND A |
39402 |
SBC HL,DE |
39404 |
LD C,0 |
39406 |
LD A,H |
39407 |
AND 31 |
39409 |
JR Z,39428 |
39411 |
OR 224 |
39413 |
CPL |
39414 |
AND A |
39415 |
JR Z,39428 |
39417 |
BIT 4,H |
39419 |
LD A,32 |
39421 |
JR NZ,39425 |
39423 |
LD A,224 |
39425 |
LD (IX+22),A |
39428 |
LD A,(IX+22) |
39431 |
ADD A,(IX+18) |
39434 |
LD (IX+5),A |
39437 |
INC (IX+17) |
39440 |
LD A,(IX+17) |
39443 |
CP 6 |
39445 |
JR C,39451 |
39447 |
XOR A |
39448 |
LD (IX+17),A |
39451 |
ADD A,176 |
39453 |
LD (IX+0),A |
39456 |
JP 38219 |
39459 |
LD (IX+6),32 |
39463 |
JR 39391 |
39465 |
LD (IX+6),224 |
39469 |
JR 39391 |
39471 |
LD HL,24158 |
39474 |
INC (HL) |
39475 |
LD H,(IX+3) |
39478 |
LD L,(IX+2) |
39481 |
LD DE,(24698) |
39485 |
AND A |
39486 |
SBC HL,DE |
39488 |
BIT 4,H |
39490 |
JP NZ,39595 |
39493 |
LD C,0 |
39495 |
LD A,(IX+5) |
39498 |
AND A |
39499 |
JP P,39506 |
39502 |
CP 177 |
39504 |
JR C,39508 |
39506 |
SUB 2 |
39508 |
LD (IX+5),A |
39511 |
LD A,(24696) |
39514 |
CP 17 |
39516 |
JR C,39522 |
39518 |
LD A,104 |
39520 |
JR 39525 |
39522 |
LD A,(24700) |
39525 |
SUB (IX+4) |
39528 |
JP M,39612 |
39531 |
LD A,(IX+6) |
39534 |
AND A |
39535 |
JP M,39542 |
39538 |
CP 64 |
39540 |
JR NC,39544 |
39542 |
ADD A,2 |
39544 |
LD (IX+6),A |
39547 |
SRA A |
39549 |
SRA A |
39551 |
SRA A |
39553 |
SRA A |
39555 |
ADD A,(IX+4) |
39558 |
CP 56 |
39560 |
JR C,39627 |
39562 |
CP 176 |
39564 |
JR NC,39641 |
39566 |
LD (IX+4),A |
39569 |
INC (IX+17) |
39572 |
LD A,(IX+17) |
39575 |
AND 15 |
39577 |
ADD A,204 |
39579 |
LD (IX+0),A |
39582 |
LD A,(24130) |
39585 |
AND 1 |
39587 |
ADD A,69 |
39589 |
LD (IX+7),A |
39592 |
JP 38219 |
39595 |
LD C,128 |
39597 |
LD A,(IX+5) |
39600 |
AND A |
39601 |
JP M,39608 |
39604 |
CP 80 |
39606 |
JR NC,39508 |
39608 |
ADD A,2 |
39610 |
JR 39508 |
39612 |
LD A,(IX+6) |
39615 |
AND A |
39616 |
JP P,39623 |
39619 |
CP 193 |
39621 |
JR C,39544 |
39623 |
SUB 2 |
39625 |
JR 39544 |
39627 |
LD A,(IX+6) |
39630 |
AND A |
39631 |
JP P,39569 |
39634 |
NEG |
39636 |
LD (IX+6),A |
39639 |
JR 39569 |
39641 |
LD A,(IX+6) |
39644 |
AND A |
39645 |
JP M,39569 |
39648 |
JR 39634 |
39650 |
LD H,(IX+3) |
39653 |
LD L,(IX+2) |
39656 |
PUSH HL |
39657 |
LD DE,(24698) |
39661 |
AND A |
39662 |
SBC HL,DE |
39664 |
BIT 7,(IX+5) |
39668 |
JP NZ,39838 |
39671 |
LD A,H |
39672 |
AND 31 |
39674 |
CP 1 |
39676 |
JP Z,39846 |
39679 |
LD DE,120 |
39682 |
ADD HL,DE |
39683 |
LD A,H |
39684 |
POP DE |
39685 |
AND A |
39686 |
JR NZ,39769 |
39688 |
PUSH DE |
39689 |
LD A,(IX+1) |
39692 |
XOR (IX+5) |
39695 |
AND 128 |
39697 |
JR Z,39716 |
39699 |
LD A,(IX+5) |
39702 |
AND A |
39703 |
JP M,39712 |
39706 |
LD (IX+5),80 |
39710 |
JR 39716 |
39712 |
LD (IX+5),176 |
39716 |
CALL FindSlotAlien |
39719 |
POP DE |
39720 |
JR NZ,39769 |
39722 |
LD (HL),182 |
39724 |
BIT 7,(IX+5) |
39728 |
JR NZ,39732 |
39730 |
LD (HL),183 |
39732 |
INC HL |
39733 |
INC HL |
39734 |
LD (HL),E |
39735 |
INC HL |
39736 |
LD (HL),D |
39737 |
INC HL |
39738 |
LD A,(IX+4) |
39741 |
LD (HL),A |
39742 |
INC HL |
39743 |
LD A,(IX+5) |
39746 |
AND A |
39747 |
JP M,39754 |
39750 |
LD (HL),112 |
39752 |
JR 39756 |
39754 |
LD (HL),144 |
39756 |
INC HL |
39757 |
LD (HL),0 |
39759 |
INC HL |
39760 |
LD (HL),71 |
39762 |
LD B,15 |
39764 |
INC HL |
39765 |
LD (HL),0 |
39767 |
DJNZ 39764 |
39769 |
LD A,(24700) |
39772 |
SUB (IX+4) |
39775 |
JP P,39852 |
39778 |
LD A,(IX+6) |
39781 |
AND A |
39782 |
JP P,39789 |
39785 |
CP 239 |
39787 |
JR C,39791 |
39789 |
SUB 2 |
39791 |
LD (IX+6),A |
39794 |
SRA A |
39796 |
SRA A |
39798 |
SRA A |
39800 |
SRA A |
39802 |
ADD A,(IX+4) |
39805 |
CP 56 |
39807 |
JR C,39816 |
39809 |
CP 176 |
39811 |
JR NC,39816 |
39813 |
LD (IX+4),A |
39816 |
INC (IX+17) |
39819 |
LD A,(IX+17) |
39822 |
CP 7 |
39824 |
JR C,39830 |
39826 |
XOR A |
39827 |
LD (IX+17),A |
39830 |
ADD A,184 |
39832 |
LD (IX+0),A |
39835 |
JP 38219 |
39838 |
LD A,H |
39839 |
OR 224 |
39841 |
CP 254 |
39843 |
JP NZ,39679 |
39846 |
LD (IX+0),0 |
39850 |
POP HL |
39851 |
RET |
39852 |
LD A,(IX+6) |
39855 |
AND A |
39856 |
JP M,39863 |
39859 |
CP 32 |
39861 |
JR NC,39791 |
39863 |
ADD A,2 |
39865 |
JR 39791 |
39867 |
LD H,(IX+3) |
39870 |
LD L,(IX+2) |
39873 |
LD DE,(24698) |
39877 |
AND A |
39878 |
SBC HL,DE |
39880 |
BIT 7,(IX+5) |
39884 |
JR NZ,39959 |
39886 |
LD A,H |
39887 |
AND 31 |
39889 |
CP 1 |
39891 |
JR Z,39966 |
39893 |
LD H,(IX+3) |
39896 |
LD L,(IX+2) |
39899 |
LD A,(IX+5) |
39902 |
LD D,0 |
39904 |
SRA A |
39906 |
SRA A |
39908 |
SRA A |
39910 |
SRA A |
39912 |
JP P,39917 |
39915 |
LD D,255 |
39917 |
LD E,A |
39918 |
ADD HL,DE |
39919 |
LD A,H |
39920 |
AND 31 |
39922 |
LD (IX+3),A |
39925 |
LD (IX+2),L |
39928 |
CALL 35699 |
39931 |
CALL 34611 |
39934 |
BIT 0,(IX+16) |
39938 |
JR Z,39949 |
39940 |
LD BC,80 |
39943 |
CALL AddPointsToScore |
39946 |
CALL 42812 |
39949 |
CALL 45730 |
39952 |
RET NC |
39953 |
CALL 42812 |
39956 |
JP 45783 |
39959 |
LD A,H |
39960 |
OR 224 |
39962 |
CP 254 |
39964 |
JR NZ,39893 |
39966 |
LD (IX+0),0 |
39970 |
RET |