Ever wanted to be an old-school game programmer?
Learn how classic game hardware worked.
Write code and see it run instantly.
The Atari 2600 was released in 1977, and now there's finally a book about how to write games for it! You'll learn about the 6502 CPU, NTSC frames, scanlines, cycle counting, players, missiles, collisions, procedural generation, pseudo-3D, and more. While using the manual, take advantage of our Web-based IDE to write 6502 assembly code, and see your code run instantly in the browser. We'll cover the same programming tricks that master programmers used to make classic games.
With this book, you'll learn all about the hardware of Golden Age 8-bit arcade games produced in the late 1970s to early 1980s. We'll learn how to use the C programming language to write code for the Z80 CPU. The following arcade platforms are covered: * Midway 8080 (Space Invaders) * VIC Dual (Carnival) * Galaxian/Scramble (Namco) * Atari Color Vector * Williams (Defender, Robotron) We'll describe how to create video and sound for each platform.
This book attempts to capture the spirit of the ''Bronze Age'' of video games, when video games were designed as circuits, not as software. We'll delve into these circuits as they morph from Pong into programmable personal computers and game consoles. Instead of wire-wrap and breadboards, we'll use modern tools to approximate these old designs in a simulated environment from the comfort of our keyboards. At the end of this adventure, you should be well-equipped to begin exploring the world of FPGAs, and maybe even design your own game console.
Learn how to program the NES in C using the NESLib library! We'll show you how to uncompress tile maps, scroll the screen, animate sprites, create a split status bar, play background music and sound effects and more. We'll write some 6502 assembly language too, programming the PPU and APU directly. We'll use different "mappers" which add bank-switching and IRQs to cartridges, producing advanced psuedo-3D raster effects.
Learn how to program the Atari 2600 with dozens of fully commented examples. The built-in 6502 assembler runs as you type and flags any errors. Single step through your code and use our CPU Cycle Analyzer to develop that perfect kernel.
For a different kind of challenge, try programming the NES (aka Famicom) in C or assembler. Learn all about nametables, scrolling, sprites, NMIs and mappers. Browse video RAM, profile the CPU, and edit graphics in the Asset Editor.
You can develop your own games on classic arcade game hardware, using our in-browser C compiler targeting the Z80 CPU. Learn how to control frame buffers, sprite engines, vector displays and sound chips. Use the included debugger to step through instructions, view memory, and disassemble machine code.
We simulate the hardware of actual arcade games in the browser. Supported architectures include VIC Dual (Sega/Gremlin), Midway 8080, Galaxian/Scramble (Namco), Atari Vector, and Williams.
Use our Verilog IDE to design logic circuits in the browser. We'll run your design in real time in the browser, and show you the output on a simulated CRT. You can also slow down time and see the waveforms cycle-by-cycle.
Plenty of examples are included to teach logic programming, from simple counters and dividers all the way to custom CPUs and an 8-bit game platform. The book even shows you how to synthesize your code to the Lattice iCEstick and connect to a CRT or TV.
Transform your images into 8-bit formats right in your browser. Then export your new artwork to a 8bitworkshop project.
Book sales help support this site, but we accept donations too!
8bitworkshop depends on open-source developers for its many moving parts. A large portion of our Patreon income is donated to them.
Sign up for our Gumroad mailing list, and we'll email you about new releases, new books, and other fun stuff.