[38;5;12m                                                                              [39m[38;2;255;187;0m[1m[4mAwesome CHIP-8 [0m[38;5;14m[1m[4m![0m[38;2;255;187;0m[1m[4mAwesome[0m[38;5;14m[1m[4m (https://awesome.re/badge-flat.svg)[0m[38;2;255;187;0m[1m[4m (https://awesome.re)[0m

[38;5;12m (https://chip-8.github.io)[39m

[38;5;11m[1m▐[0m[38;5;12m [39m[38;5;12mVirtual computer game machine from the 70s [39m

[38;5;12mA curated list of awesome CHIP-8 resources, tools, documentation, related projects and open source ROMs.[39m

[38;5;12mCreated[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12m1977,[39m[38;5;12m [39m[38;5;14m[1mCHIP-8[0m[38;5;12m [39m[38;5;12m(https://en.wikipedia.org/wiki/CHIP-8)[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12moriginal[39m[38;5;12m [39m[38;5;12mfantasy[39m[38;5;12m [39m[38;5;12mconsole.[39m[38;5;12m [39m[38;5;12mInitially[39m[38;5;12m [39m[38;5;12mdesigned[39m[38;5;12m [39m[38;5;12mto[39m[38;5;12m [39m[38;5;12mease[39m[38;5;12m [39m[38;5;12mgame[39m[38;5;12m [39m[38;5;12mdevelopment[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mCOSMAC[39m[38;5;12m [39m[38;5;12mVIP[39m[38;5;12m [39m[38;5;12mkit[39m[38;5;12m [39m[38;5;12mcomputer,[39m[38;5;12m [39m[38;5;12mit[39m[38;5;12m [39m[38;5;12mhas[39m[38;5;12m [39m[38;5;12menjoyed[39m[38;5;12m [39m[38;5;12mseveral[39m[38;5;12m [39m[38;5;12mrevivals[39m[38;5;12m [39m[38;5;12mover[39m[38;5;12m [39m[38;5;12mthe[39m[38;5;12m [39m[38;5;12mdecades[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12mnew[39m[38;5;12m [39m[38;5;12mand[39m[38;5;12m [39m
[38;5;12mexciting[39m[38;5;12m [39m[38;5;12mplatforms.[39m[38;5;12m [39m[38;5;12mToday,[39m[38;5;12m [39m[38;5;12mcreating[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mCHIP-8[39m[38;5;12m [39m[38;5;12mimplementation[39m[38;5;12m [39m[38;5;12mis[39m[38;5;12m [39m[38;5;12ma[39m[38;5;12m [39m[38;5;12mrite[39m[38;5;12m [39m[38;5;12mof[39m[38;5;12m [39m[38;5;12mpassage[39m[38;5;12m [39m[38;5;12mfor[39m[38;5;12m [39m[38;5;12manyone[39m[38;5;12m [39m[38;5;12minterested[39m[38;5;12m [39m[38;5;12min[39m[38;5;12m [39m[38;5;12mlearning[39m[38;5;12m [39m[38;5;12mabout[39m[38;5;12m [39m[38;5;12memulation.[39m

[38;5;12mTo add something to this list, please see the [39m[38;5;14m[1mcontribution guidelines[0m[38;5;12m (CONTRIBUTING.md).[39m

[38;2;255;187;0m[4mContents[0m

[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mCommunity[0m[38;5;12m (#community)[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mDocumentation[0m[38;5;12m (#documentation)[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mEmulator/interpreter development[0m[38;5;12m (#emulatorinterpreter-development)[39m
[38;5;12m [39m[38;5;12m [39m[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mTesting[0m[38;5;12m (#testing)[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mEmulators/interpreters[0m[38;5;12m (#emulatorsinterpreters)[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mSoftware development[0m[38;5;12m (#software-development)[39m
[38;5;12m [39m[38;5;12m [39m[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mTools[0m[38;5;12m (#tools)[39m
[38;5;12m [39m[38;5;12m [39m[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mGuides and snippets[0m[38;5;12m (#guides-and-snippets)[39m
[38;5;12m [39m[38;5;12m [39m[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mPostmortems[0m[38;5;12m (#postmortems)[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mGames[0m[38;5;12m (#games)[39m

[38;2;255;187;0m[4mCommunity[0m

[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mCOSMAC Elf Group[0m[38;5;12m (https://groups.io/g/cosmacelf) - Group for discussion of the COSMAC Elf, as well as anything else RCA 1802-related, including COSMAC VIP and CHIP-8.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1m#chip8 channel on the Emulation Development Discord server[0m[38;5;12m (https://discordapp.com/invite/Gf7cP3w) - Chat for discussing development of CHIP-8 emulators/interpreters.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mOctoJam[0m[38;5;12m (http://octojam.com/) - An Octo-centric game jam held every October.[39m

[38;2;255;187;0m[4mDocumentation[0m

[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mMastering CHIP-8[0m[38;5;12m (https://github.com/mattmikolay/chip-8/wiki/Mastering-CHIP%E2%80%908) - In-depth overview of the CHIP-8 instruction set.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mCHIP-8 Instruction Set[0m[38;5;12m (http://johnearnest.github.io/Octo/docs/chip8ref.pdf) - Quick cheat sheet for CHIP-8 instructions.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mCHIP-8 Instruction Set[0m[38;5;12m (https://github.com/mattmikolay/chip-8/wiki/CHIP%E2%80%908-Instruction-Set) - A comprehensive instruction/opcode table.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mCHIP-8 Technical Reference[0m[38;5;12m (https://github.com/mattmikolay/chip-8/wiki/CHIP%E2%80%908-Technical-Reference) - Overview of how the CHIP-8 interpreter works.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mCHIP-8 Extensions Reference[0m[38;5;12m (https://github.com/mattmikolay/chip-8/wiki/CHIP%E2%80%908-Extensions-Reference) - A list of CHIP-8 variants and extensions.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mChip-8 on the COSMAC VIP[0m[38;5;12m (https://laurencescotford.com/chip-8-on-the-cosmac-vip-index/) - An in-depth disassembly and analysis of the original CHIP-8 interpreter on the COSMAC VIP.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mHP48-Superchip[0m[38;5;12m (https://github.com/Chromatophore/HP48-Superchip) - An in-depth look at CHIP48 and Super-CHIP for the HP48 calculators, and modifications to make them CHIP-8 compatible.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mOcto Extensions[0m[38;5;12m (http://johnearnest.github.io/Octo/docs/XO-ChipSpecification.html) - Specification for Octo's XO-CHIP extension.[39m

[38;2;255;187;0m[4mEmulator/interpreter development[0m

[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mHow to write an emulator (CHIP-8 interpreter)[0m[38;5;12m (http://www.multigesture.net/articles/how-to-write-an-emulator-chip-8-interpreter/) - A guide to developing a CHIP-8 interpreter in C/C++.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mEmulator 101: CHIP-8[0m[38;5;12m (http://www.emulator101.com/introduction-to-chip-8.html) - A guide to developing a CHIP-8 disassembler and interpreter in C.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mChip 8 Instruction Scheduling and Frequency[0m[38;5;12m (https://jackson-s.me/2019/07/13/Chip-8-Instruction-Scheduling-and-Frequency.html) - Timing of CHIP-8 instructions on the COSMAC VIP.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mHigh-level guide to making a CHIP-8 emulator[0m[38;5;12m (https://tobiasvl.github.io/blog/write-a-chip-8-emulator/) - A guide for developing a CHIP-8 interpreter, without code.[39m

[38;2;255;187;0m[4mTesting[0m

[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mchip8-test-rom[0m[38;5;12m (https://github.com/corax89/chip8-test-rom) - corax89's CHIP-8 test program, which tests most instructions for correct (Super-CHIP compliant) behavior.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mCHIP-8 test suite[0m
[38;5;12m (https://github.com/Timendus/chip8-test-suite) - Timendus' collection of tests, including an improved version of corax89's test rom, a test for the behaviour of the flags and a CHIP-8 / Super-CHIP / XO-CHIP quirks test.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mDelay timer test[0m[38;5;12m (https://github.com/mattmikolay/chip-8/tree/master/delaytimer) - Test program that checks the delay timer's behavior.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mRandom number test[0m[38;5;12m (https://github.com/mattmikolay/chip-8/tree/master/randomnumber) - Test program that checks the spread and mask for random number generation.[39m

[38;2;255;187;0m[4mEmulators/interpreters[0m

[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mOcto[0m[38;5;12m (http://johnearnest.github.io/Octo/) - An IDE for development of CHIP-8, Super-CHIP and XO-Chip games.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mEmma02[0m[38;5;12m (https://www.emma02.hobby-site.com/) - An emulator for many old microcomputers, including COSMAC VIP, Telmac 1800 and ETI 660, which ran early CHIP-8 interpreters (which are included in the emulator).[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mSuper-Chip8x[0m[38;5;12m (https://github.com/Ersanio/Super-Chip8x) - CHIP-8 emulator for the SNES.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mCHIP-8 console on FPGA[0m[38;5;12m (https://github.com/pwmarcz/fpga-chip8) - A CHIP-8 emulator for the TinyFPGA BX chip.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mVinegar[0m[38;5;12m (http://benryves.com/bin/vinegar/) - CHIP-8/Super-CHIP interpreter for TI-83 (Plus) calculators.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mLowResNX[0m[38;5;12m (https://lowresnx.inutilis.com/topic.php?id=1648) - CHIP-8 interpreter and debugger programmed in BASIC inside another retro fantasy console.[39m

[38;2;255;187;0m[4mSoftware development[0m

[38;2;255;187;0m[4mTools[0m

[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mOcto[0m[38;5;12m (http://github.com/johnearnest/Octo/) - A high-level assembler for CHIP-8, Super-CHIP and XO-CHIP, complete with an environment for testing programs, and tools for sharing your creations.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mwernsey chip8[0m[38;5;12m (https://github.com/wernsey/chip8) - A CHIP-8 assembler/disassembler.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mEZ-Bake Animator[0m[38;5;12m (http://beyondloom.com/tools/ezbake.html) - A graphics preparation tool that creates XOR-ed animations.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mEZ-Writer[0m[38;5;12m (http://beyondloom.com/tools/ezwriter.html) - A tool for converting text into CHIP-8 sprites.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mEZ-Pack[0m[38;5;12m (http://beyondloom.com/tools/ezpack.html) - An image slicing/repaletting tool.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mChipify[0m[38;5;12m (http://johnearnest.github.io/Octo/tools/Chipify/) - A script that filters and encodes mono-channel WAV audio to XO-CHIP audio.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1moctofont[0m[38;5;12m (https://github.com/jdeeny/octofont/) - Convert TrueType (ttf) fonts to Octo code for CHIP-8.[39m

[38;2;255;187;0m[4mGuides and snippets[0m

[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mOcto manual[0m[38;5;12m (https://johnearnest.github.io/Octo/docs/Manual.html) - The manual for Octo.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mA Beginner's Guide to Programming with Chip8[0m[38;5;12m (http://johnearnest.github.io/Octo/docs/BeginnersGuide.html) - An introductory guide to CHIP-8 programming in Octo.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mAn Intermediate Guide to Game Development with Chip8[0m[38;5;12m (http://johnearnest.github.io/Octo/docs/IntermediateGuide.html) - Remaking the Atari 2600 game "Outlaw" for CHIP-8 in Octo.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mChip8 Programming Techniques[0m[38;5;12m (http://johnearnest.github.io/Octo/docs/Chip8%20Programming.html) - Many different programming tips for CHIP-8.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mOcto Metaprogramming Cookbook[0m[38;5;12m (http://johnearnest.github.io/Octo/docs/MetaProgramming.html) - How to use Octo's assembly directives for meta-programming.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mMastering SuperChip[0m[38;5;12m (http://johnearnest.github.io/Octo/docs/SuperChip.html) - How to make games compatible with CHIP-8 and Super-CHIP, as well as some Super-CHIP specific techniques.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mAdventures in Sorting[0m[38;5;12m (https://johnearnest.github.io/Octo/docs/Sorting.html) - Implementing efficient sorting algorithms in Octo for CHIP-8.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mchip8-multiply[0m[38;5;12m (https://github.com/jdeeny/chip8-multiply) - Multiplication routines for CHIP-8, written in Octo.[39m

[38;2;255;187;0m[4mPostmortems[0m

[38;5;12mPostmortems detailing the development of specific games, written by the developers.[39m

[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mInside Eaty the Alien[0m[38;5;12m (http://johnearnest.github.io/Octo/docs/EatyTheAlien.html)[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mOctopeg Post Mortem[0m[38;5;12m (http://www.awfuljams.com/octojam-ii/games/octopeg)[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mCosmacCalc: The COSMAC VIP's place in Spreadsheet History[0m[38;5;12m (https://abitoutofplace.wordpress.com/2015/05/02/cosmaccalc-the-cosmac-vip-s-place-in-spreadsheet-history/)[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mInside Cave Explorer[0m[38;5;12m (http://johnearnest.github.io/Octo/docs/CaveExplorer.html)[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mInside Black Rainbow[0m[38;5;12m (http://johnearnest.github.io/Octo/docs/BlackRainbow.html)[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mPostmortem: Mini Lights Out[0m[38;5;12m (https://tobiasvl.itch.io/mini-lights-out/devlog/102679/postmortem-mini-lights-out)[39m

[38;2;255;187;0m[4mGames[0m

[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mCHIP-8 Archive[0m[38;5;12m (https://johnearnest.github.io/chip8Archive/) - A collection of public domain (CC0) games, all playable online.[39m
[48;5;12m[38;5;11m⟡[49m[39m[38;5;12m [39m[38;5;14m[1mA collection of CHIP-8 programs and documentation[0m[38;5;12m (https://github.com/mattmikolay/chip-8) - Matt Mikolay's games, programs and documentation.[39m
