A curated list of awesome resources for 8-bit retro game development.
- Home Consoles
- Home Computers
- Arcade Games
- Hardware
- Development Tools
- BASIC Programming
- Books
- Community
- Contributing
-
Sean Riddle's Channel F Info including a homebrew Tetris clone
-
Bally Alley - An archive of all things Bally Astrocade.
-
The Better Bally Book - A wiki dedicated to organizing, annotating, and improving Software and Hardware for the Bally Arcade, a technical manual for the Bally Home Computer/Arcade/Astrocade originally published in 1978 by Dave Nutting Associates.
-
hxlnt's Astrocade Dev - Z80 demos and graphics tools for the Astrocade. Also see this thread.
-
Stella Programmer's Guide - The official guide to programming the Atari 2600, from Atari employee Steve Wright.
-
Atari 2600 Advanced Programming Guide - Paul Slocum compiled this list of Atari 2600 programming techniques, including an HMOVE timing chart. Also see this list of tricks.
-
TIA Hardware Notes - A detailed analysis of the TIA chip by Andrew Towers.
-
Kirk Israel's 2600 Programming Page - A bunch of links by a 2600 homebrew developer. Also see his 2600 Cookbook, webTune2600, and playfieldpal tools
-
Random Terrain 2600 Page - Includes Atari 2600 Programming for Newbies, batariBasic info, programming tools, and much more.
-
BJARS Atari Archives - Steve Engelhardt's site full of homebrew, hacks, online tools, references, and disassembled code.
-
Stellerator - An online Atari 2600 emulator.
- AFP MP-1000 Programming - AFP/6800 programming tools for Windows, and documentation.
-
Dan B's Odyssey 2 Tech Page - Hardware information, including the Odyssey 2 Technical Specs (PDF).
-
AtariAge Odyssey 2 Programming Thread - Starting point for programming the Intel 8048 and 8244 VDC.
-
jsintv - Portable Intellivision emulator and programming tools
-
IntyBASIC - a BASIC compiler for Intellivision
-
Philipp Klaus Krause's tutorial on using libCV to develop games in C using SDCC. Also includes graphics conversion and compression tools.
-
ColecoVision.dk - Tools and homebrew source code.
- Sega Game 1000 Specifications - by Omar Cornut / Zoop
-
NesDev Wiki - Comprehensive site with NES programming tutorials, reference guides, and homebrew.
-
Shiru's Stuff - Shiru has lots of NES programming tools, and the article programming NES games in C.
-
Dustmop's NES Graphics - Describes NES graphics in detail.
-
nesdoug - Step-by-step tutorial on making a NES game in C.
-
Lizard NES - Homebrew game with a great development blog.
-
Mega Cat Studios - Some good blog posts about efficiently managing NES graphics assets.
-
Nerdy Nights NES programming tutorials
-
Famicom Party - Making NES Games in Assembly (book, in progress)
-
FamiStudio - NES Music Editor
-
NESFab - A NES-specific programming language with advanced 6502 optimizations and automatic bank placement.
-
Dan B's Atari 5200 Page - System specs, technical documentation, and links.
-
Atari 5200 Programmers - AtariAge's list of 5200 programmers and games.
-
The 5200 shares ANTIC, GTIA, and POKEY with the Atari 8-bit computers, so those references apply too.
-
Atari 7800 (Dan Boris) - System Specs, Cartridge Information, Links, The 'Encryption' Issue, Technical Files, and more.
-
Atari 7800 Software Guide - 7800 hardware description, registers, DMA timing, and more.
-
Atari 7800 Programming Wiki - This site is intended to be a reference for the Atari 7800 Programming mailing list, with information culled from the mailing list archives and other sources (i.e. Atari Age forums)
-
CC7800 - A C-inspired compiler for the Atari 7800.
-
SMS Power - This area is dedicated to studying, programming, hacking of Sega 8-bit hardware and software. Technical info, VDP info, SN76489 sound chip info
-
devkitSMS - C libraries and tools for SDCC targeting the Master System, Game Gear, SG-1000, SC-3000, and ColecoVision.
-
Pan Docs - The most comprehensive Game Boy technical reference.
-
GB Dev - Community hub with awesome-gbdev, RGBDS, a GB ASM Tutorial, and the Homebrew Hub game archive.
-
GBDK-2020 - C compiler, libraries, and tools for the Game Boy, Game Boy Color, Master System, Game Gear, and NES.
-
pce-dev-kit - PC Engine / TurboGrafx-16 development archive of documentation, tools, and examples.
-
HuC-Next - HuC C compiler and PCEAS assembler for the HuC6280, packaged with a visual game maker.
-
Atari Lynx Programming Tutorial - Tutorial series using the cc65 toolchain.
-
Atari Lynx Dev Wiki - Compilers and other development information.
- Commodore PET Programming Model - The PET's memory map.
-
The Big PEEKs, POKEs and CALLs list - Compiled by Edhel Iaur, Esq.
-
HIRES Graphics on Apple II - Detailed explanation of the Apple II's convoluted graphics scheme, including the Rgb2Hires conversion utility.
-
TRANSPORTING ATARI COMPUTER PROGRAMS TO THE ATARI 5200 - A.N.A.L.O.G. #15, January 1984
-
The BBC and Master Computer Public Domain Library and 8-Bit Acorn Webring (Webrings still exist?!?)
-
Oric Software Development Kit - Cross-development tools for the Oric, including a C compiler, assembler, linker, and disk and tape utilities.
-
Defence Force Oric Library - Manuals, schematics, and other documentation for the Oric line.
-
Platform Guide: TRS-80 Color Computer/Dragon - Overview of the hardware, tools, and documentation.
-
XRoar - Emulator for the Dragon 32/64, Tandy Color Computers 1-3, and the MC-10.
-
ChibiAkumas 6809 Tutorials - 6809 assembly lessons for the Dragon/CoCo, Fujitsu FM-7, and Vectrex.
-
World of Spectrum - The official world archive for the Sinclair ZX Spectrum and the largest on-line gaming center on the Internet (Yup, I think the site's great - Cliff Lawson)
-
How to Write ZX Spectrum Games - Converting a simple BASIC program to Z80, by Jonathan Cauldwell
-
Codebase64 - Wiki of C64 programming articles, source code, and hardware documentation.
-
TinyBubbles - Open-source 4 KB C64 game in 6502 assembly, with a write-up of its size tricks (autostart via the stack, raster IRQ, SID noise as RNG).
-
The MSX Red Book - The aim of this book is to provide a description of the standard MSX hardware and software at a level of detail sufficient to satisfy that most demanding of users, the machine code programmer.
-
awesome-msx - an awesome list about MSX!
- cpctelera - Amstrad CPC game engine for C and Assembler developers, integrated into 8bitworkshop
-
Computer Archeology - Investigating Asteroids, Crazy Climber, Defender, Frogger (Sound), Galaga, Moon Patrol, Omega Race, Space Invaders, Time Pilot (Sound) and the Asteroids Digital Vector Generator
-
Jed Margolin's The Secret Life of Vector Generators and The Secret Life of XY Monitors
-
Z80 Heaven - Tutorials and instruction set
-
Z80 instruction set - Searchable table
-
Texas Instruments TMS9918A VDP info by Sean Young. Also see here.
-
VDP Programming Tutorial - Examples of programming the TMS9918A/v9938/v9958 from Z80 assembly language on the MSX.
-
Convert9918 - (Windows) This program can convert most modern graphics into a form compatible with the TMS9918A bitmap mode.
-
High-Resolution Sprite-Oriented Color Graphics - Ciarcia's Circuit Cellar column in August 1982 BYTE Magazine about the TMS9918.
- AY-3-8910 Datasheet - Datasheet for the programmable sound generator.
-
ATARI PONG E CIRCUIT ANALYSIS & LAWN TENNIS: BUILDING A DIGITAL VIDEO GAME WITH 74 SERIES TTL IC’s. (PDF) - A detailed analysis of the PONG circuits by Dr. H. Holden.
-
fpga-examples - These are some of the Verilog examples from the book "Designing Video Game Hardware in Verilog" ported to CRT monitor timing and tested against the IceStorm tools.
-
Silice - A language for designing FPGA hardware, with retro game and video examples.
-
Verilator - Fast open-source Verilog simulator, used by 8bitworkshop for hardware simulation.
- Uzebox - An open-source micro game platform based on the ATmega644 chip.
-
CC65 - a C compiler, linker, and assembler for 6502 machines. Targets Commodore, Apple II, Atari 8-bit, NES, and more.
-
SDCC - Small Device C Compiler and toolchain. Targets Z80 and Gameboy Z80, among others.
-
z88dk - A Z80 C and assembly toolchain. There are two C compilers supported (sccz80 and sdcc), two independent C libraries included (the classic and new), an assembler/linker/librarian (z80asm), and a data compression tool (zx7). Targets over 80 different machine families.
-
CMOC - A 6809 cross-compiler for a subset of the C language. Depends on the LWTOOLS toolchain.
-
batariBASIC - BASIC programming for Atari 2600 systems.
-
LLVM-MOS SDK - A clang-based compiler/SDK for 6502 systems.
-
GBDK-2020 - C compiler, libraries, and tools for sm83, Z80, and 6502 consoles including the Game Boy, Game Gear, and NES.
-
devkitSMS - SDCC-based libraries and tools for Sega 8-bit systems and ColecoVision.
-
Mad Pascal - A 32-bit Turbo Pascal-style compiler for the Atari 8-bit, C64, and other 6502 systems.
-
ZX Basic - A BASIC compiler for the ZX Spectrum that generates Z80 code.
-
Oscar64 - A C/C++ compiler for the C64 and other 6502 systems.
-
FastBasic - A fast BASIC interpreter and cross-compiler for the Atari 8-bit.
-
Wiz - A high-level assembly language for the 6502, Z80, SM83, 65816, and other CPUs.
-
DASM - a versatile macro assembler with support for several 8-bit microprocessors including MOS 6502 & 6507, Motorola 6803, 68705 & 68HC11, Hitachi HD6303 (extended Motorola 6801), and Fairchild F8. Used most often for Atari 2600 development.
-
NESASM3 - The O.G. NESasm assembler for NES 6502 assembly.
-
ASM6 - 6502 assembler primarily targeted at NES/Famicom development.
-
zmac - Macro cross-assembler for the Zilog Z80 microprocessor, sometimes used for Astrocade development.
-
Kick Assembler - A Java-based 6502/6510 assembler for the C64 with macros, scripting, and graphics conversion helpers.
-
MADS - A multi-pass 6502/65816 cross-assembler used mostly for Atari 8-bit development.
-
ACME - A 6502/65C02/65816 cross-assembler popular for C64 development.
-
xa - A 6502/65C02/65816 cross-assembler.
-
Merlin32 - A 65xx cross-assembler compatible with Merlin syntax for the Apple II and IIgs.
-
vasm - A portable multi-CPU assembler with 6502, Z80, and 6809 support.
-
naken_asm - An assembler and disassembler for many CPUs and microcontrollers.
-
MAMEDev.org - Home of the MAME/ MESS mega-emulator.
-
Javatari - Atari 2600 emulator in JavaScript.
-
JSNES - NES emulator in JavaScript.
-
Stella - A multi-platform Atari 2600 VCS emulator released under the GNU General Public License (GPL).
-
Mesen - A high-accuracy NES and Famicom emulator and NSF player for Windows and Linux.
-
VICE - The Versatile Commodore Emulator.
-
https://github.com/floooh/chips - Portable C emulation library for C64, CPC and other microcomputers.
-
jsvecx - Vectrex emulator in JavaScript.
-
Altirra - Atari 8-bit family emulator, includes compatible open-source ROM.
-
JSSpeccy 2 - ZX Spectrum emulator in JavaScript.
-
jspce - PC Engine emulator in JavaScript.
-
XRoar - Emulator for the Dragon, Tandy CoCo, and MC-10.
-
8bitworkshop - An online batteries-included IDE targeting home consoles, home computers, arcade games, and Verilog hardware design.
-
8bitworkshop for VS Code - The 8bitworkshop IDE as a VS Code extension, with bundled toolchains, emulators, and a debugger.
-
WUDSN - a free integrated Apple II, Atari 2600, Atari 7800, Atari 8-bit, C64 and NES development plugin for Eclipse
-
NESICIDE - multiplatform IDE for NES, includes FamiTracker support.
-
CBM prg Studio - Free C64 IDE for Windows written with C# and VB.NET.
-
Turbo Rascal SE - A Pascal -> DASM compiler for 6502/68000 computers -- the C64, C128, VIC-20, PLUS4, NES, PET and Amiga 500.
-
BASIC8 - A fantasy console supporting a BASIC-like language.
-
Dithertron - From 8bitworkshop. Downsamples/reduces/converts images into many different retro formats, with lots of tweaking options.
-
mcDRAW - Cool online bitmap editor for C-64.
-
retropixels - A command-line tool and library that converts to C-64 format.
-
Tiled - A free and flexible tile map and level editor.
-
Furnace - A multi-system chiptune tracker supporting over 50 sound chips and DefleMask modules.
-
GoatTracker 2 - A C64 SID music tracker.
-
vgm2vgr3 - Compresses VGM chiptune files into a compact register format with 6502 and Z80 decoders, for the NES, Game Boy, ColecoVision, C64, Atari POKEY, and MSX.
- CROSS-LIB - Cross platform game library for several 8/16/32-bit computers.
-
apple2go - The Apple][Go ROM is a public domain Apple ][ replacement ROM that is capable of running most games not requiring Applesoft. This ROM was written in 2006 by Marc Ressl specifically for use with the Apple][Go Emulator
-
open-roms - A project to create unencumbered open-source ROMs for use on selected retro computers
-
CBIOS - A BSD-licensed MSX BIOS written from scratch by BouKiCHi (no cassette/disk/BASIC yet)
-
Altirra - Contains Atari 8-bit compatible ROM and BASIC interpreter.
-
BASIC Manuals - 4th Edition, OS/8, EduSystem, ECMA-55 (Minimal BASIC), BASIC-80, Altair 8800 BASIC 4.1, HP2000, BASIC-PLUS
-
8bitworkshop Books - Books that go along with the 8bitworkshop IDE: "Making Games for the Atari 2600", "Making 8-bit Arcade Games in C", "Making Games for the NES", and "Designing Video Game Hardware in Verilog"
-
Retro Game Dev: C64 Edition - Using modern tools, this introductory book guides you through all the elements required to make two mini games: a space shooter and a platformer, and run them on an emulator or real C64 hardware. Uses CBM prg Studio (Windows IDE)
-
AtariAge Forums - Lots of active programming forums for 2600, 5200, 7800, Lynx, Jaguar, ColecoVision, Intellivision, TI-99/4A, homebrew, hacks and more.
-
NesDev Forums - Discussion of NES/Famicom programming, emulation, graphics, music, and more.
-
SMS Power Forums - Discussion of all things SEGA!
-
Lemon64 and EverythingC64 - Forums for the C-64 scene.
-
The Digital Antiquarian - Jimmy Maher's blog on the history of computer games and the platforms they ran on
-
Lou's Psuedo-3D Page - How to draw 3-D roads
-
8bit-tools - Command-line tools that go along with 8bitworkshop books
Your contributions are always welcome! Please take a look at the contribution guidelines first.