DOBOSS jmp BOSS1 rts *************************************************************************** BOSS1 tst.w Boss86 beq bsok cmp.w #1,Boss86 bne bstrt jsr BDEAD bstrt add.w #1,Boss86 cmp.w #300,Boss86 bne bsok move.w #1,NLev rts bsok move.l _BitMapN,a5 move.l _BitMapN,a0 add.l #66900,a5 bfd tst.l (a5) beq bss0 move.l a5,a1 add.l #4,a1 move.l (a5),d0 and.l #$FFFFFFFE,d0 move.l d0,a3 sub.w #2,a3 move.w #4,d5 bss02 move.w #59,d3 bss03 move.l #0,(a3) move.l #0,4(a3) move.l #0,8(a3) add.l #48,a3 dbf d3,bss03 add.l #8352,a3 dbf d5,bss02 cmp.w #30,Boss86 ble bss0 rts bss0 jsr MVBOSS move.l a0,(a5) sub.w #1,BossD3 bmi BSMOKE move.l _ShipMap,a2 move.l a0,a1 move.l a2,a3 add.l #1204,a1 neck offset add.l #5148,a3 head add.l #5120,a2 neck cmp.w #11,BossD3 bge bcm add.w #6,a3 bcm cmp.w #180,BossD3 ble bmc add.w #6,a3 bmc move.w BossX,d0 and.l #$0000FFFF,d0 swap d0 lsr.l #4,d0 move.w d0,d1 or.w #$FCA,d1 move.l a2,a6 add.l #40000,a6 move.w #4,d5 BBW btst.b #6,$DFF002 bne BBW move.l #$FFFF0000,$DFF044 BLTAFWM move.l #$00280020,$DFF060 BLTxMOD move.l #$00200028,$DFF064 BLTxMOD move.w d0,$DFF042 BLTCON1 move.w d1,$DFF040 BLTCON0 move.l a6,$DFF050 BLTAPT move.l a2,$DFF04C BLTBPT move.l a1,$DFF048 BLTCPT move.l a1,$DFF054 BLTDPT move.w #$0904,$DFF058 BLTSIZE add.l #8000,a2 add.l #11232,a1 dbf d5,BBW move.l a3,a6 add.l #40000,a6 move.w #4,d5 BBW1 btst.b #6,$DFF002 bne BBW1 move.l #$FFFF0000,$DFF044 BLTAFWM move.l #$00280020,$DFF060 BLTxMOD move.l #$00200028,$DFF064 BLTxMOD move.w d0,$DFF042 BLTCON1 move.w d1,$DFF040 BLTCON0 move.l a6,$DFF050 BLTAPT move.l a3,$DFF04C BLTBPT move.l a0,$DFF048 BLTCPT move.l a0,$DFF054 BLTDPT move.w #$0D04,$DFF058 BLTSIZE add.l #8000,a3 add.l #11232,a0 dbf d5,BBW1 rts *************************************************************************** BSMOKE tst.w Boss86 bne be1 move.w #200,BossD3 lea Enemy,a6 moveq #11,d7 moveq #0,d6 be2 tst.w (a6) bne be5 cmp.w #0,d6 beq sb1 cmp.w #1,d6 beq sb2 cmp.w #2,d6 beq sb3 cmp.w #3,d6 beq sb4 cmp.w #4,d6 beq sb5 be4 move.w #7052,4(a6) move.l #47,6(a6) move.l #0,12(a6) move.l #0,16(a6) add.w #1,d6 be5 add.l #20,a6 dbf d7,be2 be1 rts sb1 move.w BossX,d0 add.w #1,d0 move.w d0,(a6) move.w BossY,d0 add.w #28,d0 move.w d0,2(a6) move.w #-2,10(a6) jmp be4 sb2 move.w BossX,d0 add.w #2,d0 move.w d0,(a6) move.w BossY,d0 add.w #39,d0 move.w d0,2(a6) move.w #-1,10(a6) jmp be4 sb3 move.w BossX,d0 add.w #3,d0 move.w d0,(a6) move.w BossY,d0 add.w #30,d0 move.w d0,2(a6) move.w #0,10(a6) jmp be4 sb4 move.w BossX,d0 add.w #4,d0 move.w d0,(a6) move.w BossY,d0 add.w #31,d0 move.w d0,2(a6) move.w #1,10(a6) jmp be4 sb5 move.w BossX,d0 add.w #5,d0 move.w d0,(a6) move.w BossY,d0 add.w #32,d0 move.w d0,2(a6) move.w #2,10(a6) move.w #7052,4(a6) move.l #47,6(a6) move.l #0,12(a6) move.l #0,16(a6) rts *************************************************************************** MVBOSS tst.w Boss86 bne bss1 sub.w #1,BossD1 bpl bss00 move.w #1,BossD1 move.w BossXD,d0 add.w d0,BossX cmp.w #300,BossX ble bs00 move.w #-1,BossXD bs00 cmp.w #260,BossX bge bss00 move.w #1,BossXD bss00 move.w BossYD,d0 add.w d0,BossY cmp.w #150,BossY bne bss11 neg.w BossYD bss11 cmp.w #20,BossY bne bss1 neg.w BossYD bss1 move.w BossX,d0 and.l #$FFFF,d0 lsr.w #3,d0 add.l d0,a0 move.w BossY,d0 mulu.w #48,d0 add.l d0,a0 rts *************************************************************************** BDEAD move.w #6,d6 lea DMatX,a0 lea DMatY,a2 bdp0 move.w BossX,d0 move.w BossY,d1 add.w #25,d0 add.w #25,d1 add.b (a0,d6),d0 add.b (a2,d6),d1 lea Enemy,a1 moveq #23,d7 bdp1 tst.w (a1) bne bdp2 move.w d0,(a1)+ move.w d1,(a1)+ move.l #$05100000,(a1)+ move.l #$00120000,(a1)+ move.l #0,(a1)+ move.l #0,(a1)+ jmp bdp3 bdp2 add.l #20,a1 dbf d7,bdp1 bdp3 dbf d6,bdp0 move.w #$2,$DFF096 * Expl Sound move.l AudExpl,Aud1Snd | move.l #$23040160,$DFF0B4 | move.w #90,Aud1Del * rts *************************************************************************** BossX dc.w 275 BossY dc.w 100 BossXD dc.w 1 BossYD dc.w 1 BossD1 dc.w 5 BossD2 dc.w 5 BossD3 dc.w 100 Boss86 dc.w 0