A solitaire style game for the Commodore 64
| charpad_cards | ||
| charpad_color_sprites | ||
| charpad_rank_sprites | ||
| .gitignore | ||
| cardconsts.c65 | ||
| carddeck.c65 | ||
| cardgame.c65 | ||
| cardmoves.c65 | ||
| cardrender.c65 | ||
| cardsprites.c65 | ||
| cardtests.c65 | ||
| claude_code_docker.sh | ||
| cm.sh | ||
| docker-compose.yml | ||
| Dockerfile | ||
| exomizer_compress_prg.sh | ||
| gameloop.c65 | ||
| joystick.c65 | ||
| joysticktests.c65 | ||
| LICENSE | ||
| mouse.c65 | ||
| piles.c65 | ||
| pointer.c65 | ||
| random.c65 | ||
| README.md | ||
| start_in_vice.sh | ||
| start_on_u64.sh | ||
| start_on_uii+l.sh | ||
| testgames.c65 | ||
| utils.c65 | ||
Solitaire C64
A classic Klondike solitaire card game for the Commodore 64, written in c65gm.
Features
- Full Klondike Solitaire: Stock, waste, 7 tableaus, and 4 foundation piles
- Dual Input Support: Play with joystick or 1351 mouse
- Draw Modes: Toggle between draw-1 and draw-3 gameplay
- Custom Graphics: Character-based card rendering using extended color mode
- Sprite Cursor: Visual pointer for card selection and movement
- Smart Shuffling: Hardware-seeded RNG for true randomness
Technical Details
Language: c65gm (C-like language for 6502/C64) Memory Layout: Code at $3000, custom charset at $2000 Graphics: Extended Color Mode (ECM) with custom character set Input: CIA joystick ports + 1351 proportional mouse support
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 initializationgameloop.c65- Game loop, interaction, and pile detectioncardmoves.c65- Move validation and execution logiccardrender.c65- Card and pile rendering routinescarddeck.c65- Deck shuffling and dealingmouse.c65/joystick.c65- Input handlingpointer.c65- Sprite cursor managementcardsprites.c65- Sprite data for cursor
License
See LICENSE file for details.