├── CONTRIBUTING.md ├── LICENSE └── README.md /CONTRIBUTING.md: -------------------------------------------------------------------------------- 1 | # Contributing 2 | 3 | Your contributions are always welcome! 4 | 5 | ## Guidelines 6 | 7 | * Keep with the theme of "resources about making games for 8-bit hardware" which includes everything from BASIC on the KIM-1 to ... well, anything before 1990 pretty much 8 | * Add one link per Pull Request. 9 | * Add the link: `* [project-name](http://example.com/) - A short description ends with a period.` 10 | * Keep descriptions concise. 11 | * Add a section if needed. 12 | * Add the section description. 13 | * Add the section title to Table of Contents. 14 | * Search previous suggestions before making a new one, as yours may be a duplicate. 15 | * Check your spelling and grammar. 16 | * Remove any trailing whitespace. 17 | * Send a Pull Request with the reason why the library is awesome. 18 | * Vote for others' Pull Requests that you think are awesome! 19 | 20 | Contributing text adapted from [awesome-python](https://github.com/vinta/awesome-python). 21 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | Creative Commons Attribution 4.0 International License (CC BY 4.0) 2 | 3 | http://creativecommons.org/licenses/by/4.0/ 4 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Awesome 8-bit Game Dev 2 | 3 | A curated list of awesome resources for 8-bit retro game development. 4 | 5 | ## Table of Contents 6 | 7 | - [Home Consoles](#home-consoles) 8 | - [Fairchild Channel F](#fairchild-channel-f) 9 | - [Bally Astrocade](#ball-yastrocade) 10 | - [Atari 2600](#atari-2600) 11 | - [APF MP-1000](#apf-mp-1000) 12 | - [Magnavox Odyssey²](#Magnavox-Odyssey²) 13 | - [Intellivision](#intellivision) 14 | - [ColecoVision](#colecovision) 15 | - [Vectrex](#vectrex) 16 | - [NES](#nes) 17 | - [Atari 7800](#atari-7800) 18 | - [Sega Master System](#sega-master-system) 19 | - [Home Computers](#home-computers) 20 | - [Apple I](#apple-i) 21 | - [Commodore PET](#commodore-pet) 22 | - [TRS-80](#trs-80) 23 | - [Apple II/II+/IIe](#apple-ii) 24 | - [Atari 400/600/800/XL/XE](#atari-8-bit) 25 | - [TI 99/4](#ti-99-4) 26 | - [Commodore VIC-20](#commodore-vic-20) 27 | - [Acorn](#acorn) 28 | - [Sinclair](#sinclair) 29 | - [Commodore 64](#commodore-64) 30 | - [MSX](#msx) 31 | - [Amstrad CPC](#cpc) 32 | - [Arcade Games](#arcade-games) 33 | - [Hardware](#hardware) 34 | - [6502](#6502) 35 | - [Z80](#z80) 36 | - [TMS9918A](#tms9918a) 37 | - [FPGA/HDL](#fpga-hdl) 38 | - [Microcontrollers](#microcontrollers) 39 | - [Development Tools](#development-tools) 40 | - [Assemblers](#assemblers) 41 | - [Compilers](#compilers) 42 | - [Emulators](#emulators) 43 | - [IDEs](#ides) 44 | - [Graphics](#graphics) 45 | - [Libraries](#libraries) 46 | - [BASIC Programming](#basic) 47 | - [Books](#books) 48 | - [Community](#community) 49 | - [Contributing](#contributing) 50 | 51 | ## Home Consoles 52 | 53 | ### Fairchild Channel F 54 | 55 | * [VES Wiki](http://channelf.se/veswiki/index.php?title=Main_Page) and [tutorial](http://channelf.se/veswiki/index.php?title=Tutorial:Beginner%27s_Guide_to_the_Channel_F) 56 | 57 | * [Sean Riddle's Channel F Info](http://seanriddle.com/chanfinfo.html) including a homebrew Tetris clone 58 | 59 | * [Fairchild F8 Info](http://www.nyx.net/~lturner/public_html/Fairchild_F8.html) and [instruction set](http://www.nyx.net/~lturner/public_html/F8_ins.html) 60 | 61 | ### Bally Astrocade 62 | 63 | * [Bally Alley](https://ballyalley.com/) - An archive of all things Bally Astrocade. 64 | 65 | * [The Better Bally Book](http://metopal.com/projects/ballybook/doku.php) - 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. 66 | 67 | * [hxlnt's Astrocade Dev](https://github.com/hxlnt/astrocade) - Z80 demos and graphics tools for the Astrocade. Also see this [thread](https://atariage.com/forums/topic/251416-programming-the-bally-arcadeastrocade/). 68 | 69 | ### Atari 2600 70 | 71 | * [Stella Programmer's Guide](https://alienbill.com/2600/101/docs/stella.html) - The official guide to programming the Atari 2600, from Atari employee Steve Wright. 72 | 73 | * [Atari 2600 Advanced Programming Guide](http://www.qotile.net/minidig/docs/2600_advanced_prog_guide.txt) - Paul Slocum compiled this list of Atari 2600 programming techniques, including an HMOVE timing chart. Also see this [list of tricks](http://www.qotile.net/minidig/tricks.html). 74 | 75 | * [TIA Hardware Notes](http://www.atarihq.com/danb/files/TIA_HW_Notes.txt) - A detailed analysis of the TIA chip by Andrew Towers. 76 | 77 | * [Kirk Israel's 2600 Programming Page](https://alienbill.com/2600/) - A bunch of links by a 2600 homebrew developer. Also see his [2600 Cookbook](http://alienbill.com/2600/cookbook/), 78 | [webTune2600](http://alienbill.com/2600/basic/music/tune2600.html), 79 | and 80 | [playfieldpal](http://alienbill.com/2600/playfieldpal.html) tools 81 | 82 | * [Random Terrain 2600 Page](https://www.randomterrain.com/atari-2600-memories.html) - Includes [Atari 2600 Programming for Newbies](https://www.randomterrain.com/atari-2600-memories-tutorial-andrew-davie-01.html), batariBasic info, programming tools, and much more. 83 | 84 | * [BJARS Atari Archives](http://www.bjars.com/) - Steve Engelhardt's site full of homebrew, hacks, online tools, references, and disassembled code. 85 | 86 | * [Stellerator](https://6502ts.github.io/typedoc/stellerator-embedded/) - An online Atari 2600 emulator. 87 | 88 | ### AFP MP-1000 89 | 90 | * [AFP MP-1000 Programming](https://orphanedgames.com/APF/index.html) - AFP/6800 programming tools for Windows, and documentation. 91 | 92 | ### Intellivision 93 | 94 | * [jsintv](http://spatula-city.org/~im14u2c/intv/) - Portable Intellivision emulator and programming tools 95 | 96 | * [IntyBASIC](https://nanochess.org/intybasic.html) - a BASIC compiler for Intellivision 97 | 98 | ### ColecoVision 99 | 100 | * [ColecoVision Tech Info](http://www.atarihq.com/danb/files/CV-Tech.txt) and [Sound Info](http://www.atarihq.com/danb/files/CV-Sound.txt). 101 | 102 | * Philipp Klaus Krause's [tutorial](http://www.colecovision.eu/ColecoVision/development/tutorial1.shtml) on using [libCV](http://www.colecovision.eu/ColecoVision/development/libcv.shtml) to develop games in C using SDCC. Also includes graphics conversion and compression tools. 103 | 104 | * [ColecoVision.dk](http://www.colecovision.dk/tools.htm) - Tools and homebrew source code. 105 | 106 | ## Vectrex 107 | 108 | * [Setting up a modern toolchain for Vectrex development with CMOC](https://vandenbran.de/2016/02/01/a-modern-toolchain-for-vectrex-development/) 109 | 110 | ### Sega SG-1000 111 | 112 | * [Sega Game 1000 Specifications](http://www.smspower.org/uploads/Development/sg1000.txt) - by Omar Cornut / Zoop 113 | 114 | ### NES 115 | 116 | * [NesDev Wiki](http://wiki.nesdev.com/w/index.php/Nesdev_Wiki) - Comprehensive site with NES programming tutorials, reference guides, and homebrew. 117 | 118 | * [Shiru's Stuff](https://shiru.untergrund.net/software.shtml) - Shiru has lots of NES programming tools, and the article [programming NES games in C](https://shiru.untergrund.net/articles/programming_nes_games_in_c.htm). 119 | 120 | * [Dustmop's NES Graphics](http://www.dustmop.io/blog/2015/04/28/nes-graphics-part-1/) - Describes NES graphics in detail. 121 | 122 | * [nesdoug](https://nesdoug.com/) - Step-by-step tutorial on making a NES game in C. 123 | 124 | * [Lizard NES](http://lizardnes.com/) - Homebrew game with a great development blog. 125 | 126 | * [Mega Cat Studios](https://megacatstudios.com/blogs/press/tagged/nes-graphics) - Some good blog posts about efficiently managing NES graphics assets. 127 | 128 | * [Nerdy Nights](http://nintendoage.com/auth/forum/messageview.cfm?catid=22&threadid=7155) NES programming tutorials 129 | 130 | * [FamiStudio](https://famistudio.org/) - NES Music Editor 131 | 132 | * [NESFab](https://pubby.games/nesfab.html) - A NES-specific programming language with advanced 6502 optimizations and automatic bank placement. 133 | 134 | ### Atari 7800 135 | 136 | * [Atari 7800 (Dan Boris)](https://atarihq.com/danb/a7800.shtml) - System Specs, Cartridge Information, Links, The 'Encryption' Issue, Technical Files, and more. 137 | 138 | * [Atari 7800 Software Guide](http://7800.8bitdev.org/index.php/7800_Software_Guide) - 7800 hardware description, registers, DMA timing, and more. 139 | 140 | * [Atari 7800 Programming Wiki](https://sites.google.com/site/atari7800wiki/) - 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) 141 | 142 | * [CC7800](https://github.com/steux/cc7800) - A C-inspired compiler for the Atari 7800. 143 | 144 | ### Sega Master System 145 | 146 | * [SMS Power](http://www.smspower.org/Development/Index) - This area is dedicated to studying, programming, hacking of Sega 8-bit hardware and software. 147 | [Technical info](http://www.smspower.org/uploads/Development/richard.txt), 148 | [VDP info](http://www.smspower.org/uploads/Development/msvdp-20021112.txt), 149 | [SN76489 sound chip info](http://www.smspower.org/uploads/Development/SN76489-20030421.txt) 150 | 151 | ## Home Computers 152 | 153 | ### Apple I 154 | 155 | * [Understanding the Apple I](https://www.applefritter.com/replica/chapter7) 156 | 157 | * Signetics [2513](https://www.applefritter.com/files/signetics2513.pdf), [2504](http://retro.hansotten.nl/uploads/6502docs/signetics2504.pdf), and [2519](http://retro.hansotten.nl/uploads/6502docs/signetics2519.pdf) datasheets 158 | 159 | ### Commodore PET 160 | 161 | * [Commodore PET Programming Model](http://www.6502.org/users/andre/petindex/progmod.html) - The PET's memory map. 162 | 163 | ### TRS-80 164 | 165 | ### Apple II 166 | 167 | * [The Big PEEKs, POKEs and CALLs list](http://apple2.org.za/gswv/USA2WUG/FOUNDING.MEMBERS/HOME.PAGES/EDHEL/texts/pokes.html) - Compiled by Edhel Iaur, Esq. 168 | 169 | * [HIRES Graphics on Apple II](https://www.xtof.info/blog/?p=768) - Detailed explanation of the Apple II's convoluted graphics scheme, including the [Rgb2Hires](https://github.com/Pixinn/Rgb2Hires) conversion utility. 170 | 171 | ### Atari 8-bit 172 | 173 | * [ANTIC, GTIA and timing info](https://www.atarimax.com/jindroush.atari.org/atanttim.html) 174 | 175 | * [Reverse engineering Atari 8-bit video](http://www.virtualdub.org/blog/pivot/entry.php?id=243) 176 | 177 | * [ANTIC Timings](http://www.beipmu.com/Antic_Timings.txt) 178 | 179 | * [ANTIC Registers](https://user.xmission.com/~trevin/atari/antic_regs.html) and [Instructions](https://user.xmission.com/~trevin/atari/antic_insns.html); [GTIA Registers](https://user.xmission.com/~trevin/atari/gtia_regs.html) 180 | 181 | * [TRANSPORTING ATARI COMPUTER PROGRAMS TO THE ATARI 5200](http://www.atarimuseum.com/videogames/consoles/5200/conv_to_5200.html) - A.N.A.L.O.G. #15, January 1984 182 | 183 | * [Atari Cartridge Images](https://github.com/dmlloyd/atari800/blob/master/DOC/cart.txt) 184 | 185 | * [Atari 5200 Memory Map](http://atariage.com/forums/topic/169971-5200-memory-map/) 186 | 187 | * [Player/Missile Podcast Tutorials](https://playermissile.com/index.html#tutorials) 188 | 189 | * [Altirra Hardware Reference Manual](https://www.virtualdub.org/downloads/Altirra%20Hardware%20Reference%20Manual.pdf) 190 | 191 | ### TI 99/4 192 | 193 | ### Commodore VIC-20 194 | 195 | ### Acorn 196 | 197 | * [The BBC and Master Computer Public Domain Library](http://8bs.com/) and [8-Bit Acorn Webring](http://8bs.com/webring.htm) (Webrings still exist?!?) 198 | 199 | * [Acorn Atom Technical Manual](http://chrisacorns.computinghistory.org.uk/docs/Acorn/Manuals/Acorn_AtomTechnicalManual.pdf) (PDF) 200 | 201 | ### Sinclair 202 | 203 | * [World of Spectrum](http://www.worldofspectrum.org/) - 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*) 204 | 205 | * [16K/48K ZX Spectrum Reference](http://www.worldofspectrum.org/faq/reference/48kreference.htm#ZXSpectrum) and [128K](http://www.worldofspectrum.org/faq/reference/128kreference.htm) 206 | 207 | * [How to Write ZX Spectrum Games](https://chuntey.wordpress.com/2012/12/18/how-to-write-zx-spectrum-games-chapter-1/) - Converting a simple BASIC program to Z80, by Jonathan Cauldwell 208 | 209 | ### Commodore 64 210 | 211 | * [C64 Wiki](https://www.c64-wiki.com/wiki/C64) 212 | 213 | * [C64 Programmer's Reference Guide](http://www.zimmers.net/cbmpics/cbm/c64/c64prg.txt) 214 | 215 | * [The MOS 6567/6569 video controller (VIC-II)](http://www.zimmers.net/cbmpics/cbm/c64/vic-ii.txt) 216 | 217 | * [C64 Memory Map](http://sta.c64.org/cbm64mem.html) 218 | 219 | * [accurately reproducing the Video Output of a Commodore C64](http://hitmen.c02.at/temp/palstuff/) 220 | 221 | * [The CIA 6526](https://www.c64-wiki.com/wiki/CIA) 222 | 223 | * [Reading the C64 Keyboard](https://codebase64.org/doku.php?id=base:reading_the_keyboard) and [How the C64 Keyboard Works](http://www.c64os.com/post/?p=45) 224 | 225 | * [Ultimate C64 Reference](https://www.pagetable.com/c64ref/c64mem/) 226 | 227 | * [C64 Memory Maps](http://unusedino.de/ec64/technical/project64/memory_maps.html) 228 | 229 | ### MSX 230 | 231 | * [MSX Wiki](https://www.msx.org/wiki/) 232 | 233 | * [MSX Assembly Page](http://map.grauw.nl/) 234 | 235 | * [Konamiman's MSX page](https://github.com/Konamiman/MSX2-Technical-Handbook) 236 | 237 | * [The MSX Red Book](https://github.com/gseidler/The-MSX-Red-Book/blob/master/the_msx_red_book.md) - 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. 238 | 239 | * [awesome-msx](https://github.com/fr3nd/awesome-msx) - an awesome list about MSX! 240 | 241 | ### CPC 242 | 243 | * [cpctelera](https://github.com/lronaldo/cpctelera) - Amstrad CPC game engine for C and Assembler developers, integrated into 8bitworkshop 244 | 245 | ## Arcade Games 246 | 247 | * [Computer Archeology](http://www.computerarcheology.com/Arcade/) - Investigating Asteroids, Crazy Climber, Defender, Frogger (Sound), Galaga, Moon Patrol, Omega Race, Space Invaders, Time Pilot (Sound) and the [Asteroids Digital Vector Generator](http://www.computerarcheology.com/Arcade/Asteroids/DVG.html) 248 | 249 | * [Programming the Atari XY Vector Generator](http://arcarc.xmission.com/Tech/neilw_xy.txt) 250 | 251 | * Jed Margolin's [The Secret Life of Vector Generators](https://www.jmargolin.com/vgens/vgens.htm) and [The Secret Life of XY Monitors](https://www.jmargolin.com/xy/xymon.htm) 252 | 253 | * [Sean Riddle's Williams Game Hardware Info](http://seanriddle.com/willhard.html) 254 | 255 | ## Hardware 256 | 257 | ### 6502 258 | 259 | * [6502.org Tutorials](http://www.6502.org/tutorials/) 260 | 261 | * [6502 instruction set](https://www.masswerk.at/6502/6502_instruction_set.html) 262 | 263 | * [NesDev 6502 optimizations](https://wiki.nesdev.com/w/index.php/6502_assembly_optimisations) and [synthetic instructions](https://wiki.nesdev.com/w/index.php/Synthetic_instructions) 264 | 265 | * [6502/6510 Maths](https://codebase64.org/doku.php?id=base:6502_6510_maths) 266 | 267 | ### Z80 268 | 269 | * Z80 Heaven - [Tutorials](http://z80-heaven.wikidot.com/system:tutorials) and [instruction set](http://z80-heaven.wikidot.com/instructions-set) 270 | 271 | * [Z80 instruction set](http://clrhome.org/table/) - Searchable table 272 | 273 | ### TMS9918A 274 | 275 | * [Texas Instruments TMS9918A VDP](http://bifi.msxnet.org/msxnet//tech/tms9918a.txt) info by Sean Young. Also see [here](http://www.unige.ch/medecine/nouspikel/ti99/tms9918a.htm). 276 | 277 | * [VDP Programming Tutorial](http://map.grauw.nl/articles/vdp_tut.php) - Examples of programming the TMS9918A/v9938/v9958 from Z80 assembly language on the MSX. 278 | 279 | * [Convert9918](https://github.com/tursilion/convert9918) - (Windows) This program can convert most modern graphics into a form compatible with the TMS9918A bitmap mode. 280 | 281 | * [High-Resolution Sprite-Oriented Color Graphics](http://www.classiccmp.org/cini/pdf/byte/Hi-Res%20Graphics%20TMS9918%20BYTE%200882.pdf.pdf) - Ciarcia's Circuit Cellar column in August 1982 BYTE Magazine about the TMS9918. 282 | 283 | ### AY-3-8910 284 | 285 | * [AY-3-8910 Datasheet](http://map.grauw.nl/resources/sound/generalinstrument_ay-3-8910.pdf) - Datasheet for the programmable sound generator. 286 | 287 | ### FPGA/HDL 288 | 289 | * [ATARI PONG E CIRCUIT ANALYSIS & LAWN TENNIS: BUILDING A DIGITAL VIDEO GAME WITH 74 SERIES TTL IC’s.](http://www.pong-story.com/LAWN_TENNIS.pdf) (PDF) - A detailed analysis of the PONG circuits by Dr. H. Holden. 290 | 291 | * [Apple2fpga: Reconstructing an Apple II+ on an FPGA](http://www.cs.columbia.edu/~sedwards/apple2fpga/) 292 | 293 | * [fpga-examples](https://github.com/sehugg/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. 294 | 295 | ### Microcontrollers 296 | 297 | * [Uzebox](https://uzebox.org/) - An open-source micro game platform based on the ATmega644 chip. 298 | 299 | ## Development Tools 300 | 301 | ### Compilers 302 | 303 | * [CC65](https://cc65.github.io/) - a C compiler, linker, and assembler for 6502 machines. Targets Commodore, Apple II, Atari 8-bit, NES, and more. 304 | 305 | * [SDCC](https://sourceforge.net/p/sdcc/wiki/z80/) - Small Device C Compiler and toolchain. Targets Z80 and Gameboy Z80, among others. 306 | 307 | * [z88dk](https://www.z88dk.org/forum/) - A Z80 C and assembly toolchain. 308 | 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). 309 | Targets over 80 different machine families. 310 | 311 | * [CMOC](https://perso.b2b2c.ca/~sarrazip/dev/cmoc.html) - A 6809 cross-compiler for a subset of the C language. Depends on the [LWTOOLS](http://www.lwtools.ca/) toolchain. 312 | 313 | * [batariBASIC](https://github.com/batari-Basic/batari-Basic) - BASIC programming for Atari 2600 systems. 314 | 315 | * [LLVM-MOS SDK](https://github.com/llvm-mos/llvm-mos-sdk) - A clang-based compiler/SDK for 6502 systems. 316 | 317 | ### Assemblers 318 | 319 | * [DASM](https://dasm-assembler.github.io/) - 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. 320 | 321 | * [NESASM3](https://github.com/camsaul/nesasm) - The O.G. NESasm assembler for NES 6502 assembly. 322 | 323 | * [ASM6](https://github.com/freem/asm6f) - 6502 assembler primarily targeted at NES/Famicom development. 324 | 325 | * [zmac](https://github.com/sehugg/zmac) - Macro cross-assembler for the Zilog Z80 microprocessor, sometimes used for Astrocade development. 326 | 327 | ### Emulators 328 | 329 | * [MAMEDev.org](https://www.mamedev.org/) - Home of the MAME/ MESS mega-emulator. 330 | 331 | * [Javatari](https://javatari.org/) - Atari 2600 emulator in JavaScript. 332 | 333 | * [JSNES](https://jsnes.org/) - NES emulator in JavaScript. 334 | 335 | * [Stella](https://stella-emu.github.io/) - A multi-platform Atari 2600 VCS emulator released under the GNU General Public License (GPL). 336 | 337 | * [Mesen](https://www.mesen.ca/) - A high-accuracy NES and Famicom emulator and NSF player for Windows and Linux. 338 | 339 | * [VICE](http://vice-emu.sourceforge.net/) - The Versatile Commodore Emulator. 340 | 341 | * https://github.com/floooh/chips - Portable C emulation library for C64, CPC and other microcomputers. 342 | 343 | * [jsvecx](http://www.twitchasylum.com/jsvecx/) - Vectrex emulator in JavaScript. 344 | 345 | * [Altirra](http://www.virtualdub.org/altirra.html) - Atari 8-bit family emulator, includes compatible open-source ROM. 346 | 347 | ### IDEs 348 | 349 | * [8bitworkshop](https://8bitworkshop.com/) - An online batteries-included IDE targeting home consoles, home computers, arcade games, and Verilog hardware design. 350 | 351 | * [WUDSN](http://www.wudsn.com/index.php/ide) - a free integrated Apple II, Atari 2600, Atari 7800, Atari 8-bit, C64 and NES development plugin for Eclipse 352 | 353 | * [NESICIDE](https://github.com/christopherpow/nesicide) - multiplatform IDE for NES, includes FamiTracker support. 354 | 355 | * [CBM prg Studio](https://www.c64-wiki.com/wiki/CBM_prg_Studio) - Free C64 IDE for Windows written with C# and VB.NET. 356 | 357 | * [Turbo Rascal SE](https://lemonspawn.com/turbo-rascal-syntax-error-expected-but-begin/) - A Pascal -> DASM compiler for 6502/68000 computers -- the C64, C128, VIC-20, PLUS4, NES, PET and Amiga 500. 358 | 359 | * [BASIC8](https://paladin-t.github.io/b8/) - A fantasy console supporting a BASIC-like language. 360 | 361 | ### Graphics 362 | 363 | * [Dithertron](https://8bitworkshop.com/dithertron/) - From 8bitworkshop. Downsamples/reduces/converts images into many different retro formats, with lots of tweaking options. 364 | 365 | * [mcDRAW](https://mcdraw.xyz/) - Cool online bitmap editor for C-64. 366 | 367 | * [retropixels](https://www.npmjs.com/package/retropixels) - A command-line tool and library that converts to C-64 format. 368 | 369 | ### Libraries 370 | 371 | * [CROSS-LIB](https://github.com/Fabrizio-Caruso/CROSS-LIB) - Cross platform game library for several 8/16/32-bit computers. 372 | 373 | ## Open-Source BIOSs 374 | 375 | * [apple2go](http://a2go.applearchives.com/roms/) - 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 376 | 377 | * [open-roms](https://github.com/MEGA65/open-roms) - A project to create unencumbered open-source ROMs for use on selected retro computers 378 | 379 | * [CBIOS](http://cbios.sourceforge.net/) - A BSD-licensed MSX BIOS written from scratch by BouKiCHi (no cassette/disk/BASIC yet) 380 | 381 | * [SEBasic](https://www.pledgebank.com/opense) - Open source ZX Spectrum BIOS with BASIC. 382 | 383 | * [Altirra](https://www.virtualdub.org/altirra.html) - Contains Atari 8-bit compatible ROM and BASIC interpreter. 384 | 385 | ## BASIC 386 | 387 | * [Altair 8800 Emulator](https://www.ldx.ca/notes/altair-8800-notes.html) and [BASIC disassembly](http://altairbasic.org/) 388 | 389 | * [ECMA-55 Minimal BASIC Compiler to x86](https://buraphakit.sourceforge.io/BASIC.shtml) 390 | 391 | * [David Ahl's BASIC Computer Games](https://www.atariarchives.org/basicgames/), [more games](http://www.dunnington.info/public/basicgames/) 392 | 393 | * [People's Computer Company Archive](https://www.computerhistory.org/collections/catalog/102661095) 394 | 395 | * [Dartmouth Time Sharing System Emulator](http://www.dtss.org/dtss/) 396 | 397 | * BASIC Manuals - [4th Edition](http://www.bitsavers.org/pdf/dartmouth/BASIC_4th_Edition_Jan68.pdf), [OS/8](https://www.grc.com/pdp-8/docs/OS8_BASIC_Reference.pdf), [EduSystem](http://bitsavers.informatik.uni-stuttgart.de/pdf/dec/pdp8/tss8/EduSystemHandbookJan73.pdf), [ECMA-55 (Minimal BASIC)](https://buraphakit.sourceforge.io/ECMA-55.TXT.LPR), [BASIC-80](https://altairclone.com/downloads/manuals/Microsoft%20BASIC-80.pdf), [Altair 8800 BASIC 4.1](http://vtda.org/docs/computing/MITS/MITS_Altair8800Basic4.1Reference_April1977.pdf), [HP2000](http://bitsavers.org/pdf/hp/2000TSB/22687-90001_AccessBasic9-75.pdf), [BASIC-PLUS](https://ia801901.us.archive.org/17/items/bitsavers_decpdp11rsSICPLUSLangManOct72_10455777/DEC-11-ORBPA-A-D_BASIC-PLUS_LangMan_Oct72.pdf) 398 | 399 | 400 | ## Books 401 | 402 | * [8bitworkshop Books](https://www.amazon.com/s?k=8bitworkshop) - Books that go along with the [8bitworkshop IDE](https://8bitworkshop.com/): "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" 403 | 404 | * [Retro Game Dev: C64 Edition](https://www.amazon.com/Retro-Game-Dev-Derek-Morris/dp/0692980652/ref=sr_1_1?keywords=c64+game+dev&qid=1571357742&sr=8-1) - 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) 405 | 406 | ## Community 407 | 408 | * [AtariAge Forums](https://atariage.com/forums/) - Lots of active [programming forums](https://atariage.com/forums/forum/42-game-programming/) for 2600, 5200, 7800, Lynx, Jaguar, ColecoVision, Intellivision, TI-99/4A, homebrew, hacks and more. 409 | 410 | * [NesDev Forums](https://forums.nesdev.com/) - Discussion of NES/Famicom programming, emulation, graphics, music, and more. 411 | 412 | * [SMS Power Forums](http://www.smspower.org/forums/) - Discussion of all things SEGA! 413 | 414 | * [Lemon64](https://www.lemon64.com/forum/index.php) and [EverythingC64](https://everythingc64.boards.net/) - Forums for the C-64 scene. 415 | 416 | ## Misc. 417 | 418 | * [Lou's Psuedo-3D Page](http://www.extentofthejam.com/pseudo/) - How to draw 3-D roads 419 | 420 | * [8bit-tools](https://github.com/sehugg/8bit-tools/) - Command-line tools that go along with 8bitworkshop books 421 | 422 | ## Contributing 423 | 424 | Your contributions are always welcome! Please take a look at the [contribution guidelines](CONTRIBUTING.md) first. 425 | 426 | --------------------------------------------------------------------------------