mirror of
https://github.com/jeremysrand/BuGS.git
synced 2024-05-28 16:41:35 +00:00
Finish the spider sprites and the explosion sprites. Remove "and" masking from the spider and scorpion sprites because they will be drawn first and will not overlap with anything on the foreground. Split the sprite.s file into a series of smaller files for each type of sprite. Add a file to describe the overall plan for the design of the sprites.
This commit is contained in:
parent
e7ca4d4624
commit
598934446b
|
@ -63,8 +63,18 @@
|
|||
9D1716A42491C49300C83148 /* system601.2mg */ = {isa = PBXFileReference; lastKnownFileType = file; path = system601.2mg; sourceTree = "<group>"; };
|
||||
9D1716A62491C49300C83148 /* tail.mk */ = {isa = PBXFileReference; lastKnownFileType = text; path = tail.mk; sourceTree = "<group>"; };
|
||||
9D1716A92491C49300C83148 /* BuGS.xcscheme */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = BuGS.xcscheme; path = ../../BuGS.xcodeproj/xcshareddata/xcschemes/BuGS.xcscheme; sourceTree = "<group>"; };
|
||||
9D3396F424AECB1D003222B3 /* explosions.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = explosions.s; sourceTree = "<group>"; };
|
||||
9D3396F524AECBB1003222B3 /* spiders.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = spiders.s; sourceTree = "<group>"; };
|
||||
9D3396F624AECC40003222B3 /* scorpions.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = scorpions.s; sourceTree = "<group>"; };
|
||||
9D3396F724AECCAC003222B3 /* scores.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = scores.s; sourceTree = "<group>"; };
|
||||
9D3396F824AECD11003222B3 /* fleas.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = fleas.s; sourceTree = "<group>"; };
|
||||
9D3396F924AECD7A003222B3 /* numbers.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = numbers.s; sourceTree = "<group>"; };
|
||||
9D3396FA24AECDE9003222B3 /* solid.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = solid.s; sourceTree = "<group>"; };
|
||||
9D3396FB24AECF7C003222B3 /* symbols.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = symbols.s; sourceTree = "<group>"; };
|
||||
9D3396FC24AECFBB003222B3 /* letters.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = letters.s; sourceTree = "<group>"; };
|
||||
9D3396FD24AECFF5003222B3 /* mushrooms.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = mushrooms.s; sourceTree = "<group>"; };
|
||||
9D3396FF24AED09D003222B3 /* sprites.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = sprites.md; sourceTree = "<group>"; };
|
||||
9D62AF3B249871A300348F45 /* colour.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = colour.s; sourceTree = "<group>"; };
|
||||
9D62AF3C24994B1600348F45 /* sprites.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = sprites.s; sourceTree = "<group>"; };
|
||||
9D62AF3E2499660100348F45 /* local.macros */ = {isa = PBXFileReference; lastKnownFileType = text; path = local.macros; sourceTree = "<group>"; };
|
||||
9D62AF3F2499CD1E00348F45 /* LICENSE */ = {isa = PBXFileReference; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
|
||||
9D62AF402499CD3A00348F45 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
|
||||
|
@ -111,7 +121,7 @@
|
|||
9D8FFC602491CA28005C9327 /* game.s */,
|
||||
9D8FFC612491CAF0005C9327 /* game.h */,
|
||||
9D62AF3B249871A300348F45 /* colour.s */,
|
||||
9D62AF3C24994B1600348F45 /* sprites.s */,
|
||||
9D3396F324AECACC003222B3 /* sprites */,
|
||||
9D62AF3E2499660100348F45 /* local.macros */,
|
||||
9D1716912491C49300C83148 /* main.rez */,
|
||||
9D1716932491C49300C83148 /* Makefile */,
|
||||
|
@ -145,6 +155,24 @@
|
|||
path = "Supporting Files";
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
9D3396F324AECACC003222B3 /* sprites */ = {
|
||||
isa = PBXGroup;
|
||||
children = (
|
||||
9D3396FF24AED09D003222B3 /* sprites.md */,
|
||||
9D3396F424AECB1D003222B3 /* explosions.s */,
|
||||
9D3396F524AECBB1003222B3 /* spiders.s */,
|
||||
9D3396F624AECC40003222B3 /* scorpions.s */,
|
||||
9D3396F724AECCAC003222B3 /* scores.s */,
|
||||
9D3396F824AECD11003222B3 /* fleas.s */,
|
||||
9D3396F924AECD7A003222B3 /* numbers.s */,
|
||||
9D3396FA24AECDE9003222B3 /* solid.s */,
|
||||
9D3396FB24AECF7C003222B3 /* symbols.s */,
|
||||
9D3396FC24AECFBB003222B3 /* letters.s */,
|
||||
9D3396FD24AECFF5003222B3 /* mushrooms.s */,
|
||||
);
|
||||
path = sprites;
|
||||
sourceTree = "<group>";
|
||||
};
|
||||
/* End PBXGroup section */
|
||||
|
||||
/* Begin PBXLegacyTarget section */
|
||||
|
|
|
@ -30,7 +30,7 @@ TARGETTYPE=desktop
|
|||
|
||||
# Add any other directories where you are putting C or assembly source
|
||||
# files to this list:
|
||||
# SRCDIRS+=
|
||||
SRCDIRS+=sprites
|
||||
|
||||
# If you put your main entry point for your project in a file called main.c
|
||||
# Then you don't need to change this value. If you want to call your entry
|
||||
|
|
48
BuGS/game.s
48
BuGS/game.s
|
@ -264,6 +264,54 @@ game start
|
|||
ldx #$523b
|
||||
jsl spider2s
|
||||
|
||||
ldx #$524b
|
||||
jsl spider3
|
||||
|
||||
ldx #$525b
|
||||
jsl spider3s
|
||||
|
||||
ldx #$526b
|
||||
jsl spider4
|
||||
|
||||
ldx #$527b
|
||||
jsl spider4s
|
||||
|
||||
ldx #$528b
|
||||
jsl spider5
|
||||
|
||||
ldx #$529b
|
||||
jsl spider5s
|
||||
|
||||
ldx #$5c0b
|
||||
jsl spider6
|
||||
|
||||
ldx #$5c1b
|
||||
jsl spider6s
|
||||
|
||||
ldx #$5c2b
|
||||
jsl spider7
|
||||
|
||||
ldx #$5c3b
|
||||
jsl spider7s
|
||||
|
||||
ldx #$5c43
|
||||
jsl explosion1
|
||||
|
||||
ldx #$5c4b
|
||||
jsl explosion2
|
||||
|
||||
ldx #$5c53
|
||||
jsl explosion3
|
||||
|
||||
ldx #$5c5b
|
||||
jsl explosion4
|
||||
|
||||
ldx #$5c63
|
||||
jsl explosion5
|
||||
|
||||
ldx #$5c6b
|
||||
jsl explosion6
|
||||
|
||||
jsl waitForKey
|
||||
rtl
|
||||
|
||||
|
|
7270
BuGS/sprites.s
7270
BuGS/sprites.s
File diff suppressed because it is too large
Load Diff
664
BuGS/sprites/explosions.s
Normal file
664
BuGS/sprites/explosions.s
Normal file
|
@ -0,0 +1,664 @@
|
|||
;
|
||||
; explosions.s
|
||||
; BuGS
|
||||
;
|
||||
; Created by Jeremy Rand on 2020-07-02.
|
||||
;Copyright © 2020 Jeremy Rand. All rights reserved.
|
||||
;
|
||||
|
||||
case on
|
||||
mcopy explosions.macros
|
||||
keep explosions
|
||||
|
||||
explosions start
|
||||
|
||||
explosion1 entry
|
||||
dex
|
||||
dex
|
||||
dex
|
||||
dex
|
||||
_spriteHeader
|
||||
|
||||
; $c - Green
|
||||
; $4 - Red
|
||||
; $8 - Off-white
|
||||
;
|
||||
; ..RR|.R..
|
||||
; .OGR|G...
|
||||
; .GGG|GGR.
|
||||
; RGGG|GGO.
|
||||
; RGG.|GGG.
|
||||
; OGGG|GGOG
|
||||
; .OGG|RGO.
|
||||
; .ROR|.R.G
|
||||
;
|
||||
|
||||
lda $1,s
|
||||
and #$00ff
|
||||
ora #$4400
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
and #$fff0
|
||||
ora #$0004
|
||||
sta $3,s
|
||||
|
||||
lda $a1,s
|
||||
and #$00f0
|
||||
ora #$c408
|
||||
sta $a1,s
|
||||
|
||||
lda $a3,s
|
||||
; and #$ff0f not necessary with pure green
|
||||
ora #$00c0
|
||||
sta $a3,s
|
||||
|
||||
tsc
|
||||
adc #$140
|
||||
tcs
|
||||
|
||||
lda $1,s
|
||||
; and #$ff0f not necessary with pure green
|
||||
ora #$cc0c
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
and #$0f00
|
||||
ora #$40cc
|
||||
sta $3,s
|
||||
|
||||
|
||||
lda #$cc4c
|
||||
sta $a1,s
|
||||
|
||||
lda $a3,s
|
||||
and #$0f00
|
||||
ora #$80cc
|
||||
sta $a3,s
|
||||
|
||||
tsc
|
||||
adc #$140
|
||||
tcs
|
||||
|
||||
lda $1,s
|
||||
and #$0f00
|
||||
ora #$c04c
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
; and #$fff0 not necessary with pure green
|
||||
ora #$c0cc
|
||||
sta $3,s
|
||||
|
||||
lda #$cc8c
|
||||
sta $a1,s
|
||||
|
||||
lda #$8ccc
|
||||
sta $a3,s
|
||||
|
||||
tsc
|
||||
adc #$140
|
||||
tcs
|
||||
|
||||
lda $1,s
|
||||
and #$00f0
|
||||
ora #$cc08
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
and #$0f00
|
||||
ora #$804c
|
||||
sta $3,s
|
||||
|
||||
lda $a1,s
|
||||
and #$00f0
|
||||
ora #$8404
|
||||
sta $a1,s
|
||||
|
||||
lda $a3,s
|
||||
and #$f0f0
|
||||
ora #$0c04
|
||||
sta $a3,s
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
explosion2 entry
|
||||
dex
|
||||
dex
|
||||
dex
|
||||
dex
|
||||
_spriteHeader
|
||||
|
||||
; $c - Green
|
||||
; $4 - Red
|
||||
; $8 - Off-white
|
||||
;
|
||||
; ..GR|G.R.
|
||||
; .GGG|GGRG
|
||||
; OGGG|GGGO
|
||||
; OGGO|OGGG
|
||||
; OGGO|OGGO
|
||||
; OGGG|GGGG
|
||||
; OGGR|GGGO
|
||||
; .G.R|.G..
|
||||
;
|
||||
|
||||
lda $1,s
|
||||
and #$00ff
|
||||
ora #$c400
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
and #$0f0f
|
||||
ora #$40c0
|
||||
sta $3,s
|
||||
|
||||
lda $a1,s
|
||||
; and #$00f0 not necessary with pure green
|
||||
ora #$cc0c
|
||||
sta $a1,s
|
||||
|
||||
lda #$4ccc
|
||||
sta $a3,s
|
||||
|
||||
tsc
|
||||
adc #$144
|
||||
tcs
|
||||
|
||||
pea $c8cc
|
||||
pea $cc8c
|
||||
|
||||
adc #$a0
|
||||
tcs
|
||||
|
||||
pea $cc8c
|
||||
pea $c88c
|
||||
|
||||
adc #$a0
|
||||
tcs
|
||||
|
||||
pea $c88c
|
||||
pea $c88c
|
||||
|
||||
adc #$a0
|
||||
tcs
|
||||
|
||||
pea $cccc
|
||||
pea $cc8c
|
||||
|
||||
adc #$a0
|
||||
tcs
|
||||
|
||||
pea $c8cc
|
||||
pea $c48c
|
||||
|
||||
lda $a1,s
|
||||
and #$f0f0
|
||||
ora #$040c
|
||||
sta $a1,s
|
||||
|
||||
lda $a3,s
|
||||
; and #$f0f0 not necessary for pure green
|
||||
ora #$000c
|
||||
sta $a3,s
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
explosion3 entry
|
||||
dex
|
||||
dex
|
||||
dex
|
||||
dex
|
||||
_spriteHeader
|
||||
|
||||
; $c - Green
|
||||
; $4 - Red
|
||||
; $8 - Off-white
|
||||
;
|
||||
; .GOG|RG..
|
||||
; G.GG|GGGR
|
||||
; GGGO|GOG.
|
||||
; RGO.|.GGG
|
||||
; GG..|.G..
|
||||
; GRRG|RGGG
|
||||
; RGGG|GGG.
|
||||
; .OG.|.G.O
|
||||
|
||||
lda $1,s
|
||||
and #$00f0
|
||||
ora #$8c0c
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
and #$ff00
|
||||
ora #$004c
|
||||
sta $3,s
|
||||
|
||||
lda $a1,s
|
||||
; and #$000f not necessary with pure green
|
||||
ora #$ccc0
|
||||
sta $a1,s
|
||||
|
||||
lda #$c4cc
|
||||
sta $a3,s
|
||||
|
||||
tsc
|
||||
adc #$140
|
||||
tcs
|
||||
|
||||
lda #$c8cc
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
and #$0f00
|
||||
ora #$c0c8
|
||||
sta $3,s
|
||||
|
||||
|
||||
lda $a1,s
|
||||
and #$0f00
|
||||
ora #$804c
|
||||
sta $a1,s
|
||||
|
||||
lda $a3,s
|
||||
; and #$00f0 not necessary with pure green
|
||||
ora #$cc0c
|
||||
sta $a3,s
|
||||
|
||||
tsc
|
||||
adc #$140
|
||||
tcs
|
||||
|
||||
lda $1,s
|
||||
; and #$ff00 not necessary with pure green
|
||||
ora #$00cc
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
; and #$fff0 not necessary with pure green
|
||||
ora #$000c
|
||||
sta $3,s
|
||||
|
||||
lda #$4cc4
|
||||
sta $a1,s
|
||||
|
||||
lda #$cc4c
|
||||
sta $a3,s
|
||||
|
||||
tsc
|
||||
adc #$140
|
||||
tcs
|
||||
|
||||
lda #$cc4c
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
; and #$0f00 not necessary with pure green
|
||||
ora #$c0cc
|
||||
sta $3,s
|
||||
|
||||
lda $a1,s
|
||||
and #$0ff0
|
||||
ora #$c008
|
||||
sta $a1,s
|
||||
|
||||
lda $a3,s
|
||||
and #$f0f0
|
||||
ora #$080c
|
||||
sta $a3,s
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
explosion4 entry
|
||||
dex
|
||||
dex
|
||||
dex
|
||||
dex
|
||||
_spriteHeader
|
||||
|
||||
; $c - Green
|
||||
; $4 - Red
|
||||
; $8 - Off-white
|
||||
;
|
||||
; G.GO|.R.G
|
||||
; .O.G|G.G.
|
||||
; RG.R|.O.R
|
||||
; G.R.|..G.
|
||||
; GG..|...O
|
||||
; .R.R|.RGO
|
||||
; O.R.|R.GR
|
||||
; RG.G|GGO.
|
||||
;
|
||||
|
||||
|
||||
lda $1,s
|
||||
and #$000f
|
||||
ora #$c8c0
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
and #$f0f0
|
||||
ora #$0c04
|
||||
sta $3,s
|
||||
|
||||
lda $a1,s
|
||||
and #$f0f0
|
||||
ora #$0c08
|
||||
sta $a1,s
|
||||
|
||||
lda $a3,s
|
||||
; and #$0f0f not necessary with pure green
|
||||
ora #$c0c0
|
||||
sta $a3,s
|
||||
|
||||
tsc
|
||||
adc #$140
|
||||
tcs
|
||||
|
||||
lda $1,s
|
||||
and #$f000
|
||||
ora #$044c
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
and #$f0f0
|
||||
ora #$0408
|
||||
sta $3,s
|
||||
|
||||
|
||||
lda $a1,s
|
||||
and #$0f0f
|
||||
ora #$40c0
|
||||
sta $a1,s
|
||||
|
||||
lda $a3,s
|
||||
; and #$0fff not necessary with pure green
|
||||
ora #$c000
|
||||
sta $a3,s
|
||||
|
||||
tsc
|
||||
adc #$140
|
||||
tcs
|
||||
|
||||
lda $1,s
|
||||
; and #$ff00 not necessary with pure green
|
||||
ora #$00cc
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
and #$f0ff
|
||||
ora #$0800
|
||||
sta $3,s
|
||||
|
||||
lda $a1,s
|
||||
and #$f0f0
|
||||
ora #$0404
|
||||
sta $a1,s
|
||||
|
||||
lda $a3,s
|
||||
and #$00f0
|
||||
ora #$c804
|
||||
sta $a3,s
|
||||
|
||||
tsc
|
||||
adc #$140
|
||||
tcs
|
||||
|
||||
lda $1,s
|
||||
and #$0f0f
|
||||
ora #$4080
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
and #$000f
|
||||
ora #$c440
|
||||
sta $3,s
|
||||
|
||||
lda $a1,s
|
||||
and #$f000
|
||||
ora #$0c4c
|
||||
sta $a1,s
|
||||
|
||||
lda $a3,s
|
||||
and #$0f00
|
||||
ora #$80cc
|
||||
sta $a3,s
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
explosion5 entry
|
||||
dex
|
||||
dex
|
||||
dex
|
||||
dex
|
||||
_spriteHeader
|
||||
|
||||
; $c - Green
|
||||
; $4 - Red
|
||||
; $8 - Off-white
|
||||
;
|
||||
; .G..|G.G.
|
||||
; .ROG|.RG.
|
||||
; GO..|G..O
|
||||
; .R..|..R.
|
||||
; G.R.|.R.R
|
||||
; .O.G|.GO.
|
||||
; RGR.|..G.
|
||||
; .G.G|OR..
|
||||
;
|
||||
|
||||
lda $1,s
|
||||
; and #$000f not necessary with pure green
|
||||
ora #$000c
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
; and #$f0f0 not necessary with pure green
|
||||
ora #$c0c0
|
||||
sta $3,s
|
||||
|
||||
lda $a1,s
|
||||
and #$00f0
|
||||
ora #$8c04
|
||||
sta $a1,s
|
||||
|
||||
lda $a3,s
|
||||
and #$0ff0
|
||||
ora #$c004
|
||||
sta $a3,s
|
||||
|
||||
tsc
|
||||
adc #$140
|
||||
tcs
|
||||
|
||||
lda $1,s
|
||||
and #$ff00
|
||||
ora #$00c8
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
and #$f00f
|
||||
ora #$08c0
|
||||
sta $3,s
|
||||
|
||||
|
||||
lda $a1,s
|
||||
and #$fff0
|
||||
ora #$0004
|
||||
sta $a1,s
|
||||
|
||||
lda $a3,s
|
||||
and #$0fff
|
||||
ora #$4000
|
||||
sta $a3,s
|
||||
|
||||
tsc
|
||||
adc #$140
|
||||
tcs
|
||||
|
||||
lda $1,s
|
||||
and #$0f0f
|
||||
ora #$40c0
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
and #$f0f0
|
||||
ora #$0404
|
||||
sta $3,s
|
||||
|
||||
lda $a1,s
|
||||
and #$f0f0
|
||||
ora #$0c08
|
||||
sta $a1,s
|
||||
|
||||
lda $a3,s
|
||||
and #$0ff0
|
||||
ora #$800c
|
||||
sta $a3,s
|
||||
|
||||
tsc
|
||||
adc #$140
|
||||
tcs
|
||||
|
||||
lda $1,s
|
||||
and #$0f00
|
||||
ora #$404c
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
; and #$0fff not necessary with pure green
|
||||
ora #$c000
|
||||
sta $3,s
|
||||
|
||||
lda $a1,s
|
||||
; and #$f0f0 not necessary with pure green
|
||||
ora #$0c0c
|
||||
sta $a1,s
|
||||
|
||||
lda $a3,s
|
||||
and #$ff00
|
||||
ora #$0084
|
||||
sta $a3,s
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
explosion6 entry
|
||||
dex
|
||||
dex
|
||||
dex
|
||||
dex
|
||||
_spriteHeader
|
||||
|
||||
; $c - Green
|
||||
; $4 - Red
|
||||
; $8 - Off-white
|
||||
;
|
||||
; .O.G|..G.
|
||||
; R.G.|OR.R
|
||||
; ....|....
|
||||
; G...|..G.
|
||||
; .O..|...G
|
||||
; .O..|..O.
|
||||
; R.G.|...G
|
||||
; .O.O|R.R.
|
||||
;
|
||||
|
||||
lda $1,s
|
||||
and #$f0f0
|
||||
ora #$0c08
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
; and #$0fff not necessary with pure green
|
||||
ora #$c000
|
||||
sta $3,s
|
||||
|
||||
lda $a1,s
|
||||
and #$0f0f
|
||||
ora #$c040
|
||||
sta $a1,s
|
||||
|
||||
lda $a3,s
|
||||
and #$f000
|
||||
ora #$0484
|
||||
sta $a3,s
|
||||
|
||||
tsc
|
||||
adc #$140
|
||||
tcs
|
||||
|
||||
lda $a1,s
|
||||
; and #$ff0f not necessary with pure green
|
||||
ora #$00c0
|
||||
sta $a1,s
|
||||
|
||||
lda $a3,s
|
||||
; and #$0fff not necessary with pure green
|
||||
ora #$c000
|
||||
sta $a3,s
|
||||
|
||||
tsc
|
||||
adc #$140
|
||||
tcs
|
||||
|
||||
lda $1,s
|
||||
and #$fff0
|
||||
ora #$0008
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
; and #$f0ff not necessary with pure green
|
||||
ora #$0c00
|
||||
sta $3,s
|
||||
|
||||
lda $a1,s
|
||||
and #$fff0
|
||||
ora #$0008
|
||||
sta $a1,s
|
||||
|
||||
lda $a3,s
|
||||
and #$0fff
|
||||
ora #$8000
|
||||
sta $a3,s
|
||||
|
||||
tsc
|
||||
adc #$140
|
||||
tcs
|
||||
|
||||
lda $1,s
|
||||
and #$0f0f
|
||||
ora #$c040
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
; and #$f0ff not necessary with pure green
|
||||
ora #$0c00
|
||||
sta $3,s
|
||||
|
||||
lda $a1,s
|
||||
and #$f0f0
|
||||
ora #$0808
|
||||
sta $a1,s
|
||||
|
||||
lda $a3,s
|
||||
and #$0f0f
|
||||
ora #$4040
|
||||
sta $a3,s
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
backupStack dc i2'0'
|
||||
|
||||
end
|
465
BuGS/sprites/fleas.s
Normal file
465
BuGS/sprites/fleas.s
Normal file
|
@ -0,0 +1,465 @@
|
|||
;
|
||||
; fleas.s
|
||||
; BuGS
|
||||
;
|
||||
; Created by Jeremy Rand on 2020-07-02.
|
||||
;Copyright © 2020 Jeremy Rand. All rights reserved.
|
||||
;
|
||||
|
||||
case on
|
||||
mcopy fleas.macros
|
||||
keep fleas
|
||||
|
||||
fleas start
|
||||
|
||||
|
||||
flea1 entry
|
||||
dex
|
||||
dex
|
||||
dex
|
||||
dex
|
||||
_spriteHeader
|
||||
|
||||
; $c - Green
|
||||
; $4 - Red
|
||||
; $8 - Off-white
|
||||
;
|
||||
; ....|..OO|O...
|
||||
; ....|.ROO|OO..
|
||||
; ....|RROO|OOO.
|
||||
; ...O|OOOO|OOOO
|
||||
; ...O|OOG.|GOOO
|
||||
; ....|..G.|G.OO
|
||||
; ....|..G.|G.G.
|
||||
; ....|.G.G|...G
|
||||
;
|
||||
|
||||
lda $1,s
|
||||
and #$00ff
|
||||
ora #$8800
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
and #$ff0f
|
||||
ora #$0080
|
||||
sta $3,s
|
||||
|
||||
lda $a1,s
|
||||
and #$00f0
|
||||
ora #$8804
|
||||
sta $a1,s
|
||||
|
||||
lda $a3,s
|
||||
and #$ff00
|
||||
ora #$0088
|
||||
sta $a3,s
|
||||
|
||||
tsc
|
||||
adc #$0142
|
||||
tcs
|
||||
|
||||
pea $8844
|
||||
lda $3,s
|
||||
and #$0f00
|
||||
ora #$8088
|
||||
sta $3,s
|
||||
|
||||
lda $9f,s
|
||||
and #$f0ff
|
||||
ora #$0800
|
||||
sta $9f,s
|
||||
|
||||
tsc
|
||||
adc #$00a4
|
||||
tcs
|
||||
pea $8888
|
||||
pea $8888
|
||||
|
||||
lda $9f,s
|
||||
and #$f0ff
|
||||
ora #$0800
|
||||
sta $9f,s
|
||||
|
||||
lda $a1,s
|
||||
and #$0f00
|
||||
ora #$c088
|
||||
sta $a1,s
|
||||
|
||||
tsc
|
||||
adc #$00a4
|
||||
tcs
|
||||
pea $88c8
|
||||
|
||||
lda $9f,s
|
||||
ora #$c000
|
||||
sta $9f,s
|
||||
|
||||
lda $a1,s
|
||||
and #$000f
|
||||
ora #$88c0
|
||||
sta $a1,s
|
||||
|
||||
tsc
|
||||
adc #$013e
|
||||
tcs
|
||||
|
||||
lda $1,s
|
||||
ora #$c000
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
ora #$c0c0
|
||||
sta $3,s
|
||||
|
||||
lda $a1,s
|
||||
ora #$0c0c
|
||||
sta $a1,s
|
||||
|
||||
lda $a3,s
|
||||
ora #$0c00
|
||||
sta $a3,s
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
flea2 entry
|
||||
dex
|
||||
dex
|
||||
dex
|
||||
dex
|
||||
_spriteHeader
|
||||
|
||||
; $c - Green
|
||||
; $4 - Red
|
||||
; $8 - Off-white
|
||||
;
|
||||
; ....|..OO|O...
|
||||
; ....|.ROO|OO..
|
||||
; ....|RROO|OOO.
|
||||
; ...O|OOOO|OOOO
|
||||
; ...O|OO.G|.OOO
|
||||
; ....|..G.|.GOO
|
||||
; ....|.G..|G..G
|
||||
; ....|.G.G|..G.
|
||||
;
|
||||
|
||||
lda $1,s
|
||||
and #$00ff
|
||||
ora #$8800
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
and #$ff0f
|
||||
ora #$0080
|
||||
sta $3,s
|
||||
|
||||
lda $a1,s
|
||||
and #$00f0
|
||||
ora #$8804
|
||||
sta $a1,s
|
||||
|
||||
lda $a3,s
|
||||
and #$ff00
|
||||
ora #$0088
|
||||
sta $a3,s
|
||||
|
||||
tsc
|
||||
adc #$0142
|
||||
tcs
|
||||
|
||||
pea $8844
|
||||
lda $3,s
|
||||
and #$0f00
|
||||
ora #$8088
|
||||
sta $3,s
|
||||
|
||||
lda $9f,s
|
||||
and #$f0ff
|
||||
ora #$0800
|
||||
sta $9f,s
|
||||
|
||||
tsc
|
||||
adc #$00a4
|
||||
tcs
|
||||
pea $8888
|
||||
pea $8888
|
||||
|
||||
lda $9f,s
|
||||
and #$f0ff
|
||||
ora #$0800
|
||||
sta $9f,s
|
||||
|
||||
lda $a1,s
|
||||
and #$f000
|
||||
ora #$0c88
|
||||
sta $a1,s
|
||||
|
||||
lda $a3,s
|
||||
and #$00f0
|
||||
ora #$8808
|
||||
sta $a3,s
|
||||
|
||||
tsc
|
||||
adc #$0140
|
||||
tcs
|
||||
|
||||
lda $1,s
|
||||
ora #$c000
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
and #$00f0
|
||||
ora #$880c
|
||||
sta $3,s
|
||||
|
||||
tsc
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
lda $1,s
|
||||
ora #$000c
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
ora #$0cc0
|
||||
sta $3,s
|
||||
|
||||
lda $a1,s
|
||||
ora #$0c0c
|
||||
sta $a1,s
|
||||
|
||||
lda $a3,s
|
||||
ora #$c000
|
||||
sta $a3,s
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
flea3 entry
|
||||
dex
|
||||
dex
|
||||
dex
|
||||
dex
|
||||
_spriteHeader
|
||||
|
||||
; $c - Green
|
||||
; $4 - Red
|
||||
; $8 - Off-white
|
||||
;
|
||||
; ....|..OO|O...
|
||||
; ....|.ROO|OO..
|
||||
; ....|RROO|OOO.
|
||||
; ...O|OOOO|OOOO
|
||||
; ...O|OO.G|.OOO
|
||||
; ....|..G.|G.OO
|
||||
; ....|..G.|.G.G
|
||||
; ....|...G|..G.
|
||||
;
|
||||
|
||||
lda $1,s
|
||||
and #$00ff
|
||||
ora #$8800
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
and #$ff0f
|
||||
ora #$0080
|
||||
sta $3,s
|
||||
|
||||
lda $a1,s
|
||||
and #$00f0
|
||||
ora #$8804
|
||||
sta $a1,s
|
||||
|
||||
lda $a3,s
|
||||
and #$ff00
|
||||
ora #$0088
|
||||
sta $a3,s
|
||||
|
||||
tsc
|
||||
adc #$0142
|
||||
tcs
|
||||
|
||||
pea $8844
|
||||
lda $3,s
|
||||
and #$0f00
|
||||
ora #$8088
|
||||
sta $3,s
|
||||
|
||||
lda $9f,s
|
||||
and #$f0ff
|
||||
ora #$0800
|
||||
sta $9f,s
|
||||
|
||||
tsc
|
||||
adc #$00a4
|
||||
tcs
|
||||
pea $8888
|
||||
pea $8888
|
||||
|
||||
lda $9f,s
|
||||
and #$f0ff
|
||||
ora #$0800
|
||||
sta $9f,s
|
||||
|
||||
lda $a1,s
|
||||
and #$f000
|
||||
ora #$0c88
|
||||
sta $a1,s
|
||||
|
||||
lda $a3,s
|
||||
and #$00f0
|
||||
ora #$8808
|
||||
sta $a3,s
|
||||
|
||||
tsc
|
||||
adc #$0140
|
||||
tcs
|
||||
|
||||
lda $1,s
|
||||
ora #$c000
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
and #$000f
|
||||
ora #$88c0
|
||||
sta $3,s
|
||||
|
||||
tsc
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
lda $1,s
|
||||
ora #$c000
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
ora #$0c0c
|
||||
sta $3,s
|
||||
|
||||
lda $a1,s
|
||||
ora #$0c00
|
||||
sta $a1,s
|
||||
|
||||
lda $a3,s
|
||||
ora #$c000
|
||||
sta $a3,s
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
flea4 entry
|
||||
dex
|
||||
dex
|
||||
dex
|
||||
dex
|
||||
_spriteHeader
|
||||
|
||||
; $c - Green
|
||||
; $4 - Red
|
||||
; $8 - Off-white
|
||||
;
|
||||
; ....|..OO|O...
|
||||
; ....|.ROO|OO..
|
||||
; ....|RROO|OOO.
|
||||
; ...O|OOOO|OOOO
|
||||
; ...O|OOG.|GOOO
|
||||
; ....|..G.|G.OO
|
||||
; ....|..G.|.G.G
|
||||
; ....|...G|.G.G
|
||||
;
|
||||
lda $1,s
|
||||
and #$00ff
|
||||
ora #$8800
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
and #$ff0f
|
||||
ora #$0080
|
||||
sta $3,s
|
||||
|
||||
lda $a1,s
|
||||
and #$00f0
|
||||
ora #$8804
|
||||
sta $a1,s
|
||||
|
||||
lda $a3,s
|
||||
and #$ff00
|
||||
ora #$0088
|
||||
sta $a3,s
|
||||
|
||||
tsc
|
||||
adc #$0142
|
||||
tcs
|
||||
|
||||
pea $8844
|
||||
lda $3,s
|
||||
and #$0f00
|
||||
ora #$8088
|
||||
sta $3,s
|
||||
|
||||
lda $9f,s
|
||||
and #$f0ff
|
||||
ora #$0800
|
||||
sta $9f,s
|
||||
|
||||
tsc
|
||||
adc #$00a4
|
||||
tcs
|
||||
pea $8888
|
||||
pea $8888
|
||||
|
||||
lda $9f,s
|
||||
and #$f0ff
|
||||
ora #$0800
|
||||
sta $9f,s
|
||||
|
||||
lda $a1,s
|
||||
and #$0f00
|
||||
ora #$c088
|
||||
sta $a1,s
|
||||
|
||||
tsc
|
||||
adc #$00a4
|
||||
tcs
|
||||
pea $88c8
|
||||
|
||||
lda $9f,s
|
||||
ora #$c000
|
||||
sta $9f,s
|
||||
|
||||
lda $a1,s
|
||||
and #$000f
|
||||
ora #$88c0
|
||||
sta $a1,s
|
||||
|
||||
tsc
|
||||
adc #$013e
|
||||
tcs
|
||||
|
||||
lda $1,s
|
||||
ora #$c000
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
ora #$0c0c
|
||||
sta $3,s
|
||||
|
||||
lda $a1,s
|
||||
ora #$0c00
|
||||
sta $a1,s
|
||||
|
||||
lda $a3,s
|
||||
ora #$0c0c
|
||||
sta $a3,s
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
backupStack dc i2'0'
|
||||
|
||||
end
|
1614
BuGS/sprites/letters.s
Normal file
1614
BuGS/sprites/letters.s
Normal file
File diff suppressed because it is too large
Load Diff
529
BuGS/sprites/mushrooms.s
Normal file
529
BuGS/sprites/mushrooms.s
Normal file
|
@ -0,0 +1,529 @@
|
|||
;
|
||||
; mushrooms.s
|
||||
; BuGS
|
||||
;
|
||||
; Created by Jeremy Rand on 2020-07-02.
|
||||
;Copyright © 2020 Jeremy Rand. All rights reserved.
|
||||
;
|
||||
|
||||
case on
|
||||
mcopy mushrooms.macros
|
||||
keep mushrooms
|
||||
|
||||
mushrooms start
|
||||
|
||||
mushroom1 entry
|
||||
_spriteHeader
|
||||
|
||||
; Colours #$2200 - Black, Black, Red, Red (x2)
|
||||
; #$0022 - Red, Red, Black, Black (x2)
|
||||
; #$1102 - Black, Red, Green, Green (x1)
|
||||
; #$2011 - Green, Green, Red, Black (x1)
|
||||
; #$1121 - Red, Green, Green, Green (x2)
|
||||
; #$1211 - Green, Green, Green, Red (x2)
|
||||
; #$2222 - Red, Red, Red, Red (x2)
|
||||
; #$2100 - Black, Black, Red, Green (x2)
|
||||
; #$0012 - Green, Red, Black, Black (x2)
|
||||
;
|
||||
pea $0022
|
||||
pea $2200
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $2011
|
||||
pea $1102
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $1211
|
||||
pea $1121
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $1211
|
||||
pea $1121
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $2222
|
||||
pea $2222
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0012
|
||||
pea $2100
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0012
|
||||
pea $2100
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0022
|
||||
pea $2200
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
mushroom2 entry
|
||||
_spriteHeader
|
||||
|
||||
; Colours #$2200 - Black, Black, Red, Red (x1)
|
||||
; #$0022 - Red, Red, Black, Black (x1)
|
||||
; #$1102 - Black, Red, Green, Green (x1)
|
||||
; #$2011 - Green, Green, Red, Black (x1)
|
||||
; #$1121 - Red, Green, Green, Green (x2)
|
||||
; #$1211 - Green, Green, Green, Red (x2)
|
||||
; #$2220 - Red, Black, Red, Red (x1)
|
||||
; #$2222 - Red, Red, Red, Red (x1)
|
||||
; #$2100 - Black, Black, Red, Green (x1)
|
||||
; #$0012 - Green, Red, Black, Black (x1)
|
||||
; #$0100 - Black, Black, Black, Green (x1)
|
||||
; #$0000 - Black, Black, Black, Black (x3)
|
||||
;
|
||||
pea $0022
|
||||
pea $2200
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $2011
|
||||
pea $1102
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $1211
|
||||
pea $1121
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $1211
|
||||
pea $1121
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $2222
|
||||
pea $2220
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0012
|
||||
pea $2100
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0000
|
||||
pea $0100
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0000
|
||||
pea $0000
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
mushroom3 entry
|
||||
_spriteHeader
|
||||
|
||||
; Colours #$2200 - Black, Black, Red, Red (x1)
|
||||
; #$0022 - Red, Red, Black, Black (x1)
|
||||
; #$1102 - Black, Red, Green, Green (x1)
|
||||
; #$2011 - Green, Green, Red, Black (x1)
|
||||
; #$1121 - Red, Green, Green, Green (x2)
|
||||
; #$1211 - Green, Green, Green, Red (x2)
|
||||
; #$2020 - Red, Black, Red, Black (x2)
|
||||
; #$2000 - Black, Black, Red, Black (x1)
|
||||
; #$0000 - Black, Black, Black, Black (x5)
|
||||
;
|
||||
ldx #$0000 ; Black, Black, Black, Black
|
||||
|
||||
pea $0022
|
||||
pea $2200
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $2011
|
||||
pea $1102
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $1211
|
||||
pea $1121
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $1211
|
||||
pea $1121
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $2020
|
||||
pea $2020
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
pea $2000
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
mushroom4 entry
|
||||
_spriteHeader
|
||||
|
||||
; Colours #$2200 - Black, Black, Red, Red (x1)
|
||||
; #$0022 - Red, Red, Black, Black (x1)
|
||||
; #$1102 - Black, Red, Green, Green (x1)
|
||||
; #$2011 - Green, Green, Red, Black (x1)
|
||||
; #$1021 - Red, Green, Green, Black (x1)
|
||||
; #$1211 - Green, Green, Green, Red (x1)
|
||||
; #$1020 - Red, Black, Green, Black (x1)
|
||||
; #$1210 - Green, Black, Green, Red (x1)
|
||||
; #$0000 - Black, Black, Black, Black (x8)
|
||||
;
|
||||
ldx #$0000 ; Black, Black, Black, Black
|
||||
|
||||
pea $0022
|
||||
pea $2200
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $2011
|
||||
pea $1102
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $1211
|
||||
pea $1021
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $1210
|
||||
pea $1020
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
poisonedMushroom1 entry
|
||||
_spriteHeader
|
||||
|
||||
; Colours #$2200 - Black, Black, Red, Red (x2)
|
||||
; #$0022 - Red, Red, Black, Black (x2)
|
||||
; #$3302 - Black, Red, Off-white, Off-white (x1)
|
||||
; #$2033 - Off-white, Off-white, Red, Black (x1)
|
||||
; #$3323 - Red, Off-white, Off-white, Off-white (x2)
|
||||
; #$3233 - Off-white, Off-white, Off-white, Red (x2)
|
||||
; #$2222 - Red, Red, Red, Red (x2)
|
||||
; #$2300 - Black, Black, Red, Off-white (x2)
|
||||
; #$0032 - Off-white, Red, Black, Black (x2)
|
||||
;
|
||||
|
||||
pea $0022
|
||||
pea $2200
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $2033
|
||||
pea $3302
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $3233
|
||||
pea $3323
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $3233
|
||||
pea $3323
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $2222
|
||||
pea $2222
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0032
|
||||
pea $2300
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0032
|
||||
pea $2300
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0022
|
||||
pea $2200
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
poisonedMushroom2 entry
|
||||
_spriteHeader
|
||||
|
||||
; Colours #$2200 - Black, Black, Red, Red (x1)
|
||||
; #$0022 - Red, Red, Black, Black (x1)
|
||||
; #$3302 - Black, Red, Off-white, Off-white (x1)
|
||||
; #$2033 - Off-white, Off-white, Red, Black (x1)
|
||||
; #$3323 - Red, Off-white, Off-white, Off-white (x2)
|
||||
; #$3233 - Off-white, Off-white, Off-white, Red (x2)
|
||||
; #$2220 - Red, Black, Red, Red (x1)
|
||||
; #$2222 - Red, Red, Red, Red (x1)
|
||||
; #$2300 - Black, Black, Red, Off-white (x1)
|
||||
; #$0032 - Off-white, Red, Black, Black (x1)
|
||||
; #$0300 - Black, Black, Black, Off-white (x1)
|
||||
; #$0000 - Black, Black, Black, Black (x3)
|
||||
;
|
||||
|
||||
pea $0022
|
||||
pea $2200
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $2033
|
||||
pea $3302
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $3233
|
||||
pea $3323
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $3233
|
||||
pea $3323
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $2222
|
||||
pea $2220
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0032
|
||||
pea $2300
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0000
|
||||
pea $0300
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0000
|
||||
pea $0000
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
poisonedMushroom3 entry
|
||||
_spriteHeader
|
||||
|
||||
; Colours #$2200 - Black, Black, Red, Red (x1)
|
||||
; #$0022 - Red, Red, Black, Black (x1)
|
||||
; #$3302 - Black, Red, Off-white, Off-white (x1)
|
||||
; #$2033 - Off-white, Off-white, Red, Black (x1)
|
||||
; #$3323 - Red, Off-white, Off-white, Off-white (x2)
|
||||
; #$3233 - Off-white, Off-white, Off-white, Red (x2)
|
||||
; #$2020 - Red, Black, Red, Black (x2)
|
||||
; #$2000 - Black, Black, Red, Black (x1)
|
||||
; #$0000 - Black, Black, Black, Black (x5)
|
||||
;
|
||||
ldx #$0000 ; Black, Black, Black, Black
|
||||
|
||||
pea $0022
|
||||
pea $2200
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $2033
|
||||
pea $3302
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $3233
|
||||
pea $3323
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $3233
|
||||
pea $3323
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $2020
|
||||
pea $2020
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
pea $2000
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
poisonedMushroom4 entry
|
||||
_spriteHeader
|
||||
|
||||
; Colours #$2200 - Black, Black, Red, Red (x1)
|
||||
; #$0022 - Red, Red, Black, Black (x1)
|
||||
; #$3302 - Black, Red, Off-white, Off-white (x1)
|
||||
; #$2033 - Off-white, Off-white, Red, Black (x1)
|
||||
; #$3023 - Red, Off-white, Off-white, Black (x1)
|
||||
; #$3233 - Off-white, Off-white, Off-white, Red (x1)
|
||||
; #$3020 - Red, Black, Off-white, Black (x1)
|
||||
; #$3230 - Off-white, Black, Off-white, Red (x1)
|
||||
; #$0000 - Black, Black, Black, Black (x8)
|
||||
;
|
||||
ldx #$0000 ; Black, Black, Black, Black
|
||||
|
||||
pea $0022
|
||||
pea $2200
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $2033
|
||||
pea $3302
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $3233
|
||||
pea $3023
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $3230
|
||||
pea $3020
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
backupStack dc i2'0'
|
||||
|
||||
end
|
645
BuGS/sprites/numbers.s
Normal file
645
BuGS/sprites/numbers.s
Normal file
|
@ -0,0 +1,645 @@
|
|||
;
|
||||
; numbers.s
|
||||
; BuGS
|
||||
;
|
||||
; Created by Jeremy Rand on 2020-07-02.
|
||||
;Copyright © 2020 Jeremy Rand. All rights reserved.
|
||||
;
|
||||
|
||||
case on
|
||||
mcopy numbers.macros
|
||||
keep numbers
|
||||
|
||||
numbers start
|
||||
|
||||
|
||||
number0 entry
|
||||
_spriteHeader
|
||||
|
||||
; Colours #$0000 - Black, Black, Black, Black (x2)
|
||||
; #$0020 - Red, Black, Black, Black (x2)
|
||||
; #$2200 - Black, Black, Red, Red (x2)
|
||||
; #$0022 - Red, Red, Black, Black (x4)
|
||||
; #$2002 - Black, Red, Red, Black (x4)
|
||||
; #$0002 - Black, Red, Black, Black (x2)
|
||||
;
|
||||
ldx #$0022 ; Red, Red, Black, Black
|
||||
ldy #$2002 ; Black, Red, Red, Black
|
||||
|
||||
pea $0000
|
||||
pea $0000
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0020
|
||||
pea $2200
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
pea $0002
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phy
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phy
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phy
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0002
|
||||
phy
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0020
|
||||
pea $2200
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
number1 entry
|
||||
_spriteHeader
|
||||
|
||||
; Colours #$0000 - Black, Black, Black, Black (x8)
|
||||
; #$2200 - Black, Black, Red, Red (x5)
|
||||
; #$0022 - Red, Red, Black, Black (x1)
|
||||
; #$2202 - Black, Red, Red, Red (x1)
|
||||
; #$2222 - Red, Red, Red, Red (x1)
|
||||
;
|
||||
ldx #$2200 ; Black, Black, Red, Red
|
||||
ldy #$0000 ; Black, Black, Black, Black
|
||||
|
||||
phy
|
||||
phy
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phy
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phy
|
||||
pea $2202
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phy
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phy
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phy
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phy
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0022
|
||||
pea $2222
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
number2 entry
|
||||
_spriteHeader
|
||||
|
||||
; Colours #$0000 - Black, Black, Black, Black (x4)
|
||||
; #$2202 - Black, Red, Red, Red (x2)
|
||||
; #$0022 - Red, Red, Black, Black (x3)
|
||||
; #$2002 - Black, Red, Red, Black (x1)
|
||||
; #$2022 - Red, Red, Red, Black (x3)
|
||||
; #$2200 - Black, Black, Red, Red (x1)
|
||||
; #$0020 - Red, Black, Black, Black (x1)
|
||||
; #$2222 - Red, Red, Red, Red (x1)
|
||||
;
|
||||
ldx #$0022 ; Red, Red, Black, Black
|
||||
ldy #$0000 ; Black, Black, Black, Black
|
||||
|
||||
phy
|
||||
phy
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
pea $2202
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $2002
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $2022
|
||||
phy
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
pea $2200
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0020
|
||||
pea $2202
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phy
|
||||
pea $2022
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $2022
|
||||
pea $2222
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
number3 entry
|
||||
_spriteHeader
|
||||
|
||||
; Colours #$0000 - Black, Black, Black, Black (x4)
|
||||
; #$2202 - Black, Red, Red, Red (x2)
|
||||
; #$2022 - Red, Red, Red, Black (x1)
|
||||
; #$0022 - Red, Red, Black, Black (x4)
|
||||
; #$0020 - Red, Black, Black, Black (x1)
|
||||
; #$0200 - Black, Black, Black, Red (x1)
|
||||
; #$2200 - Black, Black, Red, Red (x1)
|
||||
; #$2002 - Black, Red, Red, Black (x2)
|
||||
;
|
||||
ldx #$0022 ; Red, Red, Black, Black
|
||||
ldy #$0000 ; Black, Black, Black, Black
|
||||
|
||||
phy
|
||||
phy
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $2022
|
||||
pea $2202
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phy
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0020
|
||||
pea $0200
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
pea $2200
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $2002
|
||||
phy
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $2002
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
pea $2202
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
number4 entry
|
||||
_spriteHeader
|
||||
|
||||
; Colours #$0000 - Black, Black, Black, Black (x4)
|
||||
; #$0022 - Red, Red, Black, Black (x7)
|
||||
; #$0200 - Black, Black, Black, Red (x1)
|
||||
; #$2200 - Black, Black, Red, Red (x1)
|
||||
; #$2002 - Black, Red, Red, Black (x1)
|
||||
; #$2222 - Red, Red, Red, Red (x1)
|
||||
; #$2022 - Red, Red, Red, Black (x1)
|
||||
;
|
||||
ldx #$0022 ; Red, Red, Black, Black
|
||||
ldy #$0000 ; Black, Black, Black, Black
|
||||
|
||||
phy
|
||||
phy
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
pea $0200
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
pea $2200
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
pea $2002
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $2022
|
||||
pea $2222
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phy
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phy
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
number5 entry
|
||||
_spriteHeader
|
||||
|
||||
; Colours #$0000 - Black, Black, Black, Black (x5)
|
||||
; #$0022 - Red, Red, Black, Black (x5)
|
||||
; #$2222 - Red, Red, Red, Red (x2)
|
||||
; #$2002 - Black, Red, Red, Black (x3)
|
||||
; #$2202 - Black, Red, Red, Red (x1)
|
||||
;
|
||||
ldx #$0022 ; Red, Red, Black, Black
|
||||
ldy #$0000 ; Black, Black, Black, Black
|
||||
|
||||
phy
|
||||
phy
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
pea $2222
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phy
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
pea $2222
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $2002
|
||||
phy
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $2002
|
||||
phy
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $2002
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
pea $2202
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
number6 entry
|
||||
_spriteHeader
|
||||
|
||||
; Colours #$0000 - Black, Black, Black, Black (x4)
|
||||
; #$0022 - Red, Red, Black, Black (x6)
|
||||
; #$2200 - Black, Black, Red, Red (x1)
|
||||
; #$2002 - Black, Red, Red, Black (x3)
|
||||
; #$2222 - Red, Red, Red, Red (x1)
|
||||
; #$2202 - Black, Red, Red, Red (x1)
|
||||
;
|
||||
ldx #$0022 ; Red, Red, Black, Black
|
||||
ldy #$0000 ; Black, Black, Black, Black
|
||||
|
||||
phy
|
||||
phy
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
pea $2200
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phy
|
||||
pea $2002
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phy
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
pea $2222
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $2002
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $2002
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
pea $2202
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
number7 entry
|
||||
_spriteHeader
|
||||
|
||||
; Colours #$0000 - Black, Black, Black, Black (x6)
|
||||
; #$2222 - Red, Red, Red, Red (x1)
|
||||
; #$2022 - Red, Red, Red, Black (x1)
|
||||
; #$2002 - Black, Red, Red, Black (x1)
|
||||
; #$0022 - Red, Red, Black, Black (x2)
|
||||
; #$0020 - Red, Black, Black, Black (x1)
|
||||
; #$0200 - Black, Black, Black, Red (x1)
|
||||
; #$2200 - Black, Black, Red, Red (x3)
|
||||
;
|
||||
ldx #$0000 ; Black, Black, Black, Black
|
||||
ldy #$2200 ; Black, Black, Red, Red
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $2022
|
||||
pea $2222
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $2002
|
||||
pea $0022
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0022
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0020
|
||||
pea $0200
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phy
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phy
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phy
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
number8 entry
|
||||
_spriteHeader
|
||||
|
||||
; Colours #$0000 - Black, Black, Black, Black (x2)
|
||||
; #$0020 - Red, Black, Black, Black (x3)
|
||||
; #$2202 - Black, Red, Red, Red (x3)
|
||||
; #$0002 - Black, Red, Black, Black (x2)
|
||||
; #$0022 - Red, Red, Black, Black (x2)
|
||||
; #$2022 - Red, Red, Red, Black (x2)
|
||||
; #$2002 - Black, Red, Red, Black (x1)
|
||||
; #$0220 - Red, Black, Black, Red (x1)
|
||||
;
|
||||
ldx #$0020 ; Red, Black, Black, Black
|
||||
ldy #$2202 ; Black, Red, Red, Red
|
||||
|
||||
pea $0000
|
||||
pea $0000
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phy
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0002
|
||||
pea $0022
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0002
|
||||
pea $2022
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phy
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $2022
|
||||
pea $0220
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $2002
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0022
|
||||
phy
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
number9 entry
|
||||
_spriteHeader
|
||||
|
||||
; Colours #$0000 - Black, Black, Black, Black (x4)
|
||||
; #$0022 - Red, Red, Black, Black (x4)
|
||||
; #$2202 - Black, Red, Red, Red (x3)
|
||||
; #$2002 - Black, Red, Red, Black (x3)
|
||||
; #$2022 - Red, Red, Red, Black (x1)
|
||||
; #$0020 - Red, Black, Black, Black (x1)
|
||||
;
|
||||
ldx #$0022 ; Red, Red, Black, Black
|
||||
ldy #$0000 ; Black, Black, Black, Black
|
||||
|
||||
phy
|
||||
phy
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
pea $2202
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $2002
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $2002
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $2022
|
||||
pea $2202
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $2002
|
||||
phy
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phy
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0020
|
||||
pea $2202
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
backupStack dc i2'0'
|
||||
|
||||
end
|
341
BuGS/sprites/scores.s
Normal file
341
BuGS/sprites/scores.s
Normal file
|
@ -0,0 +1,341 @@
|
|||
;
|
||||
; scores.s
|
||||
; BuGS
|
||||
;
|
||||
; Created by Jeremy Rand on 2020-07-02.
|
||||
;Copyright © 2020 Jeremy Rand. All rights reserved.
|
||||
;
|
||||
|
||||
case on
|
||||
mcopy scores.macros
|
||||
keep scores
|
||||
|
||||
scores start
|
||||
|
||||
score300 entry
|
||||
_spriteHeader
|
||||
|
||||
; $c - Green
|
||||
; $4 - Red
|
||||
; $8 - Off-white
|
||||
;
|
||||
; ....|....|....
|
||||
; ....|....|....
|
||||
; .OOO|.OOO|.OOO
|
||||
; ...O|.O.O|.O.O
|
||||
; .OOO|.O.O|.O.O
|
||||
; ...O|.O.O|.O.O
|
||||
; .OOO|.OOO|.OOO
|
||||
; ....|....|....
|
||||
;
|
||||
tsc
|
||||
adc #$013a
|
||||
tcs
|
||||
|
||||
lda $1,s
|
||||
; and #$00f0
|
||||
ora #$8808
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
; and #$00f0
|
||||
ora #$8808
|
||||
sta $3,s
|
||||
|
||||
lda $5,s
|
||||
; and #$00f0
|
||||
ora #$8808
|
||||
sta $5,s
|
||||
|
||||
lda $a1,s
|
||||
; and #$f0ff
|
||||
ora #$0800
|
||||
sta $a1,s
|
||||
|
||||
lda $a3,s
|
||||
; and #$f0f0
|
||||
ora #$0808
|
||||
sta $a3,s
|
||||
|
||||
lda $a5,s
|
||||
; and #$f0f0
|
||||
ora #$0808
|
||||
sta $a5,s
|
||||
|
||||
tsc
|
||||
adc #$0140
|
||||
tcs
|
||||
|
||||
lda $1,s
|
||||
; and #$00f0
|
||||
ora #$8808
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
; and #$f0f0
|
||||
ora #$0808
|
||||
sta $3,s
|
||||
|
||||
lda $5,s
|
||||
; and #$f0f0
|
||||
ora #$0808
|
||||
sta $5,s
|
||||
|
||||
lda $a1,s
|
||||
; and #$f0ff
|
||||
ora #$0800
|
||||
sta $a1,s
|
||||
|
||||
lda $a3,s
|
||||
; and #$f0f0
|
||||
ora #$0808
|
||||
sta $a3,s
|
||||
|
||||
lda $a5,s
|
||||
; and #$f0f0
|
||||
ora #$0808
|
||||
sta $a5,s
|
||||
|
||||
tsc
|
||||
adc #$0140
|
||||
tcs
|
||||
|
||||
lda $1,s
|
||||
; and #$00f0
|
||||
ora #$8808
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
; and #$00f0
|
||||
ora #$8808
|
||||
sta $3,s
|
||||
|
||||
lda $5,s
|
||||
; and #$00f0
|
||||
ora #$8808
|
||||
sta $5,s
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
score600 entry
|
||||
_spriteHeader
|
||||
|
||||
; $c - Green
|
||||
; $4 - Red
|
||||
; $8 - Off-white
|
||||
;
|
||||
; ....|....|....
|
||||
; ....|....|....
|
||||
; .OOO|.OOO|.OOO
|
||||
; .O..|.O.O|.O.O
|
||||
; .OOO|.O.O|.O.O
|
||||
; .O.O|.O.O|.O.O
|
||||
; .OOO|.OOO|.OOO
|
||||
; ....|....|....
|
||||
;
|
||||
|
||||
tsc
|
||||
adc #$013a
|
||||
tcs
|
||||
|
||||
lda $1,s
|
||||
; and #$00f0
|
||||
ora #$8808
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
; and #$00f0
|
||||
ora #$8808
|
||||
sta $3,s
|
||||
|
||||
lda $5,s
|
||||
; and #$00f0
|
||||
ora #$8808
|
||||
sta $5,s
|
||||
|
||||
lda $a1,s
|
||||
; and #$fff0
|
||||
ora #$0008
|
||||
sta $a1,s
|
||||
|
||||
lda $a3,s
|
||||
; and #$f0f0
|
||||
ora #$0808
|
||||
sta $a3,s
|
||||
|
||||
lda $a5,s
|
||||
; and #$f0f0
|
||||
ora #$0808
|
||||
sta $a5,s
|
||||
|
||||
tsc
|
||||
adc #$0140
|
||||
tcs
|
||||
|
||||
lda $1,s
|
||||
; and #$00f0
|
||||
ora #$8808
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
; and #$f0f0
|
||||
ora #$0808
|
||||
sta $3,s
|
||||
|
||||
lda $5,s
|
||||
; and #$f0f0
|
||||
ora #$0808
|
||||
sta $5,s
|
||||
|
||||
lda $a1,s
|
||||
; and #$f0f0
|
||||
ora #$0808
|
||||
sta $a1,s
|
||||
|
||||
lda $a3,s
|
||||
; and #$f0f0
|
||||
ora #$0808
|
||||
sta $a3,s
|
||||
|
||||
lda $a5,s
|
||||
; and #$f0f0
|
||||
ora #$0808
|
||||
sta $a5,s
|
||||
|
||||
tsc
|
||||
adc #$0140
|
||||
tcs
|
||||
|
||||
lda $1,s
|
||||
; and #$00f0
|
||||
ora #$8808
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
; and #$00f0
|
||||
ora #$8808
|
||||
sta $3,s
|
||||
|
||||
lda $5,s
|
||||
; and #$00f0
|
||||
ora #$8808
|
||||
sta $5,s
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
score900 entry
|
||||
_spriteHeader
|
||||
|
||||
; $c - Green
|
||||
; $4 - Red
|
||||
; $8 - Off-white
|
||||
;
|
||||
; ....|....|....
|
||||
; ....|....|....
|
||||
; .OOO|.OOO|.OOO
|
||||
; .O.O|.O.O|.O.O
|
||||
; .OOO|.O.O|.O.O
|
||||
; ...O|.O.O|.O.O
|
||||
; .OOO|.OOO|.OOO
|
||||
; ....|....|....
|
||||
;
|
||||
|
||||
tsc
|
||||
adc #$013a
|
||||
tcs
|
||||
|
||||
lda $1,s
|
||||
; and #$00f0
|
||||
ora #$8808
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
; and #$00f0
|
||||
ora #$8808
|
||||
sta $3,s
|
||||
|
||||
lda $5,s
|
||||
; and #$00f0
|
||||
ora #$8808
|
||||
sta $5,s
|
||||
|
||||
lda $a1,s
|
||||
; and #$f0f0
|
||||
ora #$0808
|
||||
sta $a1,s
|
||||
|
||||
lda $a3,s
|
||||
; and #$f0f0
|
||||
ora #$0808
|
||||
sta $a3,s
|
||||
|
||||
lda $a5,s
|
||||
; and #$f0f0
|
||||
ora #$0808
|
||||
sta $a5,s
|
||||
|
||||
tsc
|
||||
adc #$0140
|
||||
tcs
|
||||
|
||||
lda $1,s
|
||||
; and #$00f0
|
||||
ora #$8808
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
; and #$f0f0
|
||||
ora #$0808
|
||||
sta $3,s
|
||||
|
||||
lda $5,s
|
||||
; and #$f0f0
|
||||
ora #$0808
|
||||
sta $5,s
|
||||
|
||||
lda $a1,s
|
||||
; and #$f0ff
|
||||
ora #$0800
|
||||
sta $a1,s
|
||||
|
||||
lda $a3,s
|
||||
; and #$f0f0
|
||||
ora #$0808
|
||||
sta $a3,s
|
||||
|
||||
lda $a5,s
|
||||
; and #$f0f0
|
||||
ora #$0808
|
||||
sta $a5,s
|
||||
|
||||
tsc
|
||||
adc #$0140
|
||||
tcs
|
||||
|
||||
lda $1,s
|
||||
; and #$00f0
|
||||
ora #$8808
|
||||
sta $1,s
|
||||
|
||||
lda $3,s
|
||||
; and #$00f0
|
||||
ora #$8808
|
||||
sta $3,s
|
||||
|
||||
lda $5,s
|
||||
; and #$00f0
|
||||
ora #$8808
|
||||
sta $5,s
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
backupStack dc i2'0'
|
||||
|
||||
|
||||
end
|
2655
BuGS/sprites/scorpions.s
Normal file
2655
BuGS/sprites/scorpions.s
Normal file
File diff suppressed because it is too large
Load Diff
242
BuGS/sprites/solid.s
Normal file
242
BuGS/sprites/solid.s
Normal file
|
@ -0,0 +1,242 @@
|
|||
;
|
||||
; solid.s
|
||||
; BuGS
|
||||
;
|
||||
; Created by Jeremy Rand on 2020-07-02.
|
||||
;Copyright © 2020 Jeremy Rand. All rights reserved.
|
||||
;
|
||||
|
||||
case on
|
||||
mcopy solid.macros
|
||||
keep solid
|
||||
|
||||
solid start
|
||||
|
||||
|
||||
solid0 entry
|
||||
_spriteHeader
|
||||
|
||||
; Colours #$0000 - Black, Black, Black, Black (x16)
|
||||
;
|
||||
ldx #$0000 ; Black, Black, Black, Black
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
solid1 entry
|
||||
_spriteHeader
|
||||
|
||||
; Colours #$1111 - Green, Green, Green, Green (x16)
|
||||
;
|
||||
ldx #$1111 ; Green, Green, Green, Green
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
solid2 entry
|
||||
_spriteHeader
|
||||
|
||||
; Colours #$2222 - Red, Red, Red, Red (x16)
|
||||
;
|
||||
ldx #$2222 ; Red, Red, Red, Red
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
solid3 entry
|
||||
_spriteHeader
|
||||
|
||||
; Colours #$3333 - Off-white, Off-white, Off-white, Off-white (x16)
|
||||
;
|
||||
ldx #$3333 ; Off-white, Off-white, Off-white, Off-white
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
backupStack dc i2'0'
|
||||
|
||||
end
|
2205
BuGS/sprites/spiders.s
Normal file
2205
BuGS/sprites/spiders.s
Normal file
File diff suppressed because it is too large
Load Diff
58
BuGS/sprites/sprites.md
Normal file
58
BuGS/sprites/sprites.md
Normal file
|
@ -0,0 +1,58 @@
|
|||
# Sprites Design
|
||||
|
||||
## Performance of Different Stack Ops
|
||||
|
||||
Performance of two approaches:
|
||||
```
|
||||
ldx #$abcd 3 cycles
|
||||
phx 4 cycles (per push)
|
||||
```
|
||||
|
||||
versus:
|
||||
```
|
||||
pea $abcd 5 cycles
|
||||
```
|
||||
|
||||
When the pattern $abcd appears just once:
|
||||
* ldx/phx takes 7 cycles
|
||||
* pea takes 5 cycles (best)
|
||||
|
||||
When the pattern $abcd appears twice:
|
||||
* ldx/phx/phx takes 11 cycles
|
||||
* pea/pea takes 10 cycles (best)
|
||||
|
||||
When the pattern $abcd appears three times:
|
||||
* ldx/phx/phx/phx takes 15 cycles
|
||||
* pea/pea/pea takes 15 cycles
|
||||
|
||||
When the pattern $abcd appears four times:
|
||||
* ldx/phx/phx/phx takes 19 cycles (best)
|
||||
* pea/pea/pea takes 20 cycles
|
||||
|
||||
So, if a pattern appears four or more times, it is worth using a register for the pattern. If it appears exactly three times, a register can be used but it buys nothing. If it appears two or fewer times, a register for the pattern should not be used.
|
||||
|
||||
## Colours and Layers
|
||||
|
||||
Every level has three primary colours which are used for all sprites. Because the GS can have up to 16 colours on a line, we have more colours available in the HW than is required for the game.
|
||||
|
||||
Each colour is 4 bits wide. All zeros is always black in all the different palletes for each level. The bottom two bits are used by the "lowest layer" which is drawn first. The bottom layer consists of:
|
||||
* mushrooms
|
||||
* numbers
|
||||
* letters
|
||||
* symbols
|
||||
* solid squares (primarily the all black square)
|
||||
|
||||
These sprites generally draw first and overwrite what may have been there before. After the background layer is drawn, other things are drawn in this order:
|
||||
* spiders
|
||||
* scorpions
|
||||
* fleas
|
||||
* scores
|
||||
* centipede segments
|
||||
* missle
|
||||
* player
|
||||
|
||||
If that item is exploding, the explosion is also drawn at this time. Because we only have three non-black colours, the bottom two bits of the colour is used for the "background colour". Background sprites only set these bits.
|
||||
|
||||
Then, these forground sprites can just set the upper two bits to overwrite the background colour. This turns a load, and, or, store into a load, or, store cycle for each 4 pixels. Spiders and scorpions never overlap with each other so they can avoid the "and" operation. Fleas, scores and centipede segments may overlap with other sprites so they maybe need to perform an and operation to preserve background or other foreground pixels from other sprites.
|
||||
|
||||
But there is one more optimization I have made. The majority of foreground sprites are centipede segments and the centipede is mostly green (in the first level colour pallete). This colour is always 11xx. That means to make a foreground pixel green, we only need to set the two high bits of the pixel and that can always be done with just an or operation. If the four pixels consist of only green pixels (one, two, three or four green pixels and no other colours), then that can always be done with just an or operation. No masking is required. Again, centipede segments are mostly green and there tends to be lots of segments so this is a useful optimization.
|
261
BuGS/sprites/symbols.s
Normal file
261
BuGS/sprites/symbols.s
Normal file
|
@ -0,0 +1,261 @@
|
|||
;
|
||||
; symbols.s
|
||||
; BuGS
|
||||
;
|
||||
; Created by Jeremy Rand on 2020-07-02.
|
||||
;Copyright © 2020 Jeremy Rand. All rights reserved.
|
||||
;
|
||||
|
||||
case on
|
||||
mcopy symbols.macros
|
||||
keep symbols
|
||||
|
||||
symbols start
|
||||
|
||||
symbolC entry
|
||||
_spriteHeader
|
||||
|
||||
; Colours #$1100 - Black, Black, Green, Green (x2)
|
||||
; #$0011 - Green, Green, Black, Black (x2)
|
||||
; #$0201 - Black, Green, Black, Red (x2)
|
||||
; #$1020 - Red, Black, Green, Black (x2)
|
||||
; #$2010 - Green, Black, Red, Black (x4)
|
||||
; #$0102 - Black, Red, Black, Green (x2)
|
||||
; #$0100 - Black, Black, Black, Green (x2)
|
||||
;
|
||||
ldx #$2010 ; Green, Black, Red, Black
|
||||
|
||||
pea $0011
|
||||
pea $1100
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $1020
|
||||
pea $0201
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0102
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0100
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0100
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0102
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $1020
|
||||
pea $0201
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0011
|
||||
pea $1100
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
symbolP entry
|
||||
_spriteHeader
|
||||
|
||||
; Colours #$1100 - Black, Black, Green, Green (x2)
|
||||
; #$0011 - Green, Green, Black, Black (x2)
|
||||
; #$0201 - Black, Green, Black, Red (x1)
|
||||
; #$1020 - Red, Black, Green, Black (x1)
|
||||
; #$2010 - Green, Black, Red, Black (x3)
|
||||
; #$0102 - Black, Red, Black, Green (x2)
|
||||
; #$2210 - Green, Black, Red, Red (x1)
|
||||
; #$0120 - Red, Black, Black, Green (x1)
|
||||
; #$0100 - Black, Black, Black, Green (x1)
|
||||
; #$2001 - Black, Green, Red, Black (x1)
|
||||
; #$1000 - Black, Black, Green, Black (x1)
|
||||
;
|
||||
ldx #$2010 ; Green, Black, Red, Black
|
||||
|
||||
pea $0011
|
||||
pea $1100
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $1020
|
||||
pea $0201
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0102
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0102
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0120
|
||||
pea $2210
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0100
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $1000
|
||||
pea $2001
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0011
|
||||
pea $1100
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
symbolDot entry
|
||||
_spriteHeader
|
||||
|
||||
; Colours #$0000 - Black, Black, Black, Black (x15)
|
||||
; #$0030 - Off-white, Black, Black, Black (x1)
|
||||
;
|
||||
ldx #$0000 ; Black, Black, Black, Black
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0030
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
symbolColon entry
|
||||
_spriteHeader
|
||||
|
||||
; Colours #$0000 - Black, Black, Black, Black (x8)
|
||||
; #$0020 - Red, Black, Black, Black (x4)
|
||||
; #$0200 - Black, Black, Black, Red (x4)
|
||||
;
|
||||
ldx #$0000 ; Black, Black, Black, Black
|
||||
ldy #$0200 ; Black, Black, Black, Red
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0020
|
||||
phy
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0020
|
||||
phy
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0020
|
||||
phy
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
pea $0020
|
||||
phy
|
||||
|
||||
adc #$00a0
|
||||
tcs
|
||||
|
||||
phx
|
||||
phx
|
||||
|
||||
_spriteFooter
|
||||
rtl
|
||||
|
||||
|
||||
backupStack dc i2'0'
|
||||
|
||||
end
|
Loading…
Reference in New Issue
Block a user