# 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: ```bash ./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.