SPRITBL lea SPRPTR,a0 Sprite 5,6,7 DMA lea NSPR,a1 access stolen by move.l a1,d0 BitMap!!! move.w d0,6(a0) swap d0 move.w d0,2(a0) swap d0 move.w d0,14(a0) swap d0 move.w d0,10(a0) swap d0 move.w d0,22(a0) swap d0 move.w d0,18(a0) swap d0 move.w d0,30(a0) swap d0 move.w d0,26(a0) swap d0 move.w d0,38(a0) swap d0 move.w d0,34(a0) swap d0 move.w d0,46(a0) swap d0 move.w d0,42(a0) swap d0 move.w d0,54(a0) swap d0 move.w d0,50(a0) swap d0 move.w d0,42(a0) swap d0 move.w d0,46(a0) rts TYPETBL lea JmpTable,a0 lea TYPE0,a1 move.l a1,(a0)+ lea TYPE1,a1 move.l a1,(a0)+ lea TYPE2,a1 move.l a1,(a0)+ lea TYPE3,a1 move.l a1,(a0)+ lea TYPE4,a1 move.l a1,(a0)+ lea TYPE5,a1 move.l a1,(a0)+ lea TYPE6,a1 move.l a1,(a0)+ lea TYPE7,a1 move.l a1,(a0)+ lea TYPE8,a1 move.l a1,(a0)+ lea TYPE9,a1 move.l a1,(a0)+ lea TYPE10,a1 move.l a1,(a0)+ lea TYPE11,a1 move.l a1,(a0)+ lea TYPE12,a1 move.l a1,(a0)+ lea TYPE13,a1 move.l a1,(a0)+ lea TYPE14,a1 move.l a1,(a0)+ lea TYPE15,a1 move.l a1,(a0)+ lea TYPE16,a1 move.l a1,(a0)+ lea TYPE17,a1 move.l a1,(a0)+ lea TYPE18,a1 move.l a1,(a0)+ lea TYPE19,a1 move.l a1,(a0)+ lea TYPE20,a1 move.l a1,(a0)+ lea TYPE21,a1 move.l a1,(a0)+ lea TYPE22,a1 move.l a1,(a0)+ lea TYPE23,a1 move.l a1,(a0)+ lea TYPE24,a1 move.l a1,(a0)+ lea TYPE25,a1 move.l a1,(a0)+ lea TYPE26,a1 move.l a1,(a0)+ lea TYPE27,a1 move.l a1,(a0)+ lea TYPE28,a1 move.l a1,(a0)+ lea TYPE29,a1 move.l a1,(a0)+ lea TYPE30,a1 move.l a1,(a0)+ lea TYPE31,a1 move.l a1,(a0)+ lea TYPE32,a1 move.l a1,(a0)+ lea TYPE33,a1 move.l a1,(a0)+ lea TYPE34,a1 move.l a1,(a0)+ lea TYPE35,a1 move.l a1,(a0)+ lea TYPE36,a1 move.l a1,(a0)+ lea TYPE37,a1 move.l a1,(a0)+ lea TYPE38,a1 move.l a1,(a0)+ lea TYPE39,a1 move.l a1,(a0)+ lea TYPE40,a1 move.l a1,(a0)+ lea TYPE41,a1 move.l a1,(a0)+ lea TYPE42,a1 move.l a1,(a0)+ lea TYPE43,a1 move.l a1,(a0)+ lea TYPE44,a1 move.l a1,(a0)+ lea TYPE45,a1 move.l a1,(a0)+ lea TYPE46,a1 move.l a1,(a0)+ lea TYPE47,a1 move.l a1,(a0)+ lea TYPE48,a1 move.l a1,(a0)+ lea TYPE49,a1 move.l a1,(a0)+ lea TYPE50,a1 move.l a1,(a0)+ rts MISSTBL lea MissTbl,a0 lea t23d1,a1 move.l a1,(a0)+ move.l a1,(a0)+ lea t23d2,a1 move.l a1,(a0)+ lea t23d3,a1 move.l a1,(a0)+ lea t23d4,a1 move.l a1,(a0)+ lea t23d5,a1 move.l a1,(a0)+ lea t23d6,a1 move.l a1,(a0)+ lea t23d7,a1 move.l a1,(a0)+ lea t23d8,a1 move.l a1,(a0)+ rts *************************************************************************** TYPE0 rts TYPE1 sub.w d7,(a1) Dripping Blood cmp.w #16,(a1) bmi exit t1ok move.w 4(a1),d0 cmp.w #652,d0 beq drop sub.b #1,11(a1) bpl bye add.w #2,4(a1) move.b #2,11(a1) bra bye drop move.b 10(a1),d0 Y Speed add.b d0,3(a1) cmp.w #216,2(a1) bge dover sub.b #1,11(a1) bpl bye move.b #5,11(a1) add.b #1,10(a1) bra bye dover move.w 12(a1),d0 move.w d0,2(a1) move.w #646,4(a1) move.b #0,10(a1) move.w #$4,$DFF096 * Drip Sound move.l AudDrip,Aud2Snd | move.l #$014D0175,$DFF0C4 | move.w #4,Aud2Del * bye rts exit move.l #0,(a1) rts *************************************************************************** TYPE2 move.b 11(a1),d0 Red Horned Round Monster add.b d0,3(a1) sub.w #2,(a1) bmi exit ty2 cmp.b #0,8(a1) beq ty7 move.w #1280,4(a1) move.w #6,8(a1) move.w #3,10(a1) rts ty7 cmp.w #3,2(a1) bgt ty6 neg.b 11(a1) bra ty5 ty6 cmp.w #212,2(a1) blt ty5 neg.b 11(a1) ty5 sub.b #1,10(a1) bpl ty3 move.b #7,10(a1) move.w 2(a1),d1 move.w PlayerY,d0 cmp.w d1,d0 bge ad1 sub.b #1,11(a1) cmp.b #-3,11(a1) bge ty4 move.b #-3,11(a1) bra ty4 ad1 add.b #1,11(a1) cmp.b #3,11(a1) ble ty4 move.b #3,11(a1) ty4 add.w #1,4(a1) cmp.w #646,4(a1) blt ty3 move.w #640,4(a1) ty3 rts *************************************************************************** TYPE3 sub.w #2,(a1) Red Ship (no fire) bmi exit cmp.b #2,8(a1) blt tp4 move.w #2582,4(a1) move.w #12,8(a1) move.w #-2,10(a1) move.w #2,12(a1) move.w #$2,$DFF096 * Boom Sound move.l AudBoom,Aud1Snd | move.l #$0D0C0182,$DFF0B4 | move.w #35,Aud1Del * move.l (a1),240(a1) move.w #1296,244(a1) move.w #18,248(a1) rts tp4 sub.w #1,10(a1) bpl bye move.w #4,10(a1) add.w #2,4(a1) cmp.w #662,4(a1) blt bye move.w #656,4(a1) rts *************************************************************************** TYPE4 sub.w #2,(a1) Red Ship (Fires) bmi exit tq2 cmp.b #2,8(a1) blt tq4 move.w #2582,4(a1) move.w #12,8(a1) move.w #-2,10(a1) move.w #2,12(a1) move.w #$2,$DFF096 * Boom Sound move.l AudBoom,Aud1Snd | move.l #$0D0C0182,$DFF0B4 | move.w #35,Aud1Del * move.l (a1),240(a1) move.w #1296,244(a1) move.w #18,248(a1) rts tq4 cmp.w #222,(a1) bne tq5 cmp.w #112,2(a1) bge tq9 move.w #1,10(a1) bra tq6 tq9 move.w #-1,10(a1) tq6 move.l (a1),240(a1) move.w #654,244(a1) move.w #5,248(a1) lea ZapSd,a4 move.l a4,$DFF0C0 move.w #530,$DFF0C4 move.w #64,$DFF0C8 move.w #544,$DFF0C6 move.w #$8204,$DFF096 move.w #5,Aud2Del tq5 move.w 10(a1),d0 add.w d0,2(a1) sub.w #1,12(a1) bpl bye move.w #5,12(a1) add.w #2,4(a1) cmp.w #1314,4(a1) blt tq3 move.w #1308,4(a1) tq3 rts *************************************************************************** TYPE5 sub.w #6,(a1) Fire (Red Ship) bmi exit tw4 rts *************************************************************************** TYPE6 sub.w d7,(a1) bmi exit sub.w #1,10(a1) RHRM Dead bpl bye move.w #3,10(a1) t6ok cmp.w #1286,4(a1) bge exit tb6 add.w #2,4(a1) rts *************************************************************************** TYPE7 sub.w d7,(a1) Smoke Cloud bmi exit sub.w #1,10(a1) bpl bye move.w #3,10(a1) add.w #2,4(a1) cmp.w #4500,4(a1) ble bye jmp exit *************************************************************************** TYPE8 sub.w d7,(a1) Floating Cannon bmi exit sub.b #1,11(a1) bpl t8o0 move.b #125,11(a1) move.l (a1),240(a1) move.w #666,244(a1) move.w #10,248(a1) move.w #-3,252(a1) move.w #-2,254(a1) move.w #$4,$DFF096 * Bumf Sound move.l AudBumf,Aud2Snd | move.l #$04440200,$DFF0C4 | move.w #7,Aud2Del * t8o0 cmp.b #2,8(a1) blt t8o1 move.w #676,4(a1) move.w #-1,16(a1) move.w #5,12(a1) move.w #9,8(a1) rts t8o1 sub.w #1,14(a1) bpl t8o2 move.w 16(a1),d0 add.w d0,2(a1) move.w #4,14(a1) add.w #2,4(a1) cmp.w #1294,4(a1) blt t8o9 move.w #1288,4(a1) t8o2 sub.b #1,10(a1) bpl t8o9 move.b #12,10(a1) move.w 12(a1),d0 add.w d0,16(a1) cmp.w #0,d0 blt t8o4 cmp.w #2,16(a1) blt t8o9 neg.w 12(a1) rts t8o4 cmp.w #-2,16(a1) bgt t8o9 neg.w 12(a1) t8o9 rts *************************************************************************** TYPE9 sub.w #1,(a1) Floating Cannon's Death bmi exit cmp.b #4,8(a1) blt t9o0 move.w #1296,4(a1) move.w #18,8(a1) move.w #3,10(a1) move.w #$2,$DFF096 * Expl Sound move.l AudExpl,Aud1Snd | move.l #$23040150,$DFF0B4 | move.w #80,Aud1Del * rts t9o0 sub.w #1,12(a1) bpl t9o2 cmp.w #678,4(a1) beq t9o1 move.w #678,4(a1) t9o1 move.w #8,12(a1) add.w #1,16(a1) t9o2 move.w 16(a1),d0 add.w d0,2(a1) cmp.w #216,2(a1) bge exit rts *************************************************************************** TYPE10 move.w 14(a1),d0 add.w d0,(a1) Cannon Ball bmi exit move.w 12(a1),d0 add.w d0,2(a1) cmp.w #216,2(a1) bge exit sub.w #1,10(a1) bpl tAo2 move.w #8,10(a1) add.w #1,12(a1) tAo2 rts *************************************************************************** TYPE11 sub.w d7,(a1) Tree bmi exit cmp.b #2,8(a1) blt bye cmp.w #1934,4(a1) bgt t11o1 add.w #2,4(a1) move.b #0,8(a1) rts t11o1 move.w #$2,$DFF096 * crhh Sound move.l AudExpl,Aud1Snd | move.l #$04660122,$DFF0B4 | move.w #20,Aud1Del * move.l (a1),240(a1) move.w #4490,244(a1) move.w #7,248(a1) move.w #2,250(a1) cmp.w #6,ObjOff bgt t11o2 move.w #4486,4(a1) move.w #41,8(a1) move.w #-2,10(a1) move.w #10,12(a1) rts t11o2 cmp.w #11,ObjOff bgt t11o3 move.w #4488,4(a1) move.w #41,8(a1) move.w #-2,10(a1) move.w #10,12(a1) rts t11o3 move.w #3222,4(a1) move.w #28,8(a1) move.w #-2,10(a1) move.w #-2,12(a1) rts ************************************************************************** TYPE12 sub.w d7,(a1) Coin bmi exit cmp.w #216,2(a1) bgt exit add.w #1,12(a1) cmp.w #9,12(a1) ble t12a move.w #0,12(a1) add.w #1,10(a1) add.w #2,4(a1) cmp.w #2590,4(a1) blt t12a move.w #2582,4(a1) t12a move.w 10(a1),d0 cmp.w #3,d0 ble t12 move.w #3,d0 t12 add.w d0,2(a1) move.w PlayerX,d0 move.w PlayerY,d1 move.w (a1),d2 move.w 2(a1),d3 sub.w d2,d0 bpl t12b neg d0 t12b sub.w d3,d1 bpl t12c neg d1 t12c add.w d0,d1 cmp.w #14,d1 bgt bye move.w #$2,$DFF096 * Whia Sound move.l AudWhia,Aud1Snd | move.l #$04660222,$DFF0B4 | move.w #20,Aud1Del * add.w #5,Money jmp exit ************************************************************************** TYPE13 sub.w d7,(a1) Tentacle bmi exit rts ************************************************************************** TYPE14 sub.w d7,(a1) Ground Cannon bmi exit sub.w #1,10(a1) bpl t14o0 move.w #125,10(a1) move.l (a1),240(a1) move.w #666,244(a1) move.w #10,248(a1) move.w #-4,252(a1) move.w #-3,254(a1) move.w #$4,$DFF096 * Bumf Sound move.l AudBumf,Aud2Snd | move.l #$04440160,$DFF0C4 | move.w #5,Aud2Del * t14o0 cmp.w #124,10(a1) bne t14o move.w #662,4(a1) t14o cmp.b #4,8(a1) blt t14o1 move.w #$2,$DFF096 * Expl Sound move.l AudExpl,Aud1Snd | move.l #$23040150,$DFF0B4 | move.w #80,Aud1Del * move.w #1296,4(a1) move.w #18,8(a1) move.w #0,10(a1) rts t14o1 cmp.w #1,10(a1) bgt bye move.w #664,4(a1) rts *************************************************************************** TYPE15 sub.w #1,10(a1) Prep Warp bpl bye jmp exit *************************************************************************** TYPE16 cmp.b #0,8(a1) bne Fish sub.w d7,(a1) bmi exit sub.w #1,14(a1) Flying Fish bpl bye sub.w #1,(a1) bmi exit add.w #1,12(a1) move.l #0,d0 move.w 12(a1),d0 ext.l d0 divs #6,d0 cmp.w #0,d0 blt up bgt dn move.w #3210,4(a1) bra pu up cmp.w #-4,d0 ble su move.w #3208,4(a1) bra pu su move.w #3206,4(a1) bra pu dn cmp.w #4,d0 bge du move.w #3212,4(a1) bra pu du move.w #3214,4(a1) pu add.w d0,2(a1) cmp.w #200,2(a1) blt bye Fish move.w #3200,4(a1) move.w #200,2(a1) move.w 16(a1),d0 move.w d0,12(a1) move.w #50,14(a1) move.b #0,8(a1) move.b #17,9(a1) rts *************************************************************************** TYPE17 cmp.b #0,8(a1) bne Fish17 sub.w d7,(a1) bmi exit sub.w #1,14(a1) Flying Fish Right bpl TYPE0 add.w #1,(a1) cmp.w #345,(a1) bge exit add.w #1,12(a1) move.w 12(a1),d0 ext.l d0 divs #6,d0 cmp.w #0,d0 blt up17 bgt dn17 move.w #2570,4(a1) bra pu17 up17 cmp.w #-4,d0 ble su17 move.w #2568,4(a1) bra pu17 su17 move.w #2566,4(a1) bra pu17 dn17 cmp.w #4,d0 bge du17 move.w #2572,4(a1) bra pu17 du17 move.w #2574,4(a1) pu17 add.w d0,2(a1) move.w 2(a1),d0 cmp.w #200,d0 blt TYPE0 Fish17 move.w #3200,4(a1) move.w #200,2(a1) move.w 16(a1),d0 move.w d0,12(a1) move.w #50,14(a1) move.b #0,8(a1) move.b #16,9(a1) rts *************************************************************************** TYPE18 sub.w d7,(a1) Explode bmi exit sub.w #1,10(a1) bpl bye move.w #3,10(a1) add.w #2,4(a1) cmp.w #1308,4(a1) blt bye jmp exit *************************************************************************** TYPE19 sub.w d7,(a1) Blocks bmi exit cmp.b #4,8(a1) blt bye move.w #1296,4(a1) move.w #18,8(a1) move.w #$2,$DFF096 * Expl Sound move.l AudExpl,Aud1Snd | move.l #$23040160,$DFF0B4 | move.w #80,Aud1Del * move.w (a1),d0 move.w d0,Message rts *************************************************************************** TYPE20 sub.w d0,(a1) Circles bmi exit sub.b #1,7(a1) bpl t20o4 move.b #7,7(a1) move.w 14(a1),d0 move.w 16(a1),d1 add.w d0,10(a1) add.w d1,12(a1) cmp.w #-3,10(a1) bne t20o1 neg.w 14(a1) t20o1 cmp.w #3,10(a1) bne t20o2 neg.w 14(a1) t20o2 cmp.w #-3,12(a1) bne t20o3 neg.w 16(a1) t20o3 cmp.w #3,12(a1) bne t20o4 neg.w 16(a1) t20o4 move.w 10(a1),d0 move.w 12(a1),d1 add.w d0,(a1) add.w d1,2(a1) rts *************************************************************************** TYPE21 move.w BulPow,d0 move.w MaxPow,d1 cmp.w d0,d1 beq exit sub.w #2,(a1) Power Up bmi exit sub.w #1,14(a1) bpl t21d move.w #4,14(a1) move.w 10(a1),d0 add.w d0,12(a1) cmp.w #4,12(a1) bne t21c move.w #3,12(a1) neg 10(a1) t21c cmp.w #-4,12(a1) bne t21d move.w #-3,12(a1) neg 10(a1) t21d move.w 12(a1),d0 add.w d0,2(a1) move.w PlayerX,d0 move.w PlayerY,d1 move.w (a1),d2 move.w 2(a1),d3 sub.w d2,d0 bpl t21a neg d0 t21a sub.w d3,d1 bpl t21b neg d1 t21b add.w d0,d1 cmp.w #14,d1 bgt bye move.w #$2,$DFF096 * Engz Sound move.l AudEngz,Aud1Snd | move.l #$13360190,$DFF0B4 | move.w #67,Aud1Del * jsr INCPOW jmp exit **************************************************************************** TYPE22 sub.w d7,(a1) 4 Way cannon bmi exit add.w #1,10(a1) cmp.w #0,10(a1) bpl ni22 lea Enemy,a2 add.w #460,a2 move.l (a1),(a2) move.l 4(a1),4(a2) move.l 8(a1),8(a2) move.l 12(a1),12(a2) move.l 16(a1),16(a2) move.l #0,(a1) move.w #0,10(a2) rts ni22 cmp.w #75,10(a1) bne t22a move.w (a1),d0 move.w 2(a1),d1 move.w #1946,d2 move.w #3,d3 move.l #2,d4 jmp sht22 t22a cmp.w #150,10(a1) bne t22b t31l move.w (a1),d0 move.w 2(a1),d1 move.w #1950,d2 move.w #5,d3 move.w #-2,d4 swap d4 move.w #0,d4 jmp sht22 t22b cmp.w #225,10(a1) bne t22c t31r move.w (a1),d0 move.w 2(a1),d1 move.w #1942,d2 move.w #1,d3 move.l #$00020000,d4 jmp sht22 t22c cmp.w #300,10(a1) bne bye move.w #0,10(a1) move.w (a1),d0 move.w 2(a1),d1 move.w #1954,d2 move.w #7,d3 move.w #0,d4 swap d4 move.w #-2,d4 sht22 move.w #$8,$DFF096 * Missle Sound move.l AudMiss,Aud3Snd | move.l #$09F80190,$DFF0D4 | move.w #32,Aud3Del * lea Enemy,a2 moveq #11,d5 sht22a tst.w (a2) bne sht22b move.w d0,(a2) move.w d1,2(a2) move.w d2,4(a2) move.w d3,14(a2) move.l d4,10(a2) move.w #23,8(a2) move.w #$1000,16(a2) rts sht22b add.w #20,a2 dbf d5,sht22a rts *************************************************************************** TYPE23 sub.w d7,(a1) Homing Missles move.w 10(a1),d0 add.w d0,(a1) move.w 12(a1),d0 add.w d0,2(a1) add.b #1,17(a1) cmp.b #225,17(a1) beq t22d cmp.b #0,8(a1) beq t23 t22d move.w #1296,4(a1) move.w #18,8(a1) move.w #$2,$DFF096 * Expl Sound move.l AudExpl,Aud1Snd | move.l #$23040160,$DFF0B4 | move.w #80,Aud1Del * rts t23 move.w d6,d4 lsr.w #2,d4 move.w PlayerX,d0 move.w PlayerY,d1 sub.w d4,d0 move.w (a1),d2 move.w 2(a1),d3 lsr.w #3,d0 lsr.w #3,d1 lsr.w #3,d2 lsr.w #3,d3 sub.w d2,d0 sub.w d3,d1 cmp.w #0,d0 bne dd22 cmp.w #0,d1 beq t22d dd22 sub.b #1,16(a1) bpl bye move.b #4,16(a1) lea MissTbl,a0 move.w 14(a1),d4 lsl.w #2,d4 move.l (a0,d4),a0 jmp (a0) t23d1 cmp.w #0,d1 blt eight bgt two cmp.w #0,d0 blt two rts t23d2 cmp.w #0,d0 ble three cmp.w #0,d1 ble one rts t23d3 cmp.w #0,d0 Up and Down work funky still blt four bgt two cmp.w #0,d1 ble four rts t23d4 cmp.w #0,d0 bge three cmp.w #0,d1 ble five rts t23d5 cmp.w #0,d1 blt six bgt four cmp.w #0,d0 bgt six rts t23d6 cmp.w #0,d0 bge seven cmp.w #0,d1 bge five rts t23d7 cmp.w #0,d0 blt six bgt eight cmp.w #0,d1 bgt eight rts t23d8 cmp.w #0,d0 ble seven cmp.w #0,d1 bge one rts one move.w #1942,4(a1) move.w #1,10(a1) move.w #0,12(a1) move.w #1,14(a1) rts two move.w #1944,4(a1) move.w #1,10(a1) move.w #1,12(a1) move.w #2,14(a1) rts three move.w #1946,4(a1) move.w #0,10(a1) move.w #1,12(a1) move.w #3,14(a1) rts four move.w #1948,4(a1) move.w #-1,10(a1) move.w #1,12(a1) move.w #4,14(a1) rts five move.w #1950,4(a1) move.w #-1,10(a1) move.w #0,12(a1) move.w #5,14(a1) rts six move.w #1952,4(a1) move.w #-1,10(a1) move.w #-1,12(a1) move.w #6,14(a1) rts seven move.w #1954,4(a1) move.w #0,10(a1) move.w #-1,12(a1) move.w #7,14(a1) rts eight move.w #1956,4(a1) move.w #1,10(a1) move.w #-1,12(a1) move.w #8,14(a1) rts ************************************************************************* TYPE24 sub.w d7,(a1) Gun Shop Dude bmi exit cmp.w #0,12(a1) bne akim move.w PlayerX,d0 move.w PlayerY,d1 move.w (a1),d3 move.w 2(a1),d4 sub.w #16,d3 sub.w d3,d0 sub.w d4,d1 cmp.w #0,d0 bge t24a neg.w d0 t24a cmp.w #0,d1 bge t24b neg.w d1 t24b add.w d1,d0 cmp.w #16,d0 bgt t24c move.w #1,12(a1) MOVEM.L D6-D7/A0-A6,-(SP) jsr SHOP MOVEM.L (SP)+,D6-D7/A0-A6 rts t24c move.w (a1),d0 cmp.w PlayerX,d0 blt akim sub.w #1,10(a1) bpl bye move.w #11,10(a1) add.w #2,4(a1) cmp.w #1318,4(a1) ble bye move.w #1314,4(a1) rts akim move.w #1958,4(a1) rts ************************************************************************* TYPE25 cmp.b #2,8(a1) blt t26b move.w #2598,4(a1) move.w #27,8(a1) move.w #-3,12(a1) rts t26b move.w 10(a1),d0 cmp.w #300,(a1) bgt t25c blt t25f t25f sub.w #3,(a1) bmi exit move.w PlayerY,d0 cmp.w 2(a1),d0 beq t25c blt t25a add.w #2,2(a1) jmp t25c t25a sub.w #2,2(a1) t25c sub.w #2,(a1) add.w #2,4(a1) cmp.w #2598,4(a1) bne bye move.w #2590,4(a1) rts ************************************************************************* TYPE26 cmp.b #2,8(a1) blt t26a move.w #2598,4(a1) move.w #27,8(a1) move.w #-3,12(a1) rts t26a add.w #2,4(a1) cmp.w #2598,4(a1) bne t26 move.w #2590,4(a1) t26 cmp.w #300,(a1) bgt t26s sub.w #6,(a1) bmi exit rts t26s sub.w #2,(a1) rts ************************************************************************* TYPE27 add.w #1,(a1) cmp.w #336,(a1) bgt exit move.w 12(a1),d0 add.w d0,2(a1) cmp.w #216,2(a1) bgt exit sub.w #1,10(a1) bpl bye move.w #6,10(a1) add.w #1,12(a1) rts ************************************************************************* TYPE28 sub.w d7,(a1) 1UP bmi exit cmp.w #216,2(a1) bgt exit add.w #1,12(a1) cmp.w #8,12(a1) ble t28a move.w #0,12(a1) add.w #1,10(a1) add.w #2,4(a1) cmp.w #3230,4(a1) blt t28a move.w #3222,4(a1) t28a move.w 10(a1),d0 cmp.w #3,d0 ble t28 move.w #3,d0 t28 add.w d0,2(a1) move.w PlayerX,d0 move.w PlayerY,d1 move.w (a1),d2 move.w 2(a1),d3 sub.w d2,d0 bpl t28b neg d0 t28b sub.w d3,d1 bpl t28c neg d1 t28c add.w d0,d1 cmp.w #14,d1 bgt bye move.w #$2,$DFF096 * Whia Sound move.l AudWhia,Aud1Snd | move.l #$04660222,$DFF0B4 | move.w #20,Aud1Del * add.w #1,PlayerL jmp exit ************************************************************************* TYPE29 sub.w d7,(a1) Eyes bmi exit cmp.b #2,8(a1) blt bye move.w #3870,4(a1) move.w #0,10(a1) move.w #32,8(a1) lea Enemy,a2 moveq #11,d5 t29a tst.w (a2) beq t29b add.l #20,a2 dbf d5,t29a rts t29b move.w #14,(a2) add.l #1938,4(a2) move.w #30,8(a2) move.w #40,10(a2) move.w PlayerH,d0 move.w #222,d1 sub.w d0,d1 move.w d1,2(a2) move.w PlayerHM,d0 move.w #222,d1 sub.w d0,d1 move.w d1,14(a2) move.w #0,12(a2) rts ************************************************************************* TYPE30 sub.w #1,12(a1) Raise Health bpl bye cmp.w #0,PlayerH ble exit move.w #3,12(a1) move.w 14(a1),d0 cmp.w 2(a1),d0 blt t30b sub.w #1,10(a1) bpl t30c jmp exit t30b sub.w #1,2(a1) add.w #1,PlayerH t30c cmp.w #1938,4(a1) beq t30a move.w #1938,4(a1) rts t30a move.w #1940,4(a1) rts ************************************************************************* TYPE31 cmp.b #0,16(a1) Rising Cannon bne t31a lea Enemy,a2 add.w #460,a2 move.l (a1),(a2) move.l 4(a1),4(a2) move.l 8(a1),8(a2) move.l 12(a1),12(a2) move.l 16(a1),16(a2) move.l #0,(a1) move.b #1,16(a2) rts t31a sub.w d7,(a1) begin bmi exit sub.b #1,10(a1) bpl bye move.b #3,10(a1) sub.b #1,11(a1) bmi t31rst cmp.b #40,11(a1) bgt bye cmp.b #36,11(a1) bgt t31u cmp.b #32,11(a1) beq t31l cmp.b #28,11(a1) beq t31r cmp.b #20,11(a1) beq t31l cmp.b #12,11(a1) beq t31r cmp.b #3,11(a1) bgt bye sub.w #2,4(a1) rts t31rst move.b #75,11(a1) rts t31u add.w #2,4(a1) rts ************************************************************************* TYPE32 sub.w d7,(a1) Twinkling Eyes bmi exit sub.w #1,10(a1) bpl bye move.w #4,10(a1) cmp.w #3870,4(a1) beq t32a move.w #3870,4(a1) rts t32a move.w #3872,4(a1) rts ************************************************************************* TYPE33 sub.w d7,(a1) Invincibility bmi exit move.w (a1),d0 move.w 2(a1),d1 move.w PlayerX,d2 Player move.w PlayerY,d3 sub.w d0,d2 bpl t33e neg.w d2 t33e sub.w d1,d3 bpl t33f neg.w d3 t33f add.w d2,d3 cmp.w #20,d3 bge t33g move.w #120,PlayerI jmp exit t33g sub.b #1,10(a1) bpl bye move.b #5,10(a1) add.w #2,4(a1) cmp.w #3870,4(a1) bne bye move.w #3862,4(a1) rts ************************************************************************* TYPE34 sub.w d7,(a1) Pipe bmi exit cmp.w #0,14(a1) beq t34z sub.w #1,14(a1) bne t34y move.w #320,PlayerX move.w 16(a1),PlayerY move.w #0,PlayerI bra exit t34y move.w #5,PlayerI rts t34z lea Bullets,a2 move.w #3,d5 move.w (a1),d0 move.w 2(a1),d1 t34a move.w (a2),d2 Bullets move.w 2(a2),d3 sub.w d0,d2 bpl t34b neg.w d2 t34b sub.w d1,d3 bpl t34c neg.w d3 t34c add.w d2,d3 cmp.w #8,d3 bge t34d move.w 10(a1),d2 add.w d2,(a2) move.w 12(a1),d2 add.w d2,2(a2) t34d cmp.w #340,(a2) ble t34h move.w #336,(a2) t34h add.l #8,a2 dbf d5,t34a move.w PlayerX,d2 Player move.w PlayerY,d3 sub.w d0,d2 bpl t34e neg.w d2 t34e sub.w d1,d3 bpl t34f neg.w d3 t34f add.w d2,d3 cmp.w #8,d3 bge t34g move.w 10(a1),d2 add.w d2,PlayerX move.w 12(a1),d2 add.w d2,PlayerY t34g cmp.w #318,PlayerX ble t34i move.w #5,PlayerI move.w PlayerX,d0 sub.w #318,d0 lsl.w #1,d0 move.w d0,14(a1) move.w #338,PlayerX move.w PlayerY,16(a1) t34i rts ************************************************************************* TYPE35 sub.w d7,(a1) Electrode bmi exit move.w Message,d0 lsr.w #3,d0 move.w (a1),d1 lsr.w #3,d1 cmp.w d1,d0 bne bye move.w #0,Message lea Enemy,a2 move.w (a1),d0 lsr.w #3,d0 move.w #11,d5 t35a move.w (a2),d1 lsr.w #3,d1 cmp.w d1,d0 bne t35b cmp.b #37,9(a2) bne t35b move.w #1,16(a2) t35b add.l #20,a2 dbf d5,t35a move.w #1296,4(a1) move.w #18,8(a1) move.w #0,10(a1) move.w #$2,$DFF096 * Expl Sound move.l AudExpl,Aud1Snd | move.l #$23040160,$DFF0B4 | move.w #80,Aud1Del * rts ************************************************************************* TYPE36 sub.w d7,(a1) Stalagmite bmi exit cmp.b #0,10(a1) bne t36f move.w Message,d0 cmp.w (a1),d0 bne bye move.w #0,Message move.b #1,10(a1) t36f sub.b #1,11(a1) bpl t36a move.b #4,11(a1) add.w #1,12(a1) t36a move.w 12(a1),d0 lsr.w #1,d0 add.w d0,2(a1) cmp.w #1,14(a1) beq t36b cmp.w #180,2(a1) ble bye add.w #76,(a1) move.w #35,2(a1) move.w #1,14(a1) cmp.w #336,(a1) ble bye move.w (a1),d0 sub.w #336,d0 lsl.w #1,d0 move.w d0,16(a1) move.w #336,(a1) rts t36b sub.w #1,16(a1) bpl t36h move.w #0,16(a1) cmp.w #155,2(a1) ble bye move.w #155,2(a1) move.w #1296,4(a1) move.w #18,8(a1) move.w #0,10(a1) move.w #$2,$DFF096 * Expl Sound move.l AudExpl,Aud1Snd | move.l #$23040160,$DFF0B4 | move.w #80,Aud1Del * move.w (a1),d0 move.w d0,Message rts t36h move.w #336,(a1) move.w #35,2(a1) rts ************************************************************************* TYPE37 sub.w d7,(a1) Electric Balls bmi exit move.w 10(a1),d0 sub.w d0,2(a1) cmp.w #35,2(a1) bge t37b move.w #155,2(a1) cmp.w #1,16(a1) bne t37b jmp exit t37b sub.w #1,12(a1) bpl bye move.w #5,12(a1) add.w #2,4(a1) cmp.w #3862,4(a1) bne bye move.w #3858,4(a1) rts ************************************************************************* TYPE38 sub.w d7,(a1) Gun Power Up bmi exit cmp.w #8,MaxPow beq exit move.w Section,d0 and.l #$FFFF,d0 move.l Bonus,d1 btst.l d0,d1 bne exit sub.w #1,10(a1) bpl t38a move.w #45,10(a1) add.w #2,4(a1) cmp.w #3880,4(a1) blt t38a move.w #3876,4(a1) t38a move.w (a1),d0 move.w 2(a1),d1 move.w PlayerX,d2 Player move.w PlayerY,d3 sub.w d0,d2 bpl t38e neg.w d2 t38e sub.w d1,d3 bpl t38f neg.w d3 t38f add.w d2,d3 cmp.w #16,d3 bge bye add.w #1,MaxPow t38g jsr INCPOW move.w BulPow,d0 move.w MaxPow,d1 cmp.w d0,d1 bne t38g move.w Section,d0 and.l #$FFFF,d0 move.l Bonus,d1 bset.l d0,d1 move.l d1,Bonus rts ************************************************************************* TYPE39 cmp.w #1,12(a1) Subgame Doorway beq t39d sub.w d7,(a1) bmi exit move.w (a1),d0 move.w 2(a1),d1 move.w PlayerX,d2 Player move.w PlayerY,d3 sub.w d0,d2 bpl t39a neg.w d2 t39a sub.w d1,d3 bpl t39b neg.w d3 t39b add.w d2,d3 cmp.w #8,d3 bge t39c move.w #1,12(a1) move.w #4510,4(a1) move.w #0,PlayerX move.w #2,PlayerI rts t39c sub.w #1,10(a1) bpl bye move.w #4,10(a1) add.w #2,4(a1) cmp.w #4510,4(a1) bne bye move.w #4502,4(a1) rts t39d sub.w d7,(a1) bpl t39f move.w #0,(a1) t39f cmp.w #4502,4(a1) beq t39g move.w #0,PlayerX move.w #2,PlayerI sub.w #1,10(a1) bpl bye move.w #7,10(a1) add.w #2,4(a1) cmp.w #4520,4(a1) bne bye move.w #4502,4(a1) rts t39g jsr SUBGAME move.w Section,d0 and.l #$FFFF,d0 move.l Bonus,d1 bset.l d0,d1 move.l d1,Bonus move.l (a1),d0 move.l d0,PlayerX cmp.w #18,PlayerX bgt exit move.w #4490,4(a1) move.w #7,8(a1) move.w #3,10(a1) rts ************************************************************************* TYPE40 sub.w d7,(a1) Subgame Monolith bmi exit move.w Section,d0 and.l #$FFFF,d0 move.l Bonus,d1 btst.l d0,d1 bne exit cmp.b #4,8(a1) ble bye move.w #$2,$DFF096 * crhh Sound move.l AudExpl,Aud1Snd | move.l #$01660220,$DFF0B4 | move.w #15,Aud1Del * move.l (a1),240(a1) move.w #4490,244(a1) move.w #7,248(a1) move.w #2,250(a1) move.b #0,8(a1) add.w #2,4(a1) cmp.w #4486,4(a1) blt bye move.w #4502,4(a1) move.w #0,10(a1) move.w #39,8(a1) rts ************************************************************************* TYPE41 sub.w d7,(a1) Cards bmi exit cmp.w #216,2(a1) bgt exit sub.w #1,12(a1) bpl t41a move.w #8,12(a1) add.w #1,10(a1) t41a move.w 10(a1),d0 cmp.w #3,d0 ble t41 move.w #3,d0 t41 add.w d0,2(a1) move.w PlayerX,d0 move.w PlayerY,d1 move.w (a1),d2 move.w 2(a1),d3 sub.w d2,d0 bpl t41b neg d0 t41b sub.w d3,d1 bpl t41c neg d1 t41c add.w d0,d1 cmp.w #14,d1 bgt bye move.w #$2,$DFF096 * Whia Sound move.l AudWhia,Aud1Snd | move.l #$04660222,$DFF0B4 | move.w #20,Aud1Del * cmp.w #4486,4(a1) bne t41d add.w #1,ResFix jmp exit t41d add.w #1,ResPow jmp exit ************************************************************************* TYPE42 sub.w #1,(a1) Dragon Head sub.w d7,(a1) bmi exit move.l a1,Message sub.w #1,10(a1) bpl bye move.w #8,10(a1) add.w #6,4(a1) cmp.w #5144,4(a1) bne t42a move.w #5760,4(a1) rts t42a cmp.w #5784,4(a1) bne bye move.w #5120,4(a1) rts ************************************************************************* TYPE43 cmp.w #1,12(a1) Dragon Mid beq t43 move.l Message,a2 cmp.w #0,(a2) bne t43a move.w #1,12(a1) t43 move.l a1,Message2 sub.w #1,(a1) sub.w #1,(a1) bmi exit rts t43a move.l (a2),(a1) move.l 4(a2),4(a1) add.w #16,(a1) add.w #2,4(a1) move.l a1,Message2 rts ************************************************************************* TYPE44 cmp.w #1,12(a1) Dragon Tail beq t44 move.l Message2,a2 cmp.w #0,(a2) bne t44a move.w #1,12(a1) t44 sub.w #1,(a1) sub.w #1,(a1) bmi exit rts t44a move.l (a2),(a1) move.l 4(a2),4(a1) add.w #16,(a1) add.w #2,4(a1) rts ************************************************************************* TYPE45 sub.w d7,(a1) Spider bmi exit move.l (a1),Message sub.w #1,10(a1) bpl bye move.w PlayerX,d0 lsr.w #4,d0 move.w (a1),d1 lsr.w #4,d1 sub.w d1,d0 and.l #$FFFF,d0 ext.l d0 move.w 12(a1),d1 divs d1,d0 move.w d0,252(a1) move.w #72,10(a1) move.l (a1),240(a1) move.w #6420,244(a1) move.w #46,248(a1) move.w #9,250(a1) rts ************************************************************************* TYPE46 sub.w d7,(a1) Web Sling bmi exit sub.w d7,2(a1) bmi exit move.w 12(a1),d0 add.w d0,(a1) bmi exit cmp.w #336,(a1) bgt exit move.w PlayerX,d0 move.w (a1),d1 sub.w d0,d1 bpl t46a add.w #2,(a1) t46a sub.w #1,(a1) sub.w #2,2(a1) bmi exit sub.w #1,10(a1) bpl bye move.w #10,10(a1) cmp.w #6426,4(a1) beq bye add.w #2,4(a1) rts ************************************************************************* TYPE47 sub.w #3,(a1) BossFire bmi exit move.w 10(a1),d0 add.w d0,2(a1) bmi exit cmp.w #220,2(a1) bge exit sub.w #1,12(a1) bpl bye move.w #8,12(a1) add.w #2,4(a1) cmp.w #7064,4(a1) bne bye move.w #7058,4(a1) rts ************************************************************************* TYPE48 move.b 14(a1),d0 move.b 8(a1),d1 cmp.b d1,d0 beq t48z add.w #2,BossX move.b d1,14(a1) <- hit move.w #$2,$DFF096 * hit Sound move.l AudExpl,Aud1Snd | move.l #$23040160,$DFF0B4 | move.w #10,Aud1Del * t48z move.w BossX,d0 BossEye move.w BossY,d1 add.w #23,d0 add.w #19,d1 cmp.b #100,8(a1) blt t48a move.w #1,Boss86 jmp exit t48a move.w d0,(a1) move.w d1,2(a1) sub.w #1,10(a1) bpl bye sub.w #1,12(a1) bpl bye move.w #8,12(a1) add.w #2,4(a1) cmp.w #6420,4(a1) bne bye move.w #6412,4(a1) move.w #60,10(a1) rts ************************************************************************* TYPE49 sub.w d7,(a1) bmi exit rts ************************************************************************* TYPE50 sub.w d7,(a1) bmi exit rts ************************************************************************* MissTbl dc.l 0,0,0,0,0,0,0,0,0,0 JmpTable dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0 dc.l 0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0