0xreversed/with.ai
Games and modsResearchSource available
Target: Tony Hawk's Pro Skater (N64)

Tony Hawk's Pro Skater (N64) Matching Decompilation

by andrewnakas Repository0 views

Evidence at a glance

Based on the linked sources. The author's reported result and independent confirmation are separate checks.

AI involvement
Reported models: Claude. Tools: splat64, rabbitizer, pyelftools, m2c, GCC 2.8.1, gas 2.6, Steward. The writeup below describes the work attributed to AI.
Reported result
Research. This is the directory's source-based outcome classification.
Independent confirmation
Not reported.
Human work and limitations
The project uses a specific workflow where AI agents are integrated into the contribution process. All AI-assisted work is co-authored and requires the agent to tick specific provenance boxes. The project maintains a strict policy that AI does not perform final verification or judgment; this is handled by the Steward automation and human maintainers.

Original sources

What was done

A project to create a byte-identical C source code reconstruction of Tony Hawk's Pro Skater (N64, US V1.1) using a custom toolchain. It utilizes community contributions and AI assistance to match functions against the original machine code.

The thps64 project aims to produce a matching decompilation of Tony Hawk's Pro Skater for the Nintendo 64 (US, V1.1). A matching decompilation requires that the generated C code, when compiled with the original compiler and flags, produces machine code identical to the original ROM. The project uses a toolchain based on GCC 2.8.1 with specific flags (-O1 -msplit-addresses) and a patched version of gas 2.6 to replicate the original build environment. Contributors decompose the game function-by-function, often using m2c for initial drafts, followed by manual adjustments to ensure byte-perfect matches. The project explicitly welcomes AI agents, such as Claude Opus 5.5, to assist in drafting and matching functions. AI contributions must be documented in the PR template, and the AI is required to verify its changes. Automated maintenance is handled by 'Steward,' which validates PRs against the original ROM before merging. Merges are governed by fixed rules; AI does not perform judgment or verification. The project remains in early stages, with a small percentage of total functions matched.

Reproduce it

setup
1. Obtain a US V1.1 ROM of Tony Hawk's Pro Skater. 2. Install Python 3.12+, splat64, rabbitizer, and pyelftools. 3. Build the native toolchain (GCC 2.8.1 and gas 2.6) using toolchain/build.sh. 4. Use tools/build_main.py to prepare the ROM. 5. Run tools/split.py to generate assembly files. 6. Use tools/match.py to compare C code against assembly. 7. Verify with tools/gate.py and tools/build.py.