Create all of the left facing head segment sprites.

This commit is contained in:
Jeremy Rand 2020-07-04 02:45:53 -04:00
parent 72265face9
commit 7f33c3d400
7 changed files with 551 additions and 197 deletions

View File

@ -75,8 +75,8 @@
9D3396FD24AECFF5003222B3 /* mushrooms.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = mushrooms.s; sourceTree = "<group>"; };
9D3396FF24AED09D003222B3 /* sprites.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = sprites.md; sourceTree = "<group>"; };
9D33970024AEFBF2003222B3 /* segments.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = segments.s; sourceTree = "<group>"; };
9D33970124AF9D55003222B3 /* sprites.macros */ = {isa = PBXFileReference; lastKnownFileType = text; path = sprites.macros; sourceTree = "<group>"; };
9D62AF3B249871A300348F45 /* colour.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = colour.s; sourceTree = "<group>"; };
9D62AF3E2499660100348F45 /* local.macros */ = {isa = PBXFileReference; lastKnownFileType = text; path = local.macros; sourceTree = "<group>"; };
9D62AF3F2499CD1E00348F45 /* LICENSE */ = {isa = PBXFileReference; lastKnownFileType = text; path = LICENSE; sourceTree = "<group>"; };
9D62AF402499CD3A00348F45 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; sourceTree = "<group>"; };
9D8FFC602491CA28005C9327 /* game.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = game.s; sourceTree = "<group>"; };
@ -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 */,

View File

@ -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+=

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

198
BuGS/sprites/sprites.macros Normal file
View File

@ -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