Lots of general sprite cleanup. Add sprites for the ship and the shots and include collision detection in those routines. I think all of the drawing code is done now, maybe?

This commit is contained in:
Jeremy Rand 2020-07-09 22:55:08 -04:00
parent bc91429e3a
commit a718c8caef
11 changed files with 3194 additions and 3164 deletions

View File

@ -81,6 +81,8 @@
9D62AF402499CD3A00348F45 /* README.md */ = {isa = PBXFileReference; lastKnownFileType = net.daringfireball.markdown; path = README.md; 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>"; }; 9D8FFC602491CA28005C9327 /* game.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = game.s; sourceTree = "<group>"; };
9D8FFC612491CAF0005C9327 /* game.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = game.h; sourceTree = "<group>"; }; 9D8FFC612491CAF0005C9327 /* game.h */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.c.h; path = game.h; sourceTree = "<group>"; };
9DC4D7BD24B7652100BACF4B /* ship.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = ship.s; sourceTree = "<group>"; };
9DC4D7BE24B80C9600BACF4B /* shot.s */ = {isa = PBXFileReference; lastKnownFileType = sourcecode.asm; path = shot.s; sourceTree = "<group>"; };
/* End PBXFileReference section */ /* End PBXFileReference section */
/* Begin PBXFrameworksBuildPhase section */ /* Begin PBXFrameworksBuildPhase section */
@ -171,6 +173,8 @@
9D3396FC24AECFBB003222B3 /* letters.s */, 9D3396FC24AECFBB003222B3 /* letters.s */,
9D3396FD24AECFF5003222B3 /* mushrooms.s */, 9D3396FD24AECFF5003222B3 /* mushrooms.s */,
9D33970024AEFBF2003222B3 /* segments.s */, 9D33970024AEFBF2003222B3 /* segments.s */,
9DC4D7BD24B7652100BACF4B /* ship.s */,
9DC4D7BE24B80C9600BACF4B /* shot.s */,
); );
path = sprites; path = sprites;
sourceTree = "<group>"; sourceTree = "<group>";

View File

@ -183,321 +183,339 @@ game start
ldx #$345b ldx #$345b
jsl number9 jsl number9
ldx #$3463 ldx #$345f
jsl flea1 jsl flea1
ldx #$346b ldx #$3467
jsl flea2 jsl flea2
ldx #$3473 ldx #$346f
jsl flea3 jsl flea3
ldx #$347b ldx #$3477
jsl flea4 jsl flea4
ldx #$3483 ldx #$347e
jsl score300 jsl score300
ldx #$348b ldx #$3486
jsl score600 jsl score600
ldx #$3493 ldx #$348e
jsl score900 jsl score900
ldx #$3e0b ldx #$3e04
jsl leftScorpion1 jsl leftScorpion1
ldx #$3e1b ldx #$3e14
jsl leftScorpion1s jsl leftScorpion1s
ldx #$3e2b ldx #$3e24
jsl leftScorpion2 jsl leftScorpion2
ldx #$3e3b ldx #$3e34
jsl leftScorpion2s jsl leftScorpion2s
ldx #$3e4b ldx #$3e44
jsl leftScorpion3 jsl leftScorpion3
ldx #$3e5b ldx #$3e54
jsl leftScorpion3s jsl leftScorpion3s
ldx #$3e6b ldx #$3e64
jsl leftScorpion4 jsl leftScorpion4
ldx #$3e7b ldx #$3e74
jsl leftScorpion4s jsl leftScorpion4s
ldx #$480b ldx #$4804
jsl rightScorpion1 jsl rightScorpion1
ldx #$481b ldx #$4814
jsl rightScorpion1s jsl rightScorpion1s
ldx #$482b ldx #$4824
jsl rightScorpion2 jsl rightScorpion2
ldx #$483b ldx #$4834
jsl rightScorpion2s jsl rightScorpion2s
ldx #$484b ldx #$4844
jsl rightScorpion3 jsl rightScorpion3
ldx #$485b ldx #$4854
jsl rightScorpion3s jsl rightScorpion3s
ldx #$486b ldx #$4864
jsl rightScorpion4 jsl rightScorpion4
ldx #$487b ldx #$4874
jsl rightScorpion4s jsl rightScorpion4s
ldx #$520b ldx #$5204
jsl spider1 jsl spider1
ldx #$521b ldx #$5214
jsl spider1s jsl spider1s
ldx #$522b ldx #$5224
jsl spider2 jsl spider2
ldx #$523b ldx #$5234
jsl spider2s jsl spider2s
ldx #$524b ldx #$5244
jsl spider3 jsl spider3
ldx #$525b ldx #$5254
jsl spider3s jsl spider3s
ldx #$526b ldx #$5264
jsl spider4 jsl spider4
ldx #$527b ldx #$5274
jsl spider4s jsl spider4s
ldx #$528b ldx #$5284
jsl spider5 jsl spider5
ldx #$529b ldx #$5294
jsl spider5s jsl spider5s
ldx #$5c0b ldx #$5c04
jsl spider6 jsl spider6
ldx #$5c1b ldx #$5c14
jsl spider6s jsl spider6s
ldx #$5c2b ldx #$5c24
jsl spider7 jsl spider7
ldx #$5c3b ldx #$5c34
jsl spider7s jsl spider7s
ldx #$5c43 ldx #$5c40
jsl explosion1 jsl explosion1
ldx #$5c4b ldx #$5c48
jsl explosion2 jsl explosion2
ldx #$5c53 ldx #$5c50
jsl explosion3 jsl explosion3
ldx #$5c5b ldx #$5c58
jsl explosion4 jsl explosion4
ldx #$5c63 ldx #$5c60
jsl explosion5 jsl explosion5
ldx #$5c6b ldx #$5c68
jsl explosion6 jsl explosion6
ldx #$5c73 ldx #$5c70
jsl leftHead1 jsl leftHead1
ldx #$5c7b ldx #$5c78
jsl leftHead1s jsl leftHead1s
ldx #$5c83 ldx #$5c80
jsl leftHead2 jsl leftHead2
ldx #$5c8b ldx #$5c88
jsl leftHead2s jsl leftHead2s
ldx #$5c93 ldx #$5c90
jsl leftHead3 jsl leftHead3
ldx #$5c9b ldx #$5c98
jsl leftHead3s jsl leftHead3s
ldx #$6603 ldx #$6600
jsl leftHead4 jsl leftHead4
ldx #$660b ldx #$6608
jsl leftHead4s jsl leftHead4s
ldx #$6613 ldx #$6610
jsl leftHead5 jsl leftHead5
ldx #$661b ldx #$6618
jsl leftHead5s jsl leftHead5s
ldx #$6623 ldx #$6620
jsl leftBody1 jsl leftBody1
ldx #$662b ldx #$6628
jsl leftBody1s jsl leftBody1s
ldx #$6633 ldx #$6630
jsl leftBody2 jsl leftBody2
ldx #$663b ldx #$6638
jsl leftBody2s jsl leftBody2s
ldx #$6643 ldx #$6640
jsl leftBody3 jsl leftBody3
ldx #$664b ldx #$6648
jsl leftBody3s jsl leftBody3s
ldx #$6653 ldx #$6650
jsl leftBody4 jsl leftBody4
ldx #$665b ldx #$6658
jsl leftBody4s jsl leftBody4s
ldx #$6663 ldx #$6660
jsl leftBody5 jsl leftBody5
ldx #$666b ldx #$6668
jsl leftBody5s jsl leftBody5s
ldx #$6673 ldx #$6670
jsl rightHead1 jsl rightHead1
ldx #$667b ldx #$6678
jsl rightHead1s jsl rightHead1s
ldx #$6683 ldx #$6680
jsl rightHead2 jsl rightHead2
ldx #$668b ldx #$6688
jsl rightHead2s jsl rightHead2s
ldx #$6693 ldx #$6690
jsl rightHead3 jsl rightHead3
ldx #$669b ldx #$6698
jsl rightHead3s jsl rightHead3s
ldx #$7003 ldx #$7000
jsl rightHead4 jsl rightHead4
ldx #$700b ldx #$7008
jsl rightHead4s jsl rightHead4s
ldx #$7013 ldx #$7010
jsl rightHead5 jsl rightHead5
ldx #$701b ldx #$7018
jsl rightHead5s jsl rightHead5s
ldx #$7023 ldx #$7020
jsl rightBody1 jsl rightBody1
ldx #$702b ldx #$7028
jsl rightBody1s jsl rightBody1s
ldx #$7033 ldx #$7030
jsl rightBody2 jsl rightBody2
ldx #$703b ldx #$7038
jsl rightBody2s jsl rightBody2s
ldx #$7043 ldx #$7040
jsl rightBody3 jsl rightBody3
ldx #$704b ldx #$7048
jsl rightBody3s jsl rightBody3s
ldx #$7053 ldx #$7050
jsl rightBody4 jsl rightBody4
ldx #$705b ldx #$7058
jsl rightBody4s jsl rightBody4s
ldx #$7063 ldx #$7060
jsl rightBody5 jsl rightBody5
ldx #$706b ldx #$7068
jsl rightBody5s jsl rightBody5s
ldx #$7073 ldx #$7070
jsl leftDownHead1 jsl leftDownHead1
ldx #$707b ldx #$7078
jsl leftDownHead1s jsl leftDownHead1s
ldx #$7083 ldx #$7080
jsl leftDownHead2 jsl leftDownHead2
ldx #$708b ldx #$7088
jsl leftDownHead2s jsl leftDownHead2s
ldx #$7093 ldx #$7090
jsl leftDownBody1 jsl leftDownBody1
ldx #$709b ldx #$7098
jsl leftDownBody1s jsl leftDownBody1s
ldx #$7a03 ldx #$7a00
jsl leftDownBody2 jsl leftDownBody2
ldx #$7a0b ldx #$7a08
jsl leftDownBody2s jsl leftDownBody2s
ldx #$7a13 ldx #$7a10
jsl rightDownHead1 jsl rightDownHead1
ldx #$7a1b ldx #$7a18
jsl rightDownHead1s jsl rightDownHead1s
ldx #$7a23 ldx #$7a20
jsl rightDownHead2 jsl rightDownHead2
ldx #$7a2b ldx #$7a28
jsl rightDownHead2s jsl rightDownHead2s
ldx #$7a33 ldx #$7a30
jsl rightDownBody1 jsl rightDownBody1
ldx #$7a3b ldx #$7a38
jsl rightDownBody1s jsl rightDownBody1s
ldx #$7a43 ldx #$7a40
jsl rightDownBody2 jsl rightDownBody2
ldx #$7a4b ldx #$7a48
jsl rightDownBody2s jsl rightDownBody2s
ldx #$7a53 ldx #$7a50
jsl downHead1 jsl downHead1
ldx #$7a5b ldx #$7a58
jsl downHead2 jsl downHead2
ldx #$7a63 ldx #$7a60
jsl downHead3 jsl downHead3
ldx #$7a6b ldx #$7a68
jsl downBody1 jsl downBody1
ldx #$7a73 ldx #$7a70
jsl downBody2 jsl downBody2
ldx #$7a7b ldx #$7a78
jsl downBody3 jsl downBody3
ldx #$7a80
jsl drawShip
ldx #$7a88
jsl drawShipShift
ldx #$7a90
jsl drawHalfShot
ldx #$7a98
jsl drawHalfShotShift
ldx #$8400
jsl drawShot
ldx #$8408
jsl drawShotShift
jsl waitForKey jsl waitForKey
rtl rtl

View File

@ -13,10 +13,6 @@
explosions start explosions start
explosion1 entry explosion1 entry
dex
dex
dex
dex
_spriteHeader _spriteHeader
; $c - Green ; $c - Green
@ -33,102 +29,98 @@ explosion1 entry
; .ROR|.R.G ; .ROR|.R.G
; ;
lda $1,s lda $0,s
and #$00ff and #$00ff
ora #$4400 ora #$4400
sta $1,s sta $0,s
lda $3,s lda $2,s
and #$fff0 and #$fff0
ora #$0004 ora #$0004
sta $3,s sta $2,s
lda $a1,s lda $a0,s
and #$00f0 and #$00f0
ora #$c408 ora #$c408
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
; and #$ff0f not necessary with pure green ; and #$ff0f not necessary with pure green
ora #$00c0 ora #$00c0
sta $a3,s sta $a2,s
tsc tsc
adc #$140 adc #$140
tcs tcs
lda $1,s lda $0,s
; and #$ff0f not necessary with pure green ; and #$ff0f not necessary with pure green
ora #$cc0c ora #$cc0c
sta $1,s sta $0,s
lda $3,s lda $2,s
and #$0f00 and #$0f00
ora #$40cc ora #$40cc
sta $3,s sta $2,s
lda #$cc4c lda #$cc4c
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
and #$0f00 and #$0f00
ora #$80cc ora #$80cc
sta $a3,s sta $a2,s
tsc tsc
adc #$140 adc #$140
tcs tcs
lda $1,s lda $0,s
and #$0f00 and #$0f00
ora #$c04c ora #$c04c
sta $1,s sta $0,s
lda $3,s lda $2,s
; and #$fff0 not necessary with pure green ; and #$fff0 not necessary with pure green
ora #$c0cc ora #$c0cc
sta $3,s sta $2,s
lda #$cc8c lda #$cc8c
sta $a1,s sta $a0,s
lda #$8ccc lda #$8ccc
sta $a3,s sta $a0,s
tsc tsc
adc #$140 adc #$140
tcs tcs
lda $1,s lda $0,s
and #$00f0 and #$00f0
ora #$cc08 ora #$cc08
sta $1,s sta $0,s
lda $3,s lda $2,s
and #$0f00 and #$0f00
ora #$804c ora #$804c
sta $3,s sta $2,s
lda $a1,s lda $a0,s
and #$00f0 and #$00f0
ora #$8404 ora #$8404
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
and #$f0f0 and #$f0f0
ora #$0c04 ora #$0c04
sta $a3,s sta $a2,s
_spriteFooter _spriteFooter
rtl rtl
explosion2 entry explosion2 entry
dex
dex
dex
dex
_spriteHeader _spriteHeader
; $c - Green ; $c - Green
@ -145,26 +137,26 @@ explosion2 entry
; .G.R|.G.. ; .G.R|.G..
; ;
lda $1,s lda $0,s
and #$00ff and #$00ff
ora #$c400 ora #$c400
sta $1,s sta $0,s
lda $3,s lda $2,s
and #$0f0f and #$0f0f
ora #$40c0 ora #$40c0
sta $3,s sta $2,s
lda $a1,s lda $a0,s
; and #$00f0 not necessary with pure green ; and #$00f0 not necessary with pure green
ora #$cc0c ora #$cc0c
sta $a1,s sta $a0,s
lda #$4ccc lda #$4ccc
sta $a3,s sta $a2,s
tsc tsc
adc #$144 adc #$143
tcs tcs
pea $c8cc pea $c8cc
@ -209,10 +201,6 @@ explosion2 entry
explosion3 entry explosion3 entry
dex
dex
dex
dex
_spriteHeader _spriteHeader
; $c - Green ; $c - Green
@ -228,98 +216,94 @@ explosion3 entry
; RGGG|GGG. ; RGGG|GGG.
; .OG.|.G.O ; .OG.|.G.O
lda $1,s lda $0,s
and #$00f0 and #$00f0
ora #$8c0c ora #$8c0c
sta $1,s sta $0,s
lda $3,s lda $2,s
and #$ff00 and #$ff00
ora #$004c ora #$004c
sta $3,s sta $2,s
lda $a1,s lda $a0,s
; and #$000f not necessary with pure green ; and #$000f not necessary with pure green
ora #$ccc0 ora #$ccc0
sta $a1,s sta $a0,s
lda #$c4cc lda #$c4cc
sta $a3,s sta $a2,s
tsc tsc
adc #$140 adc #$140
tcs tcs
lda #$c8cc lda #$c8cc
sta $1,s sta $0,s
lda $3,s lda $2,s
and #$0f00 and #$0f00
ora #$c0c8 ora #$c0c8
sta $3,s sta $2,s
lda $a1,s lda $a0,s
and #$0f00 and #$0f00
ora #$804c ora #$804c
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
; and #$00f0 not necessary with pure green ; and #$00f0 not necessary with pure green
ora #$cc0c ora #$cc0c
sta $a3,s sta $a2,s
tsc tsc
adc #$140 adc #$140
tcs tcs
lda $1,s lda $0,s
; and #$ff00 not necessary with pure green ; and #$ff00 not necessary with pure green
ora #$00cc ora #$00cc
sta $1,s sta $0,s
lda $3,s lda $2,s
; and #$fff0 not necessary with pure green ; and #$fff0 not necessary with pure green
ora #$000c ora #$000c
sta $3,s sta $2,s
lda #$4cc4 lda #$4cc4
sta $a1,s sta $a0,s
lda #$cc4c lda #$cc4c
sta $a3,s sta $a2,s
tsc tsc
adc #$140 adc #$140
tcs tcs
lda #$cc4c lda #$cc4c
sta $1,s sta $0,s
lda $3,s lda $2,s
; and #$0f00 not necessary with pure green ; and #$0f00 not necessary with pure green
ora #$c0cc ora #$c0cc
sta $3,s sta $2,s
lda $a1,s lda $a0,s
and #$0ff0 and #$0ff0
ora #$c008 ora #$c008
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
and #$f0f0 and #$f0f0
ora #$080c ora #$080c
sta $a3,s sta $a2,s
_spriteFooter _spriteFooter
rtl rtl
explosion4 entry explosion4 entry
dex
dex
dex
dex
_spriteHeader _spriteHeader
; $c - Green ; $c - Green
@ -336,109 +320,103 @@ explosion4 entry
; RG.G|GGO. ; RG.G|GGO.
; ;
lda $0,s
lda $1,s
and #$000f and #$000f
ora #$c8c0 ora #$c8c0
sta $1,s sta $0,s
lda $3,s lda $2,s
and #$f0f0 and #$f0f0
ora #$0c04 ora #$0c04
sta $3,s sta $2,s
lda $a1,s lda $a0,s
and #$f0f0 and #$f0f0
ora #$0c08 ora #$0c08
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
; and #$0f0f not necessary with pure green ; and #$0f0f not necessary with pure green
ora #$c0c0 ora #$c0c0
sta $a3,s sta $a2,s
tsc tsc
adc #$140 adc #$140
tcs tcs
lda $1,s lda $0,s
and #$f000 and #$f000
ora #$044c ora #$044c
sta $1,s sta $0,s
lda $3,s lda $2,s
and #$f0f0 and #$f0f0
ora #$0408 ora #$0408
sta $3,s sta $2,s
lda $a0,s
lda $a1,s
and #$0f0f and #$0f0f
ora #$40c0 ora #$40c0
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
; and #$0fff not necessary with pure green ; and #$0fff not necessary with pure green
ora #$c000 ora #$c000
sta $a3,s sta $a2,s
tsc tsc
adc #$140 adc #$140
tcs tcs
lda $1,s lda $0,s
; and #$ff00 not necessary with pure green ; and #$ff00 not necessary with pure green
ora #$00cc ora #$00cc
sta $1,s sta $0,s
lda $3,s lda $2,s
and #$f0ff and #$f0ff
ora #$0800 ora #$0800
sta $3,s sta $2,s
lda $a1,s lda $a0,s
and #$f0f0 and #$f0f0
ora #$0404 ora #$0404
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
and #$00f0 and #$00f0
ora #$c804 ora #$c804
sta $a3,s sta $a2,s
tsc tsc
adc #$140 adc #$140
tcs tcs
lda $1,s lda $0,s
and #$0f0f and #$0f0f
ora #$4080 ora #$4080
sta $1,s sta $0,s
lda $3,s lda $2,s
and #$000f and #$000f
ora #$c440 ora #$c440
sta $3,s sta $2,s
lda $a1,s lda $a0,s
and #$f000 and #$f000
ora #$0c4c ora #$0c4c
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
and #$0f00 and #$0f00
ora #$80cc ora #$80cc
sta $a3,s sta $a2,s
_spriteFooter _spriteFooter
rtl rtl
explosion5 entry explosion5 entry
dex
dex
dex
dex
_spriteHeader _spriteHeader
; $c - Green ; $c - Green
@ -455,108 +433,103 @@ explosion5 entry
; .G.G|OR.. ; .G.G|OR..
; ;
lda $1,s lda $0,s
; and #$000f not necessary with pure green ; and #$000f not necessary with pure green
ora #$000c ora #$000c
sta $1,s sta $0,s
lda $3,s lda $2,s
; and #$f0f0 not necessary with pure green ; and #$f0f0 not necessary with pure green
ora #$c0c0 ora #$c0c0
sta $3,s sta $2,s
lda $a1,s lda $a0,s
and #$00f0 and #$00f0
ora #$8c04 ora #$8c04
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
and #$0ff0 and #$0ff0
ora #$c004 ora #$c004
sta $a3,s sta $a2,s
tsc tsc
adc #$140 adc #$140
tcs tcs
lda $1,s lda $0,s
and #$ff00 and #$ff00
ora #$00c8 ora #$00c8
sta $1,s sta $0,s
lda $3,s lda $2,s
and #$f00f and #$f00f
ora #$08c0 ora #$08c0
sta $3,s sta $2,s
lda $a0,s
lda $a1,s
and #$fff0 and #$fff0
ora #$0004 ora #$0004
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
and #$0fff and #$0fff
ora #$4000 ora #$4000
sta $a3,s sta $a2,s
tsc tsc
adc #$140 adc #$140
tcs tcs
lda $1,s lda $0,s
and #$0f0f and #$0f0f
ora #$40c0 ora #$40c0
sta $1,s sta $0,s
lda $3,s lda $2,s
and #$f0f0 and #$f0f0
ora #$0404 ora #$0404
sta $3,s sta $2,s
lda $a1,s lda $a0,s
and #$f0f0 and #$f0f0
ora #$0c08 ora #$0c08
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
and #$0ff0 and #$0ff0
ora #$800c ora #$800c
sta $a3,s sta $a2,s
tsc tsc
adc #$140 adc #$140
tcs tcs
lda $1,s lda $0,s
and #$0f00 and #$0f00
ora #$404c ora #$404c
sta $1,s sta $0,s
lda $3,s lda $2,s
; and #$0fff not necessary with pure green ; and #$0fff not necessary with pure green
ora #$c000 ora #$c000
sta $3,s sta $2,s
lda $a1,s lda $a0,s
; and #$f0f0 not necessary with pure green ; and #$f0f0 not necessary with pure green
ora #$0c0c ora #$0c0c
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
and #$ff00 and #$ff00
ora #$0084 ora #$0084
sta $a3,s sta $a2,s
_spriteFooter _spriteFooter
rtl rtl
explosion6 entry explosion6 entry
dex
dex
dex
dex
_spriteHeader _spriteHeader
; $c - Green ; $c - Green
@ -573,87 +546,87 @@ explosion6 entry
; .O.O|R.R. ; .O.O|R.R.
; ;
lda $1,s lda $0,s
and #$f0f0 and #$f0f0
ora #$0c08 ora #$0c08
sta $1,s sta $0,s
lda $3,s lda $2,s
; and #$0fff not necessary with pure green ; and #$0fff not necessary with pure green
ora #$c000 ora #$c000
sta $3,s sta $2,s
lda $a1,s lda $a0,s
and #$0f0f and #$0f0f
ora #$c040 ora #$c040
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
and #$f000 and #$f000
ora #$0484 ora #$0484
sta $a3,s sta $a2,s
tsc tsc
adc #$140 adc #$140
tcs tcs
lda $a1,s lda $a0,s
; and #$ff0f not necessary with pure green ; and #$ff0f not necessary with pure green
ora #$00c0 ora #$00c0
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
; and #$0fff not necessary with pure green ; and #$0fff not necessary with pure green
ora #$c000 ora #$c000
sta $a3,s sta $a2,s
tsc tsc
adc #$140 adc #$140
tcs tcs
lda $1,s lda $0,s
and #$fff0 and #$fff0
ora #$0008 ora #$0008
sta $1,s sta $0,s
lda $3,s lda $2,s
; and #$f0ff not necessary with pure green ; and #$f0ff not necessary with pure green
ora #$0c00 ora #$0c00
sta $3,s sta $2,s
lda $a1,s lda $a0,s
and #$fff0 and #$fff0
ora #$0008 ora #$0008
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
and #$0fff and #$0fff
ora #$8000 ora #$8000
sta $a3,s sta $a2,s
tsc tsc
adc #$140 adc #$140
tcs tcs
lda $1,s lda $0,s
and #$0f0f and #$0f0f
ora #$c040 ora #$c040
sta $1,s sta $0,s
lda $3,s lda $2,s
; and #$f0ff not necessary with pure green ; and #$f0ff not necessary with pure green
ora #$0c00 ora #$0c00
sta $3,s sta $2,s
lda $a1,s lda $a0,s
and #$f0f0 and #$f0f0
ora #$0808 ora #$0808
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
and #$0f0f and #$0f0f
ora #$4040 ora #$4040
sta $a3,s sta $a2,s
_spriteFooter _spriteFooter
rtl rtl

View File

@ -14,10 +14,6 @@ fleas start
flea1 entry flea1 entry
dex
dex
dex
dex
_spriteHeader _spriteHeader
; $c - Green ; $c - Green
@ -34,28 +30,28 @@ flea1 entry
; ....|.G.G|...G ; ....|.G.G|...G
; ;
lda $1,s lda $0,s
and #$00ff and #$00ff
ora #$8800 ora #$8800
sta $1,s sta $0,s
lda $3,s lda $2,s
and #$ff0f and #$ff0f
ora #$0080 ora #$0080
sta $3,s sta $2,s
lda $a1,s lda $a0,s
and #$00f0 and #$00f0
ora #$8804 ora #$8804
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
and #$ff00 and #$ff00
ora #$0088 ora #$0088
sta $a3,s sta $a2,s
tsc tsc
adc #$0142 adc #$0141
tcs tcs
pea $8844 pea $8844
@ -124,10 +120,6 @@ flea1 entry
flea2 entry flea2 entry
dex
dex
dex
dex
_spriteHeader _spriteHeader
; $c - Green ; $c - Green
@ -144,28 +136,28 @@ flea2 entry
; ....|.G.G|..G. ; ....|.G.G|..G.
; ;
lda $1,s lda $0,s
and #$00ff and #$00ff
ora #$8800 ora #$8800
sta $1,s sta $0,s
lda $3,s lda $2,s
and #$ff0f and #$ff0f
ora #$0080 ora #$0080
sta $3,s sta $2,s
lda $a1,s lda $a0,s
and #$00f0 and #$00f0
ora #$8804 ora #$8804
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
and #$ff00 and #$ff00
ora #$0088 ora #$0088
sta $a3,s sta $a2,s
tsc tsc
adc #$0142 adc #$0141
tcs tcs
pea $8844 pea $8844
@ -238,10 +230,6 @@ flea2 entry
flea3 entry flea3 entry
dex
dex
dex
dex
_spriteHeader _spriteHeader
; $c - Green ; $c - Green
@ -258,28 +246,28 @@ flea3 entry
; ....|...G|..G. ; ....|...G|..G.
; ;
lda $1,s lda $0,s
and #$00ff and #$00ff
ora #$8800 ora #$8800
sta $1,s sta $0,s
lda $3,s lda $2,s
and #$ff0f and #$ff0f
ora #$0080 ora #$0080
sta $3,s sta $2,s
lda $a1,s lda $a0,s
and #$00f0 and #$00f0
ora #$8804 ora #$8804
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
and #$ff00 and #$ff00
ora #$0088 ora #$0088
sta $a3,s sta $a2,s
tsc tsc
adc #$0142 adc #$0141
tcs tcs
pea $8844 pea $8844
@ -352,10 +340,6 @@ flea3 entry
flea4 entry flea4 entry
dex
dex
dex
dex
_spriteHeader _spriteHeader
; $c - Green ; $c - Green
@ -371,28 +355,28 @@ flea4 entry
; ....|..G.|.G.G ; ....|..G.|.G.G
; ....|...G|.G.G ; ....|...G|.G.G
; ;
lda $1,s lda $0,s
and #$00ff and #$00ff
ora #$8800 ora #$8800
sta $1,s sta $0,s
lda $3,s lda $2,s
and #$ff0f and #$ff0f
ora #$0080 ora #$0080
sta $3,s sta $2,s
lda $a1,s lda $a0,s
and #$00f0 and #$00f0
ora #$8804 ora #$8804
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
and #$ff00 and #$ff00
ora #$0088 ora #$0088
sta $a3,s sta $a2,s
tsc tsc
adc #$0142 adc #$0141
tcs tcs
pea $8844 pea $8844

