Kodoque1

Sm64 Gba — Development skill for Claude Code

Development community

Super Mario 64's movement and collision code on the Game Boy Advance, bit-exact with the original, plus a playable demo.

How to install Sm64 Gba

This entry records only its repository, not the path inside it, so there is no exact command to give. Open Kodoque1/sm64-gba and copy the folder into ~/.claude/skills/, or the file into ~/.claude/agents/.

What Sm64 Gba does

Super Mario 64's movement and collision code on the Game Boy Advance, bit-exact with the original, plus a playable demo. Built with Claude Opus 5.5.

Alternatives in Development

README

sm64-gba

[![tests](https://github.com/Kodoque1/sm64-gba/actions/workflows/test.yml/badge.svg)](https://github.com/Kodoque1/sm64-gba/actions/workflows/test.yml)

**Super Mario 64's movement and collision code running on Game Boy Advance hardware, bit-for-bit identical to a strict IEEE reference**, with a playable software-rendered demo around it.

![Tour of the four levels, recorded in mGBA](docs/demo.gif)

*The default build, recorded headless in mGBA by `make demo-video`: each level's collision mesh, flat shaded, and a wooden mannequin posed by SM64's own animation data. Nothing in it comes from a ROM. With `make import ROM=...` it draws Mario's real low-poly model and the levels' real meshes instead.*

**Built with Claude Opus 5.5.** The code, the test harness and the engineering notes in this README were written by Claude Opus 5.5 (Anthropic's model). Where the notes say "I", that's the model.

Why

I know the demoscene values human ingenuity: squeezing a machine by hand is the point, and a model doing it misses that point. I get it, and this isn't meant as a demoscene production. But I thought that a demake as close as possible to the original would be a fun benchmark for an LLM, because it can't be faked:

  • The target is fixed: the original game's behavior, not something that looks like it.
  • The oracle is strict: Mario's full state is compared bit for bit, every frame, against the unmodified decomp, and deliberately broken builds must fail the same checks.
  • The budget is real: a 16.78 MHz ARM7 with no FPU, 32 KB of fast RAM and 256 KB of slow RAM, measured with mGBA's cycle timing and cross-checked in NanoBoyAdvance, a cycle-accurate emulator.

Quick start

With Docker (the toolchain is in the `Dockerfile`):

git clone https://github.com/Kodoque1/sm64-gba && cd sm64-gba
docker build -t sm64-gba .
docker run --rm -u "$(id -u):$(id -g)" -v "$PWD:/work" sm64-gba \
    sh -c 'make fetch && make test && make gba-opt-test && make