.include "cydheader.a64" fx = sound+6 spdzei = $d2 bkgrp = map-$0100 subjmain = game3 ssubstat = game3+3 prodsub = game3+6 plrcoll = game3+9 subjinit = game3+12 shotcoll = game3+15 killsub = game3+18 initwam = game3+21 metam = game3+24 cdown = game3+27 cright = game3+30 cleft = game3+33 rsallsb = game3+36 zz_old = 20 ;--- modified -- aam = game3+39 wam = aam+(zz_old*1) init = aam+(zz_old*2) awamz = aam+(zz_old*3) aaamz = aam+(zz_old*4) produc = aam+(zz_old*5) parea = aam+(zz_old*6) cwri = aam+(zz_old*7) cwle = aam+(zz_old*8) cwdo = aam+(zz_old*9) cwup = aam+(zz_old*10) subsn = aam+(zz_old*11) ;--------------------------------------- r0 = $80 r1 = $81 r2 = $82 r3 = $83 r4 = $84 r5 = $85 r6 = $86 r7 = $87 r8 = $88 r9 = $89 r10 = $8a r11 = $8b r12 = $8c r13 = $8d r14 = $8e r15 = $8f l1 = $91 l2 = $92 l3 = $93 l4 = $94 l5 = $95 l6 = $96 l7 = $97 l8 = $98 l9 = $99 l10 = $9a l11 = $9b l12 = $9c l13 = $9d l14 = $9e l15 = $9f d0 = $c0 d1 = $c1 d2 = $c2 d3 = $c3 d4 = $c4 d5 = $c5 d6 = $c6 d7 = $c7 d8 = $c8 d9 = $c9 d10 = $ca d11 = $cb d12 = $cc d13 = $cd d14 = $ce d15 = $cf u1 = $d1 u2 = $d2 u3 = $d3 u4 = $d4 u5 = $d5 u6 = $d6 u7 = $d7 u8 = $d8 u9 = $d9 u10 = $da u11 = $db u12 = $dc u13 = $dd u14 = $de u15 = $df r0e = $a0 r1e = $a1 r2e = $a2 r3e = $a3 r4e = $a4 r5e = $a5 r6e = $a6 r7e = $a7 r8e = $a8 r9e = $a9 r10e = $aa r11e = $ab r12e = $ac r13e = $ad r14e = $ae r15e = $af l1e = $b1 l2e = $b2 l3e = $b3 l4e = $b4 l5e = $b5 l6e = $b6 l7e = $b7 l8e = $b8 l9e = $b9 l10e = $ba l11e = $bb l12e = $bc l13e = $bd l14e = $be l15e = $bf d0e = $e0 d1e = $e1 d2e = $e2 d3e = $e3 d4e = $e4 d5e = $e5 d6e = $e6 d7e = $e7 d8e = $e8 d9e = $e9 d10e = $ea d11e = $eb d12e = $ec d13e = $ed d14e = $ee d15e = $ef u1e = $f1 u2e = $f2 u3e = $f3 u4e = $f4 u5e = $f5 u6e = $f6 u7e = $f7 u8e = $f8 u9e = $f9 u10e = $fa u11e = $fb u12e = $fc u13e = $fd u14e = $fe u15e = $ff ;--------------------------------------- *= submem ;--- modified --- pointer_subjectsspritesdata .word subjectsspritesdata .byte 0,0,0,0,0 .word plant .word itplant .byte 2,$22,0 .word shot .word itshot .byte 1,$11,0 .word scorp .word itscorp .byte 2,$23,3 .word fighter .word itfighter .byte 2,$23,0 .word saturn .word itsaturn .byte 1,$22,0 .word melone .word itmelone .byte 1,$22,3 .word expl .word itexpl .byte 1,$11,0 .word gfly .word itgfly .byte 1,$56,9 .word missl .word itmissl .byte 1,$22,0 ;--------------------------------------- shot .block lda init,x bne n1 ldy produc,x lda wam,y sta wam,x inc init,x n1 jsr plrcoll bcc n2 lda #1 sta $40 n2 jsr shotcoll bcs n5 n3 ldx $d6 lda cwri,x beq n4 n5 lda #7 ldx #$f8 ldy #$06 jmp metam n4 lda cwle,x bne n5 lda cwdo,x bne n5 rts .bend itshot .block .word aam0 .word wam1 .word wam0 aam0 .byte $01 .byte $11 .byte $a8 .byte $13 .byte $a8 .byte $16 .byte $a8 .byte $13 .byte $a8 .byte $17 .byte $a8 .byte $1a .byte $a8 .byte $14 .byte $a8 .byte $12 .byte $a8 .byte $14 .byte $a8 .byte $1a .byte $a8 .byte 0 wam0 .byte $70 .byte $04 .byte r4 .byte d0e .byte d1e .byte d2e .byte d3e .byte d4e .byte d5e .byte $60 .byte d6e .byte d6e .byte 0 wam1 .byte $70 .byte $04 .byte l4 .byte d0e .byte d1e .byte d2e .byte d3e .byte d4e .byte d5e .byte $60 .byte d6e .byte d6e .byte 0 .bend ;--------------------------------------- plant .block ldy #0 txa asl a asl a tax lda subsn,x tax lda shix,x bne n1 lda slox,x cmp $13 bcs n1 iny n1 tya ldx $d6 sta wam,x lda aaamz,x cmp #3 bne n2 dec zaehl,x beq n2 lda #1 sta zaehl,x ldy #$f8 ldx #$08 lda #$02 jsr prodsub ldx $d6 n2 ldy #8 jsr plrcoll bcc n3 lda #1 sta $40 n3 ldy #8 jsr shotcoll bcc n4 lda #6 ldx #$00 ldy #$00 jmp metam n4 rts zaehl .byte 0,0,0,0,0,0,0,0,0,0 .byte 0,0,0,0,0,0,0,0,0,0 .bend itplant .block .word aam0 .word aam1 .word wam0 .word wam1 .byte 1,$0b,2,18 aam0 .byte $01 .byte $25 ; .byte $a3 ; .byte $a3 .byte $a3 .byte $a3 .byte $02 .byte $a2 .byte $a1 .byte $08 .byte $a0 .byte $02 .byte $a1 .byte $a2 .byte 0 aam1 .byte $01 .byte $25 .byte $a7 .byte $a7 .byte $02 .byte $a6 .byte $a5 .byte $08 .byte $a4 .byte $02 .byte $a5 .byte $a6 .byte 0 wam0 .byte $70 .byte $60 .byte $c0 .byte $a0 .byte 0 wam1 .byte $71 .byte $60 .byte $c0 .byte $a0 .byte 0 .bend ;--------------------------------------- scorp .block lda wam,x and #1 sta wam,x ldy cwri,x beq n1 ora #1 n1 ldy cwle,x beq n2 and #$fe n2 sta wam,x lda cwdo,x beq n4 jsr initwam n4 jsr plrcoll bcc n5 lda #1 sta $40 n5 jsr shotcoll bcc n6 lda #6 ldx #$00 ldy #$00 jmp metam n6 rts .bend itscorp .block .word aam0 .word aam1 .word wam0 .word wam1 .word wam2 .word wam3 aam0 .byte $02 .byte $2a .byte $10 .byte $aa .byte $a9 .byte $ac .byte $ab .byte $aa .byte $a9 .byte $ae .byte $ad .byte 0 aam1 .byte $02 .byte $2a .byte $10 .byte $b0 .byte $af .byte $b2 .byte $b1 .byte $b0 .byte $af .byte $b4 .byte $b3 .byte 0 wam0 .byte $71 .byte $02 .byte $81 .byte $e1 .byte $81 .byte $e2 .byte $81 .byte $e3 .byte $60 .byte $81 .byte $e4 .byte $81 .byte $e4 .byte 0 wam1 .byte $70 .byte $02 .byte $91 .byte $e1 .byte $91 .byte $e2 .byte $91 .byte $e3 .byte $60 .byte $91 .byte $e4 .byte $91 .byte $e4 .byte 0 wam2 .byte $71 .byte $02 .byte $93 .byte $e1 .byte $92 .byte $e2 .byte $91 .byte $e3 .byte $90 .byte $e4 .byte 0 wam3 .byte $70 .byte $02 .byte $83 .byte $e1 .byte $82 .byte $e2 .byte $81 .byte $e3 .byte $80 .byte $e4 .byte 0 .bend ;--------------------------------------- fighter .block lda parea,x and #1 sta wam,x jsr plrcoll bcc n1 lda #1 sta $40 n1 jsr shotcoll bcc n2 ldx #$00 ldy #$00 lda #6 jmp metam n2 rts .bend itfighter .block .word aam0 .word aam1 .word wam0 .word wam1 aam1 .byte $08 .byte $2c .byte $bc .byte $bc .byte $03 .byte $bb .byte $ba .byte $b9 .byte $b8 .byte $b7 .byte $b6 .byte $0f .byte $b5 .byte $b5 .byte $b5 .byte $b5 .byte $b5 .byte $b5 .byte $b5 .byte 0 aam0 .byte $0f .byte $2c .byte $b5 .byte 0 wam1 .byte $71 .byte $1d .byte $c0 .byte $b4 .byte $01 .byte $b3 .byte $b2 .byte $b1 .byte $b1 .byte $b0 .byte $b0 .byte $a1 .byte $a1 .byte $a2 .byte $a3 .byte $60 .byte $a4 .byte 0 wam0 .byte $70 .byte $02 .byte $82 .byte $f4 .byte $f3 .byte $f2 .byte $f1 .byte $e0 .byte $e1 .byte $e2 .byte $e3 .byte $e4 .byte $e3 .byte $e2 .byte $e1 .byte $e0 .byte $f1 .byte $f2 .byte $f3 .byte 0 .bend ;--------------------------------------- saturn .block lda #0 sta wam,x jsr plrcoll bcs n3 jsr shotcoll bcs n4 rts n4 lda #6 ldx #$00 ldy #$00 jmp metam n3 jmp killsub .bend itsaturn .block .word aam0 .word wam0 aam0 .byte $02 .byte $24 .byte $bd .byte $be .byte $bf .byte $c0 .byte $c1 .byte $c2 .byte $c1 .byte $c0 .byte $bf .byte $be .byte 0 wam0 .byte $70 .byte $60 .byte $c0 .byte $a0 .byte 0 .bend ;--------------------------------------- melone .block lda #0 sta wam,x n5 jsr plrcoll bcs n3 ; jsr shotcoll ; bcs n3 rts n3 jmp killsub .bend itmelone .block .word aam0 .word wam0 .word wam1 aam0 .byte $06 .byte $25 .byte $10 .byte $c3 .byte $c4 .byte 0 .byte $2a .byte $10 .byte $c3 .byte $c4 .byte $27 .byte $10 .byte $c3 .byte $c4 .byte $2e .byte $10 .byte $c3 .byte $c4 .byte 0 wam0 .byte $70 .byte $01 .byte $80 .byte $f3 .byte $f2 .byte $f1 .byte $f0 .byte $e1 .byte $e2 .byte $e3 .byte $60 .byte $e4 .byte $e4 .byte $e4 .byte 0 wam1 .byte $70 .byte $60 .byte $c0 .byte $a0 .byte 0 .bend ;--------------------------------------- expl .block lda aaamz,x cmp #12 bcc n1 jmp killsub n1 rts .bend itexpl .block .word aam0 .word wam0 .word wam0 aam0 .byte $01 .byte $2a .byte $c5 .byte $c6 .byte $c7 .byte $27 .byte $c8 .byte $c9 .byte $ca .byte $21 .byte $cb .byte $cc .byte $c8 .byte 0 wam0 .byte $70 .byte $60 .byte r0 .byte d0e .byte 0 .bend ;--------------------------------------- gfly .block jsr plrcoll bcc n20 lda #1 sta $40 n20 jsr shotcoll bcc n10 lda #7 ldx #$f0 ldy #$00 jsr prodsub lda #7 ldx #$f8 ldy #$06 jsr prodsub lda #7 ldx #$f4 ldy #$14 jsr prodsub lda #7 ldx #$fc ldy #$fc jsr prodsub ldy #$f6 ldx #$10 lda #$02 jmp metam n10 ldy wam,x bne n2 lda cwri,x bne n2c rts n2b lda #0 sta wam,x n1b rts n2 dey bne n3 lda cwri,x beq n2b lda cwdo,x beq n1b n2c inc wam,x rts n3 dey bne n4 lda cwri,x beq n2b lda cwup,x bne n2c rts n4 dey bne n5 lda cwle,x bne n2c rts n5 dey bne n6 lda cwle,x bne n5b n5c lda #3 sta wam,x rts n5b lda cwdo,x bne n2c rts n6 lda cwle,x beq n5c lda cwup,x bne n2b rts .bend itgfly .block .word aam0 .word wam0 .word wam1 .word wam2 .word wam3 .word wam4 .word wam5 aam0 .byte 2 .byte $25,$25,$25,$25 .byte $cf,$cd,$d0,$ce .byte $d3,$d1,$d4,$d2 .byte $d7,$d5,$d8,$d6 .byte $db,$d9,$dc,$da .byte 1 .byte $d7,$d5,$d8,$d6 .byte $d3,$d1,$d4,$d2 .byte 0 wam0 .byte $70 .byte $60 .byte r1 .byte d0e .byte 0 wam1 .byte $70 .byte $60 .byte r1 .byte d1e .byte 0 wam2 .byte $70 .byte $60 .byte r1 .byte u1e .byte 0 wam3 .byte $70 .byte $60 .byte l1 .byte d0e .byte 0 wam4 .byte $70 .byte $60 .byte l1 .byte d1e .byte 0 wam5 .byte $70 .byte $60 .byte l1 .byte u1e .byte 0 .byte $70 .byte 6 .byte r1 .byte d0e .byte d0e .byte u1e .byte d0e .byte 6 .byte d1e .byte 0 .bend ;--------------------------------------- missl .block lda wam,x bne n1 txa asl a asl a tax ldy subsn,x lda sy,y cmp $14 bcs n2 lda shix,y bne n2 lda slox,y cmp #$b8 bcs n2 cmp #$a0 bcc n2 ldx $d6 inc wam,x n2 rts n1 lda cwdo,x beq n3 n4 lda #7 ldx #$00 ldy #$00 jmp metam n3 jsr shotcoll bcs n4 jsr plrcoll bcc n2 lda #1 sta $40 rts .bend itmissl .block .word aam0 .word wam0 .word wam1 aam0 .byte $02 .byte $2e .byte $e5 .byte $e6 .byte $e7 .byte $e8 .byte 0 wam0 .byte $70 .byte $60 .byte r0 .byte d0e .byte 0 wam1 .byte $70 .byte $60 .byte r0 .byte d3e .byte 0 .bend ;--------------------------------------- ;sprites subjectsspritesdata ; *= submem+$0800