Atari 2600 Assembly
Eric A. Norton and Rohan A. Banerjee
Retro programming manuals
Assembly and BASIC for the Atari 2600, ZX Spectrum, Commodore 64 and Amiga — from the first byte to complete games, with every line of code free to download.
Choose your machine
MOS 6507 at 1.19 MHz
128 bytes RAM
1 book · 2 games
Zilog Z80A at 3.5 MHz
16 or 48 KB RAM
1 book
MOS 6510 at about 1 MHz
64 KB RAM
5 books · 3 games
Motorola 68000 at about 7 MHz
512 KB (Amiga 500) RAM
1 book · 2 games
The books
Eric A. Norton and Rohan A. Banerjee
Eric A. Norton and Rohan A. Banerjee
Eric A. Norton and Rohan A. Banerjee
Aravind J. Deshmukh
Rohan A. Banerjee and Henry Mercer
A series
Every book is independent and brings a new original game to life, built in playable steps from the first byte to the finished program.
The games
A bat, a ball and a wall of bricks that will not wait. Every two and a half seconds the wall takes a step down the screen, and when it reaches the bat the game is over.
From Atari 2600 Assembly
A digger in a mine twice the height of the screen. The map lives in the console's 128 bytes of RAM, so every tunnel he digs stays dug, and the window scrolls to follow him a scanline at a time.
From Atari 2600 Assembly
A side-scrolling game for the Amiga 500, written on the bare metal with the operating system switched off. It boots from its own floppy, on a real A500 or in an emulator, with no Kickstart ROM needed.
From Amiga Assembly
A demo for the Amiga 500 in the old tradition of the scene — copper bars, a scroller, bobs and music, with its whole source printed and commented.
From Amiga Assembly
An original dungeon explorer for the Commodore 64. Sixteen rooms in four zones under the hill of Morrow, three keys and three seals, skeletons and bats, and the portal of the Moss Gate.
From Cryptmorrow
A vampire adventure for the Commodore 64, in development. Oscar must cross the wilds, turn into a bat and reclaim his castle from the werewolf pack before sunrise.
From Dreadcastle
How the books are made
No picture is drawn in an image editor. Every listing is assembled, run in an emulator and captured, the broken ones included.
Cycle counts, colours, timers and frequencies come from programs written to measure them, not from memory or from another book.
Each book starts before the first byte — binary, hexadecimal, the tools — and ends with complete games and demos.
Every program is on GitHub with a script that assembles everything again and checks it byte for byte.