Native ARM port of the Animal Crossing (GameCube) decompilation for Anbernic H700 handhelds (RG-34XX SP, RG35XX/RG40XX family, RG28XX, CubeXX) running muOS, Knulli, or other PortMaster-capable OSes. This is not emulation: the game's original decompiled C code runs directly on the handheld's CPU, with a translation layer mapping the GameCube's GX graphics API onto OpenGL ES 3.2. Built on the ac-decomp project and the PC ports it enabled — see Credits.
Supported game version: GAFE01 — Animal Crossing (USA), Rev 0.
This project is not affiliated with, endorsed by, or sponsored by Nintendo. "Animal Crossing" and all related names and marks are trademarks of Nintendo; they are used here only to factually describe compatibility. No game assets, ROM contents, or original code ship with this repository — you must supply your own legally obtained disc image of a game you own. All other trademarks are the property of their respective owners.
Project status: actively developed, not yet tested end-to-end — it boots, renders, and saves on real hardware, but expect rough edges and save often. ~56 fps average at full game speed on the RG-34XX SP (v0.3.0), dipping to the low 40s during heavy acre streaming. Bug reports welcome — attach
ports/ac-gc/log.txt.
No build tools needed. You need: a PortMaster-capable device, a computer with
an SD card reader, and your own legally-dumped copy of Animal Crossing
(USA) as an .iso file.
- Download the release zip. Go to the
latest release and download
opencrossing-anbernic-vX.Y.Z-armhf.zip(under "Assets"). - Unzip it on your computer. Inside you'll find a folder called
portsand a file calledAnimal Crossing.sh. - Plug the device's SD card into your computer.
- Copy the files onto the card:
- Copy the whole
portsfolder to the root of the SD card (next to folders likeROMS). If asked whether to merge or replace an existingportsfolder, choose merge. - Copy
Animal Crossing.shinto theROMS/Ports/folder on the card.
- Copy the whole
- Add your game dump. Copy your own
Animal Crossing.iso(USA, game IDGAFE01) intoports/ac-gc/rom/. Without your disc image, nothing will start. - Eject safely, put the card back, power on, and launch Animal Crossing from the Ports menu.
The first launch takes noticeably longer — the game is building its
shader cache. Later launches are much faster. Assets are read straight from
the disc image (no extraction); saves, settings, and logs live in
ports/ac-gc/.
- "NO GAME DISC IMAGE FOUND" / "WRONG GAME VERSION" screen: the port
couldn't use your disc image — check that your iso is in
ports/ac-gc/rom/and is the USAGAFE01version..iso,.gcm, and.cisoall work. (Older builds showed a plain black screen or exited instantly in this situation.) - Black screen / instant exit (without an error screen): attach
ports/ac-gc/log.txtto a bug report — on current builds a missing or wrong iso is reported on-screen, so a silent black screen is something else. - No audio: quit and relaunch once — the audio stack sometimes needs a second start after first install.
- Can't walk / no analog stick: current builds detect stickless controllers and enable D-pad walking automatically. On older builds (or to override): press Select → Control → set "Use Dpad as Joystick".
- Wrong resolution: the port auto-detects your panel on launch; to force
one, uncomment
window_width/window_heightinports/ac-gc/settings.ini. - Modded stock OS: Select and Menu keys are reversed (all PortMaster games there) — Menu/Function opens settings, Select+Start exits.
- NES furniture says "I don't have any software": expected — the NES emulator does not exist in this port (see FAQ). Not a bug with your files.
- Lid sleep/wake weirdness (muOS clamshells): known muOS firmware quirk, not the port — press the power button to wake.
- Reporting a bug: attach
ports/ac-gc/log.txt— it's rewritten every launch and has the diagnostics we need.
Developed on the RG-34XX SP; every H700 Anbernic shares the same chip (quad Cortex-A53 + Mali-G31), so the same binary should run on all of them:
| Device | Screen | Notes |
|---|---|---|
| RG-34XX SP | 720×480 (3:2) | ✅ Tested — the development device |
| RG34XX | 720×480 (3:2) | Same screen and chip as the SP; safest bet |
| RG35XX SP | 640×480 (4:3) | ✅ Community-tested — works great |
| RG35XX H | 640×480 (4:3) | ✅ Community-tested on modded stock OS |
| RG35XX Plus / 2024 / Pro | 640×480 (4:3) | ✅ Community-tested on Knulli — "perfectly stable" |
| RG40XX V | 640×480 (4:3) | ✅ Community-tested on Knulli (two reports) |
| RG40XX H | 640×480 (4:3) | ✅ Community-tested — "works seamless" |
| RG28XX | 640×480 (4:3) | ✅ Community-tested on Knulli |
| RG CubeXX | 720×720 (1:1) | Square panel — expect letterboxing |
Trying an untested one? Report the result (working or not) in an issue with
ports/ac-gc/log.txt attached. Non-H700 devices (older RG35XX models,
RK3566, etc.) are not expected to work.
- Can I use the European (PAL) or Japanese disc? No — the decompilation
this port is built from targets the USA
GAFE01version specifically, and the recompiled code expects that disc's exact data layout. PAL/JP discs are different software (different code, timing, text banks) and are detected and refused at launch with an on-screen message. Any legally-dumped USA copy works. - Do the NES games work? No. The in-game NES emulator is PowerPC assembly in the original code and cannot run on these devices, so every NES furniture item shows "I want to play my NES, but I don't have any software." — including items that have a built-in game on GameCube. The rest of the furniture works normally. This may become an external- emulator feature someday, but it is not on the roadmap.
- Does the Deluxe mod work? Not yet — technically possible but a large amount of work; don't expect it soon.
- Can other GameCube games be ported this way? Only games with a complete decompilation — see decomp.dev. A finished decomp makes a port possible, not guaranteed.
- How much RAM? Runs comfortably on both 2GB (RG34XX family) and 1GB (RG35XX / RG28XX family) devices.
- Desktop Linux / PC? That's the upstream project's target — see Credits. This fork focuses on H700 handhelds.
- Settings: everything is adjustable in the in-game settings menu (or
settings.ini) — FPS target (fixed / unlimited / dynamic), render scale, shadow/particle/acre quality, distance culling, volume, bindings. - Saves: standard GCI format, fully Dolphin-compatible both directions.
Slot A is
ports/ac-gc/save/card_a/, Slot Bsave/card_b/. With the game closed, manage.gcifiles directly: copy out = backup, delete = fresh town, drop a Dolphin export in = import. Back up before updating. Saves are checksum-validated at load: a hand-hex-edited save that doesn't recompute the Animal Crossing checksum is rejected (the game falls back to its.bakbackups instead of crashing) — use a save editor that writes valid checksums. - Texture packs: Dolphin-format (XXHash64 DDS) in
texture_pack/. The community HD pack works, with a performance cost on handheld GPUs.
main is the release branch (tagged vX.Y.Z, CI-built zips on the
Releases page); dev is daily development and may be
broken. Building is only needed for development — cross-build in Docker from
any machine:
docker run --rm --platform linux/arm/v7 \
-v "$PWD":/work \
debian:bookworm bash /work/pc/build-armhf-docker.shOutput: pc/build-armhf/bin/AnimalCrossing. A desktop build (build_pc.sh)
also works for development; see BUILDING.md.
This project stands on the shoulders of:
- ACreTeam / ac-decomp — the complete C decompilation of Animal Crossing that makes any of this possible.
- flyngmt/ACGC-PC-Port — the original PC port of the decompilation (GX→OpenGL translation layer).
- Dia2809's fork — Linux support, the OpenGL ES renderer, and the ARM branches this project was bootstrapped from.
Animal Crossing is © Nintendo. This project is not affiliated with or endorsed by Nintendo, and distributes none of its assets.
AI tools (Claude) were used in the porting and optimization work (platform code only, not the decompiled game code).