C64 · Assembly · 6510
Commodore 64 assembly
Learn the machine by building games on it
Where you are
04 · Machine track
C64 assembly is where the ideas become 6510 code and VIC-II/SID behaviour.
This route is the concrete application layer: registers, addressing modes, screen memory, sprites, sound, frame loops, and complete games under the C64's actual constraints.
- BASIC is useful for learning the C64, but it is not a formal prerequisite.
- You should be comfortable with variables, loops, branches, and binary or be ready to learn them here slowly.
- Use The Craft when a game introduces a technique such as timing, collision, state, or game feel.
Before you begin
You'll need an emulator and an assembler. Both are free and take five minutes to install.
Set up your tools →Games
Each game teaches new skills while building something you'll want to play. Start with Game 1 and work through in order — each builds on what came before.


What you'll master
By the time you've built all the games, you'll have deep knowledge of C64 hardware and assembly programming.
VIC-II graphics
Sprites, character graphics, smooth scrolling, raster interrupts, and the tricks that made C64 games look impossible.
SID sound
Three voices, filters, ADSR envelopes, and the techniques that created the C64's legendary sound.
6510 assembly
The full instruction set, addressing modes, and optimisation tricks that squeeze every cycle from the CPU.
Game architecture
State machines, collision systems, input handling, and the patterns that make games feel right.
Ready to start?
Game 1 starts with a ship on screen. By Unit 2, you're moving it with the joystick. By Unit 16, you've got a complete shooter.
Start: Meet the Machine →