
Rugrats: Scavenger Hunt
Port nativo de Rugrats: Scavenger Hunt para PC.
Rugrats: Scavenger Hunt
Port nativo basado en thegh0stship/rugrats-scavenger-hunt.
README del repositorio
Rugrats: Scavenger Hunt (Nintendo 64, USA)
This repository contains a complete, byte-exact source reconstruction of the USA retail release of Rugrats: Scavenger Hunt. It includes matching C, reviewed assembly, symbolic RSP source, initialized-data descriptions, asset parsers, and whole-ROM reconstruction checks.
Executable-byte coverage is 100%, and every ordinary game routine has verified
matching C. The retained assembly consists of authentic low-level runtime,
compiler-helper, exception, codec, SDK, debugger, and custom-ABI display-list
code. It is listed in docs/ASSEMBLY_AUDIT.md. This
distinction is intentional: the repository is a complete byte-exact
decompilation, but it is not inaccurately presented as containing only C.
No ROM, extracted media, or proprietary compiler is included. You must provide your own legally obtained copy of the game and the historical compiler files needed for code verification.
Completion status
| Area | Verified coverage |
|---|---|
| CPU functions | 1,270 / 1,270 |
| CPU-function bytes | 314,304 / 314,304 |
| Other executable material | 9,448 / 9,448 |
| All executable bytes | 323,752 / 323,752 |
| Initialized data | 32,216 / 32,216 |
| Non-code ROM round trip | 16,453,464 / 16,453,464 |
| Physical ROM inventory | 16,777,216 / 16,777,216 |
The assembly manifest contains 29 functions (8,340 bytes): 27 runtime, compiler-helper, exception, codec, SDK, or debugger units, plus two authentic custom-ABI display-list emitters. No ordinary game assembly fallback remains.
The non-function executable material consists of RSP microcode, embedded read-only tables, and alignment. It is deliberately tracked separately instead of being presented as CPU functions.
Requirements
- Linux or WSL
- Python 3.11 or newer
- GNU Make
rabbitizer(installed fromrequirements.txt)- The historical N64 compiler toolchains described below
armipsfor rebuilding the symbolic RSP sources
All project-specific analysis, matching, normalization, asset, and verification
tools are stored in this repository. The matching package is vendored under
tools/n64dk/; no sibling source checkout is required.
Setup
Clone the repository and install its Python dependency:
git clone https://github.com/TheGh0stShip/Rugrats-Scavenger-Hunt.git
cd Rugrats-Scavenger-Hunt
python3 -m venv .venv
.venv/bin/python -m pip install -r requirements.txt
Place the USA ROM at baseroms/us/baserom.z64. The required SHA-1 is:
fb2a62f1625630d6f0beb5fd00a32e12155d50e8
Verify it before doing anything else:
make verify-rom PYTHON=.venv/bin/python
Historical compiler layout
The original compilers cannot be redistributed. Put your legally obtained
toolchain files in the ignored .toolchain/ directory:
.toolchain/
├── kmc-gcc-2.7.2/
│ ├── gcc
│ ├── cc1
│ └── as
├── sn-gcc-2.8/
│ ├── wibo
│ ├── cc1n64.exe
│ ├── asn64.exe
│ └── psyq-obj-parser
├── ido5.3/
│ └── cc
├── ido7.1/
│ └── cc
└── mips-binutils/
└── usr/bin/mips-linux-gnu-as
IDO 7.1 is supported by the tooling but is not currently required by a
matching manifest. A compatible MIPS assembler on PATH may be used instead of
the mips-binutils directory. To keep toolchains elsewhere, pass
N64DK_TOOLCHAIN=/absolute/path to Make.
Verify the decompilation
Run the primary verification suite:
make check PYTHON=.venv/bin/python
This verifies the ROM, rebuilds every matching CPU unit with its recorded compiler pipeline, checks executable tables and alignment, regenerates the progress report, and runs the repository tests.
Verify the symbolic RSP programs separately by providing armips:
make verify-rsp-microcode \
PYTHON=.venv/bin/python \
ARMIPS=/absolute/path/to/armips
Run the complete data and asset validation:
make data-tests PYTHON=.venv/bin/python
make data-roundtrip PYTHON=.venv/bin/python
data-roundtrip rebuilds all non-code ROM bytes from parsed representations and
compares them with the retail image. It does not write a distributable ROM.
Useful targets
| Command | Purpose |
|---|---|
make verify-rom | Check ROM size and SHA-1 |
make verify-matching | Rebuild and compare all CPU-function manifests |
make verify-assembly-policy | Reject unreviewed additions to game assembly |
make verify-executable-inventory | Check every non-function executable interval |
make verify-executable-data | Rebuild executable tables and alignment from C |
make verify-rsp-microcode | Assemble and compare symbolic RSP programs |
make data-tests | Run format, data, audio, BSS, and asset tests |
make data-roundtrip | Rebuild and compare every non-code ROM byte |
make report | Generate build/report.json for progress trackers |
make deep-rom-audit | Regenerate the ROM map and consolidated audit |
Variables such as ROM, PYTHON, N64DK_TOOLCHAIN, and ARMIPS can be
overridden on the Make command line.
Repository layout
| Path | Contents |
|---|---|
src/game/ | Game and runtime C source |
src/runtime/, src/libultra/, src/libmus/ | Runtime and library source |
src/data/ | Executable-section data represented in C |
rsp/ | Symbolic RSP boot and audio microcode source |
config/us/ | Matching manifests and progress metadata |
analysis/ | Function catalogue, address map, ROM ledger, and audit reports |
assets/ | Asset/data parsers, source metadata, and round-trip tests |
tools/ | All project verification and matching tools |
The decoded inventory includes 2,207 textures, 429 palettes, 376 models, 445 vertex-animation streams, 178 audio samples, 25 songs, 112 sound effects, 380 speech clips, 14 camera paths, 6 grid maps, 2 fonts, and 107 image tile banks. Extracted copyrighted payloads remain local and are ignored by Git.
Technical details
- Target: big-endian MIPS III / VR4300 using the 32-bit o32 ABI
- CIC: 6102
- Entry point:
0x80000400 - Program ROM range:
0x1000..0x57E80 - Program VRAM range:
0x80000400..0x80057280 - BSS:
0x80057280..0x800C7E30 - Confirmed compilers: KMC GCC 2.7.2, SN Systems GCC 2.8, and IDO 5.3
See analysis/deep_rom_audit.md for the complete
coverage audit and analysis/rom_map.md for the physical
ROM map.
Legal
This project does not provide the game ROM, extracted copyrighted media, or
proprietary compiler binaries. The source and tooling are licensed under the
terms in COPYING.
Comentarios (0)
Inicia sesión para dejar un comentario.
Sé el primero en comentar sobre este juego.