View File

@ -29,91 +29,91 @@ score300 entry
; ....|....|.... ; ....|....|....
; ;
tsc tsc
adc #$013a adc #$0140
tcs tcs
lda $1,s lda $0,s
; and #$00f0 ; and #$00f0
ora #$8808 ora #$8808
sta $1,s sta $0,s
lda $3,s lda $2,s
; and #$00f0 ; and #$00f0
ora #$8808 ora #$8808
sta $3,s sta $2,s
lda $5,s lda $4,s
; and #$00f0 ; and #$00f0
ora #$8808 ora #$8808
sta $5,s sta $4,s
lda $a1,s lda $a0,s
; and #$f0ff ; and #$f0ff
ora #$0800 ora #$0800
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
; and #$f0f0 ; and #$f0f0
ora #$0808 ora #$0808
sta $a3,s sta $a2,s
lda $a5,s lda $a4,s
; and #$f0f0 ; and #$f0f0
ora #$0808 ora #$0808
sta $a5,s sta $a4,s
tsc tsc
adc #$0140 adc #$0140
tcs tcs
lda $1,s lda $0,s
; and #$00f0 ; and #$00f0
ora #$8808 ora #$8808
sta $1,s sta $0,s
lda $3,s lda $2,s
; and #$f0f0 ; and #$f0f0
ora #$0808 ora #$0808
sta $3,s sta $2,s
lda $5,s lda $4,s
; and #$f0f0 ; and #$f0f0
ora #$0808 ora #$0808
sta $5,s sta $4,s
lda $a1,s lda $a0,s
; and #$f0ff ; and #$f0ff
ora #$0800 ora #$0800
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
; and #$f0f0 ; and #$f0f0
ora #$0808 ora #$0808
sta $a3,s sta $a2,s
lda $a5,s lda $a4,s
; and #$f0f0 ; and #$f0f0
ora #$0808 ora #$0808
sta $a5,s sta $a4,s
tsc tsc
adc #$0140 adc #$0140
tcs tcs
lda $1,s lda $0,s
; and #$00f0 ; and #$00f0
ora #$8808 ora #$8808
sta $1,s sta $0,s
lda $3,s lda $2,s
; and #$00f0 ; and #$00f0
ora #$8808 ora #$8808
sta $3,s sta $2,s
lda $5,s lda $4,s
; and #$00f0 ; and #$00f0
ora #$8808 ora #$8808
sta $5,s sta $4,s
_spriteFooter _spriteFooter
rtl rtl
@ -137,91 +137,91 @@ score600 entry
; ;
tsc tsc
adc #$013a adc #$0140
tcs tcs
lda $1,s lda $0,s
; and #$00f0 ; and #$00f0
ora #$8808 ora #$8808
sta $1,s sta $0,s
lda $3,s lda $2,s
; and #$00f0 ; and #$00f0
ora #$8808 ora #$8808
sta $3,s sta $2,s
lda $5,s lda $4,s
; and #$00f0 ; and #$00f0
ora #$8808 ora #$8808
sta $5,s sta $4,s
lda $a1,s lda $a0,s
; and #$fff0 ; and #$fff0
ora #$0008 ora #$0008
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
; and #$f0f0 ; and #$f0f0
ora #$0808 ora #$0808
sta $a3,s sta $a2,s
lda $a5,s lda $a4,s
; and #$f0f0 ; and #$f0f0
ora #$0808 ora #$0808
sta $a5,s sta $a4,s
tsc tsc
adc #$0140 adc #$0140
tcs tcs
lda $1,s lda $0,s
; and #$00f0 ; and #$00f0
ora #$8808 ora #$8808
sta $1,s sta $0,s
lda $3,s lda $2,s
; and #$f0f0 ; and #$f0f0
ora #$0808 ora #$0808
sta $3,s sta $2,s
lda $5,s lda $4,s
; and #$f0f0 ; and #$f0f0
ora #$0808 ora #$0808
sta $5,s sta $4,s
lda $a1,s lda $a0,s
; and #$f0f0 ; and #$f0f0
ora #$0808 ora #$0808
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
; and #$f0f0 ; and #$f0f0
ora #$0808 ora #$0808
sta $a3,s sta $a2,s
lda $a5,s lda $a4,s
; and #$f0f0 ; and #$f0f0
ora #$0808 ora #$0808
sta $a5,s sta $a4,s
tsc tsc
adc #$0140 adc #$0140
tcs tcs
lda $1,s lda $0,s
; and #$00f0 ; and #$00f0
ora #$8808 ora #$8808
sta $1,s sta $0,s
lda $3,s lda $2,s
; and #$00f0 ; and #$00f0
ora #$8808 ora #$8808
sta $3,s sta $2,s
lda $5,s lda $4,s
; and #$00f0 ; and #$00f0
ora #$8808 ora #$8808
sta $5,s sta $4,s
_spriteFooter _spriteFooter
rtl rtl
@ -245,91 +245,91 @@ score900 entry
; ;
tsc tsc
adc #$013a adc #$0140
tcs tcs
lda $1,s lda $0,s
; and #$00f0 ; and #$00f0
ora #$8808 ora #$8808
sta $1,s sta $0,s
lda $3,s lda $2,s
; and #$00f0 ; and #$00f0
ora #$8808 ora #$8808
sta $3,s sta $2,s
lda $5,s lda $4,s
; and #$00f0 ; and #$00f0
ora #$8808 ora #$8808
sta $5,s sta $4,s
lda $a1,s lda $a0,s
; and #$f0f0 ; and #$f0f0
ora #$0808 ora #$0808
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
; and #$f0f0 ; and #$f0f0
ora #$0808 ora #$0808
sta $a3,s sta $a2,s
lda $a5,s lda $a4,s
; and #$f0f0 ; and #$f0f0
ora #$0808 ora #$0808
sta $a5,s sta $a4,s
tsc tsc
adc #$0140 adc #$0140
tcs tcs
lda $1,s lda $0,s
; and #$00f0 ; and #$00f0
ora #$8808 ora #$8808
sta $1,s sta $0,s
lda $3,s lda $2,s
; and #$f0f0 ; and #$f0f0
ora #$0808 ora #$0808
sta $3,s sta $2,s
lda $5,s lda $4,s
; and #$f0f0 ; and #$f0f0
ora #$0808 ora #$0808
sta $5,s sta $4,s
lda $a1,s lda $a0,s
; and #$f0ff ; and #$f0ff
ora #$0800 ora #$0800
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
; and #$f0f0 ; and #$f0f0
ora #$0808 ora #$0808
sta $a3,s sta $a2,s
lda $a5,s lda $a4,s
; and #$f0f0 ; and #$f0f0
ora #$0808 ora #$0808
sta $a5,s sta $a4,s
tsc tsc
adc #$0140 adc #$0140
tcs tcs
lda $1,s lda $0,s
; and #$00f0 ; and #$00f0
ora #$8808 ora #$8808
sta $1,s sta $0,s
lda $3,s lda $2,s
; and #$00f0 ; and #$00f0
ora #$8808 ora #$8808
sta $3,s sta $2,s
lda $5,s lda $4,s
; and #$00f0 ; and #$00f0
ora #$8808 ora #$8808
sta $5,s sta $4,s
_spriteFooter _spriteFooter
rtl rtl

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

268
BuGS/sprites/ship.s Normal file
View File

@ -0,0 +1,268 @@
;
; ship.s
; BuGS
;
; Created by Jeremy Rand on 2020-07-09.
;Copyright © 2020 Jeremy Rand. All rights reserved.
;
case on
mcopy ship.macros
keep ship
ship start
drawShip entry
_spriteHeader
; $c - Green
; $4 - Red
; $8 - Off-white
;
; ...O|....
; ..OO|O...
; .RRO|RR..
; ORRO|RRO.
; OOOO|OOO.
; .OOO|OO..
; ..OO|O...
; ..OO|O...
lda $0,s
_collision #$0c00
and #$f0ff
ora #$0800
sta $0,s
lda $a0,s
_collision #$cc00
and #$00ff
ora #$8800
sta $a0,s
lda $a2,s
_collision #$00c0
and #$ff0f
ora #$0080
sta $a2,s
tsc
adc #$140
tcs
lda $0,s
_collision #$cc0c
and #$00f0
ora #$4804
sta $0,s
lda $2,s
_collision #$00cc
and #$ff00
ora #$0044
sta $2,s
lda $a0,s
_collision #$cccc
lda #$4884
sta $a0,s
lda $a2,s
_collision #$c0cc
and #$0f00
ora #$8044
sta $a2,s
tsc
adc #$140
tcs
lda $a0,s
_collision #$cccc
lda #$8888
sta $0,s
lda $2,s
_collision #$c0cc
and #$0f00
ora #$8088
sta $2,s
lda $a0,s
_collision #$cc0c
and #$00f0
ora #$8808
sta $a0,s
lda $a2,s
_collision #$00cc
and #$ff00
ora #$0088
sta $a2,s
tsc
adc #$140
tcs
lda $0,s
_collision #$cc00
and #$00ff
ora #$8800
sta $0,s
lda $2,s
_collision #$00c0
and #$ff0f
ora #$0080
sta $2,s
lda $a0,s
_collision #$cc00
and #$00ff
ora #$8800
sta $a0,s
lda $a2,s
_collision #$00c0
and #$ff0f
ora #$0080
sta $a2,s
_spriteFooter
lda collision
rtl
drawShipShift entry
_spriteHeader
; $c - Green
; $4 - Red
; $8 - Off-white
;
; ....|O...
; ...O|OO..
; ..RR|ORR.
; .ORR|ORRO
; .OOO|OOOO
; ..OO|OOO.
; ...O|OO..
; ...O|OO..
lda $2,s
_collision #$00c0
and #$ff0f
ora #$0080
sta $2,s
lda $a0,s
_collision #$0c00
and #$f0ff
ora #$0800
sta $a0,s
lda $a2,s
_collision #$00cc
and #$ff00
ora #$0088
sta $a2,s
tsc
adc #$140
tcs
lda $0,s
_collision #$cc00
and #$00ff
ora #$4400
sta $0,s
lda $2,s
_collision #$c0cc
and #$0f00
ora #$4084
sta $2,s
lda $a0,s
_collision #$cc0c
and #$00f0
lda #$4408
sta $a0,s
lda $a2,s
_collision #$cccc
lda #$4884
sta $a2,s
tsc
adc #$140
tcs
lda $a0,s
_collision #$cc0c
and #$00f0
lda #$8808
sta $0,s
lda $2,s
_collision #$cccc
lda #$8888
sta $2,s
lda $a0,s
_collision #$cc00
and #$00ff
ora #$8800
sta $a0,s
lda $a2,s
_collision #$c0cc
and #$0f00
ora #$8088
sta $a2,s
tsc
adc #$140
tcs
lda $0,s
_collision #$0c00
and #$f0ff
ora #$0800
sta $0,s
lda $2,s
_collision #$00cc
and #$ff00
ora #$0088
sta $2,s
lda $a0,s
_collision #$0c00
and #$f0ff
ora #$0800
sta $a0,s
lda $a2,s
_collision #$00cc
and #$ff00
ora #$0088
sta $a2,s
_spriteFooter
lda collision
rtl
clearShipCollision entry
lda #$0000
sta collision
rtl
backupStack dc i2'0'
collision dc i2'0'
end

254
BuGS/sprites/shot.s Normal file
View File

@ -0,0 +1,254 @@
;
; shot.s
; BuGS
;
; Created by Jeremy Rand on 2020-07-09.
;Copyright © 2020 Jeremy Rand. All rights reserved.
;
case on
mcopy shot.macros
keep shot
shot start
drawHalfShot entry
_spriteHeader
; $c - Green
; $4 - Red
; $8 - Off-white
;
; ....|....
; ....|....
; ....|....
; ....|....
; ....|....
; ...R|....
; ...R|....
; ...R|....
tsc
adc #$280
tcs
lda $a0,s
_collision #$0f00
and #$f0ff
ora #$0400
sta $a0,s
tsc
adc #$140
tcs
lda $0,s
_collision #$0f00
and #$f0ff
ora #$0400
sta $0,s
lda $a0,s
_collision #$0f00
and #$f0ff
ora #$0400
sta $a0,s
_spriteFooter
lda collision
rtl
drawHalfShotShift entry
_spriteHeader
; $c - Green
; $4 - Red
; $8 - Off-white
;
; ....|....
; ....|....
; ....|....
; ....|....
; ....|....
; ....|R...
; ....|R...
; ....|R...
tsc
adc #$280
tcs
lda $a2,s
_collision #$00f0
and #$ff0f
ora #$0040
sta $a2,s
tsc
adc #$140
tcs
lda $2,s
_collision #$00f0
and #$ff0f
ora #$0040
sta $2,s
lda $a2,s
_collision #$00f0
and #$ff0f
ora #$0040
sta $a2,s
_spriteFooter
lda collision
rtl
drawShot entry
_spriteHeader
; $c - Green
; $4 - Red
; $8 - Off-white
;
; ....|....
; ....|....
; ...R|....
; ...R|....
; ...R|....
; ...R|....
; ...R|....
; ...R|....
tsc
adc #$140
tcs
lda $0,s
_collision #$0f00
and #$f0ff
ora #$0400
sta $0,s
lda $a0,s
_collision #$0f00
and #$f0ff
ora #$0400
sta $a0,s
tsc
adc #$140
tcs
lda $0,s
_collision #$0f00
and #$f0ff
ora #$0400
sta $0,s
lda $a0,s
_collision #$0f00
and #$f0ff
ora #$0400
sta $a0,s
tsc
adc #$140
tcs
lda $0,s
_collision #$0f00
and #$f0ff
ora #$0400
sta $0,s
lda $a0,s
_collision #$0f00
and #$f0ff
ora #$0400
sta $a0,s
_spriteFooter
lda collision
rtl
drawShotShift entry
_spriteHeader
; $c - Green
; $4 - Red
; $8 - Off-white
;
; ....|....
; ....|....
; ....|R...
; ....|R...
; ....|R...
; ....|R...
; ....|R...
; ....|R...
tsc
adc #$140
tcs
lda $2,s
_collision #$00f0
and #$ff0f
ora #$0040
sta $2,s
lda $a2,s
_collision #$00f0
and #$ff0f
ora #$0040
sta $a2,s
tsc
adc #$140
tcs
lda $2,s
_collision #$00f0
and #$ff0f
ora #$0040
sta $2,s
lda $a2,s
_collision #$00f0
and #$ff0f
ora #$0040
sta $a2,s
tsc
adc #$140
tcs
lda $2,s
_collision #$00f0
and #$ff0f
ora #$0040
sta $2,s
lda $a2,s
_collision #$00f0
and #$ff0f
ora #$0040
sta $a2,s
_spriteFooter
lda collision
rtl
backupStack dc i2'0'
collision dc i2'0'
end

