diff --git a/BuGS.xcodeproj/project.pbxproj b/BuGS.xcodeproj/project.pbxproj index 4909db4..c3af68e 100644 --- a/BuGS.xcodeproj/project.pbxproj +++ b/BuGS.xcodeproj/project.pbxproj @@ -63,8 +63,18 @@ 9D1716A42491C49300C83148 /* system601.2mg */ = {isa = PBXFileReference; lastKnownFileType = file; path = system601.2mg; sourceTree = ""; }; 9D1716A62491C49300C83148 /* tail.mk */ = {isa = PBXFileReference; lastKnownFileType = text; path = tail.mk; sourceTree = ""; }; 9D1716A92491C49300C83148 /* BuGS.xcscheme */ = {isa = PBXFileReference; lastKnownFileType = text.xml; name = BuGS.xcscheme; path = ../../BuGS.xcodeproj/xcshareddata/xcschemes/BuGS.xcscheme; sourceTree = ""; }; + 9D3396F424AECB1D003222B3 /* explosions.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = explosions.s; sourceTree = ""; }; + 9D3396F524AECBB1003222B3 /* spiders.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = spiders.s; sourceTree = ""; }; + 9D3396F624AECC40003222B3 /* scorpions.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = scorpions.s; sourceTree = ""; }; + 9D3396F724AECCAC003222B3 /* scores.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = scores.s; sourceTree = ""; }; + 9D3396F824AECD11003222B3 /* fleas.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = fleas.s; sourceTree = ""; }; + 9D3396F924AECD7A003222B3 /* numbers.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = numbers.s; sourceTree = ""; }; + 9D3396FA24AECDE9003222B3 /* solid.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = solid.s; sourceTree = ""; }; + 9D3396FB24AECF7C003222B3 /* symbols.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = symbols.s; sourceTree = ""; }; + 9D3396FC24AECFBB003222B3 /* letters.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = letters.s; sourceTree = ""; }; + 9D3396FD24AECFF5003222B3 /* mushrooms.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = mushrooms.s; sourceTree = ""; }; + 9D3396FF24AED09D003222B3 /* sprites.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = sprites.md; sourceTree = ""; }; 9D62AF3B249871A300348F45 /* colour.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = colour.s; sourceTree = ""; }; - 9D62AF3C24994B1600348F45 /* sprites.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = sprites.s; sourceTree = ""; }; 9D62AF3E2499660100348F45 /* local.macros */ = {isa = PBXFileReference; lastKnownFileType = text; path = local.macros; sourceTree = ""; }; 9D62AF3F2499CD1E00348F45 /* LICENSE */ = {isa = PBXFileReference; lastKnownFileType = text; path = LICENSE; sourceTree = ""; }; 9D62AF402499CD3A00348F45 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = ""; }; @@ -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 = ""; }; + 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 = ""; + }; /* End PBXGroup section */ /* Begin PBXLegacyTarget section */ diff --git a/BuGS/Makefile b/BuGS/Makefile index 785d19b..dd49c82 100644 --- a/BuGS/Makefile +++ b/BuGS/Makefile @@ -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 diff --git a/BuGS/game.s b/BuGS/game.s index 756b50f..f6e7c69 100644 --- a/BuGS/game.s +++ b/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 diff --git a/BuGS/sprites.s b/BuGS/sprites.s deleted file mode 100644 index 1e1266b..0000000 --- a/BuGS/sprites.s +++ /dev/null @@ -1,7270 +0,0 @@ -; -; sprites.s -; BuGS -; -; Created by Jeremy Rand on 2020-06-16. -;Copyright © 2020 Jeremy Rand. All rights reserved. -; -; -; Performance of two approaches -; ldx #$abcd 3 cycles -; phx 4 cycles (per push) -; -; Vs -; pea $abcd 5 cycles -; -; When the pattern $abcd appears just once: -; - ldx/phx takes 7 cycles -; - pea takes 5 cycles (***) -; -; When the pattern $abcd appears twice: -; - ldx/phx/phx takes 11 cycles -; - pea/pea takes 10 cycles (***) -; -; 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 (***) -; - 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. -; - - case on - mcopy sprites.macros - keep sprites - -sprites 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 - - -letterA entry - _spriteHeader - -; Colours #$0000 - Black, Black, Black, Black (x2) -; #$2200 - Black, Black, Red, Red (x1) -; #$0020 - Red, Black, Black, Black (x1) -; #$2002 - Black, Red, Red, Black (x5) -; #$0022 - Red, Red, Black, Black (x5) -; #$2222 - Red, Red, Red, Red (x1) -; #$2022 - Red, Red, Red, Black (x1) -; - ldx #$2002 ; Black, Red, Red, Black - ldy #$0022 ; Red, Red, Black, Black - - pea $0000 - pea $0000 - - adc #$00a0 - tcs - - pea $0020 - pea $2200 - - adc #$00a0 - tcs - - phy - phx - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - pea $2022 - pea $2222 - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - _spriteFooter - rtl - - -letterB entry - _spriteHeader - -; Colours #$0000 - Black, Black, Black, Black (x2) -; #$2222 - Red, Red, Red, Red (x3) -; #$0022 - Red, Red, Black, Black (x3) -; #$2002 - Black, Red, Red, Black (x4) -; #$0022 - Red, Red, Black, Black (x4) -; #$2022 - Red, Red, Red, Black (x1) -; - ldx #$2002 ; Black, Red, Red, Black - ldy #$0022 ; Red, Red, Black, Black - - pea $0000 - pea $0000 - - adc #$00a0 - tcs - - pea $0022 - pea $2222 - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - pea $0022 - pea $2222 - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - pea $0022 - pea $2222 - - _spriteFooter - rtl - - -letterC entry - _spriteHeader - -; Colours #$0000 - Black, Black, Black, Black (x5) -; #$2200 - Black, Black, Red, Red (x2) -; #$0022 - Red, Red, Black, Black (x5) -; #$2002 - Black, Red, Red, Black (x4) -; - ldx #$0000 ; Black, Black, Black, Black - ldy #$0022 ; Red, Red, Black, Black - - phx - phx - - adc #$00a0 - tcs - - phy - pea $2200 - - adc #$00a0 - tcs - - pea $2002 - pea $2002 - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - pea $2002 - pea $2002 - - adc #$00a0 - tcs - - phy - pea $2200 - - _spriteFooter - rtl - - -letterD entry - _spriteHeader - -; Colours #$0000 - Black, Black, Black, Black (x2) -; #$2222 - Red, Red, Red, Red (x2) -; #$0020 - Red, Black, Black, Black (x2) -; #$0022 - Red, Red, Black, Black (x7) -; #$2002 - Black, Red, Red, Black (x3) -; - ldx #$2002 ; Black, Red, Red, Black - ldy #$0022 ; Red, Red, Black, Black - - pea $0000 - pea $0000 - - adc #$00a0 - tcs - - pea $0020 - pea $2222 - - adc #$00a0 - tcs - - phy - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phy - phy - - adc #$00a0 - tcs - - pea $0020 - pea $2222 - - _spriteFooter - rtl - - -letterE entry - _spriteHeader - -; Colours #$0000 - Black, Black, Black, Black (x6) -; #$2222 - Red, Red, Red, Red (x3) -; #$0022 - Red, Red, Black, Black (x5) -; #$0020 - Red, Black, Black, Black (x1) -; #$2022 - Red, Red, Red, Black (x1) -; - ldx #$0000 ; Black, Black, Black, Black - ldy #$0022 ; Red, Red, Black, Black - - phx - phx - - adc #$00a0 - tcs - - phy - pea $2222 - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - pea $0020 - pea $2222 - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - pea $2022 - pea $2222 - - _spriteFooter - rtl - - -letterF entry - _spriteHeader - -; Colours #$0000 - Black, Black, Black, Black (x7) -; #$2222 - Red, Red, Red, Red (x2) -; #$2022 - Red, Red, Red, Black (x1) -; #$0022 - Red, Red, Black, Black (x6) -; - ldx #$0000 ; Black, Black, Black, Black - ldy #$0022 ; Red, Red, Black, Black - - phx - phx - - adc #$00a0 - tcs - - pea $2022 - pea $2222 - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phy - pea $2222 - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - _spriteFooter - rtl - - -letterG entry - _spriteHeader - -; Colours #$0000 - Black, Black, Black, Black (x4) -; #$2200 - Black, Black, Red, Red (x2) -; #$2022 - Red, Red, Red, Black (x3) -; #$2002 - Black, Red, Red, Black (x4) -; #$0022 - Red, Red, Black, Black (x3) -; - ldx #$2002 ; Black, Red, Red, Black - ldy #$0000 ; Black, Black, Black, Black - - phy - phy - - adc #$00a0 - tcs - - pea $2022 - pea $2200 - - adc #$00a0 - tcs - - phy - phx - - adc #$00a0 - tcs - - phy - pea $0022 - - adc #$00a0 - tcs - - pea $2022 - pea $0022 - - adc #$00a0 - tcs - - phx - pea $0022 - - adc #$00a0 - tcs - - phx - phx - - adc #$00a0 - tcs - - pea $2022 - pea $2200 - - _spriteFooter - rtl - - -letterH entry - _spriteHeader - -; Colours #$0000 - Black, Black, Black, Black (x2) -; #$2022 - Red, Red, Red, Black (x1) -; #$2002 - Black, Red, Red, Black (x6) -; #$0022 - Red, Red, Black, Black (x6) -; #$2222 - Red, Red, Red, Red (x1) -; - ldx #$2002 ; Black, Red, Red, Black - ldy #$0022 ; Red, Red, Black, Black - - pea $0000 - pea $0000 - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - pea $2022 - pea $2222 - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - _spriteFooter - rtl - - -letterI entry - _spriteHeader - -; Colours #$0000 - Black, Black, Black, Black (x7) -; #$2222 - Red, Red, Red, Red (x2) -; #$0022 - Red, Red, Black, Black (x2) -; #$2200 - Black, Black, Red, Red (x5) -; - ldx #$2200 ; Black, Black, Red, Red - ldy #$0000 ; Black, Black, Black, Black - - phy - phy - - adc #$00a0 - tcs - - pea $0022 - pea $2222 - - adc #$00a0 - tcs - - phy - phx - - 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 - - -letterJ entry - _spriteHeader - -; Colours #$0000 - Black, Black, Black, Black (x7) -; #$2002 - Black, Red, Red, Black (x6) -; #$0022 - Red, Red, Black, Black (x2) -; #$2202 - Black, Red, Red, Red (x1) -; - ldx #$2002 ; Black, Red, Red, Black - ldy #$0000 ; Black, Black, Black, Black - - phy - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - pea $0022 - - adc #$00a0 - tcs - - pea $0022 - pea $2202 - - _spriteFooter - rtl - - -letterK entry - _spriteHeader - -; Colours #$0000 - Black, Black, Black, Black (x3) -; #$0022 - Red, Red, Black, Black (x5) -; #$2002 - Black, Red, Red, Black (x1) -; #$0222 - Red, Red, Black, Red (x2) -; #$0020 - Red, Black, Black, Black (x2) -; #$2222 - Red, Red, Red, Red (x2) -; #$2022 - Red, Red, Red, Black (x1) -; - ldx #$0000 ; Black, Black, Black, Black - ldy #$0022 ; Red, Red, Black, Black - - phx - phx - - adc #$00a0 - tcs - - pea $2002 - phy - - adc #$00a0 - tcs - - phy - phy - - adc #$00a0 - tcs - - pea $0020 - pea $0222 - - adc #$00a0 - tcs - - phx - pea $2222 - - adc #$00a0 - tcs - - pea $0020 - pea $2222 - - adc #$00a0 - tcs - - phy - pea $0222 - - adc #$00a0 - tcs - - pea $2022 - phy - - _spriteFooter - rtl - - -letterL entry - _spriteHeader - -; Colours #$0000 - Black, Black, Black, Black (x8) -; #$0022 - Red, Red, Black, Black (x6) -; #$2222 - Red, Red, Red, Red (x1) -; #$2022 - Red, Red, Red, Black (x1) -; - ldx #$0000 ; Black, Black, Black, Black - ldy #$0022 ; Red, Red, Black, Black - - phx - phx - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - pea $2022 - pea $2222 - - _spriteFooter - rtl - - - -letterM entry - _spriteHeader - -; Colours #$0000 - Black, Black, Black, Black (x2) -; #$0022 - Red, Red, Black, Black (x3) -; #$2002 - Black, Red, Red, Black (x4) -; #$2022 - Red, Red, Red, Black (x4) -; #$2222 - Red, Red, Red, Red (x2) -; #$0222 - Red, Red, Black, Red (x1) -; - ldx #$2022 ; Red, Red, Red, Black - ldy #$2002 ; Black, Red, Red, Black - - pea $0000 - pea $0000 - - adc #$00a0 - tcs - - phy - pea $0022 - - adc #$00a0 - tcs - - phx - phx - - adc #$00a0 - tcs - - phx - pea $2222 - - adc #$00a0 - tcs - - phx - pea $2222 - - adc #$00a0 - tcs - - phy - pea $0222 - - adc #$00a0 - tcs - - phy - pea $0022 - - adc #$00a0 - tcs - - phy - pea $0022 - - _spriteFooter - rtl - - -letterN entry - _spriteHeader - -; Colours #$0000 - Black, Black, Black, Black (x2) -; #$0022 - Red, Red, Black, Black (x3) -; #$2002 - Black, Red, Red, Black (x4) -; #$2022 - Red, Red, Red, Black (x4) -; #$2222 - Red, Red, Red, Red (x2) -; #$0222 - Red, Red, Black, Red (x1) -; - ldx #$2022 ; Red, Red, Red, Black - ldy #$2002 ; Black, Red, Red, Black - - pea $0000 - pea $0000 - - adc #$00a0 - tcs - - phy - pea $0022 - - adc #$00a0 - tcs - - phy - phx - - adc #$00a0 - tcs - - phy - pea $2222 - - adc #$00a0 - tcs - - phx - pea $2222 - - adc #$00a0 - tcs - - phx - pea $0222 - - adc #$00a0 - tcs - - phx - pea $0022 - - adc #$00a0 - tcs - - phy - pea $0022 - - _spriteFooter - rtl - - -letterO entry - _spriteHeader - -; Colours #$0000 - Black, Black, Black, Black (x2) -; #$2202 - Black, Red, Red, Red (x2) -; #$0022 - Red, Red, Black, Black (x7) -; #$2002 - Black, Red, Red, Black (x5) -; - ldx #$2002 ; Black, Red, Red, Black - ldy #$0022 ; Red, Red, Black, Black - - pea $0000 - pea $0000 - - adc #$00a0 - tcs - - phy - pea $2202 - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phy - pea $2202 - - _spriteFooter - rtl - - -letterP entry - _spriteHeader - -; Colours #$0000 - Black, Black, Black, Black (x4) -; #$2222 - Red, Red, Red, Red (x2) -; #$0022 - Red, Red, Black, Black (x7) -; #$2002 - Black, Red, Red, Black (x3) -; - ldx #$0000 ; Black, Black, Black, Black - ldy #$0022 ; Red, Red, Black, Black - - phx - phx - - adc #$00a0 - tcs - - phy - pea $2222 - - adc #$00a0 - tcs - - pea $2002 - phy - - adc #$00a0 - tcs - - pea $2002 - phy - - adc #$00a0 - tcs - - pea $2002 - phy - - adc #$00a0 - tcs - - phy - pea $2222 - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - _spriteFooter - rtl - - -letterQ entry - _spriteHeader - -; Colours #$0000 - Black, Black, Black, Black (x2) -; #$2202 - Black, Red, Red, Red (x2) -; #$0022 - Red, Red, Black, Black (x6) -; #$2002 - Black, Red, Red, Black (x3) -; #$0222 - Red, Red, Black, Red (x1) -; #$2022 - Red, Red, Red, Black (x1) -; #$2020 - Red, Black, Red, Black (x1) -; - ldx #$2002 ; Black, Red, Red, Black - ldy #$0022 ; Red, Red, Black, Black - - pea $0000 - pea $0000 - - adc #$00a0 - tcs - - phy - pea $2202 - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - pea $2022 - pea $0222 - - adc #$00a0 - tcs - - phy - phy - - adc #$00a0 - tcs - - pea $2020 - pea $2202 - - _spriteFooter - rtl - - -letterR entry - _spriteHeader - -; Colours #$0000 - Black, Black, Black, Black (x2) -; #$2222 - Red, Red, Red, Red (x2) -; #$0022 - Red, Red, Black, Black (x7) -; #$2002 - Black, Red, Red, Black (x2) -; #$0020 - Red, Black, Black, Black (x1) -; #$0222 - Red, Red, Black, Red (x1) -; #$2022 - Red, Red, Red, Black (x1) -; - ldy #$0022 ; Red, Red, Black, Black - - pea $0000 - pea $0000 - - adc #$00a0 - tcs - - phy - pea $2222 - - adc #$00a0 - tcs - - pea $2002 - phy - - adc #$00a0 - tcs - - pea $2002 - phy - - adc #$00a0 - tcs - - phy - phy - - adc #$00a0 - tcs - - pea $0020 - pea $2222 - - adc #$00a0 - tcs - - phy - pea $0222 - - adc #$00a0 - tcs - - pea $2022 - phy - - _spriteFooter - rtl - - -letterS entry - _spriteHeader - -; Colours #$0000 - Black, Black, Black, Black (x4) -; #$2202 - Black, Red, Red, Red (x3) -; #$0020 - Red, Black, Black, Black (x1) -; #$0022 - Red, Red, Black, Black (x6) -; #$2002 - Black, Red, Red, Black (x2) -; - ldx #$0000 ; Black, Black, Black, Black - ldy #$0022 ; Red, Red, Black, Black - - phx - phx - - adc #$00a0 - tcs - - pea $0020 - pea $2202 - - adc #$00a0 - tcs - - phy - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phy - pea $2202 - - adc #$00a0 - tcs - - pea $2002 - phx - - adc #$00a0 - tcs - - pea $2002 - phy - - adc #$00a0 - tcs - - phy - pea $2202 - - _spriteFooter - rtl - - -letterT entry - _spriteHeader - -; Colours #$0000 - Black, Black, Black, Black (x8) -; #$2222 - Red, Red, Red, Red (x1) -; #$0022 - Red, Red, Black, Black (x1) -; #$2200 - Black, Black, Red, Red (x6) -; - ldx #$2200 ; Black, Black, Red, Red - ldy #$0000 ; Black, Black, Black, Black - - phy - phy - - adc #$00a0 - tcs - - pea $0022 - pea $2222 - - adc #$00a0 - tcs - - phy - phx - - adc #$00a0 - tcs - - phy - phx - - adc #$00a0 - tcs - - phy - phx - - adc #$00a0 - tcs - - phy - phx - - adc #$00a0 - tcs - - phy - phx - - adc #$00a0 - tcs - - phy - phx - - _spriteFooter - rtl - - -letterU entry - _spriteHeader - -; Colours #$0000 - Black, Black, Black, Black (x2) -; #$0022 - Red, Red, Black, Black (x7) -; #$2002 - Black, Red, Red, Black (x6) -; #$2202 - Black, Red, Red, Red (x1) -; - ldx #$2002 ; Black, Red, Red, Black - ldy #$0022 ; Red, Red, Black, Black - - pea $0000 - pea $0000 - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phy - pea $2202 - - _spriteFooter - rtl - - -letterV entry - _spriteHeader - -; Colours #$0000 - Black, Black, Black, Black (x3) -; #$0022 - Red, Red, Black, Black (x4) -; #$2002 - Black, Red, Red, Black (x3) -; #$2022 - Red, Red, Red, Black (x2) -; #$2202 - Black, Red, Red, Red (x1) -; #$2200 - Black, Black, Red, Red (x1) -; #$0020 - Red, Black, Black, Black (x1) -; #$0200 - Black, Black, Black, Red (x1) -; - ldx #$2002 ; Black, Red, Red, Black - ldy #$0022 ; Red, Red, Black, Black - - pea $0000 - pea $0000 - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - pea $2022 - pea $2022 - - adc #$00a0 - tcs - - phy - pea $2202 - - adc #$00a0 - tcs - - pea $0020 - pea $2200 - - adc #$00a0 - tcs - - pea $0000 - pea $0200 - - _spriteFooter - rtl - - -letterW entry - _spriteHeader - -; Colours #$0000 - Black, Black, Black, Black (x2) -; #$0022 - Red, Red, Black, Black (x3) -; #$2002 - Black, Red, Red, Black (x4) -; #$2022 - Red, Red, Red, Black (x4) -; #$2222 - Red, Red, Red, Red (x2) -; #$0222 - Red, Red, Black, Red (x1) -; - ldx #$2002 ; Black, Red, Red, Black - ldy #$2022 ; Red, Red, Red, Black - - pea $0000 - pea $0000 - - adc #$00a0 - tcs - - phx - pea $0022 - - adc #$00a0 - tcs - - phx - pea $0022 - - adc #$00a0 - tcs - - phx - pea $0222 - - adc #$00a0 - tcs - - phy - pea $2222 - - adc #$00a0 - tcs - - phy - pea $2222 - - adc #$00a0 - tcs - - phy - phy - - adc #$00a0 - tcs - - phx - pea $0022 - - _spriteFooter - rtl - - -letterX entry - _spriteHeader - -; Colours #$0000 - Black, Black, Black, Black (x2) -; #$0022 - Red, Red, Black, Black (x4) -; #$2002 - Black, Red, Red, Black (x2) -; #$2022 - Red, Red, Red, Black (x4) -; #$2202 - Black, Red, Red, Red (x2) -; #$2200 - Black, Black, Red, Red (x1) -; #$0020 - Red, Black, Black, Black (x1) -; - ldx #$2022 ; Red, Red, Red, Black - ldy #$0022 ; Red, Red, Black, Black - - pea $0000 - pea $0000 - - adc #$00a0 - tcs - - pea $2002 - phy - - adc #$00a0 - tcs - - phx - phx - - adc #$00a0 - tcs - - phy - pea $2202 - - adc #$00a0 - tcs - - pea $0020 - pea $2200 - - adc #$00a0 - tcs - - phy - pea $2202 - - adc #$00a0 - tcs - - phx - phx - - adc #$00a0 - tcs - - pea $2002 - phy - - _spriteFooter - rtl - - -letterY entry - _spriteHeader - -; Colours #$0000 - Black, Black, Black, Black (x5) -; #$0022 - Red, Red, Black, Black (x6) -; #$2202 - Black, Red, Red, Red (x1) -; #$0020 - Red, Black, Black, Black (x1) -; #$2200 - Black, Black, Red, Red (x3) -; - ldx #$0000 ; Black, Black, Black, Black - ldy #$0022 ; Red, Red, Black, Black - - phx - phx - - adc #$00a0 - tcs - - phy - phy - - adc #$00a0 - tcs - - phy - phy - - adc #$00a0 - tcs - - phy - phy - - adc #$00a0 - tcs - - pea $0020 - pea $2202 - - adc #$00a0 - tcs - - phx - pea $2200 - - adc #$00a0 - tcs - - phx - pea $2200 - - adc #$00a0 - tcs - - phx - pea $2200 - - _spriteFooter - rtl - - -letterZ entry - _spriteHeader - -; Colours #$0000 - Black, Black, Black, Black (x5) -; #$2222 - Red, Red, Red, Red (x2) -; #$2022 - Red, Red, Red, Black (x4) -; #$0200 - Black, Black, Black, Red (x1) -; #$0022 - Red, Red, Black, Black (x1) -; #$2200 - Black, Black, Red, Red (x1) -; #$0020 - Red, Black, Black, Black (x1) -; #$2202 - Black, Red, Red, Red (x1) -; - ldx #$0000 ; Black, Black, Black, Black - ldy #$2022 ; Red, Red, Red, Black - - phx - phx - - adc #$00a0 - tcs - - phy - pea $2222 - - adc #$00a0 - tcs - - phy - phx - - adc #$00a0 - tcs - - pea $0022 - pea $0200 - - adc #$00a0 - tcs - - pea $0020 - pea $2200 - - adc #$00a0 - tcs - - phx - pea $2202 - - adc #$00a0 - tcs - - phx - phy - - adc #$00a0 - tcs - - phy - pea $2222 - - _spriteFooter - rtl - - -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 - - -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 - - -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 - - -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 - - -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 - -; $7 c - Green -; $8 4 - Red -; $9 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 - - -left_scorpion1 entry - dex - dex - dex - dex - dex - dex - dex - dex - _spriteHeader - -; $c - Green -; $4 - Red -; $8 - Off-white -; -; O.O.|.ROR|..O.|O... -; .O..|RROR|R..O|.... -; .OO.|.OOO|..OO|.OOO -; ..OO|OOOO|OOO.|.O.O -; ....|.OOO|O...|...O -; ....|.OOO|O...|..OO -; ....|.OOO|OOOO|OOOO -; ....|..OO|OOOO|OOO. -; - ldy #$8888 ; Off-white, Off-white, Off-white, Off-white - - lda $1,s - and #$0f0f - ora #$8080 - sta $1,s - - lda $3,s - and #$00f0 - ora #$8404 - sta $3,s - - lda $5,s - and #$0fff - ora #$8000 - sta $5,s - - lda $7,s - and #$ff0f - ora #$0080 - sta $7,s - - lda $a1,s - and #$fff0 - ora #$0008 - sta $a1,s - - lda #$8444 - sta $a3,s - - lda $a5,s - and #$f00f - ora #$0840 - sta $a5,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$0ff0 - ora #$8008 - sta $1,s - - lda $3,s - and #$00f0 - ora #$8808 - sta $3,s - - lda $5,s - and #$00ff - ora #$8800 - sta $5,s - - lda $7,s - and #$00f0 - ora #$8808 - sta $7,s - - lda $a1,s - and #$00ff - ora #$8800 - sta $a1,s - - tya - sta $a3,s - - lda $a5,s - and #$0f00 - ora #$8088 - sta $a5,s - - lda $a7,s - and #$f0f0 - ora #$0808 - sta $a7,s - - tsc - adc #$142 - tcs - - lda $1,s - and #$00f0 - ora #$8808 - sta $1,s - - lda $3,s - and #$ff0f - ora #$0080 - sta $3,s - - lda $5,s - and #$f0ff - ora #$0800 - sta $5,s - - lda $a1,s - and #$00f0 - ora #$8808 - sta $a1,s - - lda $a3,s - and #$ff0f - ora #$0080 - sta $a3,s - - lda $a5,s - and #$00ff - ora #$8800 - sta $a5,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$00f0 - ora #$8808 - sta $1,s - - lda $a1,s - and #$00ff - ora #$8800 - sta $a1,s - - lda $a5,s - and #$0f00 - ora #$8088 - sta $a5,s - - tya - sta $3,s - sta $5,s - sta $a3,s - - _spriteFooter - rtl - - -left_scorpion1s entry - dex - dex - dex - dex - dex - dex - dex - dex - dex - dex - _spriteHeader - -; $c - Green -; $4 - Red -; $8 - Off-white -; -; ...O|.O..|ROR.|.O.O|.... -; ....|O..R|RORR|..O.|.... -; ....|OO..|OOO.|.OO.|OOO. -; ....|.OOO|OOOO|OO..|O.O. -; ....|....|OOOO|....|..O. -; ....|....|OOOO|....|.OO. -; ....|....|OOOO|OOOO|OOO. -; ....|....|.OOO|OOOO|OO.. -; - - ldy #$8888 ; Off-white, Off-white, Off-white, Off-white - - lda $1,s - and #$f0ff - ora #$0800 - sta $1,s - - lda $3,s - and #$fff0 - ora #$0008 - sta $3,s - - lda $5,s - and #$0f00 - ora #$4048 - sta $5,s - - lda $7,s - and #$f0f0 - ora #$0808 - sta $7,s - - lda $a3,s - and #$f00f - ora #$0480 - sta $a3,s - - lda #$4448 - sta $a5,s - - lda $a7,s - and #$0fff - ora #$8000 - sta $a7,s - - tsc - adc #$142 - tcs - - lda $1,s - and #$ff00 - ora #$0088 - sta $1,s - - lda $3,s - and #$0f00 - ora #$8088 - sta $3,s - - lda $5,s - and #$0ff0 - ora #$8008 - sta $5,s - - lda $7,s - and #$0f00 - ora #$8088 - sta $7,s - - lda $a1,s - and #$00f0 - ora #$8808 - sta $a1,s - - tya - sta $a3,s - - lda $a5,s - and #$ff00 - ora #$0088 - sta $a5,s - - lda $a7,s - and #$0f0f - ora #$8080 - sta $a7,s - - tsc - adc #$142 - tcs - - tya - sta $1,s - sta $a1,s - - lda $5,s - and #$0fff - ora #$8000 - sta $5,s - - lda $a5,s - and #$0ff0 - ora #$8008 - sta $a5,s - - tsc - adc #$140 - tcs - - lda $5,s - and #$0f00 - ora #$8088 - sta $5,s - - lda $a1,s - and #$00f0 - ora #$8808 - sta $a1,s - - lda $a5,s - and #$ff00 - ora #$0088 - sta $a5,s - - tya - sta $1,s - sta $3,s - sta $a3,s - - _spriteFooter - rtl - - -left_scorpion2 entry - dex - dex - dex - dex - dex - dex - dex - dex - _spriteHeader - -; $c - Green -; $4 - Red -; $8 - Off-white -; -; O.O.|.ROR|..O.|O... -; .O..|RROR|R..O|.... -; .OO.|.OOO|..OO|.OOO -; ..OO|.OOO|.OO.|.O.O -; ...O|OOOO|OO..|.O.. -; ....|.OOO|....|OO.. -; ....|.OOO|OOOO|OO.. -; ....|..OO|OOOO|O... -; - - ldy #$8888 ; Off-white, Off-white, Off-white, Off-white - - lda $1,s - and #$0f0f - ora #$8080 - sta $1,s - - lda $3,s - and #$00f0 - ora #$8404 - sta $3,s - - lda $5,s - and #$0fff - ora #$8000 - sta $5,s - - lda $7,s - and #$ff0f - ora #$0080 - sta $7,s - - lda $a1,s - and #$fff0 - ora #$0008 - sta $a1,s - - lda #$8444 - sta $a3,s - - lda $a5,s - and #$f00f - ora #$0840 - sta $a5,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$0ff0 - ora #$8008 - sta $1,s - - lda $3,s - and #$00f0 - ora #$8808 - sta $3,s - - lda $5,s - and #$00ff - ora #$8800 - sta $5,s - - lda $7,s - and #$00f0 - ora #$8808 - sta $7,s - - lda $a1,s - and #$00ff - ora #$8800 - sta $a1,s - - lda $a3,s - and #$00f0 - ora #$8808 - sta $a3,s - - lda $a5,s - and #$0ff0 - ora #$8008 - sta $a5,s - - lda $a7,s - and #$f0f0 - ora #$0808 - sta $a7,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$f0ff - ora #$0800 - sta $1,s - - tya - sta $3,s - - lda $5,s - and #$ff00 - ora #$0088 - sta $5,s - - lda $7,s - and #$fff0 - ora #$0008 - sta $7,s - - lda $a3,s - and #$00f0 - ora #$8808 - sta $a3,s - - lda $a7,s - and #$ff00 - ora #$0088 - sta $a7,s - - tsc - adc #$142 - tcs - - lda $1,s - and #$00f0 - ora #$8808 - sta $1,s - - lda $5,s - and #$ff00 - ora #$0088 - sta $5,s - - lda $a1,s - and #$00ff - ora #$8800 - sta $a1,s - - lda $a5,s - and #$ff0f - ora #$0080 - sta $a5,s - - tya - sta $3,s - sta $a3,s - - _spriteFooter - rtl - - -left_scorpion2s entry - dex - dex - dex - dex - dex - dex - dex - dex - dex - dex - _spriteHeader - -; $c - Green -; $4 - Red -; $8 - Off-white -; -; ...O|.O..|ROR.|.O.O|.... -; ....|O..R|RORR|..O.|.... -; ....|OO..|OOO.|.OO.|OOO. -; ....|.OO.|OOO.|OO..|O.O. -; ....|..OO|OOOO|O...|O... -; ....|....|OOO.|...O|O... -; ....|....|OOOO|OOOO|O... -; ....|....|.OOO|OOOO|.... -; - ldy #$8888 ; Off-white, Off-white, Off-white, Off-white - - lda $1,s - and #$f0ff - ora #$0800 - sta $1,s - - lda $3,s - and #$fff0 - ora #$0008 - sta $3,s - - lda $5,s - and #$0f00 - ora #$4048 - sta $5,s - - lda $7,s - and #$f0f0 - ora #$0808 - sta $7,s - - lda $a3,s - and #$f00f - ora #$0480 - sta $a3,s - - lda #$4448 - sta $a5,s - - lda $a7,s - and #$0fff - ora #$8000 - sta $a7,s - - tsc - adc #$142 - tcs - - lda $1,s - and #$ff00 - ora #$0088 - sta $1,s - - lda $3,s - and #$0f00 - ora #$8088 - sta $3,s - - lda $5,s - and #$0ff0 - ora #$8008 - sta $5,s - - lda $7,s - and #$0f00 - ora #$8088 - sta $7,s - - lda $a1,s - and #$0ff0 - ora #$8008 - sta $a1,s - - lda $a3,s - and #$0f00 - ora #$8088 - sta $a3,s - - lda $a5,s - and #$ff00 - ora #$0088 - sta $a5,s - - lda $a7,s - and #$0f0f - ora #$8080 - sta $a7,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$00ff - ora #$8800 - sta $1,s - - tya - sta $3,s - - lda $5,s - and #$ff0f - ora #$0080 - sta $5,s - - lda $7,s - and #$ff0f - ora #$0080 - sta $7,s - - lda $a3,s - and #$0f00 - ora #$8088 - sta $a3,s - - lda $a5,s - and #$f0ff - ora #$0800 - sta $a5,s - - lda $a7,s - and #$ff0f - ora #$0080 - sta $a7,s - - tsc - adc #$142 - tcs - - lda $5,s - and #$ff0f - ora #$0080 - sta $5,s - - lda $a1,s - and #$00f0 - ora #$8808 - sta $a1,s - - tya - sta $1,s - sta $3,s - sta $a3,s - - _spriteFooter - rtl - - -left_scorpion3 entry - dex - dex - dex - dex - dex - dex - dex - dex - _spriteHeader - -; $c - Green -; $4 - Red -; $8 - Off-white -; -; O.O.|ROR.|O.O.|.... -; .O.R|RORR|.O..|.... -; .OO.|OOO.|OO..|..OO -; ..OO|OOOO|O...|.O.O -; ....|OOO.|....|OO.O -; ....|OOO.|..OO|O..O -; ....|OOOO|OOOO|..O. -; ....|.OOO|OOO.|.... -; - ldy #$8888 ; Off-white, Off-white, Off-white, Off-white - - lda $1,s - and #$0f0f - ora #$8080 - sta $1,s - - lda $3,s - and #$0f00 - ora #$4048 - sta $3,s - - lda $5,s - and #$0f0f - ora #$8080 - sta $5,s - - lda $a1,s - and #$f0f0 - ora #$0408 - sta $a1,s - - lda #$4448 - sta $a3,s - - lda $a5,s - and #$fff0 - ora #$0008 - sta $a5,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$0ff0 - ora #$8008 - sta $1,s - - lda $3,s - and #$0f00 - ora #$8088 - sta $3,s - - lda $5,s - and #$ff00 - ora #$0088 - sta $5,s - - lda $7,s - and #$00ff - ora #$8800 - sta $7,s - - lda $a1,s - and #$00ff - ora #$8800 - sta $a1,s - - tya - sta $a3,s - - lda $a5,s - and #$ff0f - ora #$0080 - sta $a5,s - - lda $a7,s - and #$f0f0 - ora #$0808 - sta $a7,s - - tsc - adc #$142 - tcs - - lda $1,s - and #$0f00 - ora #$8088 - sta $1,s - - lda $5,s - and #$f000 - ora #$0888 - sta $5,s - - lda $a1,s - and #$0f00 - ora #$8088 - sta $a1,s - - lda $a3,s - and #$00ff - ora #$8800 - sta $a3,s - - lda $a5,s - and #$f00f - ora #$0880 - sta $a5,s - - tsc - adc #$140 - tcs - - lda $5,s - and #$0fff - ora #$8000 - sta $5,s - - lda $a1,s - and #$00f0 - ora #$8808 - sta $a1,s - - lda $a3,s - and #$0f00 - ora #$8088 - sta $a3,s - - tya - sta $1,s - sta $3,s - - _spriteFooter - rtl - - -left_scorpion3s entry - dex - dex - dex - dex - dex - dex - dex - dex - dex - dex - _spriteHeader - -; $c - Green -; $4 - Red -; $8 - Off-white -; -; ...O|.O.R|OR.O|.O..|.... -; ....|O.RR|ORR.|O...|.... -; ....|OO.O|OO.O|O...|.OO. -; ....|.OOO|OOOO|....|O.O. -; ....|...O|OO..|...O|O.O. -; ....|...O|OO..|.OOO|..O. -; ....|...O|OOOO|OOO.|.O.. -; ....|....|OOOO|OO..|.... -; - ldy #$8888 ; Off-white, Off-white, Off-white, Off-white - - lda $1,s - and #$f0ff - ora #$0800 - sta $1,s - - lda $3,s - and #$f0f0 - ora #$0408 - sta $3,s - - lda $5,s - and #$f000 - ora #$0884 - sta $5,s - - lda $7,s - and #$fff0 - ora #$0008 - sta $7,s - - lda $a3,s - and #$000f - ora #$4480 - sta $a3,s - - lda $a5,s - and #$0f0 - ora #$4084 - sta $a5,s - - lda $a7,s - and #$ff0f - ora #$0080 - sta $a7,s - - tsc - adc #$142 - tcs - - lda $1,s - and #$f000 - ora #$0888 - sta $1,s - - lda $3,s - and #$f000 - ora #$0888 - sta $3,s - - lda $5,s - and #$ff0f - ora #$0080 - sta $5,s - - lda $7,s - and #$0ff0 - ora #$8008 - sta $7,s - - lda $a1,s - and #$00f0 - ora #$8808 - sta $a1,s - - tya - sta $a3,s - - lda $a7,s - and #$0f0f - ora #$8080 - sta $a7,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$f0ff - ora #$0800 - sta $1,s - - lda $3,s - and #$ff00 - ora #$0088 - sta $3,s - - lda $5,s - and #$f0ff - ora #$0800 - sta $5,s - - lda $7,s - and #$0f0f - ora #$8080 - sta $7,s - - lda $a1,s - and #$f0ff - ora #$0800 - sta $a1,s - - lda $a3,s - and #$ff00 - ora #$088 - sta $a3,s - - lda $a5,s - and #$00f0 - ora #$8808 - sta $a5,s - - lda $a7,s - and #$0fff - ora #$8000 - sta $a7,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$f0ff - ora #$0800 - sta $1,s - - lda $5,s - and #$0f00 - ora #$8088 - sta $5,s - - lda $7,s - and #$fff0 - ora #$0008 - sta $7,s - - lda $a5,s - and #$ff00 - ora #$0088 - sta $a5,s - - tya - sta $3,s - sta $a3,s - - _spriteFooter - rtl - - -left_scorpion4 entry - dex - dex - dex - dex - dex - dex - dex - dex - _spriteHeader - -; $c - Green -; $4 - Red -; $8 - Off-white -; -; O.O.|ROR.|O.O.|.... -; .O.R|RORR|.O..|O... -; .OO.|OOO.|OO.O|.OO. -; ..OO|OOOO|O..O|..OO -; ....|OOO.|....|O..O -; ....|OOO.|....|...O -; ....|OOOO|OOOO|OOOO -; ....|.OOO|OOOO|OOO. -; - - ldy #$8888 ; Off-white, Off-white, Off-white, Off-white - - lda $1,s - and #$0f0f - ora #$8080 - sta $1,s - - lda $3,s - and #$0f00 - ora #$4048 - sta $3,s - - lda $5,s - and #$0f0f - ora #$8080 - sta $5,s - - lda $a1,s - and #$f0f0 - ora #$0408 - sta $a1,s - - lda #$4448 - sta $a3,s - - lda $a5,s - and #$fff0 - ora #$0008 - sta $a5,s - - lda $a7,s - and #$ff0f - ora #$0080 - sta $a7,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$0ff0 - ora #$8008 - sta $1,s - - lda $3,s - and #$0f00 - ora #$8088 - sta $3,s - - lda $5,s - and #$f000 - ora #$0888 - sta $5,s - - lda $7,s - and #$0ff0 - ora #$8008 - sta $7,s - - lda $a1,s - and #$00ff - ora #$8800 - sta $a1,s - - tya - sta $a3,s - - lda $a5,s - and #$f00f - ora #$0880 - sta $a5,s - - lda $a7,s - and #$00ff - ora #$8800 - sta $a7,s - - tsc - adc #$142 - tcs - - lda $1,s - and #$0f00 - ora #$8088 - sta $1,s - - lda $5,s - and #$f00f - ora #$0880 - sta $5,s - - lda $a1,s - and #$0f00 - ora #$8088 - sta $a1,s - - lda $a5,s - and #$f0ff - ora #$0800 - sta $a5,s - - tsc - adc #$146 - tcs - - phy - phy - phy - - lda $a1,s - and #$00f0 - ora #$8808 - sta $a1,s - - tya - sta $a3,s - - lda $a5,s - and #$0f00 - ora #$8088 - sta $a5,s - - _spriteFooter - rtl - - -left_scorpion4s entry - dex - dex - dex - dex - dex - dex - dex - dex - dex - dex - _spriteHeader - -; $c - Green -; $4 - Red -; $8 - Off-white -; -; ...O|.O.R|OR.O|.O..|.... -; ....|O.RR|ORR.|O..O|.... -; ....|OO.O|OO.O|O.O.|OO.. -; ....|.OOO|OOOO|..O.|.OO. -; ....|...O|OO..|...O|..O. -; ....|...O|OO..|....|..O. -; ....|...O|OOOO|OOOO|OOO. -; ....|....|OOOO|OOOO|OO.. -; - - ldy #$8888 ; Off-white, Off-white, Off-white, Off-white - - lda $1,s - and #$f0ff - ora #$0800 - sta $1,s - - lda $3,s - and #$f0f0 - ora #$0408 - sta $3,s - - lda $5,s - and #$f000 - ora #$0884 - sta $5,s - - lda $7,s - and #$fff0 - ora #$0008 - sta $7,s - - lda $a3,s - and #$000f - ora #$4480 - sta $a3,s - - lda $a5,s - and #$0f0 - ora #$4084 - sta $a5,s - - lda $a7,s - and #$f00f - ora #$0880 - sta $a7,s - - tsc - adc #$142 - tcs - - lda $1,s - and #$f000 - ora #$0888 - sta $1,s - - lda $3,s - and #$f000 - ora #$0888 - sta $3,s - - lda $5,s - and #$0f0f - ora #$8080 - sta $5,s - - lda $7,s - and #$ff00 - ora #$0088 - sta $7,s - - lda $a1,s - and #$00f0 - ora #$8808 - sta $a1,s - - tya - sta $a3,s - - lda $a5,s - and #$0fff - ora #$8000 - sta $a5,s - - lda $a7,s - and #$0ff0 - ora #$8008 - sta $a7,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$f0ff - ora #$0800 - sta $1,s - - lda $3,s - and #$ff00 - ora #$0088 - sta $3,s - - lda $5,s - and #$f0ff - ora #$0800 - sta $5,s - - lda $7,s - and #$0fff - ora #$8000 - sta $7,s - - lda $a1,s - and #$f0ff - ora #$0800 - sta $a1,s - - lda $a3,s - and #$ff00 - ora #$0088 - sta $a3,s - - lda $a7,s - and #$0fff - ora #$8000 - sta $a7,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$f0ff - ora #$0800 - sta $1,s - - lda $7,s - and #$0f00 - ora #$8088 - sta $7,s - - lda $a7,s - and #$ff00 - ora #$0088 - sta $a7,s - - tya - sta $3,s - sta $5,s - sta $a3,s - sta $a5,s - - _spriteFooter - rtl - - -right_scorpion1 entry - dex - dex - dex - dex - dex - dex - dex - dex - _spriteHeader - -; $c - Green -; $4 - Red -; $8 - Off-white -; -; ...O|.O..|ROR.|.O.O -; ....|O..R|RORR|..O. -; OOO.|OO..|OOO.|.OO. -; O.O.|.OOO|OOOO|OO.. -; O...|...O|OOO.|.... -; OO..|...O|OOO.|.... -; OOOO|OOOO|OOO.|.... -; .OOO|OOOO|OO..|.... -; - - ldy #$8888 ; Off-white, Off-white, Off-white, Off-white - - lda $1,s - and #$f0ff - ora #$0800 - sta $1,s - - lda $3,s - and #$fff0 - ora #$0008 - sta $3,s - - lda $5,s - and #$0f00 - ora #$4048 - sta $5,s - - lda $7,s - and #$f0f0 - ora #$0808 - sta $7,s - - lda $a3,s - and #$f00f - ora #$0480 - sta $a3,s - - lda #$4448 - sta $a5,s - - lda $a7,s - and #$0fff - ora #$8000 - sta $a7,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$0f00 - ora #$8088 - sta $1,s - - lda $3,s - and #$ff00 - ora #$0088 - sta $3,s - - lda $5,s - and #$0f00 - ora #$8088 - sta $5,s - - lda $7,s - and #$0ff0 - ora #$8008 - sta $7,s - - lda $a1,s - and #$0f0f - ora #$8080 - sta $a1,s - - lda $a3,s - and #$00f0 - ora #$8808 - sta $a3,s - - tya - sta $a5,s - - lda $a7,s - and #$ff00 - ora #$0088 - sta $a7,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$ff0f - ora #$0080 - sta $1,s - - lda $3,s - and #$f0ff - ora #$0800 - sta $3,s - - lda $5,s - and #$0f00 - ora #$8088 - sta $5,s - - lda $a1,s - and #$ff00 - ora #$0088 - sta $a1,s - - lda $a3,s - and #$f0ff - ora #$0800 - sta $a3,s - - lda $a5,s - and #$0f00 - ora #$8088 - sta $a5,s - - tsc - adc #$144 - tcs - - phy - phy - - lda $5,s - and #$0f00 - ora #$8088 - sta $5,s - - lda $a1,s - and #$00f0 - ora #$8808 - sta $a1,s - - tya - sta $a3,s - - lda $a5,s - and #$ff00 - ora #$0088 - sta $a5,s - - _spriteFooter - rtl - - -right_scorpion1s entry - dex - dex - dex - dex - dex - dex - dex - dex - _spriteHeader - -; $c - Green -; $4 - Red -; $8 - Off-white -; -; ....|..O.|O..R|OR..|O.O. -; ....|...O|..RR|ORR.|.O.. -; ...O|OO.O|O..O|OO..|OO.. -; ...O|.O..|OOOO|OOOO|O... -; ...O|....|..OO|OO..|.... -; ...O|O...|..OO|OO..|.... -; ...O|OOOO|OOOO|OO..|.... -; ....|OOOO|OOOO|O...|.... -; - - ldy #$8888 ; Off-white, Off-white, Off-white, Off-white - - lda $1,s - and #$0fff - ora #$8000 - sta $1,s - - lda $3,s - and #$f00f - ora #$0480 - sta $3,s - - lda $5,s - and #$ff00 - ora #$0084 - sta $5,s - - lda $7,s - and #$0f0f - ora #$8080 - sta $7,s - - lda $a1,s - and #$f0ff - ora #$0800 - sta $a1,s - - lda $a3,s - and #$00ff - ora #$4400 - sta $a3,s - - lda $a5,s - and #$0f00 - ora #$4084 - sta $a5,s - - lda $a7,s - and #$fff0 - ora #$0008 - sta $a7,s - - tsc - adc #$13e - tcs - - lda $1,s - and #$f0ff - ora #$0800 - sta $1,s - - lda $3,s - and #$f000 - ora #$0888 - sta $3,s - - lda $5,s - and #$f00f - ora #$0880 - sta $5,s - - lda $7,s - and #$ff00 - ora #$0088 - sta $7,s - - lda $9,s - and #$ff00 - ora #$0088 - sta $9,s - - lda $a1,s - and #$f0ff - ora #$0800 - sta $a1,s - - lda $a3,s - and #$fff0 - ora #$0008 - sta $a3,s - - tya - sta $a5,s - sta $a7,s - - lda $a9,s - and #$ff0f - ora #$0080 - sta $a9,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$f0ff - ora #$0800 - sta $1,s - - lda $5,s - and #$00ff - ora #$8800 - sta $5,s - - lda $7,s - and #$ff00 - ora #$0088 - sta $7,s - - lda $a1,s - and #$f0ff - ora #$0800 - sta $a1,s - - lda $a3,s - and #$ff0f - ora #$0080 - sta $a3,s - - lda $a5,s - and #$00ff - ora #$8800 - sta $a5,s - - lda $a7,s - and #$ff00 - ora #$0088 - sta $a7,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$f0ff - ora #$0800 - sta $1,s - - lda $7,s - and #$ff00 - ora #$0088 - sta $7,s - - lda $a7,s - and #$ff0f - ora #$0080 - sta $a7,s - - tya - sta $3,s - sta $5,s - sta $a3,s - sta $a5,s - - _spriteFooter - rtl - - -right_scorpion2 entry - dex - dex - dex - dex - dex - dex - dex - dex - _spriteHeader - -; $c - Green -; $4 - Red -; $8 - Off-white -; -; ...O|.O..|ROR.|.O.O -; ....|O..R|RORR|..O. -; OOO.|OO..|OOO.|.OO. -; O.O.|.OO.|OOO.|OO.. -; ..O.|..OO|OOOO|O... -; ..OO|....|OOO.|.... -; ..OO|OOOO|OOO.|.... -; ...O|OOOO|OO..|.... -; - - ldy #$8888 ; Off-white, Off-white, Off-white, Off-white - - lda $1,s - and #$f0ff - ora #$0800 - sta $1,s - - lda $3,s - and #$fff0 - ora #$0008 - sta $3,s - - lda $5,s - and #$0f00 - ora #$4048 - sta $5,s - - lda $7,s - and #$f0f0 - ora #$0808 - sta $7,s - - lda $a3,s - and #$f00f - ora #$0480 - sta $a3,s - - lda #$4448 - sta $a5,s - - lda $a7,s - and #$0fff - ora #$8000 - sta $a7,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$0f00 - ora #$8088 - sta $1,s - - lda $3,s - and #$ff00 - ora #$0088 - sta $3,s - - lda $5,s - and #$0f00 - ora #$8088 - sta $5,s - - lda $7,s - and #$0ff0 - ora #$8008 - sta $7,s - - lda $a1,s - and #$0f0f - ora #$8080 - sta $a1,s - - lda $a3,s - and #$0ff0 - ora #$8008 - sta $a3,s - - lda $a5,s - and #$0f00 - ora #$8088 - sta $a5,s - - lda $a7,s - and #$ff00 - ora #$0088 - sta $a7,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$0fff - ora #$8000 - sta $1,s - - lda $3,s - and #$00ff - ora #$8800 - sta $3,s - - tya - sta $5,s - - lda $7,s - and #$ff0f - ora #$0080 - sta $7,s - - lda $a1,s - and #$00ff - ora #$8800 - sta $a1,s - - lda $a5,s - and #$0f00 - ora #$8088 - sta $a5,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$00ff - ora #$8800 - sta $1,s - - lda $5,s - and #$0f00 - ora #$8088 - sta $5,s - - lda $a1,s - and #$f0ff - ora #$0800 - sta $a1,s - - lda $a5,s - and #$ff00 - ora #$0088 - sta $a5,s - - tya - sta $3,s - sta $a3,s - - _spriteFooter - rtl - - -right_scorpion2s entry - dex - dex - dex - dex - dex - dex - dex - dex - _spriteHeader - -; $c - Green -; $4 - Red -; $8 - Off-white -; -; ....|..O.|O..R|OR..|O.O. -; ....|...O|..RR|ORR.|.O.. -; ...O|OO.O|O..O|OO..|OO.. -; ...O|.O..|OO.O|OO.O|O... -; ....|.O..|.OOO|OOOO|.... -; ....|.OO.|...O|OO..|.... -; ....|.OOO|OOOO|OO..|.... -; ....|..OO|OOOO|O...|.... -; - - ldy #$8888 ; Off-white, Off-white, Off-white, Off-white - - lda $1,s - and #$0fff - ora #$8000 - sta $1,s - - lda $3,s - and #$f00f - ora #$0480 - sta $3,s - - lda $5,s - and #$ff00 - ora #$0084 - sta $5,s - - lda $7,s - and #$0f0f - ora #$8080 - sta $7,s - - lda $a1,s - and #$f0ff - ora #$0800 - sta $a1,s - - lda $a3,s - and #$00ff - ora #$4400 - sta $a3,s - - lda $a5,s - and #$0f00 - ora #$4084 - sta $a5,s - - lda $a7,s - and #$fff0 - ora #$0008 - sta $a7,s - - tsc - adc #$13e - tcs - - lda $1,s - and #$f0ff - ora #$0800 - sta $1,s - - lda $3,s - and #$f000 - ora #$0888 - sta $3,s - - lda $5,s - and #$f00f - ora #$0880 - sta $5,s - - lda $7,s - and #$ff00 - ora #$0088 - sta $7,s - - lda $9,s - and #$ff00 - ora #$0088 - sta $9,s - - lda $a1,s - and #$f0ff - ora #$0800 - sta $a1,s - - lda $a3,s - and #$fff0 - ora #$0008 - sta $a3,s - - lda $a5,s - and #$f000 - ora #$0888 - sta $a5,s - - lda $a7,s - and #$f000 - ora #$0888 - sta $a7,s - - lda $a9,s - and #$ff0f - ora #$0080 - sta $a9,s - - tsc - adc #$142 - tcs - - lda $1,s - and #$fff0 - ora #$0008 - sta $1,s - - lda $3,s - and #$00f0 - ora #$8808 - sta $3,s - - tya - sta $5,s - - lda $a1,s - and #$0ff0 - ora #$8008 - sta $a1,s - - lda $a3,s - and #$f0ff - ora #$0800 - sta $a3,s - - lda $a5,s - and #$ff00 - ora #$0088 - sta $a5,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$00f0 - ora #$8808 - sta $1,s - - lda $5,s - and #$ff00 - ora #$0088 - sta $5,s - - lda $a1,s - and #$00ff - ora #$8800 - sta $a1,s - - lda $a5,s - and #$ff0f - ora #$0080 - sta $a5,s - - tya - sta $3,s - sta $a3,s - - _spriteFooter - rtl - - -right_scorpion3 entry - dex - dex - dex - dex - dex - dex - _spriteHeader - -; $c - Green -; $4 - Red -; $8 - Off-white -; -; ....|.O.O|.ROR|.O.O -; ....|..O.|RROR|R.O. -; OOO.|..OO|.OOO|.OO. -; O.O.|...O|OOOO|OO.. -; O.OO|....|.OOO|.... -; O..O|OO..|.OOO|.... -; .O..|OOOO|OOOO|.... -; ....|.OOO|OOO.|.... -; - - ldy #$8888 ; Off-white, Off-white, Off-white, Off-white - - lda $1,s - and #$f0f0 - ora #$0808 - sta $1,s - - lda $3,s - and #$00f0 - ora #$8404 - sta $3,s - - lda $5,s - and #$f0f0 - ora #$0808 - sta $5,s - - lda $a1,s - and #$0fff - ora #$8000 - sta $a1,s - - lda #$8444 - sta $a3,s - - lda $a5,s - and #$0f0f - ora #$8040 - sta $a5,s - - tsc - adc #$13e - tcs - - lda $1,s - and #$0f00 - ora #$8088 - sta $1,s - - lda $3,s - and #$00ff - ora #$8800 - sta $3,s - - lda $5,s - and #$00f0 - ora #$8808 - sta $5,s - - lda $7,s - and #$0ff0 - ora #$8008 - sta $7,s - - lda $a1,s - and #$0f0f - ora #$8080 - sta $a1,s - - lda $a3,s - and #$f0ff - ora #$0800 - sta $a3,s - - tya - sta $a5,s - - lda $a7,s - and #$ff00 - ora #$0088 - sta $a7,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$000f - ora #$8880 - sta $1,s - - lda $5,s - and #$00f0 - ora #$8808 - sta $5,s - - lda $a1,s - and #$f00f - ora #$0880 - sta $a1,s - - lda $a3,s - and #$ff00 - ora #$0088 - sta $a3,s - - lda $a5,s - and #$00f0 - ora #$8808 - sta $a5,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$fff0 - ora #$0008 - sta $1,s - - lda $a3,s - and #$00f0 - ora #$8808 - sta $a3,s - - lda $a5,s - and #$0f00 - ora #$8088 - sta $a5,s - - tya - sta $3,s - sta $5,s - - _spriteFooter - rtl - - -right_scorpion3s entry - dex - dex - dex - dex - dex - dex - _spriteHeader - -; $c - Green -; $4 - Red -; $8 - Off-white -; -; ....|....|O.O.|ROR.|O.O. -; ....|....|.O.R|RORR|.O.. -; ...O|OO..|.OO.|OOO.|OO.. -; ...O|.O..|..OO|OOOO|O... -; ...O|.OO.|....|OOO.|.... -; ...O|..OO|O...|OOO.|.... -; ....|O..O|OOOO|OOO.|.... -; ....|....|OOOO|OO..|.... -; - - ldy #$8888 ; Off-white, Off-white, Off-white, Off-white - - lda $1,s - and #$0f0f - ora #$8080 - sta $1,s - - lda $3,s - and #$0f00 - ora #$4048 - sta $3,s - - lda $5,s - and #$0f0f - ora #$8080 - sta $5,s - - lda $a1,s - and #$f0f0 - ora #$0408 - sta $a1,s - - lda #$4448 - sta $a3,s - - lda $a5,s - and #$fff0 - ora #$0008 - sta $a5,s - - tsc - adc #$13c - tcs - - lda $1,s - and #$f0ff - ora #$0800 - sta $1,s - - lda $3,s - and #$ff00 - ora #$0088 - sta $3,s - - lda $5,s - and #$0ff0 - ora #$8008 - sta $5,s - - lda $7,s - and #$0f00 - ora #$8088 - sta $7,s - - lda $9,s - and #$ff00 - ora #$0088 - sta $9,s - - lda $a1,s - and #$f0ff - ora #$0800 - sta $a1,s - - lda $a3,s - and #$fff0 - ora #$0008 - sta $a3,s - - lda $a5,s - and #$00ff - ora #$8800 - sta $a5,s - - tya - sta $a7,s - - lda $a9,s - and #$ff0f - ora #$0080 - sta $a9,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$f0ff - ora #$0800 - sta $1,s - - lda $3,s - and #$0ff0 - ora #$8008 - sta $3,s - - lda $7,s - and #$0f00 - ora #$8088 - sta $7,s - - lda $a1,s - and #$f0ff - ora #$0800 - sta $a1,s - - lda $a3,s - and #$00ff - ora #$8800 - sta $a3,s - - lda $a5,s - and #$ff0f - ora #$0080 - sta $a5,s - - lda $a7,s - and #$0f00 - ora #$8088 - sta $a7,s - - tsc - adc #$142 - tcs - - lda $1,s - and #$f00f - ora #$0880 - sta $1,s - - lda $5,s - and #$0f00 - ora #$8088 - sta $5,s - - lda $a5,s - and #$ff00 - ora #$0088 - sta $a5,s - - tya - sta $3,s - sta $a3,s - - _spriteFooter - rtl - - -right_scorpion4 entry - dex - dex - dex - dex - dex - dex - dex - dex - _spriteHeader - -; $c - Green -; $4 - Red -; $8 - Off-white -; -; ....|.O.O|.ROR|.O.O -; ...O|..O.|RROR|R.O. -; .OO.|O.OO|.OOO|.OO. -; OO..|O..O|OOOO|OO.. -; O..O|....|.OOO|.... -; O...|....|.OOO|.... -; OOOO|OOOO|OOOO|.... -; .OOO|OOOO|OOO.|.... -; - - ldy #$8888 ; Off-white, Off-white, Off-white, Off-white - - lda $3,s - and #$f0f0 - ora #$0808 - sta $3,s - - lda $5,s - and #$00f0 - ora #$8404 - sta $5,s - - lda $7,s - and #$f0f0 - ora #$0808 - sta $7,s - - lda $a1,s - and #$f0ff - ora #$0800 - sta $a1,s - - lda $a3,s - and #$0fff - ora #$8000 - sta $a3,s - - lda #$8444 - sta $a5,s - - lda $a7,s - and #$0f0f - ora #$8040 - sta $a7,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$0ff0 - ora #$8008 - sta $1,s - - lda $3,s - and #$000f - ora #$8880 - sta $3,s - - lda $5,s - and #$00f0 - ora #$8808 - sta $5,s - - lda $7,s - and #$0ff0 - ora #$8008 - sta $7,s - - lda $a1,s - and #$ff00 - ora #$0088 - sta $a1,s - - lda $a3,s - and #$f00f - ora #$0880 - sta $a3,s - - tya - sta $a5,s - - lda $a7,s - and #$ff00 - ora #$0088 - sta $a7,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$f00f - ora #$0880 - sta $1,s - - lda $5,s - and #$00f0 - ora #$8808 - sta $5,s - - lda $a1,s - and #$ff0f - ora #$0080 - sta $a1,s - - lda $a5,s - and #$00f0 - ora #$8808 - sta $a5,s - - tsc - adc #$146 - tcs - - phy - phy - phy - - lda $a1,s - and #$00f0 - ora #$8808 - sta $a1,s - - lda $a5,s - and #$0f00 - ora #$8088 - sta $a5,s - - tya - sta $a3,s - - _spriteFooter - rtl - - -right_scorpion4s entry - dex - dex - dex - dex - dex - dex - dex - dex - _spriteHeader - -; $c - Green -; $4 - Red -; $8 - Off-white -; -; ....|....|O.O.|ROR.|O.O. -; ....|..O.|.O.R|RORR|.O.. -; ....|OO.O|.OO.|OOO.|OO.. -; ...O|O..O|..OO|OOOO|O... -; ...O|..O.|....|OOO.|.... -; ...O|....|....|OOO.|.... -; ...O|OOOO|OOOO|OOO.|.... -; ....|OOOO|OOOO|OO..|.... -; - - ldy #$8888 ; Off-white, Off-white, Off-white, Off-white - - lda $3,s - and #$0f0f - ora #$8080 - sta $3,s - - lda $5,s - and #$0f00 - ora #$4048 - sta $5,s - - lda $7,s - and #$0f0f - ora #$8080 - sta $7,s - - lda $a1,s - and #$0fff - ora #$8000 - sta $a1,s - - lda $a3,s - and #$f0f0 - ora #$0408 - sta $a3,s - - lda #$4448 - sta $a5,s - - lda $a7,s - and #$fff0 - ora #$0008 - sta $a7,s - - tsc - adc #$13e - tcs - - lda $3,s - and #$f000 - ora #$0888 - sta $3,s - - lda $5,s - and #$0ff0 - ora #$8008 - sta $5,s - - lda $7,s - and #$0f00 - ora #$8088 - sta $7,s - - lda $9,s - and #$ff00 - ora #$0088 - sta $9,s - - lda $a1,s - and #$f0ff - ora #$0800 - sta $a1,s - - lda $a3,s - and #$f00f - ora #$0880 - sta $a3,s - - lda $a5,s - and #$00ff - ora #$8800 - sta $a5,s - - tya - sta $a7,s - - lda $a9,s - and #$ff0f - ora #$0080 - sta $a9,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$f0ff - ora #$0800 - sta $1,s - - lda $3,s - and #$0fff - ora #$8000 - sta $3,s - - lda $7,s - and #$0f00 - ora #$8088 - sta $7,s - - lda $a1,s - and #$f0ff - ora #$0800 - sta $a1,s - - lda $a7,s - and #$0f00 - ora #$8088 - sta $a7,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$f0ff - ora #$0800 - sta $1,s - - lda $7,s - and #$0f00 - ora #$8088 - sta $7,s - - lda $a7,s - and #$ff00 - ora #$0088 - sta $a7,s - - tya - sta $3,s - sta $a3,s - sta $5,s - sta $a5,s - - _spriteFooter - rtl - - -spider1 entry - dex - dex - dex - dex - dex - dex - dex - dex - _spriteHeader - -; $c - Green -; $4 - Red -; $8 - Off-white -; -; ..O.|....|....|O... -; .O.O|....|...O|.O.. -; O...|O..G|..O.|..O. -; ....|.ORG|RO..|.... -; ..O.|.RRG|RR..|O... -; .O.O|.GGG|GG.O|.O.. -; O...|OGRR|RGO.|..O. -; ....|..GR|G...|.... - - lda $1,s - and #$0fff - ora #$8000 - sta $1,s - - lda $7,s - and #$ff0f - ora #$0080 - sta $7,s - - lda $a1,s - and #$f0f0 - ora #$0808 - sta $a1,s - - lda $a5,s - and #$f0ff - ora #$0800 - sta $a5,s - - lda $a7,s - and #$fff0 - ora #$0008 - sta $a7,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$ff0f - ora #$0080 - sta $1,s - - lda $3,s - and #$f00f - ora #$0c80 - sta $3,s - - lda $5,s - and #$0fff - ora #$8000 - sta $5,s - - lda $7,s - and #$0fff - ora #$8000 - sta $7,s - - lda $a3,s - and #$00f0 - ora #$4c08 - sta $a3,s - - lda $a5,s - and #$ff00 - ora #$0048 - sta $a5,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$0fff - ora #$8000 - sta $1,s - - lda $3,s - and #$ff0f - ora #$4c04 - sta $3,s - - lda $5,s - and #$ff00 - ora #$0044 - sta $5,s - - lda $7,s - and #$ff0f - ora #$0080 - sta $7,s - - lda $a1,s - and #$f0f0 - ora #$0808 - sta $a1,s - - lda $a3,s - and #$00f0 - ora #$cc0c - sta $a3,s - - lda $a5,s - and #$f000 - ora #$08cc - sta $a5,s - - lda $a7,s - and #$fff0 - ora #$0008 - sta $a7,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$ff0f - ora #$0080 - sta $1,s - - lda #$448c - sta $3,s - - lda $5,s - and #$0f00 - ora #$804c - sta $5,s - - lda $7,s - and #$0fff - ora #$8000 - sta $7,s - - lda $a3,s - and #$00ff - ora #$c400 - sta $a3,s - - lda $a5,s - and #$ff0f - ora #$00c0 - sta $a5,s - - _spriteFooter - rtl - - -spider1s entry - dex - dex - dex - dex - dex - dex - dex - dex - _spriteHeader - -; $c - Green -; $4 - Red -; $8 - Off-white -; -; ...O|....|....|.O.. -; ..O.|O...|....|O.O. -; .O..|.O..|G..O|...O -; ....|..OR|GRO.|.... -; ...O|..RR|GRR.|.O.. -; ..O.|O.GG|GGG.|O.O. -; .O..|.OGR|RRGO|...O -; ....|...G|RG..|.... - - lda $1,s - and #$0f0ff - ora #$0800 - sta $1,s - - lda $7,s - and #$fff0 - ora #$0008 - sta $7,s - - lda $a1,s - and #$0fff - ora #$8000 - sta $a1,s - - lda $a3,s - and #$ff0f - ora #$0080 - sta $a3,s - - lda $a7,s - and #$0f0f - ora #$8080 - sta $a7,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$fff0 - ora #$0008 - sta $1,s - - lda $3,s - and #$fff0 - ora #$0008 - sta $3,s - - lda $5,s - and #$f00f - ora #$08c0 - sta $5,s - - lda $7,s - and #$f0ff - ora #$0800 - sta $7,s - - lda $a3,s - and #$00ff - ora #$8400 - sta $a3,s - - lda $a5,s - and #$0f00 - ora #$80c4 - sta $a5,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$f0ff - ora #$0800 - sta $1,s - - lda $3,s - and #$00ff - ora #$4400 - sta $3,s - - lda $5,s - and #$0f00 - ora #$40c4 - sta $5,s - - lda $7,s - and #$fff0 - ora #$0008 - sta $7,s - - lda $a1,s - and #$0fff - ora #$8000 - sta $a1,s - - lda $a3,s - and #$000f - ora #$cc80 - sta $a3,s - - lda $a5,s - and #$0f00 - ora #$c0cc - sta $a5,s - - lda $a7,s - and #$0f0f - ora #$8080 - sta $a7,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$fff0 - ora #$0008 - sta $1,s - - lda $3,s - and #$00f0 - ora #$c408 - sta $3,s - - lda #$c844 - sta $5,s - - lda $7,s - and #$f0ff - ora #$0800 - sta $7,s - - lda $a3,s - and #$f0ff - ora #$0c00 - sta $a3,s - - lda $a5,s - and #$ff00 - ora #$004c - sta $a5,s - - _spriteFooter - rtl - - -spider2 entry - dex - dex - dex - dex - dex - dex - dex - dex - _spriteHeader - -; $c - Green -; $4 - Red -; $8 - Off-white -; -; ....|....|....|.... -; .OOO|....|...O|OO.. -; O...|O..G|..O.|..O. -; ....|.ORG|RO..|.... -; ....|.RRG|RR..|.... -; .OOO|.GGG|GG.O|OO.. -; O...|OGRR|GGO.|..O. -; ....|..GR|G...|.... - - lda $a1,s - and #$00f0 - ora #$8808 - sta $a1,s - - lda $a5,s - and #$f0ff - ora #$0800 - sta $a5,s - - lda $a7,s - and #$ff00 - ora #$0088 - sta $a7,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$ff0f - ora #$0080 - sta $1,s - - lda $3,s - and #$f00f - ora #$0c80 - sta $3,s - - lda $5,s - and #$0fff - ora #$8000 - sta $5,s - - lda $7,s - and #$0fff - ora #$8000 - sta $7,s - - lda $a3,s - and #$00f0 - ora #$4c08 - sta $a3,s - - lda $a5,s - and #$ff00 - ora #$0048 - sta $a5,s - - tsc - adc #$140 - tcs - - lda $3,s - and #$ff0f - ora #$4c04 - sta $3,s - - lda $5,s - and #$ff00 - ora #$0044 - sta $5,s - - lda $a1,s - and #$00f0 - ora #$8808 - sta $a1,s - - lda $a3,s - and #$00f0 - ora #$cc0c - sta $a3,s - - lda $a5,s - and #$f000 - ora #$08cc - sta $a5,s - - lda $a7,s - and #$ff00 - ora #$0088 - sta $a7,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$ff0f - ora #$0080 - sta $1,s - - lda #$448c - sta $3,s - - lda $5,s - and #$0f00 - ora #$80cc - sta $5,s - - lda $7,s - and #$0fff - ora #$8000 - sta $7,s - - lda $a3,s - and #$00ff - ora #$c400 - sta $a3,s - - lda $a5,s - and #$ff0f - ora #$00c0 - sta $a5,s - - _spriteFooter - rtl - - -spider2s entry - dex - dex - dex - dex - dex - dex - dex - dex - _spriteHeader - -; $c - Green -; $4 - Red -; $8 - Off-white -; -; ....|....|....|.... -; ..OO|O...|....|OOO. -; .O..|.O..|G..O|...O -; ....|..OR|GRO.|.... -; ....|..RR|GRR.|.... -; ..OO|O.GG|GGG.|OOO. -; .O..|.OGR|RGGO|...O -; ....|...G|RG..|.... - - lda $a1,s - and #$00ff - ora #$8800 - sta $a1,s - - lda $a3,s - and #$ff0f - ora #$0080 - sta $a3,s - - lda $a7,s - and #$0f00 - ora #$8088 - sta $a7,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$fff0 - ora #$0008 - sta $1,s - - lda $3,s - and #$fff0 - ora #$0008 - sta $3,s - - lda $5,s - and #$f00f - ora #$08c0 - sta $5,s - - lda $7,s - and #$f0ff - ora #$0800 - sta $7,s - - lda $a3,s - and #$00ff - ora #$8400 - sta $a3,s - - lda $a5,s - and #$0f00 - ora #$80c4 - sta $a5,s - - tsc - adc #$140 - tcs - - lda $3,s - and #$00ff - ora #$4400 - sta $3,s - - lda $5,s - and #$0f00 - ora #$40c4 - sta $5,s - - lda $a1,s - and #$00ff - ora #$8800 - sta $a1,s - - lda $a3,s - and #$000f - ora #$cc80 - sta $a3,s - - lda $a5,s - and #$0f00 - ora #$c0cc - sta $a5,s - - lda $a7,s - and #$0f00 - ora #$8088 - sta $a7,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$fff0 - ora #$0008 - sta $1,s - - lda $3,s - and #$00f0 - ora #$c408 - sta $3,s - - lda #$c84c - sta $5,s - - lda $7,s - and #$f0ff - ora #$0800 - sta $7,s - - lda $a3,s - and #$f0ff - ora #$0c00 - sta $a3,s - - lda $a5,s - and #$ff00 - ora #$004c - sta $a5,s - - _spriteFooter - rtl - - -backupStack dc i2'0' - - end diff --git a/BuGS/sprites/explosions.s b/BuGS/sprites/explosions.s new file mode 100644 index 0000000..7fb1b58 --- /dev/null +++ b/BuGS/sprites/explosions.s @@ -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 diff --git a/BuGS/sprites/fleas.s b/BuGS/sprites/fleas.s new file mode 100644 index 0000000..af7c4a7 --- /dev/null +++ b/BuGS/sprites/fleas.s @@ -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 diff --git a/BuGS/sprites/letters.s b/BuGS/sprites/letters.s new file mode 100644 index 0000000..7970c94 --- /dev/null +++ b/BuGS/sprites/letters.s @@ -0,0 +1,1614 @@ +; +; letters.s +; BuGS +; +; Created by Jeremy Rand on 2020-07-02. +;Copyright © 2020 Jeremy Rand. All rights reserved. +; + + case on + mcopy letters.macros + keep letters + +letters start + +letterA entry + _spriteHeader + +; Colours #$0000 - Black, Black, Black, Black (x2) +; #$2200 - Black, Black, Red, Red (x1) +; #$0020 - Red, Black, Black, Black (x1) +; #$2002 - Black, Red, Red, Black (x5) +; #$0022 - Red, Red, Black, Black (x5) +; #$2222 - Red, Red, Red, Red (x1) +; #$2022 - Red, Red, Red, Black (x1) +; + ldx #$2002 ; Black, Red, Red, Black + ldy #$0022 ; Red, Red, Black, Black + + pea $0000 + pea $0000 + + adc #$00a0 + tcs + + pea $0020 + pea $2200 + + adc #$00a0 + tcs + + phy + phx + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + pea $2022 + pea $2222 + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + _spriteFooter + rtl + + +letterB entry + _spriteHeader + +; Colours #$0000 - Black, Black, Black, Black (x2) +; #$2222 - Red, Red, Red, Red (x3) +; #$0022 - Red, Red, Black, Black (x3) +; #$2002 - Black, Red, Red, Black (x4) +; #$0022 - Red, Red, Black, Black (x4) +; #$2022 - Red, Red, Red, Black (x1) +; + ldx #$2002 ; Black, Red, Red, Black + ldy #$0022 ; Red, Red, Black, Black + + pea $0000 + pea $0000 + + adc #$00a0 + tcs + + pea $0022 + pea $2222 + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + pea $0022 + pea $2222 + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + pea $0022 + pea $2222 + + _spriteFooter + rtl + + +letterC entry + _spriteHeader + +; Colours #$0000 - Black, Black, Black, Black (x5) +; #$2200 - Black, Black, Red, Red (x2) +; #$0022 - Red, Red, Black, Black (x5) +; #$2002 - Black, Red, Red, Black (x4) +; + ldx #$0000 ; Black, Black, Black, Black + ldy #$0022 ; Red, Red, Black, Black + + phx + phx + + adc #$00a0 + tcs + + phy + pea $2200 + + adc #$00a0 + tcs + + pea $2002 + pea $2002 + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + pea $2002 + pea $2002 + + adc #$00a0 + tcs + + phy + pea $2200 + + _spriteFooter + rtl + + +letterD entry + _spriteHeader + +; Colours #$0000 - Black, Black, Black, Black (x2) +; #$2222 - Red, Red, Red, Red (x2) +; #$0020 - Red, Black, Black, Black (x2) +; #$0022 - Red, Red, Black, Black (x7) +; #$2002 - Black, Red, Red, Black (x3) +; + ldx #$2002 ; Black, Red, Red, Black + ldy #$0022 ; Red, Red, Black, Black + + pea $0000 + pea $0000 + + adc #$00a0 + tcs + + pea $0020 + pea $2222 + + adc #$00a0 + tcs + + phy + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phy + phy + + adc #$00a0 + tcs + + pea $0020 + pea $2222 + + _spriteFooter + rtl + + +letterE entry + _spriteHeader + +; Colours #$0000 - Black, Black, Black, Black (x6) +; #$2222 - Red, Red, Red, Red (x3) +; #$0022 - Red, Red, Black, Black (x5) +; #$0020 - Red, Black, Black, Black (x1) +; #$2022 - Red, Red, Red, Black (x1) +; + ldx #$0000 ; Black, Black, Black, Black + ldy #$0022 ; Red, Red, Black, Black + + phx + phx + + adc #$00a0 + tcs + + phy + pea $2222 + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + pea $0020 + pea $2222 + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + pea $2022 + pea $2222 + + _spriteFooter + rtl + + +letterF entry + _spriteHeader + +; Colours #$0000 - Black, Black, Black, Black (x7) +; #$2222 - Red, Red, Red, Red (x2) +; #$2022 - Red, Red, Red, Black (x1) +; #$0022 - Red, Red, Black, Black (x6) +; + ldx #$0000 ; Black, Black, Black, Black + ldy #$0022 ; Red, Red, Black, Black + + phx + phx + + adc #$00a0 + tcs + + pea $2022 + pea $2222 + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phy + pea $2222 + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + _spriteFooter + rtl + + +letterG entry + _spriteHeader + +; Colours #$0000 - Black, Black, Black, Black (x4) +; #$2200 - Black, Black, Red, Red (x2) +; #$2022 - Red, Red, Red, Black (x3) +; #$2002 - Black, Red, Red, Black (x4) +; #$0022 - Red, Red, Black, Black (x3) +; + ldx #$2002 ; Black, Red, Red, Black + ldy #$0000 ; Black, Black, Black, Black + + phy + phy + + adc #$00a0 + tcs + + pea $2022 + pea $2200 + + adc #$00a0 + tcs + + phy + phx + + adc #$00a0 + tcs + + phy + pea $0022 + + adc #$00a0 + tcs + + pea $2022 + pea $0022 + + adc #$00a0 + tcs + + phx + pea $0022 + + adc #$00a0 + tcs + + phx + phx + + adc #$00a0 + tcs + + pea $2022 + pea $2200 + + _spriteFooter + rtl + + +letterH entry + _spriteHeader + +; Colours #$0000 - Black, Black, Black, Black (x2) +; #$2022 - Red, Red, Red, Black (x1) +; #$2002 - Black, Red, Red, Black (x6) +; #$0022 - Red, Red, Black, Black (x6) +; #$2222 - Red, Red, Red, Red (x1) +; + ldx #$2002 ; Black, Red, Red, Black + ldy #$0022 ; Red, Red, Black, Black + + pea $0000 + pea $0000 + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + pea $2022 + pea $2222 + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + _spriteFooter + rtl + + +letterI entry + _spriteHeader + +; Colours #$0000 - Black, Black, Black, Black (x7) +; #$2222 - Red, Red, Red, Red (x2) +; #$0022 - Red, Red, Black, Black (x2) +; #$2200 - Black, Black, Red, Red (x5) +; + ldx #$2200 ; Black, Black, Red, Red + ldy #$0000 ; Black, Black, Black, Black + + phy + phy + + adc #$00a0 + tcs + + pea $0022 + pea $2222 + + adc #$00a0 + tcs + + phy + phx + + 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 + + +letterJ entry + _spriteHeader + +; Colours #$0000 - Black, Black, Black, Black (x7) +; #$2002 - Black, Red, Red, Black (x6) +; #$0022 - Red, Red, Black, Black (x2) +; #$2202 - Black, Red, Red, Red (x1) +; + ldx #$2002 ; Black, Red, Red, Black + ldy #$0000 ; Black, Black, Black, Black + + phy + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + pea $0022 + + adc #$00a0 + tcs + + pea $0022 + pea $2202 + + _spriteFooter + rtl + + +letterK entry + _spriteHeader + +; Colours #$0000 - Black, Black, Black, Black (x3) +; #$0022 - Red, Red, Black, Black (x5) +; #$2002 - Black, Red, Red, Black (x1) +; #$0222 - Red, Red, Black, Red (x2) +; #$0020 - Red, Black, Black, Black (x2) +; #$2222 - Red, Red, Red, Red (x2) +; #$2022 - Red, Red, Red, Black (x1) +; + ldx #$0000 ; Black, Black, Black, Black + ldy #$0022 ; Red, Red, Black, Black + + phx + phx + + adc #$00a0 + tcs + + pea $2002 + phy + + adc #$00a0 + tcs + + phy + phy + + adc #$00a0 + tcs + + pea $0020 + pea $0222 + + adc #$00a0 + tcs + + phx + pea $2222 + + adc #$00a0 + tcs + + pea $0020 + pea $2222 + + adc #$00a0 + tcs + + phy + pea $0222 + + adc #$00a0 + tcs + + pea $2022 + phy + + _spriteFooter + rtl + + +letterL entry + _spriteHeader + +; Colours #$0000 - Black, Black, Black, Black (x8) +; #$0022 - Red, Red, Black, Black (x6) +; #$2222 - Red, Red, Red, Red (x1) +; #$2022 - Red, Red, Red, Black (x1) +; + ldx #$0000 ; Black, Black, Black, Black + ldy #$0022 ; Red, Red, Black, Black + + phx + phx + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + pea $2022 + pea $2222 + + _spriteFooter + rtl + + + +letterM entry + _spriteHeader + +; Colours #$0000 - Black, Black, Black, Black (x2) +; #$0022 - Red, Red, Black, Black (x3) +; #$2002 - Black, Red, Red, Black (x4) +; #$2022 - Red, Red, Red, Black (x4) +; #$2222 - Red, Red, Red, Red (x2) +; #$0222 - Red, Red, Black, Red (x1) +; + ldx #$2022 ; Red, Red, Red, Black + ldy #$2002 ; Black, Red, Red, Black + + pea $0000 + pea $0000 + + adc #$00a0 + tcs + + phy + pea $0022 + + adc #$00a0 + tcs + + phx + phx + + adc #$00a0 + tcs + + phx + pea $2222 + + adc #$00a0 + tcs + + phx + pea $2222 + + adc #$00a0 + tcs + + phy + pea $0222 + + adc #$00a0 + tcs + + phy + pea $0022 + + adc #$00a0 + tcs + + phy + pea $0022 + + _spriteFooter + rtl + + +letterN entry + _spriteHeader + +; Colours #$0000 - Black, Black, Black, Black (x2) +; #$0022 - Red, Red, Black, Black (x3) +; #$2002 - Black, Red, Red, Black (x4) +; #$2022 - Red, Red, Red, Black (x4) +; #$2222 - Red, Red, Red, Red (x2) +; #$0222 - Red, Red, Black, Red (x1) +; + ldx #$2022 ; Red, Red, Red, Black + ldy #$2002 ; Black, Red, Red, Black + + pea $0000 + pea $0000 + + adc #$00a0 + tcs + + phy + pea $0022 + + adc #$00a0 + tcs + + phy + phx + + adc #$00a0 + tcs + + phy + pea $2222 + + adc #$00a0 + tcs + + phx + pea $2222 + + adc #$00a0 + tcs + + phx + pea $0222 + + adc #$00a0 + tcs + + phx + pea $0022 + + adc #$00a0 + tcs + + phy + pea $0022 + + _spriteFooter + rtl + + +letterO entry + _spriteHeader + +; Colours #$0000 - Black, Black, Black, Black (x2) +; #$2202 - Black, Red, Red, Red (x2) +; #$0022 - Red, Red, Black, Black (x7) +; #$2002 - Black, Red, Red, Black (x5) +; + ldx #$2002 ; Black, Red, Red, Black + ldy #$0022 ; Red, Red, Black, Black + + pea $0000 + pea $0000 + + adc #$00a0 + tcs + + phy + pea $2202 + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phy + pea $2202 + + _spriteFooter + rtl + + +letterP entry + _spriteHeader + +; Colours #$0000 - Black, Black, Black, Black (x4) +; #$2222 - Red, Red, Red, Red (x2) +; #$0022 - Red, Red, Black, Black (x7) +; #$2002 - Black, Red, Red, Black (x3) +; + ldx #$0000 ; Black, Black, Black, Black + ldy #$0022 ; Red, Red, Black, Black + + phx + phx + + adc #$00a0 + tcs + + phy + pea $2222 + + adc #$00a0 + tcs + + pea $2002 + phy + + adc #$00a0 + tcs + + pea $2002 + phy + + adc #$00a0 + tcs + + pea $2002 + phy + + adc #$00a0 + tcs + + phy + pea $2222 + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + _spriteFooter + rtl + + +letterQ entry + _spriteHeader + +; Colours #$0000 - Black, Black, Black, Black (x2) +; #$2202 - Black, Red, Red, Red (x2) +; #$0022 - Red, Red, Black, Black (x6) +; #$2002 - Black, Red, Red, Black (x3) +; #$0222 - Red, Red, Black, Red (x1) +; #$2022 - Red, Red, Red, Black (x1) +; #$2020 - Red, Black, Red, Black (x1) +; + ldx #$2002 ; Black, Red, Red, Black + ldy #$0022 ; Red, Red, Black, Black + + pea $0000 + pea $0000 + + adc #$00a0 + tcs + + phy + pea $2202 + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + pea $2022 + pea $0222 + + adc #$00a0 + tcs + + phy + phy + + adc #$00a0 + tcs + + pea $2020 + pea $2202 + + _spriteFooter + rtl + + +letterR entry + _spriteHeader + +; Colours #$0000 - Black, Black, Black, Black (x2) +; #$2222 - Red, Red, Red, Red (x2) +; #$0022 - Red, Red, Black, Black (x7) +; #$2002 - Black, Red, Red, Black (x2) +; #$0020 - Red, Black, Black, Black (x1) +; #$0222 - Red, Red, Black, Red (x1) +; #$2022 - Red, Red, Red, Black (x1) +; + ldy #$0022 ; Red, Red, Black, Black + + pea $0000 + pea $0000 + + adc #$00a0 + tcs + + phy + pea $2222 + + adc #$00a0 + tcs + + pea $2002 + phy + + adc #$00a0 + tcs + + pea $2002 + phy + + adc #$00a0 + tcs + + phy + phy + + adc #$00a0 + tcs + + pea $0020 + pea $2222 + + adc #$00a0 + tcs + + phy + pea $0222 + + adc #$00a0 + tcs + + pea $2022 + phy + + _spriteFooter + rtl + + +letterS entry + _spriteHeader + +; Colours #$0000 - Black, Black, Black, Black (x4) +; #$2202 - Black, Red, Red, Red (x3) +; #$0020 - Red, Black, Black, Black (x1) +; #$0022 - Red, Red, Black, Black (x6) +; #$2002 - Black, Red, Red, Black (x2) +; + ldx #$0000 ; Black, Black, Black, Black + ldy #$0022 ; Red, Red, Black, Black + + phx + phx + + adc #$00a0 + tcs + + pea $0020 + pea $2202 + + adc #$00a0 + tcs + + phy + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phy + pea $2202 + + adc #$00a0 + tcs + + pea $2002 + phx + + adc #$00a0 + tcs + + pea $2002 + phy + + adc #$00a0 + tcs + + phy + pea $2202 + + _spriteFooter + rtl + + +letterT entry + _spriteHeader + +; Colours #$0000 - Black, Black, Black, Black (x8) +; #$2222 - Red, Red, Red, Red (x1) +; #$0022 - Red, Red, Black, Black (x1) +; #$2200 - Black, Black, Red, Red (x6) +; + ldx #$2200 ; Black, Black, Red, Red + ldy #$0000 ; Black, Black, Black, Black + + phy + phy + + adc #$00a0 + tcs + + pea $0022 + pea $2222 + + adc #$00a0 + tcs + + phy + phx + + adc #$00a0 + tcs + + phy + phx + + adc #$00a0 + tcs + + phy + phx + + adc #$00a0 + tcs + + phy + phx + + adc #$00a0 + tcs + + phy + phx + + adc #$00a0 + tcs + + phy + phx + + _spriteFooter + rtl + + +letterU entry + _spriteHeader + +; Colours #$0000 - Black, Black, Black, Black (x2) +; #$0022 - Red, Red, Black, Black (x7) +; #$2002 - Black, Red, Red, Black (x6) +; #$2202 - Black, Red, Red, Red (x1) +; + ldx #$2002 ; Black, Red, Red, Black + ldy #$0022 ; Red, Red, Black, Black + + pea $0000 + pea $0000 + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phy + pea $2202 + + _spriteFooter + rtl + + +letterV entry + _spriteHeader + +; Colours #$0000 - Black, Black, Black, Black (x3) +; #$0022 - Red, Red, Black, Black (x4) +; #$2002 - Black, Red, Red, Black (x3) +; #$2022 - Red, Red, Red, Black (x2) +; #$2202 - Black, Red, Red, Red (x1) +; #$2200 - Black, Black, Red, Red (x1) +; #$0020 - Red, Black, Black, Black (x1) +; #$0200 - Black, Black, Black, Red (x1) +; + ldx #$2002 ; Black, Red, Red, Black + ldy #$0022 ; Red, Red, Black, Black + + pea $0000 + pea $0000 + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + pea $2022 + pea $2022 + + adc #$00a0 + tcs + + phy + pea $2202 + + adc #$00a0 + tcs + + pea $0020 + pea $2200 + + adc #$00a0 + tcs + + pea $0000 + pea $0200 + + _spriteFooter + rtl + + +letterW entry + _spriteHeader + +; Colours #$0000 - Black, Black, Black, Black (x2) +; #$0022 - Red, Red, Black, Black (x3) +; #$2002 - Black, Red, Red, Black (x4) +; #$2022 - Red, Red, Red, Black (x4) +; #$2222 - Red, Red, Red, Red (x2) +; #$0222 - Red, Red, Black, Red (x1) +; + ldx #$2002 ; Black, Red, Red, Black + ldy #$2022 ; Red, Red, Red, Black + + pea $0000 + pea $0000 + + adc #$00a0 + tcs + + phx + pea $0022 + + adc #$00a0 + tcs + + phx + pea $0022 + + adc #$00a0 + tcs + + phx + pea $0222 + + adc #$00a0 + tcs + + phy + pea $2222 + + adc #$00a0 + tcs + + phy + pea $2222 + + adc #$00a0 + tcs + + phy + phy + + adc #$00a0 + tcs + + phx + pea $0022 + + _spriteFooter + rtl + + +letterX entry + _spriteHeader + +; Colours #$0000 - Black, Black, Black, Black (x2) +; #$0022 - Red, Red, Black, Black (x4) +; #$2002 - Black, Red, Red, Black (x2) +; #$2022 - Red, Red, Red, Black (x4) +; #$2202 - Black, Red, Red, Red (x2) +; #$2200 - Black, Black, Red, Red (x1) +; #$0020 - Red, Black, Black, Black (x1) +; + ldx #$2022 ; Red, Red, Red, Black + ldy #$0022 ; Red, Red, Black, Black + + pea $0000 + pea $0000 + + adc #$00a0 + tcs + + pea $2002 + phy + + adc #$00a0 + tcs + + phx + phx + + adc #$00a0 + tcs + + phy + pea $2202 + + adc #$00a0 + tcs + + pea $0020 + pea $2200 + + adc #$00a0 + tcs + + phy + pea $2202 + + adc #$00a0 + tcs + + phx + phx + + adc #$00a0 + tcs + + pea $2002 + phy + + _spriteFooter + rtl + + +letterY entry + _spriteHeader + +; Colours #$0000 - Black, Black, Black, Black (x5) +; #$0022 - Red, Red, Black, Black (x6) +; #$2202 - Black, Red, Red, Red (x1) +; #$0020 - Red, Black, Black, Black (x1) +; #$2200 - Black, Black, Red, Red (x3) +; + ldx #$0000 ; Black, Black, Black, Black + ldy #$0022 ; Red, Red, Black, Black + + phx + phx + + adc #$00a0 + tcs + + phy + phy + + adc #$00a0 + tcs + + phy + phy + + adc #$00a0 + tcs + + phy + phy + + adc #$00a0 + tcs + + pea $0020 + pea $2202 + + adc #$00a0 + tcs + + phx + pea $2200 + + adc #$00a0 + tcs + + phx + pea $2200 + + adc #$00a0 + tcs + + phx + pea $2200 + + _spriteFooter + rtl + + +letterZ entry + _spriteHeader + +; Colours #$0000 - Black, Black, Black, Black (x5) +; #$2222 - Red, Red, Red, Red (x2) +; #$2022 - Red, Red, Red, Black (x4) +; #$0200 - Black, Black, Black, Red (x1) +; #$0022 - Red, Red, Black, Black (x1) +; #$2200 - Black, Black, Red, Red (x1) +; #$0020 - Red, Black, Black, Black (x1) +; #$2202 - Black, Red, Red, Red (x1) +; + ldx #$0000 ; Black, Black, Black, Black + ldy #$2022 ; Red, Red, Red, Black + + phx + phx + + adc #$00a0 + tcs + + phy + pea $2222 + + adc #$00a0 + tcs + + phy + phx + + adc #$00a0 + tcs + + pea $0022 + pea $0200 + + adc #$00a0 + tcs + + pea $0020 + pea $2200 + + adc #$00a0 + tcs + + phx + pea $2202 + + adc #$00a0 + tcs + + phx + phy + + adc #$00a0 + tcs + + phy + pea $2222 + + _spriteFooter + rtl + + +backupStack dc i2'0' + + end diff --git a/BuGS/sprites/mushrooms.s b/BuGS/sprites/mushrooms.s new file mode 100644 index 0000000..bcd873d --- /dev/null +++ b/BuGS/sprites/mushrooms.s @@ -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 diff --git a/BuGS/sprites/numbers.s b/BuGS/sprites/numbers.s new file mode 100644 index 0000000..943d1e0 --- /dev/null +++ b/BuGS/sprites/numbers.s @@ -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 diff --git a/BuGS/sprites/scores.s b/BuGS/sprites/scores.s new file mode 100644 index 0000000..5e610d6 --- /dev/null +++ b/BuGS/sprites/scores.s @@ -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 diff --git a/BuGS/sprites/scorpions.s b/BuGS/sprites/scorpions.s new file mode 100644 index 0000000..d871b16 --- /dev/null +++ b/BuGS/sprites/scorpions.s @@ -0,0 +1,2655 @@ +; +; scorpions.s +; BuGS +; +; Created by Jeremy Rand on 2020-07-02. +;Copyright © 2020 Jeremy Rand. All rights reserved. +; + + case on + mcopy scorpions.macros + keep scorpions + +scorpions start + +left_scorpion1 entry + dex + dex + dex + dex + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; O.O.|.ROR|..O.|O... +; .O..|RROR|R..O|.... +; .OO.|.OOO|..OO|.OOO +; ..OO|OOOO|OOO.|.O.O +; ....|.OOO|O...|...O +; ....|.OOO|O...|..OO +; ....|.OOO|OOOO|OOOO +; ....|..OO|OOOO|OOO. +; + ldy #$8888 ; Off-white, Off-white, Off-white, Off-white + + lda $1,s +; and #$0f0f + ora #$8080 + sta $1,s + + lda $3,s +; and #$00f0 + ora #$8404 + sta $3,s + + lda $5,s +; and #$0fff + ora #$8000 + sta $5,s + + lda $7,s +; and #$ff0f + ora #$0080 + sta $7,s + + lda $a1,s +; and #$fff0 + ora #$0008 + sta $a1,s + + lda #$8444 + sta $a3,s + + lda $a5,s +; and #$f00f + ora #$0840 + sta $a5,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$0ff0 + ora #$8008 + sta $1,s + + lda $3,s +; and #$00f0 + ora #$8808 + sta $3,s + + lda $5,s +; and #$00ff + ora #$8800 + sta $5,s + + lda $7,s +; and #$00f0 + ora #$8808 + sta $7,s + + lda $a1,s +; and #$00ff + ora #$8800 + sta $a1,s + + tya + sta $a3,s + + lda $a5,s +; and #$0f00 + ora #$8088 + sta $a5,s + + lda $a7,s +; and #$f0f0 + ora #$0808 + sta $a7,s + + tsc + adc #$142 + tcs + + lda $1,s +; and #$00f0 + ora #$8808 + sta $1,s + + lda $3,s +; and #$ff0f + ora #$0080 + sta $3,s + + lda $5,s +; and #$f0ff + ora #$0800 + sta $5,s + + lda $a1,s +; and #$00f0 + ora #$8808 + sta $a1,s + + lda $a3,s +; and #$ff0f + ora #$0080 + sta $a3,s + + lda $a5,s +; and #$00ff + ora #$8800 + sta $a5,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$00f0 + ora #$8808 + sta $1,s + + lda $a1,s +; and #$00ff + ora #$8800 + sta $a1,s + + lda $a5,s +; and #$0f00 + ora #$8088 + sta $a5,s + + tya + sta $3,s + sta $5,s + sta $a3,s + + _spriteFooter + rtl + + +left_scorpion1s entry + dex + dex + dex + dex + dex + dex + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ...O|.O..|ROR.|.O.O|.... +; ....|O..R|RORR|..O.|.... +; ....|OO..|OOO.|.OO.|OOO. +; ....|.OOO|OOOO|OO..|O.O. +; ....|....|OOOO|....|..O. +; ....|....|OOOO|....|.OO. +; ....|....|OOOO|OOOO|OOO. +; ....|....|.OOO|OOOO|OO.. +; + + ldy #$8888 ; Off-white, Off-white, Off-white, Off-white + + lda $1,s +; and #$f0ff + ora #$0800 + sta $1,s + + lda $3,s +; and #$fff0 + ora #$0008 + sta $3,s + + lda $5,s +; and #$0f00 + ora #$4048 + sta $5,s + + lda $7,s +; and #$f0f0 + ora #$0808 + sta $7,s + + lda $a3,s +; and #$f00f + ora #$0480 + sta $a3,s + + lda #$4448 + sta $a5,s + + lda $a7,s +; and #$0fff + ora #$8000 + sta $a7,s + + tsc + adc #$142 + tcs + + lda $1,s +; and #$ff00 + ora #$0088 + sta $1,s + + lda $3,s +; and #$0f00 + ora #$8088 + sta $3,s + + lda $5,s +; and #$0ff0 + ora #$8008 + sta $5,s + + lda $7,s +; and #$0f00 + ora #$8088 + sta $7,s + + lda $a1,s +; and #$00f0 + ora #$8808 + sta $a1,s + + tya + sta $a3,s + + lda $a5,s +; and #$ff00 + ora #$0088 + sta $a5,s + + lda $a7,s +; and #$0f0f + ora #$8080 + sta $a7,s + + tsc + adc #$142 + tcs + + tya + sta $1,s + sta $a1,s + + lda $5,s +; and #$0fff + ora #$8000 + sta $5,s + + lda $a5,s +; and #$0ff0 + ora #$8008 + sta $a5,s + + tsc + adc #$140 + tcs + + lda $5,s +; and #$0f00 + ora #$8088 + sta $5,s + + lda $a1,s +; and #$00f0 + ora #$8808 + sta $a1,s + + lda $a5,s +; and #$ff00 + ora #$0088 + sta $a5,s + + tya + sta $1,s + sta $3,s + sta $a3,s + + _spriteFooter + rtl + + +left_scorpion2 entry + dex + dex + dex + dex + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; O.O.|.ROR|..O.|O... +; .O..|RROR|R..O|.... +; .OO.|.OOO|..OO|.OOO +; ..OO|.OOO|.OO.|.O.O +; ...O|OOOO|OO..|.O.. +; ....|.OOO|....|OO.. +; ....|.OOO|OOOO|OO.. +; ....|..OO|OOOO|O... +; + + ldy #$8888 ; Off-white, Off-white, Off-white, Off-white + + lda $1,s +; and #$0f0f + ora #$8080 + sta $1,s + + lda $3,s +; and #$00f0 + ora #$8404 + sta $3,s + + lda $5,s +; and #$0fff + ora #$8000 + sta $5,s + + lda $7,s +; and #$ff0f + ora #$0080 + sta $7,s + + lda $a1,s +; and #$fff0 + ora #$0008 + sta $a1,s + + lda #$8444 + sta $a3,s + + lda $a5,s +; and #$f00f + ora #$0840 + sta $a5,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$0ff0 + ora #$8008 + sta $1,s + + lda $3,s +; and #$00f0 + ora #$8808 + sta $3,s + + lda $5,s +; and #$00ff + ora #$8800 + sta $5,s + + lda $7,s +; and #$00f0 + ora #$8808 + sta $7,s + + lda $a1,s +; and #$00ff + ora #$8800 + sta $a1,s + + lda $a3,s +; and #$00f0 + ora #$8808 + sta $a3,s + + lda $a5,s +; and #$0ff0 + ora #$8008 + sta $a5,s + + lda $a7,s +; and #$f0f0 + ora #$0808 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$f0ff + ora #$0800 + sta $1,s + + tya + sta $3,s + + lda $5,s +; and #$ff00 + ora #$0088 + sta $5,s + + lda $7,s +; and #$fff0 + ora #$0008 + sta $7,s + + lda $a3,s +; and #$00f0 + ora #$8808 + sta $a3,s + + lda $a7,s +; and #$ff00 + ora #$0088 + sta $a7,s + + tsc + adc #$142 + tcs + + lda $1,s +; and #$00f0 + ora #$8808 + sta $1,s + + lda $5,s +; and #$ff00 + ora #$0088 + sta $5,s + + lda $a1,s +; and #$00ff + ora #$8800 + sta $a1,s + + lda $a5,s +; and #$ff0f + ora #$0080 + sta $a5,s + + tya + sta $3,s + sta $a3,s + + _spriteFooter + rtl + + +left_scorpion2s entry + dex + dex + dex + dex + dex + dex + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ...O|.O..|ROR.|.O.O|.... +; ....|O..R|RORR|..O.|.... +; ....|OO..|OOO.|.OO.|OOO. +; ....|.OO.|OOO.|OO..|O.O. +; ....|..OO|OOOO|O...|O... +; ....|....|OOO.|...O|O... +; ....|....|OOOO|OOOO|O... +; ....|....|.OOO|OOOO|.... +; + ldy #$8888 ; Off-white, Off-white, Off-white, Off-white + + lda $1,s +; and #$f0ff + ora #$0800 + sta $1,s + + lda $3,s +; and #$fff0 + ora #$0008 + sta $3,s + + lda $5,s +; and #$0f00 + ora #$4048 + sta $5,s + + lda $7,s +; and #$f0f0 + ora #$0808 + sta $7,s + + lda $a3,s +; and #$f00f + ora #$0480 + sta $a3,s + + lda #$4448 + sta $a5,s + + lda $a7,s +; and #$0fff + ora #$8000 + sta $a7,s + + tsc + adc #$142 + tcs + + lda $1,s +; and #$ff00 + ora #$0088 + sta $1,s + + lda $3,s +; and #$0f00 + ora #$8088 + sta $3,s + + lda $5,s +; and #$0ff0 + ora #$8008 + sta $5,s + + lda $7,s +; and #$0f00 + ora #$8088 + sta $7,s + + lda $a1,s +; and #$0ff0 + ora #$8008 + sta $a1,s + + lda $a3,s +; and #$0f00 + ora #$8088 + sta $a3,s + + lda $a5,s +; and #$ff00 + ora #$0088 + sta $a5,s + + lda $a7,s +; and #$0f0f + ora #$8080 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$00ff + ora #$8800 + sta $1,s + + tya + sta $3,s + + lda $5,s +; and #$ff0f + ora #$0080 + sta $5,s + + lda $7,s +; and #$ff0f + ora #$0080 + sta $7,s + + lda $a3,s +; and #$0f00 + ora #$8088 + sta $a3,s + + lda $a5,s +; and #$f0ff + ora #$0800 + sta $a5,s + + lda $a7,s +; and #$ff0f + ora #$0080 + sta $a7,s + + tsc + adc #$142 + tcs + + lda $5,s +; and #$ff0f + ora #$0080 + sta $5,s + + lda $a1,s +; and #$00f0 + ora #$8808 + sta $a1,s + + tya + sta $1,s + sta $3,s + sta $a3,s + + _spriteFooter + rtl + + +left_scorpion3 entry + dex + dex + dex + dex + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; O.O.|ROR.|O.O.|.... +; .O.R|RORR|.O..|.... +; .OO.|OOO.|OO..|..OO +; ..OO|OOOO|O...|.O.O +; ....|OOO.|....|OO.O +; ....|OOO.|..OO|O..O +; ....|OOOO|OOOO|..O. +; ....|.OOO|OOO.|.... +; + ldy #$8888 ; Off-white, Off-white, Off-white, Off-white + + lda $1,s +; and #$0f0f + ora #$8080 + sta $1,s + + lda $3,s +; and #$0f00 + ora #$4048 + sta $3,s + + lda $5,s +; and #$0f0f + ora #$8080 + sta $5,s + + lda $a1,s +; and #$f0f0 + ora #$0408 + sta $a1,s + + lda #$4448 + sta $a3,s + + lda $a5,s +; and #$fff0 + ora #$0008 + sta $a5,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$0ff0 + ora #$8008 + sta $1,s + + lda $3,s +; and #$0f00 + ora #$8088 + sta $3,s + + lda $5,s +; and #$ff00 + ora #$0088 + sta $5,s + + lda $7,s +; and #$00ff + ora #$8800 + sta $7,s + + lda $a1,s +; and #$00ff + ora #$8800 + sta $a1,s + + tya + sta $a3,s + + lda $a5,s +; and #$ff0f + ora #$0080 + sta $a5,s + + lda $a7,s +; and #$f0f0 + ora #$0808 + sta $a7,s + + tsc + adc #$142 + tcs + + lda $1,s +; and #$0f00 + ora #$8088 + sta $1,s + + lda $5,s +; and #$f000 + ora #$0888 + sta $5,s + + lda $a1,s +; and #$0f00 + ora #$8088 + sta $a1,s + + lda $a3,s +; and #$00ff + ora #$8800 + sta $a3,s + + lda $a5,s +; and #$f00f + ora #$0880 + sta $a5,s + + tsc + adc #$140 + tcs + + lda $5,s +; and #$0fff + ora #$8000 + sta $5,s + + lda $a1,s +; and #$00f0 + ora #$8808 + sta $a1,s + + lda $a3,s +; and #$0f00 + ora #$8088 + sta $a3,s + + tya + sta $1,s + sta $3,s + + _spriteFooter + rtl + + +left_scorpion3s entry + dex + dex + dex + dex + dex + dex + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ...O|.O.R|OR.O|.O..|.... +; ....|O.RR|ORR.|O...|.... +; ....|OO.O|OO.O|O...|.OO. +; ....|.OOO|OOOO|....|O.O. +; ....|...O|OO..|...O|O.O. +; ....|...O|OO..|.OOO|..O. +; ....|...O|OOOO|OOO.|.O.. +; ....|....|OOOO|OO..|.... +; + ldy #$8888 ; Off-white, Off-white, Off-white, Off-white + + lda $1,s +; and #$f0ff + ora #$0800 + sta $1,s + + lda $3,s +; and #$f0f0 + ora #$0408 + sta $3,s + + lda $5,s +; and #$f000 + ora #$0884 + sta $5,s + + lda $7,s +; and #$fff0 + ora #$0008 + sta $7,s + + lda $a3,s +; and #$000f + ora #$4480 + sta $a3,s + + lda $a5,s +; and #$0f0 + ora #$4084 + sta $a5,s + + lda $a7,s +; and #$ff0f + ora #$0080 + sta $a7,s + + tsc + adc #$142 + tcs + + lda $1,s +; and #$f000 + ora #$0888 + sta $1,s + + lda $3,s +; and #$f000 + ora #$0888 + sta $3,s + + lda $5,s +; and #$ff0f + ora #$0080 + sta $5,s + + lda $7,s +; and #$0ff0 + ora #$8008 + sta $7,s + + lda $a1,s +; and #$00f0 + ora #$8808 + sta $a1,s + + tya + sta $a3,s + + lda $a7,s +; and #$0f0f + ora #$8080 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$f0ff + ora #$0800 + sta $1,s + + lda $3,s +; and #$ff00 + ora #$0088 + sta $3,s + + lda $5,s +; and #$f0ff + ora #$0800 + sta $5,s + + lda $7,s +; and #$0f0f + ora #$8080 + sta $7,s + + lda $a1,s +; and #$f0ff + ora #$0800 + sta $a1,s + + lda $a3,s +; and #$ff00 + ora #$088 + sta $a3,s + + lda $a5,s +; and #$00f0 + ora #$8808 + sta $a5,s + + lda $a7,s +; and #$0fff + ora #$8000 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$f0ff + ora #$0800 + sta $1,s + + lda $5,s +; and #$0f00 + ora #$8088 + sta $5,s + + lda $7,s +; and #$fff0 + ora #$0008 + sta $7,s + + lda $a5,s +; and #$ff00 + ora #$0088 + sta $a5,s + + tya + sta $3,s + sta $a3,s + + _spriteFooter + rtl + + +left_scorpion4 entry + dex + dex + dex + dex + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; O.O.|ROR.|O.O.|.... +; .O.R|RORR|.O..|O... +; .OO.|OOO.|OO.O|.OO. +; ..OO|OOOO|O..O|..OO +; ....|OOO.|....|O..O +; ....|OOO.|....|...O +; ....|OOOO|OOOO|OOOO +; ....|.OOO|OOOO|OOO. +; + + ldy #$8888 ; Off-white, Off-white, Off-white, Off-white + + lda $1,s +; and #$0f0f + ora #$8080 + sta $1,s + + lda $3,s +; and #$0f00 + ora #$4048 + sta $3,s + + lda $5,s +; and #$0f0f + ora #$8080 + sta $5,s + + lda $a1,s +; and #$f0f0 + ora #$0408 + sta $a1,s + + lda #$4448 + sta $a3,s + + lda $a5,s +; and #$fff0 + ora #$0008 + sta $a5,s + + lda $a7,s +; and #$ff0f + ora #$0080 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$0ff0 + ora #$8008 + sta $1,s + + lda $3,s +; and #$0f00 + ora #$8088 + sta $3,s + + lda $5,s +; and #$f000 + ora #$0888 + sta $5,s + + lda $7,s +; and #$0ff0 + ora #$8008 + sta $7,s + + lda $a1,s +; and #$00ff + ora #$8800 + sta $a1,s + + tya + sta $a3,s + + lda $a5,s +; and #$f00f + ora #$0880 + sta $a5,s + + lda $a7,s +; and #$00ff + ora #$8800 + sta $a7,s + + tsc + adc #$142 + tcs + + lda $1,s +; and #$0f00 + ora #$8088 + sta $1,s + + lda $5,s +; and #$f00f + ora #$0880 + sta $5,s + + lda $a1,s +; and #$0f00 + ora #$8088 + sta $a1,s + + lda $a5,s +; and #$f0ff + ora #$0800 + sta $a5,s + + tsc + adc #$146 + tcs + + phy + phy + phy + + lda $a1,s +; and #$00f0 + ora #$8808 + sta $a1,s + + tya + sta $a3,s + + lda $a5,s +; and #$0f00 + ora #$8088 + sta $a5,s + + _spriteFooter + rtl + + +left_scorpion4s entry + dex + dex + dex + dex + dex + dex + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ...O|.O.R|OR.O|.O..|.... +; ....|O.RR|ORR.|O..O|.... +; ....|OO.O|OO.O|O.O.|OO.. +; ....|.OOO|OOOO|..O.|.OO. +; ....|...O|OO..|...O|..O. +; ....|...O|OO..|....|..O. +; ....|...O|OOOO|OOOO|OOO. +; ....|....|OOOO|OOOO|OO.. +; + + ldy #$8888 ; Off-white, Off-white, Off-white, Off-white + + lda $1,s +; and #$f0ff + ora #$0800 + sta $1,s + + lda $3,s +; and #$f0f0 + ora #$0408 + sta $3,s + + lda $5,s +; and #$f000 + ora #$0884 + sta $5,s + + lda $7,s +; and #$fff0 + ora #$0008 + sta $7,s + + lda $a3,s +; and #$000f + ora #$4480 + sta $a3,s + + lda $a5,s +; and #$0f0 + ora #$4084 + sta $a5,s + + lda $a7,s +; and #$f00f + ora #$0880 + sta $a7,s + + tsc + adc #$142 + tcs + + lda $1,s +; and #$f000 + ora #$0888 + sta $1,s + + lda $3,s +; and #$f000 + ora #$0888 + sta $3,s + + lda $5,s +; and #$0f0f + ora #$8080 + sta $5,s + + lda $7,s +; and #$ff00 + ora #$0088 + sta $7,s + + lda $a1,s +; and #$00f0 + ora #$8808 + sta $a1,s + + tya + sta $a3,s + + lda $a5,s +; and #$0fff + ora #$8000 + sta $a5,s + + lda $a7,s +; and #$0ff0 + ora #$8008 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$f0ff + ora #$0800 + sta $1,s + + lda $3,s +; and #$ff00 + ora #$0088 + sta $3,s + + lda $5,s +; and #$f0ff + ora #$0800 + sta $5,s + + lda $7,s +; and #$0fff + ora #$8000 + sta $7,s + + lda $a1,s +; and #$f0ff + ora #$0800 + sta $a1,s + + lda $a3,s +; and #$ff00 + ora #$0088 + sta $a3,s + + lda $a7,s +; and #$0fff + ora #$8000 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$f0ff + ora #$0800 + sta $1,s + + lda $7,s +; and #$0f00 + ora #$8088 + sta $7,s + + lda $a7,s +; and #$ff00 + ora #$0088 + sta $a7,s + + tya + sta $3,s + sta $5,s + sta $a3,s + sta $a5,s + + _spriteFooter + rtl + + +right_scorpion1 entry + dex + dex + dex + dex + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ...O|.O..|ROR.|.O.O +; ....|O..R|RORR|..O. +; OOO.|OO..|OOO.|.OO. +; O.O.|.OOO|OOOO|OO.. +; O...|...O|OOO.|.... +; OO..|...O|OOO.|.... +; OOOO|OOOO|OOO.|.... +; .OOO|OOOO|OO..|.... +; + + ldy #$8888 ; Off-white, Off-white, Off-white, Off-white + + lda $1,s +; and #$f0ff + ora #$0800 + sta $1,s + + lda $3,s +; and #$fff0 + ora #$0008 + sta $3,s + + lda $5,s +; and #$0f00 + ora #$4048 + sta $5,s + + lda $7,s +; and #$f0f0 + ora #$0808 + sta $7,s + + lda $a3,s +; and #$f00f + ora #$0480 + sta $a3,s + + lda #$4448 + sta $a5,s + + lda $a7,s +; and #$0fff + ora #$8000 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$0f00 + ora #$8088 + sta $1,s + + lda $3,s +; and #$ff00 + ora #$0088 + sta $3,s + + lda $5,s +; and #$0f00 + ora #$8088 + sta $5,s + + lda $7,s +; and #$0ff0 + ora #$8008 + sta $7,s + + lda $a1,s +; and #$0f0f + ora #$8080 + sta $a1,s + + lda $a3,s +; and #$00f0 + ora #$8808 + sta $a3,s + + tya + sta $a5,s + + lda $a7,s +; and #$ff00 + ora #$0088 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$ff0f + ora #$0080 + sta $1,s + + lda $3,s +; and #$f0ff + ora #$0800 + sta $3,s + + lda $5,s +; and #$0f00 + ora #$8088 + sta $5,s + + lda $a1,s +; and #$ff00 + ora #$0088 + sta $a1,s + + lda $a3,s +; and #$f0ff + ora #$0800 + sta $a3,s + + lda $a5,s +; and #$0f00 + ora #$8088 + sta $a5,s + + tsc + adc #$144 + tcs + + phy + phy + + lda $5,s +; and #$0f00 + ora #$8088 + sta $5,s + + lda $a1,s +; and #$00f0 + ora #$8808 + sta $a1,s + + tya + sta $a3,s + + lda $a5,s +; and #$ff00 + ora #$0088 + sta $a5,s + + _spriteFooter + rtl + + +right_scorpion1s entry + dex + dex + dex + dex + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ....|..O.|O..R|OR..|O.O. +; ....|...O|..RR|ORR.|.O.. +; ...O|OO.O|O..O|OO..|OO.. +; ...O|.O..|OOOO|OOOO|O... +; ...O|....|..OO|OO..|.... +; ...O|O...|..OO|OO..|.... +; ...O|OOOO|OOOO|OO..|.... +; ....|OOOO|OOOO|O...|.... +; + + ldy #$8888 ; Off-white, Off-white, Off-white, Off-white + + lda $1,s +; and #$0fff + ora #$8000 + sta $1,s + + lda $3,s +; and #$f00f + ora #$0480 + sta $3,s + + lda $5,s +; and #$ff00 + ora #$0084 + sta $5,s + + lda $7,s +; and #$0f0f + ora #$8080 + sta $7,s + + lda $a1,s +; and #$f0ff + ora #$0800 + sta $a1,s + + lda $a3,s +; and #$00ff + ora #$4400 + sta $a3,s + + lda $a5,s +; and #$0f00 + ora #$4084 + sta $a5,s + + lda $a7,s +; and #$fff0 + ora #$0008 + sta $a7,s + + tsc + adc #$13e + tcs + + lda $1,s +; and #$f0ff + ora #$0800 + sta $1,s + + lda $3,s +; and #$f000 + ora #$0888 + sta $3,s + + lda $5,s +; and #$f00f + ora #$0880 + sta $5,s + + lda $7,s +; and #$ff00 + ora #$0088 + sta $7,s + + lda $9,s +; and #$ff00 + ora #$0088 + sta $9,s + + lda $a1,s +; and #$f0ff + ora #$0800 + sta $a1,s + + lda $a3,s +; and #$fff0 + ora #$0008 + sta $a3,s + + tya + sta $a5,s + sta $a7,s + + lda $a9,s +; and #$ff0f + ora #$0080 + sta $a9,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$f0ff + ora #$0800 + sta $1,s + + lda $5,s +; and #$00ff + ora #$8800 + sta $5,s + + lda $7,s +; and #$ff00 + ora #$0088 + sta $7,s + + lda $a1,s +; and #$f0ff + ora #$0800 + sta $a1,s + + lda $a3,s +; and #$ff0f + ora #$0080 + sta $a3,s + + lda $a5,s +; and #$00ff + ora #$8800 + sta $a5,s + + lda $a7,s +; and #$ff00 + ora #$0088 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$f0ff + ora #$0800 + sta $1,s + + lda $7,s +; and #$ff00 + ora #$0088 + sta $7,s + + lda $a7,s +; and #$ff0f + ora #$0080 + sta $a7,s + + tya + sta $3,s + sta $5,s + sta $a3,s + sta $a5,s + + _spriteFooter + rtl + + +right_scorpion2 entry + dex + dex + dex + dex + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ...O|.O..|ROR.|.O.O +; ....|O..R|RORR|..O. +; OOO.|OO..|OOO.|.OO. +; O.O.|.OO.|OOO.|OO.. +; ..O.|..OO|OOOO|O... +; ..OO|....|OOO.|.... +; ..OO|OOOO|OOO.|.... +; ...O|OOOO|OO..|.... +; + + ldy #$8888 ; Off-white, Off-white, Off-white, Off-white + + lda $1,s +; and #$f0ff + ora #$0800 + sta $1,s + + lda $3,s +; and #$fff0 + ora #$0008 + sta $3,s + + lda $5,s +; and #$0f00 + ora #$4048 + sta $5,s + + lda $7,s +; and #$f0f0 + ora #$0808 + sta $7,s + + lda $a3,s +; and #$f00f + ora #$0480 + sta $a3,s + + lda #$4448 + sta $a5,s + + lda $a7,s +; and #$0fff + ora #$8000 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$0f00 + ora #$8088 + sta $1,s + + lda $3,s +; and #$ff00 + ora #$0088 + sta $3,s + + lda $5,s +; and #$0f00 + ora #$8088 + sta $5,s + + lda $7,s +; and #$0ff0 + ora #$8008 + sta $7,s + + lda $a1,s +; and #$0f0f + ora #$8080 + sta $a1,s + + lda $a3,s +; and #$0ff0 + ora #$8008 + sta $a3,s + + lda $a5,s +; and #$0f00 + ora #$8088 + sta $a5,s + + lda $a7,s +; and #$ff00 + ora #$0088 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$0fff + ora #$8000 + sta $1,s + + lda $3,s +; and #$00ff + ora #$8800 + sta $3,s + + tya + sta $5,s + + lda $7,s +; and #$ff0f + ora #$0080 + sta $7,s + + lda $a1,s +; and #$00ff + ora #$8800 + sta $a1,s + + lda $a5,s +; and #$0f00 + ora #$8088 + sta $a5,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$00ff + ora #$8800 + sta $1,s + + lda $5,s +; and #$0f00 + ora #$8088 + sta $5,s + + lda $a1,s +; and #$f0ff + ora #$0800 + sta $a1,s + + lda $a5,s +; and #$ff00 + ora #$0088 + sta $a5,s + + tya + sta $3,s + sta $a3,s + + _spriteFooter + rtl + + +right_scorpion2s entry + dex + dex + dex + dex + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ....|..O.|O..R|OR..|O.O. +; ....|...O|..RR|ORR.|.O.. +; ...O|OO.O|O..O|OO..|OO.. +; ...O|.O..|OO.O|OO.O|O... +; ....|.O..|.OOO|OOOO|.... +; ....|.OO.|...O|OO..|.... +; ....|.OOO|OOOO|OO..|.... +; ....|..OO|OOOO|O...|.... +; + + ldy #$8888 ; Off-white, Off-white, Off-white, Off-white + + lda $1,s +; and #$0fff + ora #$8000 + sta $1,s + + lda $3,s +; and #$f00f + ora #$0480 + sta $3,s + + lda $5,s +; and #$ff00 + ora #$0084 + sta $5,s + + lda $7,s +; and #$0f0f + ora #$8080 + sta $7,s + + lda $a1,s +; and #$f0ff + ora #$0800 + sta $a1,s + + lda $a3,s +; and #$00ff + ora #$4400 + sta $a3,s + + lda $a5,s +; and #$0f00 + ora #$4084 + sta $a5,s + + lda $a7,s +; and #$fff0 + ora #$0008 + sta $a7,s + + tsc + adc #$13e + tcs + + lda $1,s +; and #$f0ff + ora #$0800 + sta $1,s + + lda $3,s +; and #$f000 + ora #$0888 + sta $3,s + + lda $5,s +; and #$f00f + ora #$0880 + sta $5,s + + lda $7,s +; and #$ff00 + ora #$0088 + sta $7,s + + lda $9,s +; and #$ff00 + ora #$0088 + sta $9,s + + lda $a1,s +; and #$f0ff + ora #$0800 + sta $a1,s + + lda $a3,s +; and #$fff0 + ora #$0008 + sta $a3,s + + lda $a5,s +; and #$f000 + ora #$0888 + sta $a5,s + + lda $a7,s +; and #$f000 + ora #$0888 + sta $a7,s + + lda $a9,s +; and #$ff0f + ora #$0080 + sta $a9,s + + tsc + adc #$142 + tcs + + lda $1,s +; and #$fff0 + ora #$0008 + sta $1,s + + lda $3,s +; and #$00f0 + ora #$8808 + sta $3,s + + tya + sta $5,s + + lda $a1,s +; and #$0ff0 + ora #$8008 + sta $a1,s + + lda $a3,s +; and #$f0ff + ora #$0800 + sta $a3,s + + lda $a5,s +; and #$ff00 + ora #$0088 + sta $a5,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$00f0 + ora #$8808 + sta $1,s + + lda $5,s +; and #$ff00 + ora #$0088 + sta $5,s + + lda $a1,s +; and #$00ff + ora #$8800 + sta $a1,s + + lda $a5,s +; and #$ff0f + ora #$0080 + sta $a5,s + + tya + sta $3,s + sta $a3,s + + _spriteFooter + rtl + + +right_scorpion3 entry + dex + dex + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ....|.O.O|.ROR|.O.O +; ....|..O.|RROR|R.O. +; OOO.|..OO|.OOO|.OO. +; O.O.|...O|OOOO|OO.. +; O.OO|....|.OOO|.... +; O..O|OO..|.OOO|.... +; .O..|OOOO|OOOO|.... +; ....|.OOO|OOO.|.... +; + + ldy #$8888 ; Off-white, Off-white, Off-white, Off-white + + lda $1,s +; and #$f0f0 + ora #$0808 + sta $1,s + + lda $3,s +; and #$00f0 + ora #$8404 + sta $3,s + + lda $5,s +; and #$f0f0 + ora #$0808 + sta $5,s + + lda $a1,s +; and #$0fff + ora #$8000 + sta $a1,s + + lda #$8444 + sta $a3,s + + lda $a5,s +; and #$0f0f + ora #$8040 + sta $a5,s + + tsc + adc #$13e + tcs + + lda $1,s +; and #$0f00 + ora #$8088 + sta $1,s + + lda $3,s +; and #$00ff + ora #$8800 + sta $3,s + + lda $5,s +; and #$00f0 + ora #$8808 + sta $5,s + + lda $7,s +; and #$0ff0 + ora #$8008 + sta $7,s + + lda $a1,s +; and #$0f0f + ora #$8080 + sta $a1,s + + lda $a3,s +; and #$f0ff + ora #$0800 + sta $a3,s + + tya + sta $a5,s + + lda $a7,s +; and #$ff00 + ora #$0088 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$000f + ora #$8880 + sta $1,s + + lda $5,s +; and #$00f0 + ora #$8808 + sta $5,s + + lda $a1,s +; and #$f00f + ora #$0880 + sta $a1,s + + lda $a3,s +; and #$ff00 + ora #$0088 + sta $a3,s + + lda $a5,s +; and #$00f0 + ora #$8808 + sta $a5,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$fff0 + ora #$0008 + sta $1,s + + lda $a3,s +; and #$00f0 + ora #$8808 + sta $a3,s + + lda $a5,s +; and #$0f00 + ora #$8088 + sta $a5,s + + tya + sta $3,s + sta $5,s + + _spriteFooter + rtl + + +right_scorpion3s entry + dex + dex + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ....|....|O.O.|ROR.|O.O. +; ....|....|.O.R|RORR|.O.. +; ...O|OO..|.OO.|OOO.|OO.. +; ...O|.O..|..OO|OOOO|O... +; ...O|.OO.|....|OOO.|.... +; ...O|..OO|O...|OOO.|.... +; ....|O..O|OOOO|OOO.|.... +; ....|....|OOOO|OO..|.... +; + + ldy #$8888 ; Off-white, Off-white, Off-white, Off-white + + lda $1,s +; and #$0f0f + ora #$8080 + sta $1,s + + lda $3,s +; and #$0f00 + ora #$4048 + sta $3,s + + lda $5,s +; and #$0f0f + ora #$8080 + sta $5,s + + lda $a1,s +; and #$f0f0 + ora #$0408 + sta $a1,s + + lda #$4448 + sta $a3,s + + lda $a5,s +; and #$fff0 + ora #$0008 + sta $a5,s + + tsc + adc #$13c + tcs + + lda $1,s +; and #$f0ff + ora #$0800 + sta $1,s + + lda $3,s +; and #$ff00 + ora #$0088 + sta $3,s + + lda $5,s +; and #$0ff0 + ora #$8008 + sta $5,s + + lda $7,s +; and #$0f00 + ora #$8088 + sta $7,s + + lda $9,s +; and #$ff00 + ora #$0088 + sta $9,s + + lda $a1,s +; and #$f0ff + ora #$0800 + sta $a1,s + + lda $a3,s +; and #$fff0 + ora #$0008 + sta $a3,s + + lda $a5,s +; and #$00ff + ora #$8800 + sta $a5,s + + tya + sta $a7,s + + lda $a9,s +; and #$ff0f + ora #$0080 + sta $a9,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$f0ff + ora #$0800 + sta $1,s + + lda $3,s +; and #$0ff0 + ora #$8008 + sta $3,s + + lda $7,s +; and #$0f00 + ora #$8088 + sta $7,s + + lda $a1,s +; and #$f0ff + ora #$0800 + sta $a1,s + + lda $a3,s +; and #$00ff + ora #$8800 + sta $a3,s + + lda $a5,s +; and #$ff0f + ora #$0080 + sta $a5,s + + lda $a7,s +; and #$0f00 + ora #$8088 + sta $a7,s + + tsc + adc #$142 + tcs + + lda $1,s +; and #$f00f + ora #$0880 + sta $1,s + + lda $5,s +; and #$0f00 + ora #$8088 + sta $5,s + + lda $a5,s +; and #$ff00 + ora #$0088 + sta $a5,s + + tya + sta $3,s + sta $a3,s + + _spriteFooter + rtl + + +right_scorpion4 entry + dex + dex + dex + dex + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ....|.O.O|.ROR|.O.O +; ...O|..O.|RROR|R.O. +; .OO.|O.OO|.OOO|.OO. +; OO..|O..O|OOOO|OO.. +; O..O|....|.OOO|.... +; O...|....|.OOO|.... +; OOOO|OOOO|OOOO|.... +; .OOO|OOOO|OOO.|.... +; + + ldy #$8888 ; Off-white, Off-white, Off-white, Off-white + + lda $3,s +; and #$f0f0 + ora #$0808 + sta $3,s + + lda $5,s +; and #$00f0 + ora #$8404 + sta $5,s + + lda $7,s +; and #$f0f0 + ora #$0808 + sta $7,s + + lda $a1,s +; and #$f0ff + ora #$0800 + sta $a1,s + + lda $a3,s +; and #$0fff + ora #$8000 + sta $a3,s + + lda #$8444 + sta $a5,s + + lda $a7,s +; and #$0f0f + ora #$8040 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$0ff0 + ora #$8008 + sta $1,s + + lda $3,s +; and #$000f + ora #$8880 + sta $3,s + + lda $5,s +; and #$00f0 + ora #$8808 + sta $5,s + + lda $7,s +; and #$0ff0 + ora #$8008 + sta $7,s + + lda $a1,s +; and #$ff00 + ora #$0088 + sta $a1,s + + lda $a3,s +; and #$f00f + ora #$0880 + sta $a3,s + + tya + sta $a5,s + + lda $a7,s +; and #$ff00 + ora #$0088 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$f00f + ora #$0880 + sta $1,s + + lda $5,s +; and #$00f0 + ora #$8808 + sta $5,s + + lda $a1,s +; and #$ff0f + ora #$0080 + sta $a1,s + + lda $a5,s +; and #$00f0 + ora #$8808 + sta $a5,s + + tsc + adc #$146 + tcs + + phy + phy + phy + + lda $a1,s +; and #$00f0 + ora #$8808 + sta $a1,s + + lda $a5,s +; and #$0f00 + ora #$8088 + sta $a5,s + + tya + sta $a3,s + + _spriteFooter + rtl + + +right_scorpion4s entry + dex + dex + dex + dex + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ....|....|O.O.|ROR.|O.O. +; ....|..O.|.O.R|RORR|.O.. +; ....|OO.O|.OO.|OOO.|OO.. +; ...O|O..O|..OO|OOOO|O... +; ...O|..O.|....|OOO.|.... +; ...O|....|....|OOO.|.... +; ...O|OOOO|OOOO|OOO.|.... +; ....|OOOO|OOOO|OO..|.... +; + + ldy #$8888 ; Off-white, Off-white, Off-white, Off-white + + lda $3,s +; and #$0f0f + ora #$8080 + sta $3,s + + lda $5,s +; and #$0f00 + ora #$4048 + sta $5,s + + lda $7,s +; and #$0f0f + ora #$8080 + sta $7,s + + lda $a1,s +; and #$0fff + ora #$8000 + sta $a1,s + + lda $a3,s +; and #$f0f0 + ora #$0408 + sta $a3,s + + lda #$4448 + sta $a5,s + + lda $a7,s +; and #$fff0 + ora #$0008 + sta $a7,s + + tsc + adc #$13e + tcs + + lda $3,s +; and #$f000 + ora #$0888 + sta $3,s + + lda $5,s +; and #$0ff0 + ora #$8008 + sta $5,s + + lda $7,s +; and #$0f00 + ora #$8088 + sta $7,s + + lda $9,s +; and #$ff00 + ora #$0088 + sta $9,s + + lda $a1,s +; and #$f0ff + ora #$0800 + sta $a1,s + + lda $a3,s +; and #$f00f + ora #$0880 + sta $a3,s + + lda $a5,s +; and #$00ff + ora #$8800 + sta $a5,s + + tya + sta $a7,s + + lda $a9,s +; and #$ff0f + ora #$0080 + sta $a9,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$f0ff + ora #$0800 + sta $1,s + + lda $3,s +; and #$0fff + ora #$8000 + sta $3,s + + lda $7,s +; and #$0f00 + ora #$8088 + sta $7,s + + lda $a1,s +; and #$f0ff + ora #$0800 + sta $a1,s + + lda $a7,s +; and #$0f00 + ora #$8088 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$f0ff + ora #$0800 + sta $1,s + + lda $7,s +; and #$0f00 + ora #$8088 + sta $7,s + + lda $a7,s +; and #$ff00 + ora #$0088 + sta $a7,s + + tya + sta $3,s + sta $a3,s + sta $5,s + sta $a5,s + + _spriteFooter + rtl + + +backupStack dc i2'0' + + end diff --git a/BuGS/sprites/solid.s b/BuGS/sprites/solid.s new file mode 100644 index 0000000..2c75558 --- /dev/null +++ b/BuGS/sprites/solid.s @@ -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 diff --git a/BuGS/sprites/spiders.s b/BuGS/sprites/spiders.s new file mode 100644 index 0000000..e100e7e --- /dev/null +++ b/BuGS/sprites/spiders.s @@ -0,0 +1,2205 @@ +; +; spiders.s +; BuGS +; +; Created by Jeremy Rand on 2020-07-02. +;Copyright © 2020 Jeremy Rand. All rights reserved. +; + + case on + mcopy spiders.macros + keep spiders + +spiders start + +spider1 entry + dex + dex + dex + dex + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ..O.|....|....|O... +; .O.O|....|...O|.O.. +; O...|O..G|..O.|..O. +; ....|.ORG|RO..|.... +; ..O.|.RRG|RR..|O... +; .O.O|.GGG|GG.O|.O.. +; O...|OGRR|RGO.|..O. +; ....|..GR|G...|.... + + lda $1,s +; and #$0fff + ora #$8000 + sta $1,s + + lda $7,s +; and #$ff0f + ora #$0080 + sta $7,s + + lda $a1,s +; and #$f0f0 + ora #$0808 + sta $a1,s + + lda $a5,s +; and #$f0ff + ora #$0800 + sta $a5,s + + lda $a7,s +; and #$fff0 + ora #$0008 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$ff0f + ora #$0080 + sta $1,s + + lda $3,s +; and #$f00f + ora #$0c80 + sta $3,s + + lda $5,s +; and #$0fff + ora #$8000 + sta $5,s + + lda $7,s +; and #$0fff + ora #$8000 + sta $7,s + + lda $a3,s +; and #$00f0 + ora #$4c08 + sta $a3,s + + lda $a5,s +; and #$ff00 + ora #$0048 + sta $a5,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$0fff + ora #$8000 + sta $1,s + + lda $3,s +; and #$ff0f + ora #$4c04 + sta $3,s + + lda $5,s +; and #$ff00 + ora #$0044 + sta $5,s + + lda $7,s +; and #$ff0f + ora #$0080 + sta $7,s + + lda $a1,s +; and #$f0f0 + ora #$0808 + sta $a1,s + + lda $a3,s +; and #$00f0 Not necessary with green + ora #$cc0c + sta $a3,s + + lda $a5,s +; and #$f000 + ora #$08cc + sta $a5,s + + lda $a7,s +; and #$fff0 + ora #$0008 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$ff0f + ora #$0080 + sta $1,s + + lda #$448c + sta $3,s + + lda $5,s +; and #$0f00 + ora #$804c + sta $5,s + + lda $7,s +; and #$0fff + ora #$8000 + sta $7,s + + lda $a3,s +; and #$00ff + ora #$c400 + sta $a3,s + + lda $a5,s +; and #$ff0f not necessary with green + ora #$00c0 + sta $a5,s + + _spriteFooter + rtl + + +spider1s entry + dex + dex + dex + dex + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ...O|....|....|.O.. +; ..O.|O...|....|O.O. +; .O..|.O..|G..O|...O +; ....|..OR|GRO.|.... +; ...O|..RR|GRR.|.O.. +; ..O.|O.GG|GGG.|O.O. +; .O..|.OGR|RRGO|...O +; ....|...G|RG..|.... + + lda $1,s +; and #$0f0ff + ora #$0800 + sta $1,s + + lda $7,s +; and #$fff0 + ora #$0008 + sta $7,s + + lda $a1,s +; and #$0fff + ora #$8000 + sta $a1,s + + lda $a3,s +; and #$ff0f + ora #$0080 + sta $a3,s + + lda $a7,s +; and #$0f0f + ora #$8080 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$fff0 + ora #$0008 + sta $1,s + + lda $3,s +; and #$fff0 + ora #$0008 + sta $3,s + + lda $5,s +; and #$f00f + ora #$08c0 + sta $5,s + + lda $7,s +; and #$f0ff + ora #$0800 + sta $7,s + + lda $a3,s +; and #$00ff + ora #$8400 + sta $a3,s + + lda $a5,s +; and #$0f00 + ora #$80c4 + sta $a5,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$f0ff + ora #$0800 + sta $1,s + + lda $3,s +; and #$00ff + ora #$4400 + sta $3,s + + lda $5,s +; and #$0f00 + ora #$40c4 + sta $5,s + + lda $7,s +; and #$fff0 + ora #$0008 + sta $7,s + + lda $a1,s +; and #$0fff + ora #$8000 + sta $a1,s + + lda $a3,s +; and #$000f + ora #$cc80 + sta $a3,s + + lda $a5,s +; and #$0f00 not necessary with pure green + ora #$c0cc + sta $a5,s + + lda $a7,s +; and #$0f0f + ora #$8080 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$fff0 + ora #$0008 + sta $1,s + + lda $3,s +; and #$00f0 + ora #$c408 + sta $3,s + + lda #$c844 + sta $5,s + + lda $7,s +; and #$f0ff + ora #$0800 + sta $7,s + + lda $a3,s +; and #$f0ff not necessary with pure green + ora #$0c00 + sta $a3,s + + lda $a5,s +; and #$ff00 + ora #$004c + sta $a5,s + + _spriteFooter + rtl + + +spider2 entry + dex + dex + dex + dex + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ....|....|....|.... +; .OOO|....|...O|OO.. +; O...|O..G|..O.|..O. +; ....|.ORG|RO..|.... +; ....|.RRG|RR..|.... +; .OOO|.GGG|GG.O|OO.. +; O...|OGRR|GGO.|..O. +; ....|..GR|G...|.... + + lda $a1,s +; and #$00f0 + ora #$8808 + sta $a1,s + + lda $a5,s +; and #$f0ff + ora #$0800 + sta $a5,s + + lda $a7,s +; and #$ff00 + ora #$0088 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$ff0f + ora #$0080 + sta $1,s + + lda $3,s +; and #$f00f + ora #$0c80 + sta $3,s + + lda $5,s +; and #$0fff + ora #$8000 + sta $5,s + + lda $7,s +; and #$0fff + ora #$8000 + sta $7,s + + lda $a3,s +; and #$00f0 + ora #$4c08 + sta $a3,s + + lda $a5,s +; and #$ff00 + ora #$0048 + sta $a5,s + + tsc + adc #$140 + tcs + + lda $3,s +; and #$ff0f + ora #$4c04 + sta $3,s + + lda $5,s +; and #$ff00 + ora #$0044 + sta $5,s + + lda $a1,s +; and #$00f0 + ora #$8808 + sta $a1,s + + lda $a3,s +; and #$00f0 not necessary with pure green + ora #$cc0c + sta $a3,s + + lda $a5,s +; and #$f000 + ora #$08cc + sta $a5,s + + lda $a7,s +; and #$ff00 + ora #$0088 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$ff0f + ora #$0080 + sta $1,s + + lda #$448c + sta $3,s + + lda $5,s +; and #$0f00 + ora #$80cc + sta $5,s + + lda $7,s +; and #$0fff + ora #$8000 + sta $7,s + + lda $a3,s +; and #$00ff + ora #$c400 + sta $a3,s + + lda $a5,s +; and #$ff0f not necessary with pure green + ora #$00c0 + sta $a5,s + + _spriteFooter + rtl + + +spider2s entry + dex + dex + dex + dex + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ....|....|....|.... +; ..OO|O...|....|OOO. +; .O..|.O..|G..O|...O +; ....|..OR|GRO.|.... +; ....|..RR|GRR.|.... +; ..OO|O.GG|GGG.|OOO. +; .O..|.OGR|RGGO|...O +; ....|...G|RG..|.... + + lda $a1,s +; and #$00ff + ora #$8800 + sta $a1,s + + lda $a3,s +; and #$ff0f + ora #$0080 + sta $a3,s + + lda $a7,s +; and #$0f00 + ora #$8088 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$fff0 + ora #$0008 + sta $1,s + + lda $3,s +; and #$fff0 + ora #$0008 + sta $3,s + + lda $5,s +; and #$f00f + ora #$08c0 + sta $5,s + + lda $7,s +; and #$f0ff + ora #$0800 + sta $7,s + + lda $a3,s +; and #$00ff + ora #$8400 + sta $a3,s + + lda $a5,s +; and #$0f00 + ora #$80c4 + sta $a5,s + + tsc + adc #$140 + tcs + + lda $3,s +; and #$00ff + ora #$4400 + sta $3,s + + lda $5,s +; and #$0f00 + ora #$40c4 + sta $5,s + + lda $a1,s +; and #$00ff + ora #$8800 + sta $a1,s + + lda $a3,s +; and #$000f + ora #$cc80 + sta $a3,s + + lda $a5,s +; and #$0f00 not necessary with pure green + ora #$c0cc + sta $a5,s + + lda $a7,s +; and #$0f00 + ora #$8088 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$fff0 + ora #$0008 + sta $1,s + + lda $3,s +; and #$00f0 + ora #$c408 + sta $3,s + + lda #$c84c + sta $5,s + + lda $7,s +; and #$f0ff + ora #$0800 + sta $7,s + + lda $a3,s +; and #$f0ff not necessary with pure green + ora #$0c00 + sta $a3,s + + lda $a5,s +; and #$ff00 + ora #$004c + sta $a5,s + + _spriteFooter + rtl + + +spider3 entry + dex + dex + dex + dex + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ....|....|....|.... +; ....|....|....|.... +; ..OO|O..G|..OO|O... +; .O..|.ORG|RO..|.O.. +; O...|.RRG|RR..|..O. +; ..OO|.GGG|GG.O|O... +; .O..|OGGR|RGO.|.O.. +; O...|..GR|G...|..O. + + tsc + adc #$140 + tcs + + lda $1,s +; and #$00ff + ora #$8800 + sta $1,s + + lda $3,s +; and #$f00f + ora #$0c80 + sta $3,s + + lda $5,s +; and #$00ff + ora #$8800 + sta $5,s + + lda $7,s +; and #$ff0f + ora #$0080 + sta $7,s + + lda $a1,s +; and #$fff0 + ora #$0008 + sta $a1,s + + lda $a3,s +; and #$00f0 + ora #$4c08 + sta $a3,s + + lda $a5,s +; and #$ff00 + ora #$0048 + sta $a5,s + + lda $a7,s +; and #$fff0 + ora #$0008 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$ff0f + ora #$0080 + sta $1,s + + lda $3,s +; and #$ff0f + ora #$4c04 + sta $3,s + + lda $5,s +; and #$ff00 + ora #$0044 + sta $5,s + + lda $7,s +; and #$0fff + ora #$8000 + sta $7,s + + lda $a1,s +; and #$00ff + ora #$8800 + sta $a1,s + + lda $a3,s +; and #$00f0 not necessary with pure green + ora #$cc0c + sta $a3,s + + lda $a5,s +; and #$f000 + ora #$08cc + sta $a5,s + + lda $a7,s +; and #$ff0f + ora #$0080 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$fff0 + ora #$0008 + sta $1,s + + lda #$c48c + sta $3,s + + lda $5,s +; and #$0f00 + ora #$804c + sta $5,s + + lda $7,s +; and #$fff0 + ora #$0008 + sta $7,s + + lda $a1,s +; and #$ff0f + ora #$0080 + sta $a1,s + + lda $a3,s +; and #$00ff + ora #$c400 + sta $a3,s + + lda $a5,s +; and #$ff0f not necessary with pure green + ora #$00c0 + sta $a5,s + + lda $a7,s +; and #$0fff + ora #$8000 + sta $a7,s + + _spriteFooter + rtl + + +spider3s entry + dex + dex + dex + dex + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ....|....|....|.... +; ....|....|....|.... +; ...O|OO..|G..O|OO.. +; ..O.|..OR|GRO.|..O. +; .O..|..RR|GRR.|...O +; ...O|O.GG|GGG.|OO.. +; ..O.|.OGG|RRGO|..O. +; .O..|...G|RG..|...O + + tsc + adc #$140 + tcs + + lda $1,s +; and #$f0ff + ora #$0800 + sta $1,s + + lda $3,s +; and #$ff00 + ora #$0088 + sta $3,s + + lda $5,s +; and #$f00f + ora #$08c0 + sta $5,s + + lda $7,s +; and #$ff00 + ora #$0088 + sta $7,s + + lda $a1,s +; and #$0fff + ora #$8000 + sta $a1,s + + lda $a3,s +; and #$00ff + ora #$8400 + sta $a3,s + + lda $a5,s +; and #$0f00 + ora #$80c4 + sta $a5,s + + lda $a7,s +; and #$0fff + ora #$8000 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$fff0 + ora #$0008 + sta $1,s + + lda $3,s +; and #$00ff + ora #$4400 + sta $3,s + + lda $5,s +; and #$0f00 + ora #$40c4 + sta $5,s + + lda $7,s +; and #$f0ff + ora #$0800 + sta $7,s + + lda $a1,s +; and #$f0ff + ora #$0800 + sta $a1,s + + lda $a3,s +; and #$000f + ora #$cc80 + sta $a3,s + + lda $a5,s +; and #$0f00 not necessary with pure green + ora #$c0cc + sta $a5,s + + lda $a7,s +; and #$ff00 + ora #$0088 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$0fff + ora #$8000 + sta $1,s + + lda $3,s +; and #$00f0 + ora #$cc08 + sta $3,s + + lda #$c844 + sta $5,s + + lda $7,s +; and #$0fff + ora #$8000 + sta $7,s + + lda $a1,s +; and #$fff0 + ora #$0008 + sta $a1,s + + lda $a3,s +; and #$f0ff not necessary with pure green + ora #$0c00 + sta $a3,s + + lda $a5,s +; and #$ff00 + ora #$004c + sta $a5,s + + lda $a7,s +; and #$f0ff + ora #$0800 + sta $a7,s + + _spriteFooter + rtl + + +spider4 entry + dex + dex + dex + dex + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ....|....|....|.... +; ....|....|....|.... +; ....|...G|....|.... +; ...O|OORG|ROOO|.... +; ..O.|.RRG|RR..|O... +; .O..|OGGG|GGO.|.O.. +; O...|OGGR|GGO.|..O. +; ..OO|..GR|G..O|O... + + tsc + adc #$140 + tcs + + lda $3,s +; and #$f0ff not necessary with pure green + ora #$0c00 + sta $3,s + + lda $a1,s +; and #$f0ff + ora #$0800 + sta $a1,s + + lda #$4c88 + sta $a3,s + + lda #$8848 + sta $a5,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$0fff + ora #$8000 + sta $1,s + + lda $3,s +; and #$ff0f + ora #$4c04 + sta $3,s + + lda $5,s +; and #$ff00 + ora #$0044 + sta $5,s + + lda $7,s +; and #$ff0f + ora #$0080 + sta $7,s + + lda $a1,s +; and #$fff0 + ora #$0008 + sta $a1,s + + lda #$cc8c + sta $a3,s + + lda $a5,s +; and #$0f00 + ora #$80cc + sta $a5,s + + lda $a7,s +; and #$fff0 + ora #$0008 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$ff0f + ora #$0080 + sta $1,s + + lda #$c48c + sta $3,s + + lda $5,s +; and #$0f00 + ora #$80cc + sta $5,s + + lda $7,s +; and #$0fff + ora #$8000 + sta $7,s + + lda $a1,s +; and #$00ff + ora #$8800 + sta $a1,s + + lda $a3,s +; and #$00ff + ora #$c400 + sta $a3,s + + lda $a5,s +; and #$f00f + ora #$08c0 + sta $a5,s + + lda $a7,s +; and #$ff0f + ora #$0080 + sta $a7,s + + _spriteFooter + rtl + + +spider4s entry + dex + dex + dex + dex + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ....|....|....|.... +; ....|....|....|.... +; ....|....|G...|.... +; ....|OOOR|GROO|O... +; ...O|..RR|GRR.|.O.. +; ..O.|.OGG|GGGO|..O. +; .O..|.OGG|RGGO|...O +; ...O|O..G|RG..|OO.. + + tsc + adc #$140 + tcs + + lda $5,s +; and #$ff0f not necessary with pure green + ora #$00c0 + sta $5,s + + lda #$8488 + sta $a3,s + + lda #$88c4 + sta $a5,s + + lda $a7,s +; and #$ff0f + ora #$0080 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$f0ff + ora #$0800 + sta $1,s + + lda $3,s +; and #$00ff + ora #$4400 + sta $3,s + + lda $5,s +; and #$0f00 + ora #$40c4 + sta $5,s + + lda $7,s +; and #$fff0 + ora #$0008 + sta $7,s + + lda $a1,s +; and #$0fff + ora #$8000 + sta $a1,s + + lda $a3,s +; and #$00f0 + ora #$cc08 + sta $a3,s + + lda #$c8cc + sta $a5,s + + lda $a7,s +; and #$0fff + ora #$8000 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$fff0 + ora #$0008 + sta $1,s + + lda $3,s +; and #$00f0 + ora #$cc08 + sta $3,s + + lda #$c84c + sta $5,s + + lda $7,s +; and #$f0ff + ora #$0800 + sta $7,s + + lda $a1,s +; and #$f0ff + ora #$0800 + sta $a1,s + + lda $a3,s +; and #$f00f + ora #$0c80 + sta $a3,s + + lda $a5,s +; and #$ff00 + ora #$004c + sta $a5,s + + lda $a7,s +; and #$ff00 + ora #$0088 + sta $a7,s + + _spriteFooter + rtl + + +spider5 entry + dex + dex + dex + dex + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ....|....|....|.... +; ....|....|....|.... +; ..OO|O..G|..OO|O... +; .O..|.ORG|RO..|.O.. +; O...|.RRG|RR..|..O. +; ..OO|.GGG|GG.O|O... +; .O..|OGRR|RGO.|.O.. +; O...|..GR|G...|..O. + + tsc + adc #$140 + tcs + + lda $1,s +; and #$00ff + ora #$8800 + sta $1,s + + lda $3,s +; and #$f00f + ora #$0c80 + sta $3,s + + lda $5,s +; and #$00ff + ora #$8800 + sta $5,s + + lda $7,s +; and #$ff0f + ora #$0080 + sta $7,s + + lda $a1,s +; and #$fff0 + ora #$0008 + sta $a1,s + + lda $a3,s +; and #$00f0 + ora #$4c08 + sta $a3,s + + lda $a5,s +; and #$ff00 + ora #$0048 + sta $a5,s + + lda $a7,s +; and #$fff0 + ora #$0008 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$ff0f + ora #$0080 + sta $1,s + + lda $3,s +; and #$ff0f + ora #$4c04 + sta $3,s + + lda $5,s +; and #$ff00 + ora #$0044 + sta $5,s + + lda $7,s +; and #$0fff + ora #$8000 + sta $7,s + + lda $a1,s +; and #$00ff + ora #$8800 + sta $a1,s + + lda $a3,s +; and #$00f0 not necessary with pure green + ora #$cc0c + sta $a3,s + + lda $a5,s +; and #$f000 + ora #$08cc + sta $a5,s + + lda $a7,s +; and #$ff0f + ora #$0080 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$fff0 + ora #$0008 + sta $1,s + + lda #$448c + sta $3,s + + lda $5,s +; and #$0f00 + ora #$804c + sta $5,s + + lda $7,s +; and #$fff0 + ora #$0008 + sta $7,s + + lda $a1,s +; and #$ff0f + ora #$0080 + sta $a1,s + + lda $a3,s +; and #$00ff + ora #$c400 + sta $a3,s + + lda $a5,s +; and #$ff0f not necessary with pure green + ora #$00c0 + sta $a5,s + + lda $a7,s +; and #$0fff + ora #$8000 + sta $a7,s + + _spriteFooter + rtl + + +spider5s entry + dex + dex + dex + dex + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ....|....|....|.... +; ....|....|....|.... +; ...O|OO..|G..O|OO.. +; ..O.|..OR|GRO.|..O. +; .O..|..RR|GRR.|...O +; ...O|O.GG|GGG.|OO.. +; ..O.|.OGR|RRGO|..O. +; .O..|...G|RG..|...O + + tsc + adc #$140 + tcs + + lda $1,s +; and #$f0ff + ora #$0800 + sta $1,s + + lda $3,s +; and #$ff00 + ora #$0088 + sta $3,s + + lda $5,s +; and #$f00f + ora #$08c0 + sta $5,s + + lda $7,s +; and #$ff00 + ora #$0088 + sta $7,s + + lda $a1,s +; and #$0fff + ora #$8000 + sta $a1,s + + lda $a3,s +; and #$00ff + ora #$8400 + sta $a3,s + + lda $a5,s +; and #$0f00 + ora #$80c4 + sta $a5,s + + lda $a7,s +; and #$0fff + ora #$8000 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$fff0 + ora #$0008 + sta $1,s + + lda $3,s +; and #$00ff + ora #$4400 + sta $3,s + + lda $5,s +; and #$0f00 + ora #$40c4 + sta $5,s + + lda $7,s +; and #$f0ff + ora #$0800 + sta $7,s + + lda $a1,s +; and #$f0ff + ora #$0800 + sta $a1,s + + lda $a3,s +; and #$000f + ora #$cc80 + sta $a3,s + + lda $a5,s +; and #$0f00 not necessary with pure green + ora #$c0cc + sta $a5,s + + lda $a7,s +; and #$ff00 + ora #$0088 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$0fff + ora #$8000 + sta $1,s + + lda $3,s +; and #$00f0 + ora #$c408 + sta $3,s + + lda #$c844 + sta $5,s + + lda $7,s +; and #$0fff + ora #$8000 + sta $7,s + + lda $a1,s +; and #$fff0 + ora #$0008 + sta $a1,s + + lda $a3,s +; and #$f0ff not necessary with pure green + ora #$0c00 + sta $a3,s + + lda $a5,s +; and #$ff00 + ora #$004c + sta $a5,s + + lda $a7,s +; and #$f0ff + ora #$0800 + sta $a7,s + + _spriteFooter + rtl + + +spider6 entry + dex + dex + dex + dex + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ...O|....|...O|.... +; ...O|....|...O|.... +; ..O.|O..G|..O.|O... +; .O..|.ORG|RO..|.O.. +; O..O|.RRG|RR.O|..O. +; ...O|.GGG|GG.O|.... +; ..O.|OGGR|RGO.|O... +; .O..|..GR|G...|.O.. + + lda $1,s +; and #$f0ff + ora #$0800 + sta $1,s + + lda $5,s +; and #$f0ff + ora #$0800 + sta $5,s + + lda $a1,s +; and #$f0ff + ora #$0800 + sta $a1,s + + lda $a5,s +; and #$f0ff + ora #$0800 + sta $a5,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$0fff + ora #$8000 + sta $1,s + + lda $3,s +; and #$f00f + ora #$0c80 + sta $3,s + + lda $5,s +; and #$0fff + ora #$8000 + sta $5,s + + lda $7,s +; and #$ff0f + ora #$0080 + sta $7,s + + lda $a1,s +; and #$fff0 + ora #$0008 + sta $a1,s + + lda $a3,s +; and #$00f0 + ora #$4c08 + sta $a3,s + + lda $a5,s +; and #$ff00 + ora #$0048 + sta $a5,s + + lda $a7,s +; and #$fff0 + ora #$0008 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$f00f + ora #$0880 + sta $1,s + + lda $3,s +; and #$ff0f + ora #$4c04 + sta $3,s + + lda $5,s +; and #$f000 + ora #$0844 + sta $5,s + + lda $7,s +; and #$0fff + ora #$8000 + sta $7,s + + lda $a1,s +; and #$f0ff + ora #$0800 + sta $a1,s + + lda $a3,s +; and #$00f0 Not necessary with green + ora #$cc0c + sta $a3,s + + lda $a5,s +; and #$f000 + ora #$08cc + sta $a5,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$0fff + ora #$8000 + sta $1,s + + lda #$c48c + sta $3,s + + lda $5,s +; and #$0f00 + ora #$804c + sta $5,s + + lda $7,s +; and #$ff0f + ora #$0080 + sta $7,s + + lda $a1,s +; and #$fff0 + ora #$0008 + sta $a1,s + + lda $a3,s +; and #$00ff + ora #$c400 + sta $a3,s + + lda $a5,s +; and #$ff0f not necessary with green + ora #$00c0 + sta $a5,s + + lda $a7,s +; and #$fff0 + ora #$0008 + sta $a7,s + + _spriteFooter + rtl + + +spider6s entry + dex + dex + dex + dex + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ....|O...|....|O... +; ....|O...|....|O... +; ...O|.O..|G..O|.O.. +; ..O.|..OR|GRO.|..O. +; .O..|O.RR|GRR.|O..O +; ....|O.GG|GGG.|O... +; ...O|.OGG|RRGO|.O.. +; ..O.|...G|RG..|..O. + + lda $3,s +; and #$ff0f + ora #$0080 + sta $3,s + + lda $7,s +; and #$ff0f + ora #$0080 + sta $7,s + + lda $a3,s +; and #$ff0f + ora #$0080 + sta $a3,s + + lda $a7,s +; and #$ff0f + ora #$0080 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$f0ff + ora #$0800 + sta $1,s + + lda $3,s +; and #$fff0 + ora #$0008 + sta $3,s + + lda $5,s +; and #$f00f + ora #$08c0 + sta $5,s + + lda $7,s +; and #$fff0 + ora #$0008 + sta $7,s + + + lda $a1,s +; and #$0fff + ora #$8000 + sta $a1,s + + lda $a3,s +; and #$00ff + ora #$8400 + sta $a3,s + + lda $a5,s +; and #$0f00 + ora #$80c4 + sta $a5,s + + lda $a7,s +; and #$0fff + ora #$8000 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$fff0 + ora #$0008 + sta $1,s + + lda $3,s +; and #$000f + ora #$4480 + sta $3,s + + lda $5,s +; and #$0f00 + ora #$40c4 + sta $5,s + + lda $7,s +; and #$f00f + ora #$0880 + sta $7,s + + lda $a3,s +; and #$000f + ora #$cc80 + sta $a3,s + + lda $a5,s +; and #$0f00 not necessary with pure green + ora #$c0cc + sta $a5,s + + lda $a7,s +; and #$ff0f + ora #$0080 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$f0ff + ora #$0800 + sta $1,s + + lda $3,s +; and #$00f0 + ora #$cc08 + sta $3,s + + lda #$c844 + sta $5,s + + lda $7,s +; and #$fff0 + ora #$0008 + sta $7,s + + lda $a1,s +; and #$0fff + ora #$8000 + sta $a1,s + + lda $a3,s +; and #$f0ff not necessary with pure green + ora #$0c00 + sta $a3,s + + lda $a5,s +; and #$ff00 + ora #$004c + sta $a5,s + + lda $a7,s +; and #$0fff + ora #$8000 + sta $a7,s + + _spriteFooter + rtl + + +spider7 entry + dex + dex + dex + dex + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ....|O...|..O.|.... +; ....|O...|..O.|.... +; ...O|O..G|..OO|.... +; ..O.|.ORG|RO..|O... +; .O..|.RRG|RR..|.O.. +; O..O|.GGG|GG.O|..O. +; ...O|OGGR|GGOO|.... +; ..O.|..GR|G...|O... + + lda $3,s +; and #$ff0f + ora #$0080 + sta $3,s + + lda $5,s +; and #$0fff + ora #$8000 + sta $5,s + + lda $a3,s +; and #$ff0f + ora #$0080 + sta $a3,s + + lda $a5,s +; and #$0fff + ora #$8000 + sta $a5,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$f0ff + ora #$0800 + sta $1,s + + lda $3,s +; and #$f00f + ora #$0c80 + sta $3,s + + lda $5,s +; and #$00ff + ora #$8800 + sta $5,s + + lda $a1,s +; and #$0fff + ora #$8000 + sta $a1,s + + lda $a3,s +; and #$00f0 + ora #$4c08 + sta $a3,s + + lda $a5,s +; and #$ff00 + ora #$0048 + sta $a5,s + + lda $a7,s +; and #$ff0f + ora #$0080 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$fff0 + ora #$0008 + sta $1,s + + lda $3,s +; and #$ff0f + ora #$4c04 + sta $3,s + + lda $5,s +; and #$ff00 + ora #$0044 + sta $5,s + + lda $7,s +; and #$fff0 + ora #$0008 + sta $7,s + + lda $a1,s +; and #$f00f + ora #$0880 + sta $a1,s + + lda $a3,s +; and #$00f0 Not necessary with green + ora #$cc0c + sta $a3,s + + lda $a5,s +; and #$f000 + ora #$08cc + sta $a5,s + + lda $a7,s +; and #$0fff + ora #$8000 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$f0ff + ora #$0800 + sta $1,s + + lda #$c48c + sta $3,s + + lda #$88cc + sta $5,s + + lda $a1,s +; and #$0fff + ora #$8000 + sta $a1,s + + lda $a3,s +; and #$00ff + ora #$c400 + sta $a3,s + + lda $a5,s +; and #$ff0f not necessary with green + ora #$00c0 + sta $a5,s + + lda $a7,s +; and #$ff0f + ora #$0080 + sta $a7,s + + _spriteFooter + rtl + + +spider7s entry + dex + dex + dex + dex + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ....|.O..|...O|.... +; ....|.O..|...O|.... +; ....|OO..|G..O|O... +; ...O|..OR|GRO.|.O.. +; ..O.|..RR|GRR.|..O. +; .O..|O.GG|GGG.|O..O +; ....|OOGG|RGGO|O... +; ...O|...G|RG..|.O.. + + lda $3,s +; and #$fff0 + ora #$0008 + sta $3,s + + lda $5,s +; and #$f0ff + ora #$0800 + sta $5,s + + lda $a3,s +; and #$fff0 + ora #$0008 + sta $a3,s + + lda $a5,s +; and #$f0ff + ora #$0800 + sta $a5,s + + tsc + adc #$140 + tcs + + lda $3,s +; and #$ff00 + ora #$0088 + sta $3,s + + lda $5,s +; and #$f00f + ora #$08c0 + sta $5,s + + lda $7,s +; and #$ff0f + ora #$0080 + sta $7,s + + + lda $a1,s +; and #$f0ff + ora #$0800 + sta $a1,s + + lda $a3,s +; and #$00ff + ora #$8400 + sta $a3,s + + lda $a5,s +; and #$0f00 + ora #$80c4 + sta $a5,s + + lda $a7,s +; and #$fff0 + ora #$0008 + sta $a7,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$0fff + ora #$8000 + sta $1,s + + lda $3,s +; and #$00ff + ora #$4400 + sta $3,s + + lda $5,s +; and #$0f00 + ora #$40c4 + sta $5,s + + lda $7,s +; and #$0fff + ora #$8000 + sta $7,s + + lda $a1,s +; and #$fff0 + ora #$0008 + sta $a1,s + + lda $a3,s +; and #$000f + ora #$cc80 + sta $a3,s + + lda $a5,s +; and #$0f00 not necessary with pure green + ora #$c0cc + sta $a5,s + + lda $a7,s +; and #$f00f + ora #$0880 + sta $a7,s + + tsc + adc #$140 + tcs + + lda #$cc88 + sta $3,s + + lda #$c84c + sta $5,s + + lda $7,s +; and #$ff0f + ora #$0080 + sta $7,s + + lda $a1,s +; and #$f0ff + ora #$0800 + sta $a1,s + + lda $a3,s +; and #$f0ff not necessary with pure green + ora #$0c00 + sta $a3,s + + lda $a5,s +; and #$ff00 + ora #$004c + sta $a5,s + + lda $a7,s +; and #$fff0 + ora #$0008 + sta $a7,s + + _spriteFooter + rtl + + +backupStack dc i2'0' + + end diff --git a/BuGS/sprites/sprites.md b/BuGS/sprites/sprites.md new file mode 100644 index 0000000..cc900fa --- /dev/null +++ b/BuGS/sprites/sprites.md @@ -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. diff --git a/BuGS/sprites/symbols.s b/BuGS/sprites/symbols.s new file mode 100644 index 0000000..6b6dddf --- /dev/null +++ b/BuGS/sprites/symbols.s @@ -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