diff --git a/BuGS/game.s b/BuGS/game.s index 9f63332..f180cc1 100644 --- a/BuGS/game.s +++ b/BuGS/game.s @@ -342,6 +342,36 @@ game start ldx #$661b jsl leftHead5s + ldx #$6623 + jsl leftBody1 + + ldx #$662b + jsl leftBody1s + + ldx #$6633 + jsl leftBody2 + + ldx #$663b + jsl leftBody2s + + ldx #$6643 + jsl leftBody3 + + ldx #$664b + jsl leftBody3s + + ldx #$6653 + jsl leftBody4 + + ldx #$665b + jsl leftBody4s + + ldx #$6663 + jsl leftBody5 + + ldx #$666b + jsl leftBody5s + jsl waitForKey rtl diff --git a/BuGS/sprites/segments.s b/BuGS/sprites/segments.s index b34f309..b811a39 100644 --- a/BuGS/sprites/segments.s +++ b/BuGS/sprites/segments.s @@ -372,6 +372,366 @@ leftHead5s entry rtl +leftBody1 entry + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ...O|.... +; .GGG|G... +; GGGG|GG.. +; GGGG|GGG. +; GGGG|GGG. +; GGGG|GG.. +; .GGG|G... +; ...O|.... + + lda $1,s + and #$f0ff + ora #$0800 + sta $1,s + + _leftBody + + lda $a1,s + and #$f0ff + ora #$0800 + sta $a1,s + + _spriteFooter + rtl + + +leftBody1s entry + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ....|O... +; ..GG|GG.. +; .GGG|GGG. +; .GGG|GGGG +; .GGG|GGGG +; .GGG|GGG. +; ..GG|GG.. +; ....|O... + + lda $3,s + and #$ff0f + ora #$0080 + sta $3,s + + _leftBodyShift + + lda $a3,s + and #$ff0f + ora #$0080 + sta $a3,s + + _spriteFooter + rtl + + +leftBody2 entry + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ....|O... +; .GGG|G... +; GGGG|GG.. +; GGGG|GGG. +; GGGG|GGG. +; GGGG|GG.. +; .GGG|G... +; ....|O... + + lda $3,s + and #$ff0f + ora #$0080 + sta $3,s + + _leftBody + + lda $a3,s + and #$ff0f + ora #$0080 + sta $a3,s + + _spriteFooter + rtl + + +leftBody2s entry + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ....|.O.. +; ..GG|GG.. +; .GGG|GGG. +; .GGG|GGGG +; .GGG|GGGG +; .GGG|GGG. +; ..GG|GG.. +; ....|.O.. + + lda $3,s + and #$fff0 + ora #$0008 + sta $3,s + + _leftBodyShift + + lda $a3,s + and #$fff0 + ora #$0008 + sta $a3,s + + _spriteFooter + rtl + + +leftBody3 entry + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ....|.O.. +; .GGG|G... +; GGGG|GG.. +; GGGG|GGG. +; GGGG|GGG. +; GGGG|GG.. +; .GGG|G... +; ....|.O.. + + lda $3,s + and #$fff0 + ora #$0008 + sta $3,s + + _leftBody + + lda $a3,s + and #$fff0 + ora #$0008 + sta $a3,s + + _spriteFooter + rtl + + +leftBody3s entry + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ....|..O. +; ..GG|GG.. +; .GGG|GGG. +; .GGG|GGGG +; .GGG|GGGG +; .GGG|GGG. +; ..GG|GG.. +; ....|..O. + + lda $3,s + and #$0fff + ora #$8000 + sta $3,s + + _leftBodyShift + + lda $a3,s + and #$0fff + ora #$8000 + sta $a3,s + + _spriteFooter + rtl + + +leftBody4 entry + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ..O.|.... +; .GGG|G... +; GGGG|GG.. +; GGGG|GGG. +; GGGG|GGG. +; GGGG|GG.. +; .GGG|G... +; ..O.|.... + + lda $1,s + and #$0fff + ora #$8000 + sta $1,s + + _leftBody + + lda $a1,s + and #$0fff + ora #$8000 + sta $a1,s + + _spriteFooter + rtl + + +leftBody4s entry + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ...O|.... +; ..GG|GG.. +; .GGG|GGG. +; .GGG|GGGG +; .GGG|GGGG +; .GGG|GGG. +; ..GG|GG.. +; ...O|.... + + lda $1,s + and #$f0ff + ora #$0800 + sta $1,s + + _leftBodyShift + + lda $a1,s + and #$f0ff + ora #$0800 + sta $a1,s + + _spriteFooter + rtl + + +leftBody5 entry + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; .O..|.... +; .GGG|G... +; GGGG|GG.. +; GGGG|GGG. +; GGGG|GGG. +; GGGG|GG.. +; .GGG|G... +; .O..|.... + + lda $1,s + and #$fff0 + ora #$0008 + sta $1,s + + _leftBody + + lda $a1,s + and #$fff0 + ora #$0008 + sta $a1,s + + _spriteFooter + rtl + + +leftBody5s entry + dex + dex + dex + dex + _spriteHeader + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ..O.|.... +; ..GG|GG.. +; .GGG|GGG. +; .GGG|GGGG +; .GGG|GGGG +; .GGG|GGG. +; ..GG|GG.. +; ..O.|.... + + lda $1,s + and #$0fff + ora #$8000 + sta $1,s + + _leftBodyShift + + 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 index a3ad74d..7a84afd 100644 --- a/BuGS/sprites/sprites.macros +++ b/BuGS/sprites/sprites.macros @@ -196,3 +196,170 @@ sta $3,s mend + + + macro + _leftBody + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ....|.... +; .GGG|G... +; GGGG|GG.. +; GGGG|GGG. +; GGGG|GGG. +; GGGG|GG.. +; .GGG|G... +; ....|.... + + lda $a1,s +;; and #$00f0 not necessary with pure green + ora #$cc0c + sta $a1,s + + lda $a3,s +; and #$ff0f not necessary with pure green + ora #$00c0 + sta $a3,s + + tsc + adc #$142 + tcs + + pea $cccc + + 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 #$cccc + 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 not necessary with pure green + ora #$cc0c + sta $1,s + + lda $3,s +; and #$ff0f not necessary with pure green + ora #$00c0 + sta $3,s + + mend + + macro + _leftBodyShift + +; $c - Green +; $4 - Red +; $8 - Off-white +; +; ....|.... +; ..GG|GG.. +; .GGG|GGG. +; .GGG|GGGG +; .GGG|GGGG +; .GGG|GGG. +; ..GG|GG.. +; ....|.... + + lda $a1,s +; and #$00ff not necessary with pure green + ora #$cc00 + 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 not necessary with pure green + ora #$cc0c + 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 not necessary with pure green + ora #$cc0c + 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 not necessary with pure green + ora #$cc00 + sta $1,s + + lda $3,s +; and #$ff00 not necessary with pure green + ora #$00cc + sta $3,s + + mend