File diff suppressed because it is too large Load Diff

View File

@ -47,18 +47,18 @@
; .RRG|G... ; .RRG|G...
; ....|.... ; ....|....
lda $a1,s lda $a0,s
and #$00f0 and #$00f0
ora #$4c04 ora #$4c04
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
; and #$ff0f not necessary with pure green ; and #$ff0f not necessary with pure green
ora #$00c0 ora #$00c0
sta $a3,s sta $a2,s
tsc tsc
adc #$142 adc #$141
tcs tcs
pea $4cc4 pea $4cc4
@ -96,18 +96,18 @@
sta $a3,s sta $a3,s
tsc tsc
adc #$140 adc #$141
tcs tcs
lda $1,s lda $0,s
and #$00f0 and #$00f0
ora #$4c04 ora #$4c04
sta $1,s sta $0,s
lda $3,s lda $2,s
; and #$ff0f not necessary with pure green ; and #$ff0f not necessary with pure green
ora #$00c0 ora #$00c0
sta $3,s sta $2,s
mend mend
@ -127,73 +127,73 @@
; ..RR|GG.. ; ..RR|GG..
; ....|.... ; ....|....
lda $a1,s lda $a0,s
and #$00ff and #$00ff
ora #$4400 ora #$4400
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
; and #$ff00 not necessary with pure green ; and #$ff00 not necessary with pure green
ora #$00cc ora #$00cc
sta $a3,s sta $a2,s
tsc tsc
adc #$140 adc #$140
tcs tcs
lda $1,s lda $0,s
and #$00f0 and #$00f0
ora #$440c ora #$440c
sta $1,s sta $0,s
lda $3,s lda $2,s
; and #$0f00 not necessary with pure green ; and #$0f00 not necessary with pure green
ora #$c0cc ora #$c0cc
sta $3,s sta $2,s
lda $a1,s lda $a0,s
; and #$00f0 not necessary with pure green ; and #$00f0 not necessary with pure green
ora #$cc0c ora #$cc0c
sta $a1,s sta $a0,s
lda #$cccc lda #$cccc
sta $a3,s sta $a2,s
tsc tsc
adc #$140 adc #$140
tcs tcs
lda $1,s lda $0,s
; and #$00f0 not necessary with pure green ; and #$00f0 not necessary with pure green
ora #$cc0c ora #$cc0c
sta $1,s sta $0,s
lda #$cccc lda #$cccc
sta $3,s sta $2,s
lda $a1,s lda $a0,s
and #$00f0 and #$00f0
ora #$440c ora #$440c
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
; and #$0f00 not necessary with pure green ; and #$0f00 not necessary with pure green
ora #$c0cc ora #$c0cc
sta $a3,s sta $a2,s
tsc tsc
adc #$140 adc #$140
tcs tcs
lda $1,s lda $0,s
and #$00ff and #$00ff
ora #$4400 ora #$4400
sta $1,s sta $0,s
lda $3,s lda $2,s
; and #$ff00 not necessary with pure green ; and #$ff00 not necessary with pure green
ora #$00cc ora #$00cc
sta $3,s sta $2,s
mend mend
@ -214,18 +214,18 @@
; .GGG|G... ; .GGG|G...
; ....|.... ; ....|....
lda $a1,s lda $a0,s
; and #$00f0 not necessary with pure green ; and #$00f0 not necessary with pure green
ora #$cc0c ora #$cc0c
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
; and #$ff0f not necessary with pure green ; and #$ff0f not necessary with pure green
ora #$00c0 ora #$00c0
sta $a3,s sta $a2,s
tsc tsc
adc #$142 adc #$141
tcs tcs
pea $cccc pea $cccc
@ -263,18 +263,18 @@
sta $a3,s sta $a3,s
tsc tsc
adc #$140 adc #$141
tcs tcs
lda $1,s lda $0,s
; and #$00f0 not necessary with pure green ; and #$00f0 not necessary with pure green
ora #$cc0c ora #$cc0c
sta $1,s sta $0,s
lda $3,s lda $2,s
; and #$ff0f not necessary with pure green ; and #$ff0f not necessary with pure green
ora #$00c0 ora #$00c0
sta $3,s sta $2,s
mend mend
@ -295,73 +295,73 @@
; ..GG|GG.. ; ..GG|GG..
; ....|.... ; ....|....
lda $a1,s lda $a0,s
; and #$00ff not necessary with pure green ; and #$00ff not necessary with pure green
ora #$cc00 ora #$cc00
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
; and #$ff00 not necessary with pure green ; and #$ff00 not necessary with pure green
ora #$00cc ora #$00cc
sta $a3,s sta $a2,s
tsc tsc
adc #$140 adc #$140
tcs tcs
lda $1,s lda $0,s
; and #$00f0 not necessary with pure green ; and #$00f0 not necessary with pure green
ora #$cc0c ora #$cc0c
sta $1,s sta $0,s
lda $3,s lda $2,s
; and #$0f00 not necessary with pure green ; and #$0f00 not necessary with pure green
ora #$c0cc ora #$c0cc
sta $3,s sta $2,s
lda $a1,s lda $a0,s
; and #$00f0 not necessary with pure green ; and #$00f0 not necessary with pure green
ora #$cc0c ora #$cc0c
sta $a1,s sta $a0,s
lda #$cccc lda #$cccc
sta $a3,s sta $a2,s
tsc tsc
adc #$140 adc #$140
tcs tcs
lda $1,s lda $0,s
; and #$00f0 not necessary with pure green ; and #$00f0 not necessary with pure green
ora #$cc0c ora #$cc0c
sta $1,s sta $0,s
lda #$cccc lda #$cccc
sta $3,s sta $2,s
lda $a1,s lda $a0,s
; and #$00f0 not necessary with pure green ; and #$00f0 not necessary with pure green
ora #$cc0c ora #$cc0c
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
; and #$0f00 not necessary with pure green ; and #$0f00 not necessary with pure green
ora #$c0cc ora #$c0cc
sta $a3,s sta $a2,s
tsc tsc
adc #$140 adc #$140
tcs tcs
lda $1,s lda $0,s
; and #$00ff not necessary with pure green ; and #$00ff not necessary with pure green
ora #$cc00 ora #$cc00
sta $1,s sta $0,s
lda $3,s lda $2,s
; and #$ff00 not necessary with pure green ; and #$ff00 not necessary with pure green
ora #$00cc ora #$00cc
sta $3,s sta $2,s
mend mend
@ -382,69 +382,69 @@
; ...G|GRR. ; ...G|GRR.
; ....|.... ; ....|....
lda $a1,s lda $a0,s
; and #$f0ff not necessary with pure green ; and #$f0ff not necessary with pure green
ora #$0c00 ora #$0c00
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
and #$0f00 and #$0f00
ora #$40c4 ora #$40c4
sta $a3,s sta $a2,s
tsc tsc
adc #$140 adc #$140
tcs tcs
lda $1,s lda $0,s
; and #$00ff not necessary with pure green ; and #$00ff not necessary with pure green
ora #$cc00 ora #$cc00
sta $1,s sta $0,s
lda #$4cc4 lda #$4cc4
sta $3,s sta $2,s
lda $a1,s lda $a0,s
; and #$00f0 not necessary with pure green ; and #$00f0 not necessary with pure green
ora #$cc0c ora #$cc0c
sta $a1,s sta $a0,s
lda #$cccc lda #$cccc
sta $a3,s sta $a2,s
tsc tsc
adc #$140 adc #$140
tcs tcs
lda $1,s lda $0,s
; and #$00f0 not necessary with pure green ; and #$00f0 not necessary with pure green
ora #$cc0c ora #$cc0c
sta $1,s sta $0,s
lda #$cccc lda #$cccc
sta $3,s sta $2,s
lda $a1,s lda $a0,s
; and #$00ff not necessary with pure green ; and #$00ff not necessary with pure green
ora #$cc00 ora #$cc00
sta $a1,s sta $a0,s
lda #$4cc4 lda #$4cc4
sta $a3,s sta $a2,s
tsc tsc
adc #$140 adc #$140
tcs tcs
lda $1,s lda $0,s
; and #$f0ff not necessary with pure green ; and #$f0ff not necessary with pure green
ora #$0c00 ora #$0c00
sta $1,s sta $0,s
lda $3,s lda $2,s
and #$0f00 and #$0f00
ora #$40c4 ora #$40c4
sta $3,s sta $2,s
mend mend
@ -465,40 +465,40 @@
; ..GG|RR.. ; ..GG|RR..
; ....|.... ; ....|....
lda $a1,s lda $a0,s
; and #$00ff not necessary with pure green ; and #$00ff not necessary with pure green
ora #$cc00 ora #$cc00
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
and #$ff00 and #$ff00
ora #$0044 ora #$0044
sta $a3,s sta $a2,s
tsc tsc
adc #$140 adc #$140
tcs tcs
lda $1,s lda $0,s
; and #$00f0 not necessary with pure green ; and #$00f0 not necessary with pure green
ora #$cc0c ora #$cc0c
sta $1,s sta $0,s
lda $3,s lda $2,s
and #$0f00 and #$0f00
ora #$c044 ora #$c044
sta $3,s sta $2,s
lda #$cccc lda #$cccc
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
; and #$0f00 not necessary with pure green ; and #$0f00 not necessary with pure green
ora #$c0cc ora #$c0cc
sta $a3,s sta $a2,s
tsc tsc
adc #$142 adc #$141
tcs tcs
pea $cccc pea $cccc
@ -519,18 +519,18 @@
sta $a3,s sta $a3,s
tsc tsc
adc #$140 adc #$141
tcs tcs
lda $1,s lda $0,s
; and #$00ff not necessary with pure green ; and #$00ff not necessary with pure green
ora #$cc00 ora #$cc00
sta $1,s sta $0,s
lda $3,s lda $2,s
and #$ff00 and #$ff00
ora #$0044 ora #$0044
sta $3,s sta $2,s
mend mend
@ -551,69 +551,69 @@
; ...G|GGG. ; ...G|GGG.
; ....|.... ; ....|....
lda $a1,s lda $a0,s
; and #$f0ff not necessary with pure green ; and #$f0ff not necessary with pure green
ora #$0c00 ora #$0c00
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
; and #$0f00 not necessary with pure green ; and #$0f00 not necessary with pure green
ora #$c0cc ora #$c0cc
sta $a3,s sta $a2,s
tsc tsc
adc #$140 adc #$140
tcs tcs
lda $1,s lda $0,s
; and #$00ff not necessary with pure green ; and #$00ff not necessary with pure green
ora #$cc00 ora #$cc00
sta $1,s sta $0,s
lda #$cccc lda #$cccc
sta $3,s sta $2,s
lda $a1,s lda $a0,s
; and #$00f0 not necessary with pure green ; and #$00f0 not necessary with pure green
ora #$cc0c ora #$cc0c
sta $a1,s sta $a0,s
lda #$cccc lda #$cccc
sta $a3,s sta $a2,s
tsc tsc
adc #$140 adc #$140
tcs tcs
lda $1,s lda $0,s
; and #$00f0 not necessary with pure green ; and #$00f0 not necessary with pure green
ora #$cc0c ora #$cc0c
sta $1,s sta $0,s
lda #$cccc lda #$cccc
sta $3,s sta $2,s
lda $a1,s lda $a0,s
; and #$00ff not necessary with pure green ; and #$00ff not necessary with pure green
ora #$cc00 ora #$cc00
sta $a1,s sta $a0,s
lda #$cccc lda #$cccc
sta $a3,s sta $a2,s
tsc tsc
adc #$140 adc #$140
tcs tcs
lda $1,s lda $0,s
; and #$f0ff not necessary with pure green ; and #$f0ff not necessary with pure green
ora #$0c00 ora #$0c00
sta $1,s sta $0,s
lda $3,s lda $2,s
; and #$0f00 not necessary with pure green ; and #$0f00 not necessary with pure green
ora #$c0cc ora #$c0cc
sta $3,s sta $2,s
mend mend
@ -634,40 +634,40 @@
; ..GG|GG.. ; ..GG|GG..
; ....|.... ; ....|....
lda $a1,s lda $a0,s
; and #$00ff not necessary with pure green ; and #$00ff not necessary with pure green
ora #$cc00 ora #$cc00
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
; and #$ff00 not necessary with pure green ; and #$ff00 not necessary with pure green
ora #$00cc ora #$00cc
sta $a3,s sta $a2,s
tsc tsc
adc #$140 adc #$140
tcs tcs
lda $1,s lda $0,s
; and #$00f0 not necessary with pure green ; and #$00f0 not necessary with pure green
ora #$cc0c ora #$cc0c
sta $1,s sta $0,s
lda $3,s lda $2,s
; and #$0f00 not necessary with pure green ; and #$0f00 not necessary with pure green
ora #$c0cc ora #$c0cc
sta $3,s sta $2,s
lda #$cccc lda #$cccc
sta $a1,s sta $a0,s
lda $a3,s lda $a2,s
; and #$0f00 not necessary with pure green ; and #$0f00 not necessary with pure green
ora #$c0cc ora #$c0cc
sta $a3,s sta $a2,s
tsc tsc
adc #$142 adc #$141
tcs tcs
pea $cccc pea $cccc
@ -688,17 +688,30 @@
sta $a3,s sta $a3,s
tsc tsc
adc #$140 adc #$141
tcs tcs
lda $1,s lda $0,s
; and #$00ff not necessary with pure green ; and #$00ff not necessary with pure green
ora #$cc00 ora #$cc00
sta $1,s sta $0,s
lda $3,s lda $2,s
; and #$ff00 not necessary with pure green ; and #$ff00 not necessary with pure green
ora #$00cc ora #$00cc
sta $3,s sta $2,s
mend
macro
_collision &mask
tax
and #$0c00
beq ~&SYSCNT
sta collision
~&SYSCNT anop
txa
mend mend