Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- pcol:
- nop
- bsr.w ringcolchk
- move.w 8(a0),d2
- move.w $C(a0),d3
- subi.w #8,d2
- moveq #0,d5
- move.b $16(a0),d5
- subq.b #3,d5
- sub.w d5,d3
- cmpi.b #$39,$1A(a0)
- bne.s .jump0
- addi.w #$C,d3
- moveq #$A,d5
- .jump0:
- move.w #$10,d4
- add.w d5,d5
- lea ($FFFFB800).w,a1
- move.w #$5F,d6
- .loop:
- move.b $20(a1),d0
- bne.s .jump2
- .jump:
- lea $40(a1),a1
- dbf d6,.loop
- moveq #0,d0
- rts
- ; ---------------------------------------------------------------------------
- .colitbl:
- dc.b $14, $14
- dc.b $C, $14
- dc.b $14, $C
- dc.b 4, $10
- dc.b $C, $12
- dc.b $10, $10
- dc.b 6, 6
- dc.b $18, $C
- dc.b $C, $10
- dc.b $10, $C
- dc.b 8, 8
- dc.b $14, $10
- dc.b $14, 8
- dc.b $E, $E
- dc.b $18, $18
- dc.b $28, $10
- dc.b $10, $18
- dc.b 8, $10
- dc.b $20, $70
- dc.b $40, $20
- dc.b $80, $20
- dc.b $20, $20
- dc.b 8, 8
- dc.b 4, 4
- dc.b $20, 8
- dc.b $C, $C
- dc.b 8, 4
- dc.b $18, 4
- dc.b $28, 4
- dc.b 4, 8
- dc.b 4, $18
- dc.b 4, $28
- dc.b 4, $20
- dc.b $18, $18
- dc.b $C, $18
- dc.b $48, 8
- ; ---------------------------------------------------------------------------
- .jump2:
- andi.w #$3F,d0
- add.w d0,d0
- lea .colitbl-2(pc,d0.w),a2
- moveq #0,d1
- move.b (a2)+,d1
- move.w 8(a1),d0
- sub.w d1,d0
- sub.w d2,d0
- bcc.s .jump3
- add.w d1,d1
- add.w d1,d0
- bcs.s .jump4
- bra.w .jump
- ; ---------------------------------------------------------------------------
- .jump3:
- cmp.w d4,d0
- bhi.w .jump
- .jump4:
- moveq #0,d1
- move.b (a2)+,d1
- move.w $C(a1),d0
- sub.w d1,d0
- sub.w d3,d0
- bcc.s .jump5
- add.w d1,d1
- add.w d1,d0
- bcs.s .atari
- bra.w .jump
- ; ---------------------------------------------------------------------------
- .jump5:
- cmp.w d5,d0
- bhi.w .jump
- .atari:
- move.b $20(a1),d1
- andi.b #$C0,d1
- beq.w pcolnomal
- cmpi.b #$C0,d1
- beq.w pcolspecial
- tst.b d1
- bmi.w pcolplay
- pcolitem:
- move.b $20(a1),d0
- andi.b #$3F,d0
- cmpi.b #6,d0
- beq.s .item
- .ring:
- cmpi.w #$5A,$30(a0)
- bcc.w .ringe
- move.b #4,$24(a1)
- .ringe:
- rts
- ; ---------------------------------------------------------------------------
- .item:
- tst.w $12(a0)
- bpl.s .item2
- move.w $C(a0),d0
- subi.w #$10,d0
- cmp.w $C(a1),d0
- bcs.s .iteme
- neg.w $12(a0)
- move.w #$FE80,$12(a1)
- tst.b $25(a1)
- bne.s .iteme
- move.b #4,$25(a1)
- rts
- ; ---------------------------------------------------------------------------
- .item2:
- cmpi.b #2,$1C(a0)
- bne.s .iteme
- neg.w $12(a0)
- move.b #4,$24(a1)
- .iteme:
- rts
- ; ---------------------------------------------------------------------------
- pcolnomal:
- tst.b ($FFFFFE2D).w
- bne.s .jump
- cmpi.b #9,$1C(a0)
- beq.s .jump
- cmpi.b #2,$1C(a0)
- bne.w pcolplay
- .jump:
- tst.b $21(a1)
- beq.s .jump0
- neg.w $10(a0)
- neg.w $12(a0)
- asr $10(a0)
- asr $12(a0)
- move.b #0,$20(a1)
- subq.b #1,$21(a1)
- bne.s .jump4
- bset #7,$22(a1)
- .jump4:
- rts
- ; ---------------------------------------------------------------------------
- .jump0:
- bset #7,$22(a1)
- moveq #0,d0
- move.w ($FFFFF7D0).w,d0
- addq.w #2,($FFFFF7D0).w
- cmpi.w #6,d0
- bcs.s .jump5
- moveq #6,d0
- .jump5:
- move.w d0,$3E(a1)
- move.w escoretbl(pc,d0.w),d0
- cmpi.w #$20,($FFFFF7D0).w
- bcs.s .jump6
- move.w #$3E8,d0
- move.w #$A,$3E(a1)
- .jump6:
- bsr.w scoreup
- move.b #$27,0(a1)
- move.b #0,$24(a1)
- .jump3:
- tst.w $12(a0)
- bmi.s .jump1
- move.w $C(a0),d0
- cmp.w $C(a1),d0
- bcc.s .jump2
- neg.w $12(a0)
- rts
- ; ---------------------------------------------------------------------------
- .jump1:
- addi.w #$100,$12(a0)
- rts
- ; ---------------------------------------------------------------------------
- .jump2:
- subi.w #$100,$12(a0)
- rts
- ; ---------------------------------------------------------------------------
- escoretbl:
- dc.w 10
- dc.w 20
- dc.w 50
- dc.w 100
- ; ---------------------------------------------------------------------------
- pcolplay2:
- bset #7,$22(a1)
- ; ---------------------------------------------------------------------------
- pcolplay:
- tst.b ($FFFFFE2D).w
- beq.s pcole
- pcolend:
- moveq #$FFFFFFFF,d0
- rts
- ; ---------------------------------------------------------------------------
- pcole:
- nop
- tst.w $30(a0)
- bne.s pcolend
- ; ---------------------------------------------------------------------------
- playdamageset:
- movea.l a1,a2
- tst.b ($FFFFFE2C).w
- bne.s .worknai
- tst.w ($FFFFFE20).w
- beq.w .die
- jsr actwkchk
- bne.s .worknai
- move.b #$37,0(a1)
- move.w 8(a0),8(a1)
- move.w $C(a0),$C(a1)
- .damage:
- .worknai:
- move.b #0,($FFFFFE2C).w
- move.b #4,$24(a0)
- bsr.w jumpcolsub
- bset #1,$22(a0)
- move.w #$FC00,$12(a0)
- move.w #$FE00,$10(a0)
- btst #6,$22(a0)
- beq.s .jump0
- move.w #$FE00,$12(a0)
- move.w #$FF00,$10(a0)
- .jump0:
- move.w 8(a0),d0
- cmp.w 8(a2),d0
- bcs.s .jump
- neg.w $10(a0)
- .jump:
- move.w #0,$14(a0)
- move.b #$1A,$1C(a0)
- move.w #$78,$30(a0)
- move.w #$A3,d0
- cmpi.b #$36,(a2)
- bne.s .jump2
- cmpi.b #$16,(a2)
- bne.s .jump2
- move.w #$A6,d0
- .jump2:
- jsr (soundset).l
- .end:
- moveq #$FFFFFFFF,d0
- rts
- ; ---------------------------------------------------------------------------
- .die:
- tst.w ($FFFFFFFA).w
- bne.w .worknai
- ; ---------------------------------------------------------------------------
- playdieset:
- tst.w ($FFFFFE08).w
- bne.s .end
- move.b #0,($FFFFFE2D).w
- move.b #6,$24(a0)
- bsr.w jumpcolsub
- bset #1,$22(a0)
- move.w #$F900,$12(a0)
- move.w #0,$10(a0)
- move.w #0,$14(a0)
- move.w $C(a0),$38(a0)
- move.b #$18,$1C(a0)
- bset #7,2(a0)
- move.w #$A3,d0
- cmpi.b #$36,(a2)
- bne.s .jump2
- move.w #$A6,d0
- .jump2:
- jsr (soundset).l
- .end:
- moveq #$FFFFFFFF,d0
- rts
- ; ---------------------------------------------------------------------------
- pcolspecial:
- move.b $20(a1),d1
- andi.b #$3F,d1
- cmpi.b #$B,d1
- beq.s .imo
- cmpi.b #$C,d1
- beq.s .yado
- cmpi.b #$17,d1
- beq.s .bobin
- cmpi.b #$21,d1
- beq.s .bou
- rts
- ; ---------------------------------------------------------------------------
- .imo:
- bra.w pcolplay2
- ; ---------------------------------------------------------------------------
- .yado:
- sub.w d0,d5
- cmpi.w #8,d5
- bcc.s .yado4
- move.w 8(a1),d0
- subq.w #4,d0
- btst #0,$22(a1)
- beq.s .yado1
- subi.w #$10,d0
- .yado1:
- sub.w d2,d0
- bcc.s .yado2
- addi.w #$18,d0
- bcs.s .yado3
- bra.s .yado4
- ; ---------------------------------------------------------------------------
- .yado2:
- cmp.w d4,d0
- bhi.s .yado4
- .yado3:
- bra.w pcolplay
- ; ---------------------------------------------------------------------------
- .yado4:
- bra.w pcolnomal
- ; ---------------------------------------------------------------------------
- .bobin:
- move.w a0,d1
- subi.w #$B000,d1
- beq.s .bobin2
- addq.b #1,$21(a1)
- .bobin2:
- addq.b #1,$21(a1)
- rts
- ; ---------------------------------------------------------------------------
- .bou:
- addq.b #1,$21(a1)
- rts
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement