Skip to content

About

Byte-identical ca65 source reconstruction of two official Doraemon Famicom revisions, with reverse-engineering documentation and content-authoring tools.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Repository files navigation

Doraemon NES source reconstruction

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.

Status

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.

Quick start

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 byte

make 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.

Targets

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 / clean

make test takes well under a minute.

Repository map

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.

Research and rights

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.

Trademarks

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.

About

Byte-identical ca65 source reconstruction of two official Doraemon Famicom revisions, with reverse-engineering documentation and content-authoring tools.

Topics

Resources

Contributing

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages