User Tools

Site Tools


base:sprite_multiplexer_2

Multiplexer 2

By Fungus, in Turbo Assembler format.

;---------------------------------------
;Super Galaxians
;
;(C) 2002 Sick Puppy Software
;
;Code, Story, Level Design: Scott
;                           Brockway
;
;Additional Code, BRP! ETC... : GHD
;
;
;Musix, Additional Code,: Glenn Rune
;Level Design             Gallefoss
;
;Graphics, Level Design: Fade
;
;---------------------------------------

         *= $2400      ;origin

ysin     = $3800       ;y sinus

sort     = $05         ;sort buffer
xpos     = $0900       ;plot buffer
xbuf     = $05+($20)   ;raster buffer
ypos     = $0920
ybuf     = $05+($20*2)
sprc     = $0940
cbuf     = $05+($20*3)
sprp     = $0960
pbuf     = $05+($20*4)

sptr     = $02
mnt      = $03
cnt      = $04

xofs     = $04
yofs     = $04

maxspr   = $1f

;---------------------------------------
;game setup routines

         sei
         cld
         ldx #$02
        ;jsr $1000
         lda #<nmi
         ldx #>nmi
         sta $fffa
         sta $fffc
         stx $fffb
         stx $fffd
         lda #<ir0
         ldx #>ir0
         sta $fffe
         stx $ffff
         lda #$35
         sta $01
         lda #$00
         sta $d020
         sta $d021
         sta $d012
         lda #$1b
         sta $d011
         lda #$01
         sta $d01a
         lda #$1f
         sta $dc0d
         sta $dd0d
         lda $dc0d
         lda $dd0d

         lda #$08
         sta $d025    ;dark

         lda #$0c
         sta $d026    ;light

         ldx #maxspr
         lda #$02
ser      sta sprc,x
         dex
         bpl ser

         lda #$ff
         sta $d01c

         jsr mvspr

         ldx #$00
fuck     txa
         sta sort,x
         clc
         adc #$90
         sta sprp,x
         inx
         cpx #maxspr+1
         bne fuck

rset     ldx #$00
pols     ldy sort+1,x
plis     lda ypos,y
         ldy sort,x
         cmp ypos,y
         bcc paws
         inx
         cpx #maxspr
         bne pols
         bpl edn
paws     lda sort+1,x
         sta sort,x
         sty sort+1,x
         dex
         bpl pols
         inx
         beq plis
edn
         inc $d019
         lda $dc0d
         lda $dd0d

         cli

main     lda $b0
shit     cmp $b0
         beq shit
       ; inc $d020
         jsr mvspr
       ; jsr $1003
       ; dec $d020
         jmp main

;---------------------------------------
;experimental
;game irq routine

ir0
         pha
         txa
         pha
         tya
         pha
         inc $d019
         ldx #$03
b1       dex
         bpl b1
         lda #$00
         sta $d015

         inc $d020

rest     ldx #$00      ;super sort
slop     ldy sort+1,x
slep     lda ypos,y
         ldy sort,x
         cmp ypos,y
         bcc swap
         inx
         cpx #maxspr
         bne slop
         beq end
swap
         lda sort+1,x
         sta sort,x
         sty sort+1,x
         tay
         dex
         bpl slep
         inx
         beq slep
