A byte-identical ca65 reconstruction of Hudson Soft's 1986 Famicom game
Doraemon (HFC-DO), edited in Retrolarium Studio. The source builds the
Japanese release; the ROM-derived assets stay private.
Source Reconstruction 3.1. Editing happens in Retrolarium Studio: doraemon.rlj
opens it (docs/retrolarium.md).
3.1 keeps only what builds and checks the source. The earlier releases' Ghidra
regeneration pipeline and its ledgers, audits, authoring contracts and editable
JSON, FCEUX runtime scenarios and debugger exports remain in the history (tags
source-reconstruction-1.0 to 3.0); the source is now edited directly.
The cartridge uses GNROM mapper 66 with 128 KiB of PRG and 32 KiB of CHR
(docs/revisions.md).
The source does not yet survive moving its code. ROM addresses in instruction operands, the bank 3 entry points the other banks call, and the NMI services of bank 3 are symbolic, but many pointer tables (RTS dispatch tables, pointer loads, pointers inside data streams) are still raw bytes, so a build whose modules move does not run. Until they are labelled there is no emulator run in the checks.
You need Python 3, GNU Make and Retrolarium Kit (rltool on PATH, or
RLTOOL=...); the kit supplies and verifies ca65 and ld65. Copy
Doraemon (J) (PRG0) [!].nes into the repository root, then:
make split # cut the private assets out of the ROM (once)
make verify # build the ROM and compare it byte for bytemake alone lists the targets. The build goes to build/revisions/original/.
assets/manifest.json names the ROM and the assets cut out of it
(rltool assets, Retrolarium Kit). ROMs, extracted assets and build products
are ignored by Git.
make build # build the ROM
make verify # build it and compare it with the ROM
make studio-check # open and rebuild doraemon.rlj in the kit
make profile-check # the profile's table places against the builds
make test # all of the above
make lint / format / hooks / cleanmake test takes well under a minute.
src/ ca65 source (main.asm, one include map per PRG bank)
config/ linker layout, lint, names, Studio profile and its tables
assets/ manifest.json (the extracted assets are ignored)
docs/ architecture, subsystems, RAM, data formats, worlds
doraemon.rlj the Retrolarium project
Start with the documentation index.
Published CadEditor map and table information, cartridge databases and community guides provide external boundary evidence; the sources and how they are used are listed in Provenance. External tools and references are not copied into this repository.
Original game code, graphics, music, text, and data remain property of their respective rights holders. This repository does not distribute ROM images or extracted copyrighted assets. Users must supply their own lawful references.
This is an unofficial reconstruction, made for study and preservation. The game, its title and its characters are trademarks of their owners, who have not made, licensed or endorsed this project. It contains no part of the game: you need your own copy of Doraemon to build anything.