mirror of
https://github.com/jeremysrand/BuGS.git
synced 2024-09-27 06:54:44 +00:00
718 lines
12 KiB
Plaintext
718 lines
12 KiB
Plaintext
;
|
|
; sprites.macros
|
|
; BuGS
|
|
;
|
|
; Created by Jeremy Rand on 2020-06-16.
|
|
;Copyright © 2020 Jeremy Rand. All rights reserved.
|
|
;
|
|
|
|
macro
|
|
_spriteHeader
|
|
sei ; 2
|
|
tsc ; 2
|
|
sta >backupStack ; 5
|
|
lda >STATE_REGISTER ; 6 - Direct Page and Stack in Bank 01/
|
|
ora #$0030 ; 3
|
|
sta >STATE_REGISTER ; 6
|
|
clc ; 2
|
|
tya ; 2
|
|
tcs ; 2
|
|
mend ; 30
|
|
|
|
|
|
macro
|
|
_spriteFooter
|
|
lda >STATE_REGISTER ; 6
|
|
and #$ffcf ; 3
|
|
sta >STATE_REGISTER ; 6
|
|
lda >backupStack ; 5
|
|
tcs ; 2
|
|
cli ; 2
|
|
mend ; 24
|
|
|
|
|
|
macro
|
|
_leftHead
|
|
|
|
; $c - Green
|
|
; $4 - Red
|
|
; $8 - Off-white
|
|
;
|
|
; ....|....
|
|
; .RRG|G...
|
|
; GRRG|GG..
|
|
; GGGG|GGG.
|
|
; GGGG|GGG.
|
|
; GRRG|GG..
|
|
; .RRG|G...
|
|
; ....|....
|
|
|
|
lda $a0,s
|
|
and #$00f0
|
|
ora #$4c04
|
|
sta $a0,s
|
|
|
|
lda $a2,s
|
|
; and #$ff0f not necessary with pure green
|
|
ora #$00c0
|
|
sta $a2,s
|
|
|
|
tsc
|
|
adc #$141
|
|
tcs
|
|
|
|
pea $4cc4
|
|
|
|
lda $3,s
|
|
; and #$ff00 not necessary with pure green
|
|
ora #$00cc
|
|
sta $3,s
|
|
|
|
lda #$cccc
|
|
sta $a1,s
|
|
|
|
lda $a3,s
|
|
; and #$0f00 not necessary with pure green
|
|
ora #$c0cc
|
|
sta $a3,s
|
|
|
|
tsc
|
|
adc #$142
|
|
tcs
|
|
|
|
pea $cccc
|
|
|
|
lda $3,s
|
|
; and #$0f00 not necessary with pure green
|
|
ora #$c0cc
|
|
sta $3,s
|
|
|
|
lda #$4cc4
|
|
sta $a1,s
|
|
|
|
lda $a3,s
|
|
; and #$ff00 not necessary with pure green
|
|
ora #$00cc
|
|
sta $a3,s
|
|
|
|
tsc
|
|
adc #$141
|
|
tcs
|
|
|
|
lda $0,s
|
|
and #$00f0
|
|
ora #$4c04
|
|
sta $0,s
|
|
|
|
lda $2,s
|
|
; and #$ff0f not necessary with pure green
|
|
ora #$00c0
|
|
sta $2,s
|
|
|
|
mend
|
|
|
|
macro
|
|
_leftHeadShift
|
|
|
|
; $c - Green
|
|
; $4 - Red
|
|
; $8 - Off-white
|
|
;
|
|
; ....|....
|
|
; ..RR|GG..
|
|
; .GRR|GGG.
|
|
; .GGG|GGGG
|
|
; .GGG|GGGG
|
|
; .GRR|GGG.
|
|
; ..RR|GG..
|
|
; ....|....
|
|
|
|
lda $a0,s
|
|
and #$00ff
|
|
ora #$4400
|
|
sta $a0,s
|
|
|
|
lda $a2,s
|
|
; and #$ff00 not necessary with pure green
|
|
ora #$00cc
|
|
sta $a2,s
|
|
|
|
tsc
|
|
adc #$140
|
|
tcs
|
|
|
|
lda $0,s
|
|
and #$00f0
|
|
ora #$440c
|
|
sta $0,s
|
|
|
|
lda $2,s
|
|
; and #$0f00 not necessary with pure green
|
|
ora #$c0cc
|
|
sta $2,s
|
|
|
|
lda $a0,s
|
|
; and #$00f0 not necessary with pure green
|
|
ora #$cc0c
|
|
sta $a0,s
|
|
|
|
lda #$cccc
|
|
sta $a2,s
|
|
|
|
tsc
|
|
adc #$140
|
|
tcs
|
|
|
|
lda $0,s
|
|
; and #$00f0 not necessary with pure green
|
|
ora #$cc0c
|
|
sta $0,s
|
|
|
|
lda #$cccc
|
|
sta $2,s
|
|
|
|
lda $a0,s
|
|
and #$00f0
|
|
ora #$440c
|
|
sta $a0,s
|
|
|
|
lda $a2,s
|
|
; and #$0f00 not necessary with pure green
|
|
ora #$c0cc
|
|
sta $a2,s
|
|
|
|
tsc
|
|
adc #$140
|
|
tcs
|
|
|
|
lda $0,s
|
|
and #$00ff
|
|
ora #$4400
|
|
sta $0,s
|
|
|
|
lda $2,s
|
|
; and #$ff00 not necessary with pure green
|
|
ora #$00cc
|
|
sta $2,s
|
|
|
|
mend
|
|
|
|
|
|
macro
|
|
_leftBody
|
|
|
|
; $c - Green
|
|
; $4 - Red
|
|
; $8 - Off-white
|
|
;
|
|
; ....|....
|
|
; .GGG|G...
|
|
; GGGG|GG..
|
|
; GGGG|GGG.
|
|
; GGGG|GGG.
|
|
; GGGG|GG..
|
|
; .GGG|G...
|
|
; ....|....
|
|
|
|
lda $a0,s
|
|
; and #$00f0 not necessary with pure green
|
|
ora #$cc0c
|
|
sta $a0,s
|
|
|
|
lda $a2,s
|
|
; and #$ff0f not necessary with pure green
|
|
ora #$00c0
|
|
sta $a2,s
|
|
|
|
tsc
|
|
adc #$141
|
|
tcs
|
|
|
|
pea $cccc
|
|
|
|
lda $3,s
|
|
; and #$ff00 not necessary with pure green
|
|
ora #$00cc
|
|
sta $3,s
|
|
|
|
lda #$cccc
|
|
sta $a1,s
|
|
|
|
lda $a3,s
|
|
; and #$0f00 not necessary with pure green
|
|
ora #$c0cc
|
|
sta $a3,s
|
|
|
|
tsc
|
|
adc #$142
|
|
tcs
|
|
|
|
pea $cccc
|
|
|
|
lda $3,s
|
|
; and #$0f00 not necessary with pure green
|
|
ora #$c0cc
|
|
sta $3,s
|
|
|
|
lda #$cccc
|
|
sta $a1,s
|
|
|
|
lda $a3,s
|
|
; and #$ff00 not necessary with pure green
|
|
ora #$00cc
|
|
sta $a3,s
|
|
|
|
tsc
|
|
adc #$141
|
|
tcs
|
|
|
|
lda $0,s
|
|
; and #$00f0 not necessary with pure green
|
|
ora #$cc0c
|
|
sta $0,s
|
|
|
|
lda $2,s
|
|
; and #$ff0f not necessary with pure green
|
|
ora #$00c0
|
|
sta $2,s
|
|
|
|
mend
|
|
|
|
|
|
macro
|
|
_leftBodyShift
|
|
|
|
; $c - Green
|
|
; $4 - Red
|
|
; $8 - Off-white
|
|
;
|
|
; ....|....
|
|
; ..GG|GG..
|
|
; .GGG|GGG.
|
|
; .GGG|GGGG
|
|
; .GGG|GGGG
|
|
; .GGG|GGG.
|
|
; ..GG|GG..
|
|
; ....|....
|
|
|
|
lda $a0,s
|
|
; and #$00ff not necessary with pure green
|
|
ora #$cc00
|
|
sta $a0,s
|
|
|
|
lda $a2,s
|
|
; and #$ff00 not necessary with pure green
|
|
ora #$00cc
|
|
sta $a2,s
|
|
|
|
tsc
|
|
adc #$140
|
|
tcs
|
|
|
|
lda $0,s
|
|
; and #$00f0 not necessary with pure green
|
|
ora #$cc0c
|
|
sta $0,s
|
|
|
|
lda $2,s
|
|
; and #$0f00 not necessary with pure green
|
|
ora #$c0cc
|
|
sta $2,s
|
|
|
|
lda $a0,s
|
|
; and #$00f0 not necessary with pure green
|
|
ora #$cc0c
|
|
sta $a0,s
|
|
|
|
lda #$cccc
|
|
sta $a2,s
|
|
|
|
tsc
|
|
adc #$140
|
|
tcs
|
|
|
|
lda $0,s
|
|
; and #$00f0 not necessary with pure green
|
|
ora #$cc0c
|
|
sta $0,s
|
|
|
|
lda #$cccc
|
|
sta $2,s
|
|
|
|
lda $a0,s
|
|
; and #$00f0 not necessary with pure green
|
|
ora #$cc0c
|
|
sta $a0,s
|
|
|
|
lda $a2,s
|
|
; and #$0f00 not necessary with pure green
|
|
ora #$c0cc
|
|
sta $a2,s
|
|
|
|
tsc
|
|
adc #$140
|
|
tcs
|
|
|
|
lda $0,s
|
|
; and #$00ff not necessary with pure green
|
|
ora #$cc00
|
|
sta $0,s
|
|
|
|
lda $2,s
|
|
; and #$ff00 not necessary with pure green
|
|
ora #$00cc
|
|
sta $2,s
|
|
|
|
mend
|
|
|
|
|
|
macro
|
|
_rightHead
|
|
|
|
; $c - Green
|
|
; $4 - Red
|
|
; $8 - Off-white
|
|
;
|
|
; ....|....
|
|
; ...G|GRR.
|
|
; ..GG|GRRG
|
|
; .GGG|GGGG
|
|
; .GGG|GGGG
|
|
; ..GG|GRRG
|
|
; ...G|GRR.
|
|
; ....|....
|
|
|
|
lda $a0,s
|
|
; and #$f0ff not necessary with pure green
|
|
ora #$0c00
|
|
sta $a0,s
|
|
|
|
lda $a2,s
|
|
and #$0f00
|
|
ora #$40c4
|
|
sta $a2,s
|
|
|
|
tsc
|
|
adc #$140
|
|
tcs
|
|
|
|
lda $0,s
|
|
; and #$00ff not necessary with pure green
|
|
ora #$cc00
|
|
sta $0,s
|
|
|
|
lda #$4cc4
|
|
sta $2,s
|
|
|
|
lda $a0,s
|
|
; and #$00f0 not necessary with pure green
|
|
ora #$cc0c
|
|
sta $a0,s
|
|
|
|
lda #$cccc
|
|
sta $a2,s
|
|
|
|
tsc
|
|
adc #$140
|
|
tcs
|
|
|
|
lda $0,s
|
|
; and #$00f0 not necessary with pure green
|
|
ora #$cc0c
|
|
sta $0,s
|
|
|
|
lda #$cccc
|
|
sta $2,s
|
|
|
|
lda $a0,s
|
|
; and #$00ff not necessary with pure green
|
|
ora #$cc00
|
|
sta $a0,s
|
|
|
|
lda #$4cc4
|
|
sta $a2,s
|
|
|
|
tsc
|
|
adc #$140
|
|
tcs
|
|
|
|
lda $0,s
|
|
; and #$f0ff not necessary with pure green
|
|
ora #$0c00
|
|
sta $0,s
|
|
|
|
lda $2,s
|
|
and #$0f00
|
|
ora #$40c4
|
|
sta $2,s
|
|
|
|
mend
|
|
|
|
|
|
macro
|
|
_rightHeadShift
|
|
|
|
; $c - Green
|
|
; $4 - Red
|
|
; $8 - Off-white
|
|
;
|
|
; ....|....
|
|
; ..GG|RR..
|
|
; .GGG|RRG.
|
|
; GGGG|GGG.
|
|
; GGGG|GGG.
|
|
; .GGG|RRG.
|
|
; ..GG|RR..
|
|
; ....|....
|
|
|
|
lda $a0,s
|
|
; and #$00ff not necessary with pure green
|
|
ora #$cc00
|
|
sta $a0,s
|
|
|
|
lda $a2,s
|
|
and #$ff00
|
|
ora #$0044
|
|
sta $a2,s
|
|
|
|
tsc
|
|
adc #$140
|
|
tcs
|
|
|
|
lda $0,s
|
|
; and #$00f0 not necessary with pure green
|
|
ora #$cc0c
|
|
sta $0,s
|
|
|
|
lda $2,s
|
|
and #$0f00
|
|
ora #$c044
|
|
sta $2,s
|
|
|
|
lda #$cccc
|
|
sta $a0,s
|
|
|
|
lda $a2,s
|
|
; and #$0f00 not necessary with pure green
|
|
ora #$c0cc
|
|
sta $a2,s
|
|
|
|
tsc
|
|
adc #$141
|
|
tcs
|
|
|
|
pea $cccc
|
|
|
|
lda $3,s
|
|
; and #$0f00 not necessary with pure green
|
|
ora #$c0cc
|
|
sta $3,s
|
|
|
|
lda $a1,s
|
|
; and #$00f0 not necessary with pure green
|
|
ora #$cc0c
|
|
sta $a1,s
|
|
|
|
lda $a3,s
|
|
and #$0f00
|
|
ora #$c044
|
|
sta $a3,s
|
|
|
|
tsc
|
|
adc #$141
|
|
tcs
|
|
|
|
lda $0,s
|
|
; and #$00ff not necessary with pure green
|
|
ora #$cc00
|
|
sta $0,s
|
|
|
|
lda $2,s
|
|
and #$ff00
|
|
ora #$0044
|
|
sta $2,s
|
|
|
|
mend
|
|
|
|
|
|
macro
|
|
_rightBody
|
|
|
|
; $c - Green
|
|
; $4 - Red
|
|
; $8 - Off-white
|
|
;
|
|
; ....|....
|
|
; ...G|GGG.
|
|
; ..GG|GGGG
|
|
; .GGG|GGGG
|
|
; .GGG|GGGG
|
|
; ..GG|GGGG
|
|
; ...G|GGG.
|
|
; ....|....
|
|
|
|
lda $a0,s
|
|
; and #$f0ff not necessary with pure green
|
|
ora #$0c00
|
|
sta $a0,s
|
|
|
|
lda $a2,s
|
|
; and #$0f00 not necessary with pure green
|
|
ora #$c0cc
|
|
sta $a2,s
|
|
|
|
tsc
|
|
adc #$140
|
|
tcs
|
|
|
|
lda $0,s
|
|
; and #$00ff not necessary with pure green
|
|
ora #$cc00
|
|
sta $0,s
|
|
|
|
lda #$cccc
|
|
sta $2,s
|
|
|
|
lda $a0,s
|
|
; and #$00f0 not necessary with pure green
|
|
ora #$cc0c
|
|
sta $a0,s
|
|
|
|
lda #$cccc
|
|
sta $a2,s
|
|
|
|
tsc
|
|
adc #$140
|
|
tcs
|
|
|
|
lda $0,s
|
|
; and #$00f0 not necessary with pure green
|
|
ora #$cc0c
|
|
sta $0,s
|
|
|
|
lda #$cccc
|
|
sta $2,s
|
|
|
|
lda $a0,s
|
|
; and #$00ff not necessary with pure green
|
|
ora #$cc00
|
|
sta $a0,s
|
|
|
|
lda #$cccc
|
|
sta $a2,s
|
|
|
|
tsc
|
|
adc #$140
|
|
tcs
|
|
|
|
lda $0,s
|
|
; and #$f0ff not necessary with pure green
|
|
ora #$0c00
|
|
sta $0,s
|
|
|
|
lda $2,s
|
|
; and #$0f00 not necessary with pure green
|
|
ora #$c0cc
|
|
sta $2,s
|
|
|
|
mend
|
|
|
|
|
|
macro
|
|
_rightBodyShift
|
|
|
|
; $c - Green
|
|
; $4 - Red
|
|
; $8 - Off-white
|
|
;
|
|
; ....|....
|
|
; ..GG|GG..
|
|
; .GGG|GGG.
|
|
; GGGG|GGG.
|
|
; GGGG|GGG.
|
|
; .GGG|GGG.
|
|
; ..GG|GG..
|
|
; ....|....
|
|
|
|
lda $a0,s
|
|
; and #$00ff not necessary with pure green
|
|
ora #$cc00
|
|
sta $a0,s
|
|
|
|
lda $a2,s
|
|
; and #$ff00 not necessary with pure green
|
|
ora #$00cc
|
|
sta $a2,s
|
|
|
|
tsc
|
|
adc #$140
|
|
tcs
|
|
|
|
lda $0,s
|
|
; and #$00f0 not necessary with pure green
|
|
ora #$cc0c
|
|
sta $0,s
|
|
|
|
lda $2,s
|
|
; and #$0f00 not necessary with pure green
|
|
ora #$c0cc
|
|
sta $2,s
|
|
|
|
lda #$cccc
|
|
sta $a0,s
|
|
|
|
lda $a2,s
|
|
; and #$0f00 not necessary with pure green
|
|
ora #$c0cc
|
|
sta $a2,s
|
|
|
|
tsc
|
|
adc #$141
|
|
tcs
|
|
|
|
pea $cccc
|
|
|
|
lda $3,s
|
|
; and #$0f00 not necessary with pure green
|
|
ora #$c0cc
|
|
sta $3,s
|
|
|
|
lda $a1,s
|
|
; and #$00f0 not necessary with pure green
|
|
ora #$cc0c
|
|
sta $a1,s
|
|
|
|
lda $a3,s
|
|
; and #$0f00 not necessary with pure green
|
|
ora #$c0cc
|
|
sta $a3,s
|
|
|
|
tsc
|
|
adc #$141
|
|
tcs
|
|
|
|
lda $0,s
|
|
; and #$00ff not necessary with pure green
|
|
ora #$cc00
|
|
sta $0,s
|
|
|
|
lda $2,s
|
|
; and #$ff00 not necessary with pure green
|
|
ora #$00cc
|
|
sta $2,s
|
|
|
|
mend
|
|
|
|
macro
|
|
_collision &mask
|
|
|
|
tax
|
|
and &mask
|
|
beq _noCollision_&SYSCNT
|
|
sta collision
|
|
|
|
_noCollision_&SYSCNT anop
|
|
txa
|
|
|
|
mend
|