end
         dec $d020

         ldy sort     ;re-order buffers
         lda ypos,y
         sta ybuf
         lda xpos,y
         sta xbuf
         lda sprc,y
         sta cbuf
         lda sprp,y
         sta pbuf

         ldy sort+1
         lda ypos,y
         sta ybuf+1
         lda xpos,y
         sta xbuf+1
         lda sprc,y
         sta cbuf+1
         lda sprp,y
         sta pbuf+1

         ldy sort+2
         lda ypos,y
         sta ybuf+2
         lda xpos,y
         sta xbuf+2
         lda sprc,y
         sta cbuf+2
         lda sprp,y
         sta pbuf+2

         ldy sort+3
         lda ypos,y
         sta ybuf+3
         lda xpos,y
         sta xbuf+3
         lda sprc,y
         sta cbuf+3
         lda sprp,y
         sta pbuf+3

         ldy sort+4
         lda ypos,y
         sta ybuf+4
         lda xpos,y
         sta xbuf+4
         lda sprc,y
         sta cbuf+4
         lda sprp,y
         sta pbuf+4

         ldy sort+5
         lda ypos,y
         sta ybuf+5
         lda xpos,y
         sta xbuf+5
         lda sprc,y
         sta cbuf+5
         lda sprp,y
         sta pbuf+5

         ldy sort+6
         lda ypos,y
         sta ybuf+6
         lda xpos,y
         sta xbuf+6
         lda sprc,y
         sta cbuf+6
         lda sprp,y
         sta pbuf+6

         ldy sort+7
         lda ypos,y
         sta ybuf+7
         lda xpos,y
         sta xbuf+7
         lda sprc,y
         sta cbuf+7
         lda sprp,y
         sta pbuf+7

         ldy sort+8
         lda ypos,y
         sta ybuf+8
         lda xpos,y
         sta xbuf+8
         lda sprc,y
         sta cbuf+8
         lda sprp,y
         sta pbuf+8

         ldy sort+9
         lda ypos,y
         sta ybuf+9
         lda xpos,y
         sta xbuf+9
         lda sprc,y
         sta cbuf+9
         lda sprp,y
         sta pbuf+9

         ldy sort+10
         lda ypos,y
         sta ybuf+10
         lda xpos,y
         sta xbuf+10
         lda sprc,y
         sta cbuf+10
         lda sprp,y
         sta pbuf+10

         ldy sort+11
         lda ypos,y
         sta ybuf+11
         lda xpos,y
         sta xbuf+11
         lda sprc,y
         sta cbuf+11
         lda sprp,y
         sta pbuf+11

         ldy sort+12
         lda ypos,y
         sta ybuf+12
         lda xpos,y
         sta xbuf+12
         lda sprc,y
         sta cbuf+12
         lda sprp,y
         sta pbuf+12

         ldy sort+13
         lda ypos,y
         sta ybuf+13
         lda xpos,y
         sta xbuf+13
         lda sprc,y
         sta cbuf+13
         lda sprp,y
         sta pbuf+13

         ldy sort+14
         lda ypos,y
         sta ybuf+14
         lda xpos,y
         sta xbuf+14
         lda sprc,y
         sta cbuf+14
         lda sprp,y
         sta pbuf+14

         ldy sort+15
         lda ypos,y
         sta ybuf+15
         lda xpos,y
         sta xbuf+15
         lda sprc,y
         sta cbuf+15
         lda sprp,y
         sta pbuf+15

         ldy sort+16
         lda ypos,y
         sta ybuf+16
         lda xpos,y
         sta xbuf+16
         lda sprc,y
         sta cbuf+16
         lda sprp,y
         sta pbuf+16

         ldy sort+17
         lda ypos,y
         sta ybuf+17
         lda xpos,y
         sta xbuf+17
         lda sprc,y
         sta cbuf+17
         lda sprp,y
         sta pbuf+17

         ldy sort+18
         lda ypos,y
         sta ybuf+18
         lda xpos,y
         sta xbuf+18
         lda sprc,y
         sta cbuf+18
         lda sprp,y
         sta pbuf+18

         ldy sort+19
         lda ypos,y
         sta ybuf+19
         lda xpos,y
         sta xbuf+19
         lda sprc,y
         sta cbuf+19
         lda sprp,y
         sta pbuf+19

         ldy sort+20
         lda ypos,y
         sta ybuf+20
         lda xpos,y
         sta xbuf+20
         lda sprc,y
         sta cbuf+20
         lda sprp,y
         sta pbuf+20

         ldy sort+21
         lda ypos,y
         sta ybuf+21
         lda xpos,y
         sta xbuf+21
         lda sprc,y
         sta cbuf+21
         lda sprp,y
         sta pbuf+21

         ldy sort+22
         lda ypos,y
         sta ybuf+22
         lda xpos,y
         sta xbuf+22
         lda sprc,y
         sta cbuf+22
         lda sprp,y
         sta pbuf+22

         ldy sort+23
         lda ypos,y
         sta ybuf+23
         lda xpos,y
         sta xbuf+23
         lda sprc,y
         sta cbuf+23
         lda sprp,y
         sta pbuf+23

         ldy sort+24
         lda ypos,y
         sta ybuf+24
         lda xpos,y
         sta xbuf+24
         lda sprc,y
         sta cbuf+24
         lda sprp,y
         sta pbuf+24

         ldy sort+25
         lda ypos,y
         sta ybuf+25
         lda xpos,y
         sta xbuf+25
         lda sprc,y
         sta cbuf+25
         lda sprp,y
         sta pbuf+25

         ldy sort+26
         lda ypos,y
         sta ybuf+26
         lda xpos,y
         sta xbuf+26
         lda sprc,y
         sta cbuf+26
         lda sprp,y
         sta pbuf+26

         ldy sort+27
         lda ypos,y
         sta ybuf+27
         lda xpos,y
         sta xbuf+27
         lda sprc,y
         sta cbuf+27
         lda sprp,y
         sta pbuf+27

         ldy sort+28
         lda ypos,y
         sta ybuf+28
         lda xpos,y
         sta xbuf+28
         lda sprc,y
         sta cbuf+28
         lda sprp,y
         sta pbuf+28

         ldy sort+29
         lda ypos,y
         sta ybuf+29
         lda xpos,y
         sta xbuf+29
         lda sprc,y
         sta cbuf+29
         lda sprp,y
         sta pbuf+29

         ldy sort+30
         lda ypos,y
         sta ybuf+30
         lda xpos,y
         sta xbuf+30
         lda sprc,y
         sta cbuf+30
         lda sprp,y
         sta pbuf+30

         ldy sort+31
         lda ypos,y
         sta ybuf+31
         lda xpos,y
         sta xbuf+31
         lda sprc,y
         sta cbuf+31
         lda sprp,y
         sta pbuf+31


         ldx #$00     ;find how many
         stx sptr     ;sprites
maxc     lda ybuf,x
         cmp #$ff
         beq maxs
         inx
         cpx #maxspr+1
         bne maxc
maxs     stx cnt
         cpx #$07
         bcc maxm
         ldx #$07
maxm     stx mnt

         lda #$ff
         sta $d001
         sta $d003
         sta $d005
         sta $d007
         sta $d009
         sta $d00b
         sta $d00d
         sta $d00f

         inc $b0

         lda #$02
         sta $dd00
         lda #$80
         sta $d018
         lda #$18
         sta $d016
         lda #$00
         sta $d021
         lda #$3b
         sta $d011
         lda #<ir1
         sta $fffe
         lda #>ir1
         sta $ffff
         lda #$28
         sta $d012
         jmp eirq
ir1
         pha
         txa
         pha
         tya
         pha
         inc $d019
         lda #$ff
         sta $d015
         ldx sptr
hlop1    lda ybuf,x
         sta $d001
         lda xbuf,x
         asl a           ;rm w/mbuf
         sta $d000
       ; lda mbuf,x
         bcc no1         ;beg w/mbuf
         lda $d010
         ora #%00000001
         bne yes1
no1      lda $d010
         and #%11111110
yes1     sta $d010
         lda pbuf,x
         sta $63f8
         lda cbuf,x
         sta $d027
         inx
         cpx mnt
         bcc hlop2
         cpx cnt
         bne ok1
         jmp done

ok1      stx sptr
         lda $d003
         clc
         adc #$15
         cmp $d012
         bcc hlop2
         adc #$02
         sta $d012
         lda #<ir2
         sta $fffe
         lda #>ir2
         sta $ffff
         jmp eirq

ir2      pha
         txa
         pha
         tya
         pha
         inc $d019
         ldx sptr
hlop2    lda ybuf,x
         sta $d003
         lda xbuf,x
         asl a
         sta $d002
        ;lda mbuf,x
         bcc no2
         lda $d010
         ora #%00000010
         bne yes2
no2      lda $d010
         and #%11111101
yes2     sta $d010
         lda pbuf,x
         sta $63f9
         lda cbuf,x
         sta $d028
         inx
         cpx mnt
         bcc hlop3
         cpx cnt
         bne ok2
         jmp done

ok2      stx sptr
         lda $d005
         clc
         adc #$15
         cmp $d012
         bcc hlop3
         adc #$02
         sta $d012
         lda #<ir3
         sta $fffe
         lda #>ir3
         sta $ffff
         jmp eirq

ir3      pha
         txa
         pha
         tya
         pha
         inc $d019
         ldx sptr
hlop3    lda ybuf,x
         sta $d005
         lda xbuf,x
         asl a
         sta $d004
        ;lda mbuf,x
         bcc no3
         lda $d010
         ora #%00000100
         bne yes3
no3      lda $d010
         and #%11111011
yes3     sta $d010
         lda pbuf,x
         sta $63fa
         lda cbuf,x
         sta $d029
         inx
         cpx mnt
         bcc hlop4
         cpx cnt
         bne ok3
         jmp done

