Skip to content

Repository files navigation

OpenCrossing-Anbernic

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.

Disclaimer

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.

Install (muOS / PortMaster)

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.

  1. Download the release zip. Go to the latest release and download opencrossing-anbernic-vX.Y.Z-armhf.zip (under "Assets").
  2. Unzip it on your computer. Inside you'll find a folder called ports and a file called Animal Crossing.sh.
  3. Plug the device's SD card into your computer.
  4. Copy the files onto the card:
    • Copy the whole ports folder to the root of the SD card (next to folders like ROMS). If asked whether to merge or replace an existing ports folder, choose merge.
    • Copy Animal Crossing.sh into the ROMS/Ports/ folder on the card.
  5. Add your game dump. Copy your own Animal Crossing.iso (USA, game ID GAFE01) into ports/ac-gc/rom/. Without your disc image, nothing will start.
  6. 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/.

Troubleshooting

  • "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 USA GAFE01 version. .iso, .gcm, and .ciso all 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.txt to 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 SelectControl → set "Use Dpad as Joystick".
  • Wrong resolution: the port auto-detects your panel on launch; to force one, uncomment window_width / window_height in ports/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.

Supported devices

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.

FAQ

  • Can I use the European (PAL) or Japanese disc? No — the decompilation this port is built from targets the USA GAFE01 version 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, saves, texture packs

  • 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 B save/card_b/. With the game closed, manage .gci files 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 .bak backups 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.

Building & branches

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.sh

Output: pc/build-armhf/bin/AnimalCrossing. A desktop build (build_pc.sh) also works for development; see BUILDING.md.

Credits

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).

About

OpenCrossing: Animal Crossing running natively at ~60 fps on Anbernic handhelds — no emulator. GameCube decomp port for the H700 family (RG-34XX/35XX/28XX) via PortMaster (muOS, Knulli).

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages