Add Cat Vibing sprite demo with Ievan Polkka SID arrangement

This commit is contained in:
Christian Johannesen 2026-10-29 20:52:53 +01:00
parent 159fca85e4
commit aeb034e258
8 changed files with 1070 additions and 2 deletions

1
.gitignore vendored
View file

@ -1 +1,2 @@
node_modules/
output/playwright/

View file

@ -1,6 +1,6 @@
# C64 Program Collection
Forty-two small, polished programs for the Commodore 64, written in stock Commodore BASIC V2 and 6502 machine code. The collection mixes arcade action, puzzles, simulations, mathematics, physics, creative tools, music, utilities, and visual effects. Every entry is self-contained and runs on an ordinary PAL or NTSC C64 without a cartridge or BASIC extension.
Forty-three small, polished programs for the Commodore 64, written in stock Commodore BASIC V2 and 6502 machine code. The collection mixes arcade action, puzzles, simulations, mathematics, physics, creative tools, music, utilities, and visual effects. Every entry is self-contained and runs on an ordinary PAL or NTSC C64 without a cartridge or BASIC extension.
Browse and run the collection at [c64.p20.dev](https://c64.p20.dev).
@ -52,6 +52,10 @@ Browse and run the collection at [c64.p20.dev](https://c64.p20.dev).
| Ripple Chamber | 2026-10-29 | Demo | Machine Code | `1`-`3`, `C`, Space, `Q` | Watch luminous waves flow through a chamber of custom multicolor pixel patterns. | [ASM](ripple-chamber/ripple-chamber.asm) | [Run](https://c64.p20.dev/program/ripple-chamber) |
| Cat Vibing to Ievan Polkka | 2026-10-29 | Demo | Machine Code | `1`-`3`, `M`, `R`, Space, `Q` | A white sprite cat bobs along to a three-voice SID arrangement of the traditional Finnish polka, beside a park-bench drummer. | [ASM](cat-vibing/cat-vibing.asm) | [Run](https://c64.p20.dev/program/cat-vibing) |
Cat Vibing uses an original pixel drawing inspired by [CatJAM / Vibing Cat](https://knowyourmeme.com/memes/catjam-vibing-cat). Its SID arrangement plays the traditional Finnish melody **Ievan Polkka** (often written as “Levan Polka”), with newly written bass and percussion. See [Loituma's melody background](https://www.loituma.fi/en/ievan-polkka-en/) and the [traditional tune transcription](https://abcnotation.com/tunePage?a=trillian.mit.edu/~jc/music/abc/session/Oivan_Ilo/Ievan_Polkka/Ievan_Polkka-Bm-32-2/0000).
## Running the programs
Start the local browser app with Docker Compose:

1052
cat-vibing/cat-vibing.asm Normal file

File diff suppressed because it is too large Load diff

BIN
cat-vibing/cat-vibing.prg Normal file

Binary file not shown.

BIN
cat-vibing/screenshot.png Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 8.4 KiB

View file

@ -250,5 +250,11 @@
"description": "Watch luminous waves flow through a chamber of custom multicolor pixel patterns.",
"controls": [{"keys":["1","2","3"],"description":"Select wave speed"},{"keys":["C"],"description":"Change the color palette"},{"keys":["SPACE"],"description":"Pause or resume the waves"},{"keys":["Q"],"description":"Return to BASIC"}],
"path": "ripple-chamber/ripple-chamber.prg", "source": "ripple-chamber/ripple-chamber.asm"
},
{
"title": "Cat Vibing to Ievan Polkka", "category": "Demo", "language": "machine-code", "releaseDate": "2026-10-29",
"description": "A white sprite cat bobs along to a three-voice SID arrangement of the traditional Finnish polka, beside a park-bench drummer.",
"controls": [{"keys":["1","2","3"],"description":"Choose a relaxed, classic, or brisk polka tempo"},{"keys":["M"],"description":"Mute or restore the SID arrangement"},{"keys":["R"],"description":"Restart the tune and head bob together"},{"keys":["SPACE"],"description":"Pause or resume music and animation"},{"keys":["Q"],"description":"Return to BASIC"}],
"path": "cat-vibing/cat-vibing.prg", "source": "cat-vibing/cat-vibing.asm"
}
]

View file

@ -1,5 +1,9 @@
{
"ripple-chamber": { "captureAfterMs": 3000 },
"cat-vibing": {
"actions": [{ "key": "SPACE", "waitAfterMs": 6500 }],
"captureAfterMs": 200
},
"$default": {
"readyTimeoutMs": 60000,
"settleBeforeActionsMs": 5000,

View file

@ -18,7 +18,8 @@ for source in \
haunted-night/haunted-night.asm \
happy-birthday-beca/happy-birthday-beca.asm \
tv-fireplace/tv-fireplace.asm \
ripple-chamber/ripple-chamber.asm
ripple-chamber/ripple-chamber.asm \
cat-vibing/cat-vibing.asm
do
output="${source%.asm}.prg"
echo "Assembling $source -> $output"