ok3      stx sptr
         lda $d007
         clc
         adc #$15
         cmp $d012
         bcc hlop4
         adc #$02
         sta $d012
         lda #<ir4
         sta $fffe
         lda #>ir4
         sta $ffff
         jmp eirq

ir4      pha
         txa
         pha
         tya
         pha
         inc $d019
         ldx sptr
hlop4    lda ybuf,x
         sta $d007
         lda xbuf,x
         asl a
         sta $d006
        ;lda mbuf,x
         bcc no4
         lda $d010
         ora #%00001000
         bne yes4
no4      lda $d010
         and #%11110111
yes4     sta $d010
         lda pbuf,x
         sta $63fb
         lda cbuf,x
         sta $d02a
         inx
         cpx mnt
         bcc hlop5
         cpx cnt
         bne ok4
         jmp done

ok4      stx sptr
         lda $d009
         clc
         adc #$15
         cmp $d012
         bcc hlop5
         adc #$02
         sta $d012
         lda #<ir5
         sta $fffe
         lda #>ir5
         sta $ffff
         jmp eirq

ir5      pha
         txa
         pha
         tya
         pha
         inc $d019
         ldx sptr
hlop5    lda ybuf,x
         sta $d009
         lda xbuf,x
         asl a
         sta $d008
        ;lda mbuf,x
         bcc no5
         lda $d010
         ora #%00010000
         bne yes5
no5      lda $d010
         and #%11101111
yes5     sta $d010
         lda pbuf,x
         sta $63fc
         lda cbuf,x
         sta $d02b
         inx
         cpx mnt
         bcc hlop6
         cpx cnt
         bne ok5
         jmp done

ok5      stx sptr
         lda $d00b
         clc
         adc #$15
         cmp $d012
         bcc hlop6
         adc #$02
         sta $d012
         lda #<ir6
         sta $fffe
         lda #>ir6
         sta $ffff
         jmp eirq

ir6      pha
         txa
         pha
         tya
         pha
         inc $d019
         ldx sptr
hlop6    lda ybuf,x
         sta $d00b
         lda xbuf,x
         asl a
         sta $d00a
       ; lda mbuf,x
         bcc no6
         lda $d010
         ora #%00100000
         bne yes6
no6      lda $d010
         and #%11011111
yes6     sta $d010
         lda pbuf,x
         sta $63fd
         lda cbuf,x
         sta $d02c
         inx
         cpx mnt
         bcc hlop7
         cpx cnt
         bne ok6
         jmp done

ok6      stx sptr
         lda $d00d
         clc
         adc #$15
         cmp $d012
         bcc hlop7
         adc #$02
         sta $d012
         lda #<ir7
         sta $fffe
         lda #>ir7
         sta $ffff
         jmp eirq

ir7      pha
         txa
         pha
         tya
         pha
         inc $d019
         ldx sptr
hlop7    lda ybuf,x
         sta $d00d
         lda xbuf,x
         asl a
         sta $d00c
      ;  lda mbuf,x
         bcc no7
         lda $d010
         ora #%01000000
         bne yes7
no7      lda $d010
         and #%10111111
yes7     sta $d010
         lda pbuf,x
         sta $63fe
         lda cbuf,x
         sta $d02d
         inx
         cpx mnt
         bcc hlop8
         cpx cnt
         bne ok7
         jmp done

ok7      stx sptr
         lda $d00f
         clc
         adc #$15
         cmp $d012
         bcc hlop8
         adc #$02
         sta $d012
         lda #<ir8
         sta $fffe
         lda #>ir8
         sta $ffff
         jmp eirq

ir8      pha
         txa
         pha
         tya
         pha
         inc $d019
         ldx sptr
hlop8    lda ybuf,x
         sta $d00f
         lda xbuf,x
         asl a
         sta $d00e
        ;lda mbuf,x
         bcc no8
         lda $d010
         ora #%10000000
         bne yes8
no8      lda $d010
         and #%01111111
yes8     sta $d010
         lda pbuf,x
         sta $63ff
         lda cbuf,x
         sta $d02e
         inx
         cpx mnt
         bcc hlop9
         cpx cnt
         bne ok8
         jmp done

ok8      stx sptr
         lda $d001
         clc
         adc #$15
         cmp $d012
         bcc hlop9
         adc #$02
         sta $d012
         lda #<ir1
         sta $fffe
         lda #>ir1
         sta $ffff
         jmp eirq
hlop9    jmp hlop1

done     lda #<ir0
         sta $fffe
         lda #>ir0
         sta $ffff
         lda #$fb
         sta $d012
eirq
         pla
         tay
         pla
         tax
         pla
         rti

;---------------------------------------
;sprite movement

mvspr

;plot y

y1       lda ysin
         sta ypos
y2       lda ysin+yofs
         sta ypos+1
y3       lda ysin+(yofs*2)
         sta ypos+2
y4       lda ysin+(yofs*3)
         sta ypos+3
y5       lda ysin+(yofs*4)
         sta ypos+4
y6       lda ysin+(yofs*5)
         sta ypos+5
y7       lda ysin+(yofs*6)
         sta ypos+6
y8       lda ysin+(yofs*7)
         sta ypos+7
y9       lda ysin+(yofs*8)
         sta ypos+8
y10      lda ysin+(yofs*9)
         sta ypos+9
y11      lda ysin+(yofs*10)
         sta ypos+10
y12      lda ysin+(yofs*11)
         sta ypos+11
y13      lda ysin+(yofs*12)
         sta ypos+12
y14      lda ysin+(yofs*13)
         sta ypos+13
y15      lda ysin+(yofs*14)
         sta ypos+14
y16      lda ysin+(yofs*15)
         sta ypos+15
y17      lda ysin+(yofs*16)
         sta ypos+16
y18      lda ysin+(yofs*17)
         sta ypos+17
y19      lda ysin+(yofs*18)
         sta ypos+18
y20      lda ysin+(yofs*19)
         sta ypos+19
y21      lda ysin+(yofs*20)
         sta ypos+20
y22      lda ysin+(yofs*21)
         sta ypos+21
y23      lda ysin+(yofs*22)
         sta ypos+22
y24      lda ysin+(yofs*23)
         sta ypos+23
y25      lda ysin+(yofs*24)
         sta ypos+24
y26      lda ysin+(yofs*25)
         sta ypos+25
y27      lda ysin+(yofs*26)
         sta ypos+26
y28      lda ysin+(yofs*27)
         sta ypos+27
y29      lda ysin+(yofs*28)
         sta ypos+28
y30      lda ysin+(yofs*29)
         sta ypos+29
y31      lda ysin+(yofs*30)
         sta ypos+30
y32      lda ysin+(yofs*31)
         sta ypos+31
;plot x

x1       lda #$00
         sta xpos
x2       lda #$00+xofs
         sta xpos+1
x3       lda #$00+(xofs*2)
         sta xpos+2
x4       lda #$00+(xofs*3)
         sta xpos+3
x5       lda #$00+(xofs*4)
         sta xpos+4
x6       lda #$00+(xofs*5)
         sta xpos+5
x7       lda #$00+(xofs*6)
         sta xpos+6
x8       lda #$00+(xofs*7)
         sta xpos+7
x9       lda #$00+(xofs*8)
         sta xpos+8
x10      lda #$00+(xofs*9)
         sta xpos+9
x11      lda #$00+(xofs*10)
         sta xpos+10
x12      lda #$00+(xofs*11)
         sta xpos+11
x13      lda #$00+(xofs*12)
         sta xpos+12
x14      lda #$00+(xofs*13)
         sta xpos+13
x15      lda #$00+(xofs*14)
         sta xpos+14
x16      lda #$00+(xofs*15)
         sta xpos+15
x17      lda #$00+(xofs*16)
         sta xpos+16
x18      lda #$00+(xofs*17)
         sta xpos+17
x19      lda #$00+(xofs*18)
         sta xpos+18
x20      lda #$00+(xofs*19)
         sta xpos+19
x21      lda #$00+(xofs*20)
         sta xpos+20
x22      lda #$00+(xofs*21)
         sta xpos+21
x23      lda #$00+(xofs*22)
         sta xpos+22
x24      lda #$00+(xofs*23)
         sta xpos+23
x25      lda #$00+(xofs*24)
         sta xpos+24
x26      lda #$00+(xofs*25)
         sta xpos+25
x27      lda #$00+(xofs*26)
         sta xpos+26
x28      lda #$00+(xofs*27)
         sta xpos+27
x29      lda #$00+(xofs*28)
         sta xpos+28
x30      lda #$00+(xofs*29)
         sta xpos+29
x31      lda #$00+(xofs*30)
         sta xpos+30
x32      lda #$00+(xofs*31)
         sta xpos+31

        ;jmp cx
;move y
         inc y1+1
         inc y2+1
         inc y3+1
         inc y4+1
         inc y5+1
         inc y6+1
         inc y7+1
         inc y8+1
         inc y9+1
         inc y10+1
         inc y11+1
         inc y12+1
         inc y13+1
         inc y14+1
         inc y15+1
         inc y16+1
         inc y17+1
         inc y18+1
         inc y19+1
         inc y20+1
         inc y21+1
         inc y22+1
         inc y23+1
         inc y24+1
         inc y25+1
         inc y26+1
         inc y27+1
         inc y28+1
         inc y29+1
         inc y30+1
         inc y31+1
         inc y32+1
;move x
cx
         dec x1+1
         dec x2+1
         dec x3+1
         dec x4+1
         dec x5+1
         dec x6+1
         dec x7+1
         dec x8+1
         dec x9+1
         dec x10+1
         dec x11+1
         dec x12+1
         dec x13+1
         dec x14+1
         dec x15+1
         dec x16+1
         dec x17+1
         dec x18+1
         dec x19+1
         dec x20+1
         dec x21+1
         dec x22+1
         dec x23+1
         dec x24+1
         dec x25+1
         dec x26+1
         dec x27+1
         dec x28+1
         dec x29+1
         dec x30+1
         dec x31+1
         dec x32+1

;scroll wrap

         ldx #$b0
         lda x1+1
         cmp #$ff
         bne p1
         stx x1+1
p1       lda x2+1
         cmp #$ff
         bne p2
         stx x2+1
p2       lda x3+1
         cmp #$ff
         bne p3
         stx x3+1
p3       lda x4+1
         cmp #$ff
         bne p4
         stx x4+1
p4       lda x5+1
         cmp #$ff
         bne p5
         stx x5+1
p5       lda x6+1
         cmp #$ff
         bne p6
         stx x6+1
p6       lda x7+1
         cmp #$ff
         bne p7
         stx x7+1
p7       lda x8+1
         cmp #$ff
         bne p8
         stx x8+1
p8       lda x9+1
         cmp #$ff
         bne p9
         stx x9+1
p9       lda x10+1
         cmp #$ff
         bne p10
         stx x10+1
p10      lda x11+1
         cmp #$ff
         bne p11
         stx x11+1
p11      lda x12+1
         cmp #$ff
         bne p12
         stx x12+1
p12      lda x13+1
         cmp #$ff
         bne p13
         stx x13+1
p13      lda x14+1
         cmp #$ff
         bne p14
         stx x14+1
p14      lda x15+1
         cmp #$ff
         bne p15
         stx x15+1
p15      lda x16+1
         cmp #$ff
         bne p16
         stx x16+1
p16      lda x17+1
         cmp #$ff
         bne p17
         stx x17+1
p17      lda x18+1
         cmp #$ff
         bne p18
         stx x18+1
p18      lda x19+1
         cmp #$ff
         bne p19
         stx x19+1
p19      lda x20+1
         cmp #$ff
         bne p20
         stx x20+1
p20      lda x21+1
         cmp #$ff
         bne p21
         stx x21+1
p21      lda x22+1
         cmp #$ff
         bne p22
         stx x22+1
p22      lda x23+1
         cmp #$ff
         bne p23
         stx x23+1
p23      lda x24+1
         cmp #$ff
         bne p24
         stx x24+1
p24      lda x25+1
         cmp #$ff
         bne p25
         stx x25+1
p25      lda x26+1
         cmp #$ff
         bne p26
         stx x26+1
p26      lda x27+1
         cmp #$ff
         bne p27
         stx x27+1
p27      lda x28+1
         cmp #$ff
         bne p28
         stx x28+1
p28      lda x29+1
         cmp #$ff
         bne p29
         stx x29+1
p29      lda x30+1
         cmp #$ff
         bne p30
         stx x30+1
p30      lda x31+1
         cmp #$ff
         bne p31
         stx x31+1
p31      lda x32+1
         cmp #$ff
         bne p32
         stx x32+1
p32      rts

;---------------------------------------
;sprite animation


;---------------------------------------
;end

nmi
         lda #$37
         sta $01
         lda $dd0d
         jmp $9000
base/sprite_multiplexer_2.txt · Last modified: 2015-04-17 04:34 (external edit)