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).
IApplicationFunctionscmd 210 event copy handle; a real clock (AdjustableUserSystemClock);olsc:ucmd 13;prepo:u10104/10105;SignalToAddresstype 2 value 2 andWaitForAddresstype 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.