A solitaire style game for the Commodore 64
Find a file
2026-01-12 13:39:27 +01:00
charpad_cards First commit in fresh repo 2026-01-02 13:21:20 +01:00
charpad_color_sprites First commit in fresh repo 2026-01-02 13:21:20 +01:00
charpad_rank_sprites Game menu working. Issue where reading keys cause interference with JOY/Mouse atm. 2026-01-11 18:38:24 +01:00
.gitignore First commit in fresh repo 2026-01-02 13:21:20 +01:00
cardconsts.c65 First commit in fresh repo 2026-01-02 13:21:20 +01:00
carddeck.c65 Tightened up the code with better label and pointer handling. README improved. 2026-01-12 13:39:27 +01:00
cardgame.c65 Tightened up the code with better label and pointer handling. README improved. 2026-01-12 13:39:27 +01:00
cardmoves.c65 Tightened up the code with better label and pointer handling. README improved. 2026-01-12 13:39:27 +01:00
cardrender.c65 Cleaned up ZP usage. 2026-01-02 16:16:05 +01:00
cardsprites.c65 Game menu working. Issue where reading keys cause interference with JOY/Mouse atm. 2026-01-11 18:38:24 +01:00
cardtests.c65 First commit in fresh repo 2026-01-02 13:21:20 +01:00
claude_code_docker.sh First commit in fresh repo 2026-01-02 13:21:20 +01:00
cm.sh First commit in fresh repo 2026-01-02 13:21:20 +01:00
docker-compose.yml First commit in fresh repo 2026-01-02 13:21:20 +01:00
Dockerfile First commit in fresh repo 2026-01-02 13:21:20 +01:00
exomizer_compress_prg.sh First commit in fresh repo 2026-01-02 13:21:20 +01:00
gameloop.c65 Tightened up the code with better label and pointer handling. README improved. 2026-01-12 13:39:27 +01:00
gamemenu.c65 Fixed game menu. Fixed jerky mouse movement while scanning keyboard (cause was scanning keyboard right before reading mouse). Menu code tighter. 2026-01-11 21:00:08 +01:00
gamestate.c65 Added a game menu to the system with possibility to restart the game and to choose game options. 2026-01-10 15:38:46 +01:00
joystick.c65 First commit in fresh repo 2026-01-02 13:21:20 +01:00
joysticktests.c65 First commit in fresh repo 2026-01-02 13:21:20 +01:00
keyboard.c65 Fixed game menu. Fixed jerky mouse movement while scanning keyboard (cause was scanning keyboard right before reading mouse). Menu code tighter. 2026-01-11 21:00:08 +01:00
LICENSE Initial commit 2026-01-02 13:10:38 +01:00
mouse.c65 First commit in fresh repo 2026-01-02 13:21:20 +01:00
pileconsts.c65 Added a game menu to the system with possibility to restart the game and to choose game options. 2026-01-10 15:38:46 +01:00
piles.c65 Added a game menu to the system with possibility to restart the game and to choose game options. 2026-01-10 15:38:46 +01:00
pointer.c65 First commit in fresh repo 2026-01-02 13:21:20 +01:00
random.c65 First commit in fresh repo 2026-01-02 13:21:20 +01:00
README.md Tightened up the code with better label and pointer handling. README improved. 2026-01-12 13:39:27 +01:00
start_in_vice.sh Added starter shell scripts 2026-01-02 16:16:40 +01:00
start_on_u64.sh Added starter shell scripts 2026-01-02 16:16:40 +01:00
start_on_uii+l.sh Added starter shell scripts 2026-01-02 16:16:40 +01:00
testgames.c65 First commit in fresh repo 2026-01-02 13:21:20 +01:00
utils.c65 Game menu working. Issue where reading keys cause interference with JOY/Mouse atm. 2026-01-11 18:38:24 +01:00

Solitaire C64

A classic Klondike solitaire card game for the Commodore 64.

Features

  • Full Klondike with draw-1 and draw-3 modes
  • Joystick and 1351 mouse support
  • Extended color mode graphics with sprite cursor
  • Hardware-seeded RNG for shuffling

Building

Requires the c65gm compiler and ACME assembler:

./cm.sh

Outputs main.prg ready to load on C64 or emulator.

Project Structure

  • cardgame.c65 - Main entry point and initialization
  • gameloop.c65 - Game loop, interaction, and pile detection
  • cardmoves.c65 - Move validation and execution logic
  • cardrender.c65 - Card and pile rendering routines
  • carddeck.c65 - Deck shuffling and dealing
  • mouse.c65 / joystick.c65 - Input handling
  • pointer.c65 - Sprite cursor management
  • cardsprites.c65 - Sprite data for cursor

License

See LICENSE file for details.