COMMODORE 64

8-bit creativity with real hardware limits

From PRINT to multi-room adventures in 24 lessons.

CPU
MOS 6502
Speed
1 MHz
RAM
64 KB
Released
1982

Learning Paths

πŸ“˜ C64 BASIC V2

Start with BASIC β€” the language built into every Commodore 64. Learn programming fundamentals the way millions did in the 1980s: directly on the machine. Build real, playable games as you go.

All 8 BASIC weeks available now

  • βœ“ Week 1: Fundamentals (PRINT, loops, variables, logic)
  • βœ“ Week 2: Structured Programming (arrays, subroutines, state machines)
  • βœ“ Week 3: Living Worlds (movement, room logic, UI, narrative)
  • βœ“ Week 4: Game Systems (sprites, HUD, random events, AI, mini-game)
  • βœ“ Week 5: Maps & Motion (paging cameras, smooth scrolling, Scroll Runner mini-game)
  • βœ“ Week 6: Game Logic (states, random AI, power-ups, Cosmic Clash)
  • βœ“ Week 7: Under the Hood (libraries, menus, cutscenes, debugging, Galactic Miner)
  • βœ“ Week 8: Hitting the Limits (performance budgets, machine-code bridges, course retrospective)
  • 64 lessons complete β€” build from zero to full arcade experiences!
Start Learning BASIC β†’

βš™οΈ 6502 Assembly

Take Scroll Runner to pure assembly. Rebuild your game in machine codeβ€”control hardware directly, master raster interrupts, optimize every cycle, and discover what professional 1980s developers knew. Lesson 1 covers everything you need to get started!

Start immediately after BASIC Week 8

Continue to Assembly β†’

What You'll Learn

VIC-II Graphics

Master the VIC-II chip: sprites, character graphics, smooth scrolling, and raster interrupts for amazing visual effects.

SID Chip Music

Program the legendary SID chip to create music and sound effects. Three voices, filters, and that classic C64 sound.

6502 Assembly

Learn the 6502 instruction set that powered a generation. From basic operations to advanced techniques.

Modern Toolchain

Docker-based development environment with ACME assembler, VICE emulator, and all tools pre-configured. One command gets you coding on any platform.

Retro Game Design Thinking

Learn how creative constraints shaped game design in the 1980s β€” when every byte counted and innovation was born from limitation.

Professional Development Environment

We've built a complete Docker-based toolchain that gives you everything you need to develop for the C64 on macOS, Linux, or Windows. No more hunting for tools or configuring emulators!

This setup mirrors the original developer workflow β€” fast build, instant test β€” but without the waiting for tapes to load. It’s the best of both worlds: authentic and modern.

🐳 Docker Container

Pre-built container with ACME cross-assembler, VICE C64 emulator (x64sc), and all dependencies. Pull the image and start coding in seconds.

βš™οΈ Complete Toolchain

ACME assembler for building your code, VICE for testing on a cycle-accurate C64 emulator, and utilities for creating .PRG files ready to run.

πŸ“¦ GitHub Container Registry

Available at ghcr.io/code198x/commodore-64 - versioned, tested, and ready to use. No manual installation or configuration required.

πŸš€ One-Command Build

Write assembly, run make build-prg, and your game launches in the emulator. Fast iteration, zero friction.

# Quick start - build in Docker, run VICE on your host:
$ docker run --rm -v $(pwd):/workspace ghcr.io/code198x/commodore-64:v1.0.0 \
acme -f cbm -o mygame.prg mygame.asm
$ x64sc mygame.prg
# Or use Docker Compose for persistent development:
$ docker-compose up -d && docker-compose exec c64-dev bash

C64 Memory Map Preview

Every byte has a purpose β€” and learning where things live is half the fun.

$0000-$00FF Zero Page - Fast access RAM
$0400-$07FF Screen Memory (1K)
$D000-$D3FF VIC-II Graphics Chip
$D400-$D7FF SID Sound Chip
$D800-$DBFF Color RAM
$E000-$FFFF KERNAL ROM

Ready to Code Like It's 1982?

Grab your virtual joystick and start programming like it’s 1982. You’ll rediscover how fun coding can be β€” no frameworks, no APIs, just you, the machine, and pure creativity.

Start Coding β†’ View on GitHub