// the find
OneLoneCoder/olcNES
NES Emulator, and Tutorial Video Code
olcNES is the code from OneLoneCoder's video series on building an NES emulator in C++, split into numbered parts so each stage builds on the last: the 6502 CPU, the bus and cartridge, PPU backgrounds, PPU sprites, then mappers and basic sound. It suits people who want to see how the CPU, PPU and cartridge fit together in readable code, not anyone who needs an emulator to run a game library.
Each numbered folder is a full, self-contained snapshot, so diffing Part #4 against Part #5 shows exactly what the sprite work changed, which is the most useful way to read it. The 6502 core is a plain opcode table with the addressing modes written out, which makes it easy to check against a reference, and the mapper layer covers 000 through 004 and 066, enough to run a reasonable slice of the early library. The license is OLC-3, a BSD-style license, so reuse is simple as long as the copyright notice travels with the code.
Every part duplicates the whole project, so olc6502.cpp and the bus code exist in five places, and a fix has to be copied by hand into each one. There is no shared library, CMake file or test suite. The project files visible in the tree are all Visual Studio .vcxproj files, and olcPixelGameEngine.h is vendored into every folder, which makes it awkward to build on Linux or macOS. Nothing has been pushed since January 2024, and the README says nothing about accuracy, so anyone expecting hardware test ROMs to pass or every licensed game to run will find the gaps the hard way.