# Snowboard Kids: an agent-assisted N64 matching decompilation

> A matching decompilation of the original Nintendo 64 Snowboard Kids that rebuilds SHA1-identical North American and Japanese ROMs from a user-supplied ROM. The author’s 84-day post-mortem describes coding agents run through his Nigel harness alongside m2c, the permuter and a shared file of compiler learnings, and declines to credit LLMs alone for the speed-up. It is a separate project from the Snowboard Kids 2 decompilation.

- Type: Case study
- Targets: Game
- Category: Independent reconstruction cases
- Relationship: Independent reconstruction project
- Sources reviewed: 2026-10-18
- Added to the catalog: 2026-10-20
- Original resource: <https://github.com/cdlewis/snowboardkids-decomp>
- Primary source: <https://github.com/cdlewis/snowboardkids-decomp/blob/0a398d907aae32ae45e6ba0ca688049e5c60dab8/README.md>
- Catalog page: <https://awesomerea.org/resources/snowboardkids-matching-decomp-case/>
- Record JSON: <https://awesomerea.org/resources/snowboardkids-matching-decomp-case/record.json>
- Chinese version: [简体中文](https://awesomerea.org/zh/resources/snowboardkids-matching-decomp-case/index.md)

## Requirements & limits

- The 2026-08-26 post reports the game 100% decompiled: every function has C that compiles to identical machine code, apart from a small amount of handwritten system-library assembly that was original source. It dates the repository from 28 May 2026 to the final matching function on 19 August 2026 and counts 2,145 functions, against 596 days and 2,995 functions for Snowboard Kids 2. The README says the Japanese version currently builds from extracted assembly; reports/jp-exact-functions.md lists 120 JP functions compiled from C.
- Building requires the user’s own North American or Japanese ROM, named snowboardkids.z64 or snowboardkids.jp.z64 with the SHA1 listed in the README; the build extracts assembly and assets from it into git-ignored directories. The README says the repository contains no game assets or assembly, although the reviewed tree tracks libultra .s files and a box-art image. CI builds both regions from a baserom checked out of a separate private repository.
- The verified host is x86-64 Linux with make, git, Python 3, clang, wget, tar and binutils-mips-linux-gnu; a macOS setup is documented but still needs validation. make -C tools sets up the recompiled IDO 5.3 toolchain (IDO_DIR can point to another), submodules supply asm-processor, asm-differ and decomp-permuter, and optional matching helpers need requirements.txt.
- tools/build-and-verify.sh cleans, extracts, builds and checks the output ROM’s SHA1 against the original for the selected region, and reports/region-functions.md aligns 1,293 of 2,110 US functions with the JP ROM by exact or address-normalized matches. The post describes agents writing C function by function, a script running m2c on every unmatched function, permuter runs with deadlines and four parallel worktrees; it calls its comparison of GPT-5.5/5.6, Claude 4.5, Fable and GLM 5.2 unscientific.
- The author estimates that roughly 4.8% of matching commits involved expert intervention, says the figure does not measure effort, credits contributors for many difficult IDO matches and calls attributing the whole speed-up to LLMs a gross oversimplification. A 100% match still leaves generated names, unknown structure fields and data to document. No license file is present at the reviewed commit, and the README states commercial use is a non-goal.

## Primary sources

1. <https://github.com/cdlewis/snowboardkids-decomp/blob/0a398d907aae32ae45e6ba0ca688049e5c60dab8/README.md>
2. <https://blog.chrislewis.au/decompiling-a-nintendo-64-game-in-84-days/>
3. <https://github.com/cdlewis/snowboardkids-decomp/blob/0a398d907aae32ae45e6ba0ca688049e5c60dab8/docs/versions.md>
4. <https://github.com/cdlewis/snowboardkids-decomp/blob/0a398d907aae32ae45e6ba0ca688049e5c60dab8/reports/jp-exact-functions.md>
5. <https://github.com/cdlewis/snowboardkids-decomp/blob/0a398d907aae32ae45e6ba0ca688049e5c60dab8/reports/region-functions.md>
6. <https://github.com/cdlewis/snowboardkids-decomp/blob/0a398d907aae32ae45e6ba0ca688049e5c60dab8/.github/workflows/build.yaml>
7. <https://github.com/cdlewis/snowboardkids-decomp/blob/0a398d907aae32ae45e6ba0ca688049e5c60dab8/.gitignore>
8. <https://github.com/cdlewis/snowboardkids-decomp/blob/0a398d907aae32ae45e6ba0ca688049e5c60dab8/.gitmodules>
9. <https://github.com/cdlewis/snowboardkids-decomp/blob/0a398d907aae32ae45e6ba0ca688049e5c60dab8/snowboardkids.sha1>

## More in Games

- [Sonic Advance 1 & 2: a matching GBA decompilation with widescreen ports](https://awesomerea.org/resources/sonic-advance-1-2-decomp-port-case/index.md) · Case study
- [Sonic Advance 3: an AI-assisted match of one enemy module](https://awesomerea.org/resources/sa3-marun-ai-decomp-case/index.md) · Case study
- [Star Fox 64: a complete matching Nintendo 64 decompilation](https://awesomerea.org/resources/sf64-matching-decomp-case/index.md) · Case study
- [Super Mario 64 DS: matching decompilation with relocation checks](https://awesomerea.org/resources/sm64ds-decomp-case/index.md) · Case study
- [Super Mario 64: ROM reconstruction with explicit comparison gates](https://awesomerea.org/resources/sm64-decomp-case/index.md) · Case study
- [Super Mario Odyssey: per-function matching decompilation of the Switch executable](https://awesomerea.org/resources/odyssey-decomp-case/index.md) · Case study

## About this entry

The description was reviewed against primary sources.
Original editorial content: MIT. Linked projects, papers and assets retain their own rights and licenses.
