From 7f33c3d40022de849cb8663bcc6ef80a83272912 Mon Sep 17 00:00:00 2001 From: Jeremy Rand Date: Sat, 4 Jul 2020 02:45:53 -0400 Subject: [PATCH] Create all of the left facing head segment sprites. --- BuGS.xcodeproj/project.pbxproj | 4 +- BuGS/Makefile | 2 +- BuGS/game.s | 60 +++-- BuGS/local.macros | 30 --- BuGS/sprites/scorpions.s | 32 +-- BuGS/sprites/segments.s | 422 +++++++++++++++++++++++---------- BuGS/sprites/sprites.macros | 198 ++++++++++++++++ 7 files changed, 551 insertions(+), 197 deletions(-) delete mode 100644 BuGS/local.macros create mode 100644 BuGS/sprites/sprites.macros diff --git a/BuGS.xcodeproj/project.pbxproj b/BuGS.xcodeproj/project.pbxproj index 66e3086..9bda208 100644 --- a/BuGS.xcodeproj/project.pbxproj +++ b/BuGS.xcodeproj/project.pbxproj @@ -75,8 +75,8 @@ 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 = ""; }; 9D33970024AEFBF2003222B3 /* segments.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = segments.s; sourceTree = ""; }; + 9D33970124AF9D55003222B3 /* sprites.macros */ = {isa = PBXFileReference; lastKnownFileType = text; path = sprites.macros; sourceTree = ""; }; 9D62AF3B249871A300348F45 /* colour.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = colour.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 = ""; }; 9D8FFC602491CA28005C9327 /* game.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = game.s; sourceTree = ""; }; @@ -123,7 +123,6 @@ 9D8FFC612491CAF0005C9327 /* game.h */, 9D62AF3B249871A300348F45 /* colour.s */, 9D3396F324AECACC003222B3 /* sprites */, - 9D62AF3E2499660100348F45 /* local.macros */, 9D1716912491C49300C83148 /* main.rez */, 9D1716932491C49300C83148 /* Makefile */, 9D1716952491C49300C83148 /* make */, @@ -160,6 +159,7 @@ isa = PBXGroup; children = ( 9D3396FF24AED09D003222B3 /* sprites.md */, + 9D33970124AF9D55003222B3 /* sprites.macros */, 9D3396F424AECB1D003222B3 /* explosions.s */, 9D3396F524AECBB1003222B3 /* spiders.s */, 9D3396F624AECC40003222B3 /* scorpions.s */, diff --git a/BuGS/Makefile b/BuGS/Makefile index dd49c82..832a08a 100644 --- a/BuGS/Makefile +++ b/BuGS/Makefile @@ -54,7 +54,7 @@ REZFLAGS+= MACGENFLAGS+= # Add any other macro libraries to include in this variable: -MACGENMACROS+=local.macros +MACGENMACROS+=sprites/sprites.macros # Add any arguments you want passed to the assembler to this variable: ASMFLAGS+= diff --git a/BuGS/game.s b/BuGS/game.s index 89ce1ed..9f63332 100644 --- a/BuGS/game.s +++ b/BuGS/game.s @@ -205,52 +205,52 @@ game start jsl score900 ldx #$3e0b - jsl left_scorpion1 + jsl leftScorpion1 ldx #$3e1b - jsl left_scorpion1s + jsl leftScorpion1s ldx #$3e2b - jsl left_scorpion2 + jsl leftScorpion2 ldx #$3e3b - jsl left_scorpion2s + jsl leftScorpion2s ldx #$3e4b - jsl left_scorpion3 + jsl leftScorpion3 ldx #$3e5b - jsl left_scorpion3s + jsl leftScorpion3s ldx #$3e6b - jsl left_scorpion4 + jsl leftScorpion4 ldx #$3e7b - jsl left_scorpion4s + jsl leftScorpion4s ldx #$480b - jsl right_scorpion1 + jsl rightScorpion1 ldx #$481b - jsl right_scorpion1s + jsl rightScorpion1s ldx #$482b - jsl right_scorpion2 + jsl rightScorpion2 ldx #$483b - jsl right_scorpion2s + jsl rightScorpion2s ldx #$484b - jsl right_scorpion3 + jsl rightScorpion3 ldx #$485b - jsl right_scorpion3s + jsl rightScorpion3s ldx #$486b - jsl right_scorpion4 + jsl rightScorpion4 ldx #$487b - jsl right_scorpion4s + jsl rightScorpion4s ldx #$520b jsl spider1 @@ -313,10 +313,34 @@ game start jsl explosion6 ldx #$5c73 - jsl left_head1 + jsl leftHead1 ldx #$5c7b - jsl left_head1s + jsl leftHead1s + + ldx #$5c83 + jsl leftHead2 + + ldx #$5c8b + jsl leftHead2s + + ldx #$5c93 + jsl leftHead3 + + ldx #$5c9b + jsl leftHead3s + + ldx #$6603 + jsl leftHead4 + + ldx #$660b + jsl leftHead4s + + ldx #$6613 + jsl leftHead5 + + ldx #$661b + jsl leftHead5s jsl waitForKey rtl diff --git a/BuGS/local.macros b/BuGS/local.macros deleted file mode 100644 index ea1bba1..0000000 --- a/BuGS/local.macros +++ /dev/null @@ -1,30 +0,0 @@ -; -; local.macros -; BuGS -; -; Created by Jeremy Rand on 2020-06-16. -;Copyright © 2020 Jeremy Rand. All rights reserved. -; - - macro - _spriteHeader - sei - tsc - sta backupStack - lda $e1c068 ; Direct Page and Stack in Bank 01/ - ora #$0030 - sta $e1c068 - clc - txa - tcs - mend - - macro - _spriteFooter - lda $e1c068 - and #$ffcf - sta $e1c068 - lda backupStack - tcs - cli - mend diff --git a/BuGS/sprites/scorpions.s b/BuGS/sprites/scorpions.s index d871b16..8bc0deb 100644 --- a/BuGS/sprites/scorpions.s +++ b/BuGS/sprites/scorpions.s @@ -12,7 +12,7 @@ scorpions start -left_scorpion1 entry +leftScorpion1 entry dex dex dex @@ -175,7 +175,7 @@ left_scorpion1 entry rtl -left_scorpion1s entry +leftScorpion1s entry dex dex dex @@ -325,7 +325,7 @@ left_scorpion1s entry rtl -left_scorpion2 entry +leftScorpion2 entry dex dex dex @@ -493,7 +493,7 @@ left_scorpion2 entry rtl -left_scorpion2s entry +leftScorpion2s entry dex dex dex @@ -658,7 +658,7 @@ left_scorpion2s entry rtl -left_scorpion3 entry +leftScorpion3 entry dex dex dex @@ -810,7 +810,7 @@ left_scorpion3 entry rtl -left_scorpion3s entry +leftScorpion3s entry dex dex dex @@ -986,7 +986,7 @@ left_scorpion3s entry rtl -left_scorpion4 entry +leftScorpion4 entry dex dex dex @@ -1137,7 +1137,7 @@ left_scorpion4 entry rtl -left_scorpion4s entry +leftScorpion4s entry dex dex dex @@ -1311,7 +1311,7 @@ left_scorpion4s entry rtl -right_scorpion1 entry +rightScorpion1 entry dex dex dex @@ -1476,7 +1476,7 @@ right_scorpion1 entry rtl -right_scorpion1s entry +rightScorpion1s entry dex dex dex @@ -1659,7 +1659,7 @@ right_scorpion1s entry rtl -right_scorpion2 entry +rightScorpion2 entry dex dex dex @@ -1827,7 +1827,7 @@ right_scorpion2 entry rtl -right_scorpion2s entry +rightScorpion2s entry dex dex dex @@ -2012,7 +2012,7 @@ right_scorpion2s entry rtl -right_scorpion3 entry +rightScorpion3 entry dex dex dex @@ -2163,7 +2163,7 @@ right_scorpion3 entry rtl -right_scorpion3s entry +rightScorpion3s entry dex dex dex @@ -2334,7 +2334,7 @@ right_scorpion3s entry rtl -right_scorpion4 entry +rightScorpion4 entry dex dex dex @@ -2485,7 +2485,7 @@ right_scorpion4 entry rtl -right_scorpion4s entry +rightScorpion4s entry dex dex dex diff --git a/BuGS/sprites/segments.s b/BuGS/sprites/segments.s index f2f2449..b34f309 100644 --- a/BuGS/sprites/segments.s +++ b/BuGS/sprites/segments.s @@ -12,7 +12,7 @@ segments start -left_head1 entry +leftHead1 entry dex dex dex @@ -37,67 +37,7 @@ left_head1 entry ora #$0800 sta $1,s - lda $a1,s - and #$00f0 - ora #$4c04 - sta $a1,s - - lda $a3,s -; and #$ff0f not necessary with pure green - ora #$00c0 - sta $a3,s - - tsc - adc #$142 - tcs - - pea $4cc4 - - lda $3,s -; and #$ff00 not necessary with pure green - ora #$00cc - sta $3,s - - lda #$cccc - sta $a1,s - - lda $a3,s -; and #$0f00 not necessary with pure green - ora #$c0cc - sta $a3,s - - tsc - adc #$142 - tcs - - pea $cccc - - lda $3,s -; and #$0f00 not necessary with pure green - ora #$c0cc - sta $3,s - - lda #$4cc4 - sta $a1,s - - lda $a3,s -; and #$ff00 not necessary with pure green - ora #$00cc - sta $a3,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$00f0 - ora #$4c04 - sta $1,s - - lda $3,s -; and #$ff0f not necessary with pure green - ora #$00c0 - sta $3,s + _leftHead lda $a1,s and #$f0ff @@ -108,7 +48,7 @@ left_head1 entry rtl -left_head1s entry +leftHead1s entry dex dex dex @@ -133,73 +73,7 @@ left_head1s entry ora #$0080 sta $3,s - lda $a1,s - and #$00ff - ora #$4400 - sta $a1,s - - lda $a3,s -; and #$ff00 not necessary with pure green - ora #$00cc - sta $a3,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$00f0 - ora #$440c - sta $1,s - - lda $3,s -; and #$0f00 not necessary with pure green - ora #$c0cc - sta $3,s - - lda $a1,s -; and #$00f0 not necessary with pure green - ora #$cc0c - sta $a1,s - - lda #$cccc - sta $a3,s - - tsc - adc #$140 - tcs - - lda $1,s -; and #$00f0 not necessary with pure green - ora #$cc0c - sta $1,s - - lda #$cccc - sta $3,s - - lda $a1,s - and #$00f0 - ora #$440c - sta $a1,s - - lda $a3,s -; and #$0f00 not necessary with pure green - ora #$c0cc - sta $a3,s - - tsc - adc #$140 - tcs - - lda $1,s - and #$00ff - ora #$4400 - sta $1,s - - lda $3,s -; and #$ff00 not necessary with pure green - ora #$00cc - sta $3,s + _leftHeadShift lda $a3,s and #$ff0f @@ -210,6 +84,294 @@ left_head1s entry rtl +leftHead2 entry + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ....|O... +; .RRG|G... +; GRRG|GG.. +; GGGG|GGG. +; GGGG|GGG. +; GRRG|GG.. +; .RRG|G... +; ....|O... + + lda $3,s + and #$ff0f + ora #$0080 + sta $3,s + + _leftHead + + lda $a3,s + and #$ff0f + ora #$0080 + sta $a3,s + + _spriteFooter + rtl + + +leftHead2s entry + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ....|.O.. +; ..RR|GG.. +; .GRR|GGG. +; .GGG|GGGG +; .GGG|GGGG +; .GRR|GGG. +; ..RR|GG.. +; ....|.O.. + + lda $3,s + and #$fff0 + ora #$0008 + sta $3,s + + _leftHeadShift + + lda $a3,s + and #$fff0 + ora #$0008 + sta $a3,s + + _spriteFooter + rtl + + +leftHead3 entry + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ....|.O.. +; .RRG|G... +; GRRG|GG.. +; GGGG|GGG. +; GGGG|GGG. +; GRRG|GG.. +; .RRG|G... +; ....|.O.. + + lda $3,s + and #$fff0 + ora #$0008 + sta $3,s + + _leftHead + + lda $a3,s + and #$fff0 + ora #$0008 + sta $a3,s + + _spriteFooter + rtl + + +leftHead3s entry + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ....|..O. +; ..RR|GG.. +; .GRR|GGG. +; .GGG|GGGG +; .GGG|GGGG +; .GRR|GGG. +; ..RR|GG.. +; ....|..O. + + lda $3,s + and #$0fff + ora #$8000 + sta $3,s + + _leftHeadShift + + lda $a3,s + and #$0fff + ora #$8000 + sta $a3,s + + _spriteFooter + rtl + + +leftHead4 entry + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ..O.|.... +; .RRG|G... +; GRRG|GG.. +; GGGG|GGG. +; GGGG|GGG. +; GRRG|GG.. +; .RRG|G... +; ..O.|.... + + lda $1,s + and #$0fff + ora #$8000 + sta $1,s + + _leftHead + + lda $a1,s + and #$0fff + ora #$8000 + sta $a1,s + + _spriteFooter + rtl + + +leftHead4s entry + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ...O|.... +; ..RR|GG.. +; .GRR|GGG. +; .GGG|GGGG +; .GGG|GGGG +; .GRR|GGG. +; ..RR|GG.. +; ...O|.... + + lda $1,s + and #$f0ff + ora #$0800 + sta $1,s + + _leftHeadShift + + lda $a1,s + and #$f0ff + ora #$0800 + sta $a1,s + + _spriteFooter + rtl + + +leftHead5 entry + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; .O..|.... +; .RRG|G... +; GRRG|GG.. +; GGGG|GGG. +; GGGG|GGG. +; GRRG|GG.. +; .RRG|G... +; .O..|.... + + lda $1,s + and #$fff0 + ora #$0008 + sta $1,s + + _leftHead + + lda $a1,s + and #$fff0 + ora #$0008 + sta $a1,s + + _spriteFooter + rtl + + +leftHead5s entry + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ..O.|.... +; ..RR|GG.. +; .GRR|GGG. +; .GGG|GGGG +; .GGG|GGGG +; .GRR|GGG. +; ..RR|GG.. +; ..O.|.... + + lda $1,s + and #$0fff + ora #$8000 + sta $1,s + + _leftHeadShift + + lda $a1,s + and #$0fff + ora #$8000 + sta $a1,s + + _spriteFooter + rtl + + backupStack dc i2'0' end diff --git a/BuGS/sprites/sprites.macros b/BuGS/sprites/sprites.macros new file mode 100644 index 0000000..a3ad74d --- /dev/null +++ b/BuGS/sprites/sprites.macros @@ -0,0 +1,198 @@ +; +; sprites.macros +; BuGS +; +; Created by Jeremy Rand on 2020-06-16. +;Copyright © 2020 Jeremy Rand. All rights reserved. +; + + macro + _spriteHeader + sei + tsc + sta backupStack + lda $e1c068 ; Direct Page and Stack in Bank 01/ + ora #$0030 + sta $e1c068 + clc + txa + tcs + mend + + + macro + _spriteFooter + lda $e1c068 + and #$ffcf + sta $e1c068 + lda backupStack + tcs + cli + mend + + + macro + _leftHead + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ....|.... +; .RRG|G... +; GRRG|GG.. +; GGGG|GGG. +; GGGG|GGG. +; GRRG|GG.. +; .RRG|G... +; ....|.... + + lda $a1,s + and #$00f0 + ora #$4c04 + sta $a1,s + + lda $a3,s +; and #$ff0f not necessary with pure green + ora #$00c0 + sta $a3,s + + tsc + adc #$142 + tcs + + pea $4cc4 + + lda $3,s +; and #$ff00 not necessary with pure green + ora #$00cc + sta $3,s + + lda #$cccc + sta $a1,s + + lda $a3,s +; and #$0f00 not necessary with pure green + ora #$c0cc + sta $a3,s + + tsc + adc #$142 + tcs + + pea $cccc + + lda $3,s +; and #$0f00 not necessary with pure green + ora #$c0cc + sta $3,s + + lda #$4cc4 + sta $a1,s + + lda $a3,s +; and #$ff00 not necessary with pure green + ora #$00cc + sta $a3,s + + tsc + adc #$140 + tcs + + lda $1,s + and #$00f0 + ora #$4c04 + sta $1,s + + lda $3,s +; and #$ff0f not necessary with pure green + ora #$00c0 + sta $3,s + + mend + + macro + _leftHeadShift + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ....|.... +; ..RR|GG.. +; .GRR|GGG. +; .GGG|GGGG +; .GGG|GGGG +; .GRR|GGG. +; ..RR|GG.. +; ....|.... + + lda $a1,s + and #$00ff + ora #$4400 + sta $a1,s + + lda $a3,s +; and #$ff00 not necessary with pure green + ora #$00cc + sta $a3,s + + tsc + adc #$140 + tcs + + lda $1,s + and #$00f0 + ora #$440c + sta $1,s + + lda $3,s +; and #$0f00 not necessary with pure green + ora #$c0cc + sta $3,s + + lda $a1,s +; and #$00f0 not necessary with pure green + ora #$cc0c + sta $a1,s + + lda #$cccc + sta $a3,s + + tsc + adc #$140 + tcs + + lda $1,s +; and #$00f0 not necessary with pure green + ora #$cc0c + sta $1,s + + lda #$cccc + sta $3,s + + lda $a1,s + and #$00f0 + ora #$440c + sta $a1,s + + lda $a3,s +; and #$0f00 not necessary with pure green + ora #$c0cc + sta $a3,s + + tsc + adc #$140 + tcs + + lda $1,s + and #$00ff + ora #$4400 + sta $1,s + + lda $3,s +; and #$ff00 not necessary with pure green + ora #$00cc + sta $3,s + + mend