The 6502 + PPU substrate and every title decompiled on it. Sibling of snes/. The shared KOEI toolchain these titles run through lives one level over in koei/, because the engine spans both consoles.
Links: series hub → Game Annotation · toolchain → KOEI tools · system tools → nes/tools · project SDK → projects/CLAUDE.md · hardware → PPU · APU · mappers · NES research
nes-render generic PPU / render core ← target-agnostic → tools/
↑
koei-nes KOEI Famicom VM engine layer ← family-specific → ../koei/
↑
<title>-decompiler per-title decompilation → below
nes-render graduated out of NA1 the moment Mappy needed it — the SDK’s shared-lib rule working as
intended: a second consumer turns a helper into a real dependency with exactly one home.
Repo names are decompiler-project numbering, not series order, and “game 6/7/8” is the order the family was decompiled, not release order (L’Empereur 1991 is game 8; Gemfire 1992 is game 7). The design-clock year is the original computer release — the meaningful clock for “how did the AI evolve”, since the NES ROM is a localization of the Famicom port.
| Folder | Repo | Title | Design clock |
|---|---|---|---|
| ro3k/ | ro3k-decompiler |
Sangokushi (ROTK1) | 1985 |
| na1/ | na1-decompiler |
Nobunaga no Yabō: Zenkokuban | 1986 |
| gk/ | gk-decompiler |
Genghis Khan | 1987 |
| rot3k2/ | rot3k2-decompiler |
Sangokushi II (ROTK2) | 1989 |
| bk/ | bk-decompiler |
Bandit Kings of Ancient China (game 6) | — |
| gemfire/ | GemFire-decompiler |
Gemfire, 1992 (game 7) | — |
| lemp/ | LEmp-decompiler |
L’Empereur, 1991 (game 8) | — |
⚠️ na2 is unconfirmed. The five-decompiler study
names na2 (Sengoku Gun’yūden, 1988) as decompiled, but no na2-decompiler repo exists on
GitHub — it may live inside na1-decompiler. No folder until that’s verified.
⚠️ None of these are cloned on this machine (2026-07-21) — see .claude/local-paths.md.
Mappy (Famicom/NES) — Namco’s 16 KB platformer, 8 chapters complete. It belongs to the hardware-capability arc paired against Adventure (Atari 2600), so it is indexed by comparisons/, not here. Filing it under this node would sever the arc — the cross-console comparison is the point.
The NES work reused one 6502 + a few mappers across seven titles. The SNES forces re-detection per cart (mapping, CPU width, coprocessors) and a different disassembler — so each console gets its own substrate package. What they share is the KOEI engine family, which is why that lives in koei/ rather than being duplicated into both.
nes · 6502 · assembly · reverse-engineering · games