Skip to content

Animal Crossing: New Horizons (01006F8002326000)

State: version 3.0.3 (+3 DLC) boots through the whole opening (Timmy's dialogue, the Nook Inc. counter, the name-entry keyboard) and shows its picture through the game's own window pass (2026-10-26: nvnProgramSetShaders with pool-offset code addresses is accepted, see the gfx-correctness note; the stopgap present is gone; Timmy and Tommy and other skinned meshes appeared once the translator read Maxwell LDC's signed immediate offset correctly); v0 (1.0.0) boots without crashes.

What it needs

  • NVN SDK 55.15 over TIPC for sm: refusal replies must carry the success layout with move handle 0 (symptoms).
  • HID shared memory with even outer sampling numbers (outer = 2n).
  • IApplicationFunctions cmd 210 event copy handle; a real clock (AdjustableUserSystemClock); olsc:u cmd 13; prepo:u 10104/10105; SignalToAddress type 2 value 2 and WaitForAddress type 3; VMNMX in the shader translator; conditional rendering evaluated at replay; command-buffer recording under one lock.
  • About 19 000 tiny pre-recorded command lists at boot before the first submit.

What is open

  • iOS Simulator: 100 s, no crash, no first frame.
  • v0 was not re-run after the clock/olsc/prepo/pool-race changes (its data was deleted).
  • Thread 0x56 is created but never started in every boot (harmless).

Build and test

Data as in README with the base 3.0.3 NSP plus the update and the three DLC; a build of the 3.0.1 or 3.0.3 delta DLC set is logged in the notes folder. Headless 45 s: exit 0, 0 CRASH, about 1150-1200 frames and 24 000 draws; with scripted A presses 1738 frames in 70 s with the picture on screen. A 240 s windowed run: 7175 frames at about 30 fps, exit 0. If frames stay 0 check NAPPLE_PCPROF=1: thread 0x51 in sdk+0x5087xx means the HID outer-number bug.

Numbers

  • ~30 fps windowed (240 s run), 1738 frames in 70 s headless with input. Memory: not measured in a note.

Timing (fps-unlock-timing, 2026-10-27)

Guest cadence: the game asks for swap interval 2 (30 fps): vsync stays 60.00 Hz, game presents 30/s in every fps mode (28.6-30.0), game clock 1.000. Logic is tied to the 30 Hz present. Unlocking real extra frames needs a title patch. Intermittent finding (not related to the present rate): 1 of ~7 headless starts ended with a guest Break (reason 0) from sdk+0xc80730 after ~1 s (exit 70); the other runs of the same mode pass. (How each title ties its logic to vsync is inferred from its cadence and engine class, not verified by patching; the per-title timestep package confirms it.)

Tie-up status (end-to-end, 2026-10-27)

From tools/e2e/run.sh (testing guide): built through Studio, launched through the launcher, 45 s headless. - Built through Studio's pipeline with the updates (3.0.1, 3.0.3) and the 3 DLC (4 version directories, 3 DLC in the manifest); boots 45 s, exit 0, audio and scripted input OK, save written and re-read. - amiibo: nfp:user opens about 1 s into the boot; the 45 s route never starts tag detection. Mii: mii:u not opened in the route. Known flaky: an intermittent guest Break at sdk+0xc80730 about 1 s into a headless start (retried by tools/e2e). - Overlay Game/System renders. Camera/IR: not used. Online: NullProvider.