From 7bb270cccc5e9ae11943063644f968bcb446b08a Mon Sep 17 00:00:00 2001 From: seedds Date: Thu, 22 Oct 2026 22:42:50 +0800 Subject: [PATCH] Animal Crossing: New Horizons plays on the iPhone: README games table, AGENTS.md list - The user confirmed the build on the iPhone - README: games table row and picture (the arrival on the island's dock); AGENTS.md: the list (forty games) and a note on the port; development.md: status --- AGENTS.md | 2 +- README.md | 2 +- docs/development.md | 2 +- docs/images/animal-crossing-new-horizons.jpg | Bin 0 -> 89041 bytes 4 files changed, 3 insertions(+), 3 deletions(-) create mode 100644 docs/images/animal-crossing-new-horizons.jpg diff --git a/AGENTS.md b/AGENTS.md index 02a5e14..02be401 100644 --- a/AGENTS.md +++ b/AGENTS.md @@ -1,6 +1,6 @@ # Notes for agents -- This repository runs Nintendo Switch games natively on Apple platforms: the game's own code runs, rewritten only where Apple's kernel requires it. Thirty-nine games are playable on the iPhone: Super Mario Bros. Wonder (update 1.2.1, profile `010015100B514000`), Fire Emblem Engage (update 2.0.0, `0100A6301214E000`), Metroid Dread (update 2.1.0, `010093801237C000`), 13 Sentinels: Aegis Rim (update 1.10, `01003FC01670C000`), Super Mario 3D World + Bowser's Fury (update 1.2.2, `010028600EBDA000`), The Legend of Zelda: Breath of the Wild (update 1.9.0, SDK 20, `01007EF00011E000`), The Legend of Zelda: Link's Awakening (update 1.1.0, SDK 8, `01006BB00C6F0000`) Super Mario Odyssey (update 1.4.1, SDK 7, `0100000000010000`), Hades (update 1.0.38233, SDK 9, `0100535012974000`), Hyrule Warriors: Age of Calamity (update 1.3.0, SDK 9.6, `01002B00111A2000`), Fire Emblem: Three Houses (update 1.2.0, SDK 6.5, `010055D009F78000`), Super Mario Galaxy (update 1.3.1, SDK 18, `010099C022B96000`) The Legend of Zelda: Tears of the Kingdom (update 1.4.3, SDK 20, `0100F2C0115B6000`) Monster Hunter Rise (update 16.0.2, SDK 11.4.3, `0100B04011742000`), Ace Attorney Investigations Collection (update 1.0.0.2, SDK 17.5.3, `010005501E68C000`), Hades II (base game, SDK 19.3.9, `0100A00019DE0000`), Unicorn Overlord (update 1.05, SDK 16.2.4, `010069401ADB8000`), Rhythm Heaven Groove (base game 1.0.0, SDK 21.4.0, `0100D9F01D474000`), Octopath Traveler 0 (update 1.0.5, SDK 19.3.13, `01005270232F2000`), Pokémon Legends: Z-A (update 2.0.2, SDK 19.3.11, `0100F43008C44000`), Cuphead (update 1.3.7, SDK 5.5.0, `0100A5C00D162000`), Super Mario Galaxy 2 (update 1.4.0, SDK 18.3.5, `0100FD8022DAA000`), FINAL FANTASY TACTICS - The Ivalice Chronicles (update 1.4.0, SDK 19.3.9, `010038B015560000`), Absolum (update 1.1.1, SDK 18.3.2, `0100A83022A22000`), Captain Toad: Treasure Tracker (update 1.4.2, SDK 8.2.0, `01009BF0072D4000`) and Brain Memory Training Academy (base game 1.0.0, SDK 16.2.4, `0100F5D01DA3A000`), The Great Ace Attorney Chronicles (base game 1.0.0, SDK 10.4.1, `010036E00FB20000`), STEINS;GATE RE:BOOT (update 1.0.3, SDK 20.5.17, `01008BC024FDE000`), Big Brain Academy: Brain vs. Brain (update 1.2.0, SDK 11.4.3, `0100620012D6E000`), Patrick's Parabox (update 1.0.1, SDK 13.3.7, `0100E44016C22000`), Celeste (update 1.4.1.1, SDK 15.3.2, `01002B30028F6000`), DRAGON QUEST XI S: Echoes of an Elusive Age – Definitive Edition (update 1.0.4, SDK 7.3.2, `01006C300E9F0000`), Monster Train 2 (update 1.1.1, SDK 18.3.5, `010051701FB46000`), Raging Loop (base game 1.0.0, SDK 7.3.2, `010020400E1C2000`), DARK SOULS: REMASTERED (update 1.0.3, SDK 4.5.0, `01004AB00A260000`), Paper Mario: The Thousand-Year Door (update 1.0.1, SDK 15.3.2, `0100ECD018EBE000`), Hollow Knight: Silksong (update 1.0.30000, SDK 20.5.8, `010013C00E930000`), Catherine: Full Body (update 1.0.1a, SDK 8.2.1, `0100BF00112C0000`) and Digimon Story Cyber Sleuth: Complete Edition (update 1.0.3, SDK 6.4.0, `010014E00DB56000`). Hades renders with Vulkan, which the host implements on Metal (`dm/gfx/vk/hle_vk.m`; `main` imports Vulkan, not NVN). Age of Calamity is Koei Tecmo's KTGL engine: files in RDB archives, shaders as GLSLC outputs (`shader_split.py` `idrk_shaders`). Three Houses is KTGL too; 9 of its shaders exist only as compiles of the game's own GLSLC at run time, captured once on the Mac (its `main` holds GLSL sources and imports `glslcCompile`). Breath of the Wild and Tears of the Kingdom run at 60 fps through a frame step the host decides in whole vsyncs (`patch_nso.py` `FRAME_STEP`, `nvn_fstep.h`, profile keys `fps_target` and `frame_step`); Tears of the Kingdom has a 5 GB guest layout. Monster Hunter Rise is Capcom's RE Engine: files in KPKA PAK archives (`shader_split.py` `kpka_jobs`, shaders in SDF files), the base game an XCI, its GPU heap a 64 GB sparse virtual pool (`hle_nvn.c` `vpool_*`, a 4 KB page table the replay reads textures through); it runs at 60 fps (30 on the Switch). Super Mario Galaxy is the Wii game on NERD's Hagi layer (PowerPC code recompiled into `main`), renders with Vulkan, and generates its shaders at run time, which the NSP script captures on the Mac (no SPIR-V file in its RomFS); its pointer is the touch screen in handheld mode (profile key `op_mode`). Ace Attorney Investigations Collection is Unity 2022 IL2CPP: its shaders keep their parameters as blob entries of their own (`shader_split.py` `unity_code_blobs`), and its C# file API goes through the SDK's C library, whose path checks the host answers (`hle_fs.c` `IsPathMounted` and the length limits). Hades II, unlike Hades, renders with NVN; its shaders bind textures at fixed slots up to 34 (slot 34's handle lies in the driver's image table, `dmsh_build.py`), and the two long lines through Melinoë while the staff's Omega attack charges are the game's own aim lines, not a rendering bug. Unicorn Overlord is Vanillaware's engine like 13 Sentinels (shaders compiled into `main`); both need the profile key `alloc_big_align`, which aligns large allocations to 64 KB so the ring heaps the engine cuts from a memory pool fit. Rhythm Heaven Groove is Nintendo's own 2D engine on SDK 21, the newest SDK so far (its DSP command list has no magic, `hle_audren.c`); it plays handheld with Boost (profile keys `op_mode handheld`, `perf_mode boost`), which skips its TV latency calibration and keeps its 1920x1080 draw size. Octopath Traveler 0 is Unreal Engine 5: everything in one pak with an AES-encrypted index whose key is found in `main` (`dm/gfx/tools/uepak.py`), its shaders Oodle-compressed in the pak's shader code archives and decoded once on the Mac by the game's own Oodle (any game with Unreal paks, `DM_OODLE_JOB`), its allocator replaced by the host's because Unreal's reserves 37 GB of address space (`patch_nso.py` cut, `hle_uemalloc.c`), its address region capped by the game's own argument (profile key `game_args`), and the particle shaders that pick a texture slot at run time bound by slot (profile key `tex_dyn_slots`); it runs at 60 fps (30 on the Switch) because the host writes Unreal's `t.MaxFPS` and `rhi.SyncInterval` in game memory (`hle_fpslock.c`, profile key `fps_target`). Pokémon Legends: Z-A is Game Freak's Trinity engine: everything in the packs of `arc/data.trpfs` (FlatBuffers, every file Oodle-compressed), which the shader split decodes with the game's own decoder in the Mac host's tool mode (`shader_split.py` `trinity_shaders`, `hle_oodle.c` `DM_OODLE_SERVE`); its 12 GB StandardAllocator is cut to 4 GB to fit a 5 GB guest layout, and the host refuses maps past the pool as Horizon does (profile key `mem_map_limit`); its characters are skinned with transform feedback (`dmsh_build.py` `vs_tf`, `nvn_mtl.m` `tf_draw`), and its occlusion queries, which decide how characters are animated, need the draw's base instance in the driver segment (c0 + 0x644, `encode_args`). Cuphead is Unity 2017.4 IL2CPP on SDK 5.5.0: Unity 2017's serialized and Shader formats are read by `unityfs.py` / `shader_split.py`, its rewritten modules (80 MB) need the profile key `mem_used` above the default 64 MB, or its `SetHeapSize` fails, and its NVN pool allocator breaks on a zero-size block, so the host never reports a ZCull storage size of 0 (`hle_nvn.c` `zcull_size`). Super Mario Galaxy 2 is Galaxy's Hagi layer with Galaxy's `sdk` build; its movie player reserves 384 MB of virtual address memory, which fits only because a rewriter cut on that `sdk` build shrinks the SDK's address-region node area to 62 MB (`patch_nso.py`; the profile's alias region is 512 MB). FINAL FANTASY TACTICS - The Ivalice Chronicles is Square Enix's engine on NVN: its shaders are GLSLC outputs in loose technique files, which `shader_split.py` reads in any RomFS file no other reader takes; its UI textures are written by the CPU into uncached pools (profile keys `tex_flush_upload`, `tex_dirty_upload`); and two job-pool workers share one auto-clear event, so a build cut makes a worker woken in another's place pass the wake on (`patch_nso.py`). Absolum is FNA (XNA 4 in C#) on .NET NativeAOT with SDL3 and FNA3D's NVN driver: its `main` starts its text with 1.7 MB of data the rewriter leaves alone (`nso_code.py`), its shaders are GLSLC outputs in `shaders.nx.bin`, its picture is flipped by a viewport swizzle the host applies, and everything lives in virtual address memory: malloc's 40 GB StandardAllocator is cut to 2.5 GB and the SDK's node area and large-region alignment are cut (`patch_nso.py`), and the .NET GC's region range is 1.5 GB (profile key `game_env`), to fit a 5 GB guest layout. Captain Toad: Treasure Tracker is Nintendo EPD Tokyo's engine (the `al` library over sead / agl, as 3D World and Odyssey) and needed no host change: it plays handheld because its pointer is the touch screen there (the Joy-Con gyro docked; profile key `op_mode`), and agl's post-effect program that samples its own attachment reads a snapshot (profile key `feedback_snap`). Brain Memory Training Academy is Unity 2022.3 IL2CPP with no bundles: its serialized files carry no type trees and nothing lends it a `Shader` tree, so `unityfs.py` has Unity 2022.3's `Shader` layout written out (`KNOWN_TREES`), and like Ace Attorney Investigations Collection it needs the SDK's address-region node area cut on its `sdk` build (`patch_nso.py`). The Great Ace Attorney Chronicles is Capcom's MT Framework: files in ARC archives of zlib entries, its 460 shaders in one shader package inside one of them (`shader_split.py` `mtspk_shaders`); it copies its textures into a CPU-cached pool after creating them and never flushes (its `main` has no cache maintenance at all), so it needs `tex_flush_upload` and `tex_dirty_upload` like FINAL FANTASY TACTICS. STEINS;GATE RE:BOOT is M2's ADV engine (E-mote characters, PSB archives, H.264 movies through the SDK's movie library): it needed `nn::audio::SetAudioOutVolume` (`hle_audio.c`), and because it decodes every picture into one reused region of a pool that lives for good, the storage-sharing texture table now drops an entry whose storage another texture takes over (`nvn_mtl.m` `alias_take_over`); it draws 1280x720 in both modes by its own choice. Big Brain Academy: Brain vs. Brain is NintendoWare Bezel Engine 1.56: nearly all of RomFS is in Bezel Engine archives of zstd entries, its shaders in their `.bfsha` entries (`shader_split.py` `bea_members`); its `nninitStartup` sets a heap or a 60 GB virtual address region by `IsVirtualAddressMemoryEnabled`, so the host reports the NPDM's system resource (profile key `sys_resource`, 0 here); its activity previews loop the movie decoder with Flush and Start from four threads (`hle_movie.c`); and it plays handheld with Boost (profile keys `op_mode handheld`, `perf_mode boost`), because only handheld does it read the touch screen. Patrick's Parabox is Unity 2020.3 IL2CPP with no bundles: `unityfs.py` has Unity 2020.3's `Shader` layout written out (`KNOWN_TREES`), it needs the SDK's address-region node area cut on its `sdk` build like Brain Memory Training Academy (`patch_nso.py`), and Unity's player hands the shared fonts straight to FreeType, so a game that imports no `ScalableFontEngineHelper::Decode` gets the TTF itself (`hle_sdk16.c` `font_skip`). Celeste is MonoGame for the Switch, its C# compiled to C++ by Sickhead's BRUTE: its shaders are MonoGame effects (MGFX) in its XNB files and in `main` (`shader_split.py` `mgfx_effect`), and it needed no host change. DRAGON QUEST XI S is Unreal Engine 4.18: legacy paks with LZ5 blocks, decoded on the Mac by the game's own LZ5 (`uepak.py`, `hle_oodle.c`), its shaders inline in the cooked packages (`shader_split.py` `ue_legacy_jobs`), and the slice-writing geometry shader of its colour-grading LUT folded into the vertex shader (`dmsh_build.py` `gs_slice`, `nvn_mtl.m` `prog_fold_gs`); Square Enix's sound driver never waits on the renderer event, so audio catch-up frames wait for queue space (`hle_audren.c`); its movie player plays only once every track holds a decoded output, so audio movie decoders keep 32 (`hle_movie.c`); and its Unreal region is capped at 4064 MB (profile key `game_args`, MB up to 4095) with the node area and large-region alignment cut on its SDK 7.3.2 build (`patch_nso.py`) for a 5 GB guest layout; it runs at 60 fps (30 on the Switch) because the host writes Unreal's `t.MaxFPS` and `nvn.SyncInterval` in game memory (`hle_fpslock.c`, profile key `fps_target`). Monster Train 2 is Unity 2022.3 IL2CPP on Super Mario Galaxy's SDK 18.3.5 `sdk` build: Unity creates a thread only when `nn::os::GetFreeThreadCount` (`svcGetInfo` type 24, `hle_svc.c`) is at least 1; its MP4 intro needs a movie audio decoder with more output slots than a video one, because Unity's player holds about half a second of audio before it plays (`hle_movie.c` `MD_NOUT`); and its post-processing compute shaders (the colour grading LUT among them) are Unity `ComputeShader` objects, which `shader_split.py` reads (`unity_compute`) with Unity 2022.3's layout written out in `unityfs.py`. It reads no touch, so it stays docked with the 3D pad layout, and it runs at 60 fps (30 on the Switch) with the profile key `present_interval display`, as its animations follow the time that passed. Raging Loop is Unity 2018.3 IL2CPP with no bundles on DRAGON QUEST XI S's `sdk` and `subsdk0` builds: `unityfs.py` has Unity 2018.3's `Shader` layout written out (`KNOWN_TREES`, an older form than the 2020 and 2022 layouts, with the parameters in each subprogram), and it needed no host change; it reads no touch, so it stays docked with the 2D pad layout. DARK SOULS: REMASTERED is FromSoftware's engine on SDK 4.5.0, the oldest SDK so far: its shaders are GLSLC outputs in BND3 archives inside the dvdbnd archives (`shader_split.py` `bdt_shaders`), and SDK 4's GLSLC outputs are read through their section headers (`glslc_section`); it keeps 12 sampler pools with different samplers under the same IDs, so handles a shader reads from a uniform buffer take the base of the pool bound at replay (`nvn_mtl.m` `ubo_tex_id` / `ubo_samp_id`); and it runs at 60 fps (30 on the Switch) with two rewriter cuts, its frame limiter's 30 and its frame update's fixed 1/30 s step (`patch_nso.py`). Paper Mario: The Thousand-Year Door is Intelligent Systems' engine on NintendoWare, on Celeste's SDK 15.3.2 `sdk` build: nearly every RomFS file is zstd (`.zst`, which `shader_split.py` decompresses by magic); its AngelScript call bridges leave sp misaligned, which a general rewriter rule rounds up (`site_sp_align`); it runs at 60 fps (30 on the Switch) by the host's frame step (`FRAME_STEP`, with the floor of its vsync step cut from 2 to 1); and its three job workers poll the job list with no SVC, which held it at 24 fps on an iPhone until the general spin wait rule (`patch_nso.py` "Spin waits", `hle_thread.c` `dm_spin_wait`). Hollow Knight: Silksong is Unity 6 (6000.0.50f1) IL2CPP, the newest Unity so far: its bundles carry their own type trees, so `unityfs.py` needed no layout; Unity 6 polls `nn::hid::GetDebugPadStates` every frame (`hle_hid.c`), and it takes all its memory itself through `nn::os::AllocateAddressRegion` / `AllocateMemoryPages` with no heap, so it runs in the 5 GB guest layout that `profile_guess.py` now gives every game with an NPDM system resource, with the SDK's address-region node area cut on its `sdk` build (`patch_nso.py`). Catherine: Full Body is Atlus's GFD engine with CRI middleware (CPK archives, ADX2 sound, Sofdec2 movies through `movie::Decoder`, whose player reads `nv12-uv-stride`, `hle_movie.c`): its 3,128 shaders are GLSLC outputs in `data/shaders_binary`, `main` and two compiles of its own GLSLC at boot, which the host lets run by reporting at least that GLSLC's GPU code version (`hle_glslc.c`); that GLSLC writes every vertex shader as a VertexA part (shader type 0, the position) and a VertexB part, which `dmsh_build.py` merges as Ryujinx does (`vertex_ab`; the screen was black without it), and because the game reuses a copy's staging memory a frame after recording it, the host commits a segment at the first pass boundary after a buffer → texture copy (`nvn_mtl.m` `g_cut_copy`). Digimon Story Cyber Sleuth: Complete Edition is Media.Vision's MVGL engine and renders with NVIDIA's desktop OpenGL 4.5 through EGL, not NVN, which the host implements on Metal (`dm/gfx/gl/hle_gl.m`: the 13 EGL imports and the 79 GL functions its code calls of the 2,956 its glad loader fetches, counted with `dm/tools/loader_census.py`; `profile_guess.py` gives `graphics gl` when `main` imports `eglCreateWindowSurface` and names `glShaderSource`); its shaders are GLSL ES 3.20 source in its MVGL archives (`dm/gfx/tools/mvgl.py`: MDB1 with doboz entries) and in `main`, which `gl_shaders.py` translates offline with glslang and SPIRV-Cross (packing needs `brew install glslang`) and the host finds by the hash of its text. [README.md](README.md) is the player-facing page (games, packing, playing); [docs/development.md](docs/development.md) has the internals, the script's options, building by hand, prewarm lists and per-game notes. +- This repository runs Nintendo Switch games natively on Apple platforms: the game's own code runs, rewritten only where Apple's kernel requires it. Forty games are playable on the iPhone: Super Mario Bros. Wonder (update 1.2.1, profile `010015100B514000`), Fire Emblem Engage (update 2.0.0, `0100A6301214E000`), Metroid Dread (update 2.1.0, `010093801237C000`), 13 Sentinels: Aegis Rim (update 1.10, `01003FC01670C000`), Super Mario 3D World + Bowser's Fury (update 1.2.2, `010028600EBDA000`), The Legend of Zelda: Breath of the Wild (update 1.9.0, SDK 20, `01007EF00011E000`), The Legend of Zelda: Link's Awakening (update 1.1.0, SDK 8, `01006BB00C6F0000`) Super Mario Odyssey (update 1.4.1, SDK 7, `0100000000010000`), Hades (update 1.0.38233, SDK 9, `0100535012974000`), Hyrule Warriors: Age of Calamity (update 1.3.0, SDK 9.6, `01002B00111A2000`), Fire Emblem: Three Houses (update 1.2.0, SDK 6.5, `010055D009F78000`), Super Mario Galaxy (update 1.3.1, SDK 18, `010099C022B96000`) The Legend of Zelda: Tears of the Kingdom (update 1.4.3, SDK 20, `0100F2C0115B6000`) Monster Hunter Rise (update 16.0.2, SDK 11.4.3, `0100B04011742000`), Ace Attorney Investigations Collection (update 1.0.0.2, SDK 17.5.3, `010005501E68C000`), Hades II (base game, SDK 19.3.9, `0100A00019DE0000`), Unicorn Overlord (update 1.05, SDK 16.2.4, `010069401ADB8000`), Rhythm Heaven Groove (base game 1.0.0, SDK 21.4.0, `0100D9F01D474000`), Octopath Traveler 0 (update 1.0.5, SDK 19.3.13, `01005270232F2000`), Pokémon Legends: Z-A (update 2.0.2, SDK 19.3.11, `0100F43008C44000`), Cuphead (update 1.3.7, SDK 5.5.0, `0100A5C00D162000`), Super Mario Galaxy 2 (update 1.4.0, SDK 18.3.5, `0100FD8022DAA000`), FINAL FANTASY TACTICS - The Ivalice Chronicles (update 1.4.0, SDK 19.3.9, `010038B015560000`), Absolum (update 1.1.1, SDK 18.3.2, `0100A83022A22000`), Captain Toad: Treasure Tracker (update 1.4.2, SDK 8.2.0, `01009BF0072D4000`) and Brain Memory Training Academy (base game 1.0.0, SDK 16.2.4, `0100F5D01DA3A000`), The Great Ace Attorney Chronicles (base game 1.0.0, SDK 10.4.1, `010036E00FB20000`), STEINS;GATE RE:BOOT (update 1.0.3, SDK 20.5.17, `01008BC024FDE000`), Big Brain Academy: Brain vs. Brain (update 1.2.0, SDK 11.4.3, `0100620012D6E000`), Patrick's Parabox (update 1.0.1, SDK 13.3.7, `0100E44016C22000`), Celeste (update 1.4.1.1, SDK 15.3.2, `01002B30028F6000`), DRAGON QUEST XI S: Echoes of an Elusive Age – Definitive Edition (update 1.0.4, SDK 7.3.2, `01006C300E9F0000`), Monster Train 2 (update 1.1.1, SDK 18.3.5, `010051701FB46000`), Raging Loop (base game 1.0.0, SDK 7.3.2, `010020400E1C2000`), DARK SOULS: REMASTERED (update 1.0.3, SDK 4.5.0, `01004AB00A260000`), Paper Mario: The Thousand-Year Door (update 1.0.1, SDK 15.3.2, `0100ECD018EBE000`), Hollow Knight: Silksong (update 1.0.30000, SDK 20.5.8, `010013C00E930000`), Catherine: Full Body (update 1.0.1a, SDK 8.2.1, `0100BF00112C0000`), Digimon Story Cyber Sleuth: Complete Edition (update 1.0.3, SDK 6.4.0, `010014E00DB56000`) and Animal Crossing: New Horizons (update 3.0.3, SDK 20.5.4, `01006F8002326000`). Hades renders with Vulkan, which the host implements on Metal (`dm/gfx/vk/hle_vk.m`; `main` imports Vulkan, not NVN). Age of Calamity is Koei Tecmo's KTGL engine: files in RDB archives, shaders as GLSLC outputs (`shader_split.py` `idrk_shaders`). Three Houses is KTGL too; 9 of its shaders exist only as compiles of the game's own GLSLC at run time, captured once on the Mac (its `main` holds GLSL sources and imports `glslcCompile`). Breath of the Wild and Tears of the Kingdom run at 60 fps through a frame step the host decides in whole vsyncs (`patch_nso.py` `FRAME_STEP`, `nvn_fstep.h`, profile keys `fps_target` and `frame_step`); Tears of the Kingdom has a 5 GB guest layout. Monster Hunter Rise is Capcom's RE Engine: files in KPKA PAK archives (`shader_split.py` `kpka_jobs`, shaders in SDF files), the base game an XCI, its GPU heap a 64 GB sparse virtual pool (`hle_nvn.c` `vpool_*`, a 4 KB page table the replay reads textures through); it runs at 60 fps (30 on the Switch). Super Mario Galaxy is the Wii game on NERD's Hagi layer (PowerPC code recompiled into `main`), renders with Vulkan, and generates its shaders at run time, which the NSP script captures on the Mac (no SPIR-V file in its RomFS); its pointer is the touch screen in handheld mode (profile key `op_mode`). Ace Attorney Investigations Collection is Unity 2022 IL2CPP: its shaders keep their parameters as blob entries of their own (`shader_split.py` `unity_code_blobs`), and its C# file API goes through the SDK's C library, whose path checks the host answers (`hle_fs.c` `IsPathMounted` and the length limits). Hades II, unlike Hades, renders with NVN; its shaders bind textures at fixed slots up to 34 (slot 34's handle lies in the driver's image table, `dmsh_build.py`), and the two long lines through Melinoë while the staff's Omega attack charges are the game's own aim lines, not a rendering bug. Unicorn Overlord is Vanillaware's engine like 13 Sentinels (shaders compiled into `main`); both need the profile key `alloc_big_align`, which aligns large allocations to 64 KB so the ring heaps the engine cuts from a memory pool fit. Rhythm Heaven Groove is Nintendo's own 2D engine on SDK 21, the newest SDK so far (its DSP command list has no magic, `hle_audren.c`); it plays handheld with Boost (profile keys `op_mode handheld`, `perf_mode boost`), which skips its TV latency calibration and keeps its 1920x1080 draw size. Octopath Traveler 0 is Unreal Engine 5: everything in one pak with an AES-encrypted index whose key is found in `main` (`dm/gfx/tools/uepak.py`), its shaders Oodle-compressed in the pak's shader code archives and decoded once on the Mac by the game's own Oodle (any game with Unreal paks, `DM_OODLE_JOB`), its allocator replaced by the host's because Unreal's reserves 37 GB of address space (`patch_nso.py` cut, `hle_uemalloc.c`), its address region capped by the game's own argument (profile key `game_args`), and the particle shaders that pick a texture slot at run time bound by slot (profile key `tex_dyn_slots`); it runs at 60 fps (30 on the Switch) because the host writes Unreal's `t.MaxFPS` and `rhi.SyncInterval` in game memory (`hle_fpslock.c`, profile key `fps_target`). Pokémon Legends: Z-A is Game Freak's Trinity engine: everything in the packs of `arc/data.trpfs` (FlatBuffers, every file Oodle-compressed), which the shader split decodes with the game's own decoder in the Mac host's tool mode (`shader_split.py` `trinity_shaders`, `hle_oodle.c` `DM_OODLE_SERVE`); its 12 GB StandardAllocator is cut to 4 GB to fit a 5 GB guest layout, and the host refuses maps past the pool as Horizon does (profile key `mem_map_limit`); its characters are skinned with transform feedback (`dmsh_build.py` `vs_tf`, `nvn_mtl.m` `tf_draw`), and its occlusion queries, which decide how characters are animated, need the draw's base instance in the driver segment (c0 + 0x644, `encode_args`). Cuphead is Unity 2017.4 IL2CPP on SDK 5.5.0: Unity 2017's serialized and Shader formats are read by `unityfs.py` / `shader_split.py`, its rewritten modules (80 MB) need the profile key `mem_used` above the default 64 MB, or its `SetHeapSize` fails, and its NVN pool allocator breaks on a zero-size block, so the host never reports a ZCull storage size of 0 (`hle_nvn.c` `zcull_size`). Super Mario Galaxy 2 is Galaxy's Hagi layer with Galaxy's `sdk` build; its movie player reserves 384 MB of virtual address memory, which fits only because a rewriter cut on that `sdk` build shrinks the SDK's address-region node area to 62 MB (`patch_nso.py`; the profile's alias region is 512 MB). FINAL FANTASY TACTICS - The Ivalice Chronicles is Square Enix's engine on NVN: its shaders are GLSLC outputs in loose technique files, which `shader_split.py` reads in any RomFS file no other reader takes; its UI textures are written by the CPU into uncached pools (profile keys `tex_flush_upload`, `tex_dirty_upload`); and two job-pool workers share one auto-clear event, so a build cut makes a worker woken in another's place pass the wake on (`patch_nso.py`). Absolum is FNA (XNA 4 in C#) on .NET NativeAOT with SDL3 and FNA3D's NVN driver: its `main` starts its text with 1.7 MB of data the rewriter leaves alone (`nso_code.py`), its shaders are GLSLC outputs in `shaders.nx.bin`, its picture is flipped by a viewport swizzle the host applies, and everything lives in virtual address memory: malloc's 40 GB StandardAllocator is cut to 2.5 GB and the SDK's node area and large-region alignment are cut (`patch_nso.py`), and the .NET GC's region range is 1.5 GB (profile key `game_env`), to fit a 5 GB guest layout. Captain Toad: Treasure Tracker is Nintendo EPD Tokyo's engine (the `al` library over sead / agl, as 3D World and Odyssey) and needed no host change: it plays handheld because its pointer is the touch screen there (the Joy-Con gyro docked; profile key `op_mode`), and agl's post-effect program that samples its own attachment reads a snapshot (profile key `feedback_snap`). Brain Memory Training Academy is Unity 2022.3 IL2CPP with no bundles: its serialized files carry no type trees and nothing lends it a `Shader` tree, so `unityfs.py` has Unity 2022.3's `Shader` layout written out (`KNOWN_TREES`), and like Ace Attorney Investigations Collection it needs the SDK's address-region node area cut on its `sdk` build (`patch_nso.py`). The Great Ace Attorney Chronicles is Capcom's MT Framework: files in ARC archives of zlib entries, its 460 shaders in one shader package inside one of them (`shader_split.py` `mtspk_shaders`); it copies its textures into a CPU-cached pool after creating them and never flushes (its `main` has no cache maintenance at all), so it needs `tex_flush_upload` and `tex_dirty_upload` like FINAL FANTASY TACTICS. STEINS;GATE RE:BOOT is M2's ADV engine (E-mote characters, PSB archives, H.264 movies through the SDK's movie library): it needed `nn::audio::SetAudioOutVolume` (`hle_audio.c`), and because it decodes every picture into one reused region of a pool that lives for good, the storage-sharing texture table now drops an entry whose storage another texture takes over (`nvn_mtl.m` `alias_take_over`); it draws 1280x720 in both modes by its own choice. Big Brain Academy: Brain vs. Brain is NintendoWare Bezel Engine 1.56: nearly all of RomFS is in Bezel Engine archives of zstd entries, its shaders in their `.bfsha` entries (`shader_split.py` `bea_members`); its `nninitStartup` sets a heap or a 60 GB virtual address region by `IsVirtualAddressMemoryEnabled`, so the host reports the NPDM's system resource (profile key `sys_resource`, 0 here); its activity previews loop the movie decoder with Flush and Start from four threads (`hle_movie.c`); and it plays handheld with Boost (profile keys `op_mode handheld`, `perf_mode boost`), because only handheld does it read the touch screen. Patrick's Parabox is Unity 2020.3 IL2CPP with no bundles: `unityfs.py` has Unity 2020.3's `Shader` layout written out (`KNOWN_TREES`), it needs the SDK's address-region node area cut on its `sdk` build like Brain Memory Training Academy (`patch_nso.py`), and Unity's player hands the shared fonts straight to FreeType, so a game that imports no `ScalableFontEngineHelper::Decode` gets the TTF itself (`hle_sdk16.c` `font_skip`). Celeste is MonoGame for the Switch, its C# compiled to C++ by Sickhead's BRUTE: its shaders are MonoGame effects (MGFX) in its XNB files and in `main` (`shader_split.py` `mgfx_effect`), and it needed no host change. DRAGON QUEST XI S is Unreal Engine 4.18: legacy paks with LZ5 blocks, decoded on the Mac by the game's own LZ5 (`uepak.py`, `hle_oodle.c`), its shaders inline in the cooked packages (`shader_split.py` `ue_legacy_jobs`), and the slice-writing geometry shader of its colour-grading LUT folded into the vertex shader (`dmsh_build.py` `gs_slice`, `nvn_mtl.m` `prog_fold_gs`); Square Enix's sound driver never waits on the renderer event, so audio catch-up frames wait for queue space (`hle_audren.c`); its movie player plays only once every track holds a decoded output, so audio movie decoders keep 32 (`hle_movie.c`); and its Unreal region is capped at 4064 MB (profile key `game_args`, MB up to 4095) with the node area and large-region alignment cut on its SDK 7.3.2 build (`patch_nso.py`) for a 5 GB guest layout; it runs at 60 fps (30 on the Switch) because the host writes Unreal's `t.MaxFPS` and `nvn.SyncInterval` in game memory (`hle_fpslock.c`, profile key `fps_target`). Monster Train 2 is Unity 2022.3 IL2CPP on Super Mario Galaxy's SDK 18.3.5 `sdk` build: Unity creates a thread only when `nn::os::GetFreeThreadCount` (`svcGetInfo` type 24, `hle_svc.c`) is at least 1; its MP4 intro needs a movie audio decoder with more output slots than a video one, because Unity's player holds about half a second of audio before it plays (`hle_movie.c` `MD_NOUT`); and its post-processing compute shaders (the colour grading LUT among them) are Unity `ComputeShader` objects, which `shader_split.py` reads (`unity_compute`) with Unity 2022.3's layout written out in `unityfs.py`. It reads no touch, so it stays docked with the 3D pad layout, and it runs at 60 fps (30 on the Switch) with the profile key `present_interval display`, as its animations follow the time that passed. Raging Loop is Unity 2018.3 IL2CPP with no bundles on DRAGON QUEST XI S's `sdk` and `subsdk0` builds: `unityfs.py` has Unity 2018.3's `Shader` layout written out (`KNOWN_TREES`, an older form than the 2020 and 2022 layouts, with the parameters in each subprogram), and it needed no host change; it reads no touch, so it stays docked with the 2D pad layout. DARK SOULS: REMASTERED is FromSoftware's engine on SDK 4.5.0, the oldest SDK so far: its shaders are GLSLC outputs in BND3 archives inside the dvdbnd archives (`shader_split.py` `bdt_shaders`), and SDK 4's GLSLC outputs are read through their section headers (`glslc_section`); it keeps 12 sampler pools with different samplers under the same IDs, so handles a shader reads from a uniform buffer take the base of the pool bound at replay (`nvn_mtl.m` `ubo_tex_id` / `ubo_samp_id`); and it runs at 60 fps (30 on the Switch) with two rewriter cuts, its frame limiter's 30 and its frame update's fixed 1/30 s step (`patch_nso.py`). Paper Mario: The Thousand-Year Door is Intelligent Systems' engine on NintendoWare, on Celeste's SDK 15.3.2 `sdk` build: nearly every RomFS file is zstd (`.zst`, which `shader_split.py` decompresses by magic); its AngelScript call bridges leave sp misaligned, which a general rewriter rule rounds up (`site_sp_align`); it runs at 60 fps (30 on the Switch) by the host's frame step (`FRAME_STEP`, with the floor of its vsync step cut from 2 to 1); and its three job workers poll the job list with no SVC, which held it at 24 fps on an iPhone until the general spin wait rule (`patch_nso.py` "Spin waits", `hle_thread.c` `dm_spin_wait`). Hollow Knight: Silksong is Unity 6 (6000.0.50f1) IL2CPP, the newest Unity so far: its bundles carry their own type trees, so `unityfs.py` needed no layout; Unity 6 polls `nn::hid::GetDebugPadStates` every frame (`hle_hid.c`), and it takes all its memory itself through `nn::os::AllocateAddressRegion` / `AllocateMemoryPages` with no heap, so it runs in the 5 GB guest layout that `profile_guess.py` now gives every game with an NPDM system resource, with the SDK's address-region node area cut on its `sdk` build (`patch_nso.py`). Catherine: Full Body is Atlus's GFD engine with CRI middleware (CPK archives, ADX2 sound, Sofdec2 movies through `movie::Decoder`, whose player reads `nv12-uv-stride`, `hle_movie.c`): its 3,128 shaders are GLSLC outputs in `data/shaders_binary`, `main` and two compiles of its own GLSLC at boot, which the host lets run by reporting at least that GLSLC's GPU code version (`hle_glslc.c`); that GLSLC writes every vertex shader as a VertexA part (shader type 0, the position) and a VertexB part, which `dmsh_build.py` merges as Ryujinx does (`vertex_ab`; the screen was black without it), and because the game reuses a copy's staging memory a frame after recording it, the host commits a segment at the first pass boundary after a buffer → texture copy (`nvn_mtl.m` `g_cut_copy`). Digimon Story Cyber Sleuth: Complete Edition is Media.Vision's MVGL engine and renders with NVIDIA's desktop OpenGL 4.5 through EGL, not NVN, which the host implements on Metal (`dm/gfx/gl/hle_gl.m`: the 13 EGL imports and the 79 GL functions its code calls of the 2,956 its glad loader fetches, counted with `dm/tools/loader_census.py`; `profile_guess.py` gives `graphics gl` when `main` imports `eglCreateWindowSurface` and names `glShaderSource`); its shaders are GLSL ES 3.20 source in its MVGL archives (`dm/gfx/tools/mvgl.py`: MDB1 with doboz entries) and in `main`, which `gl_shaders.py` translates offline with glslang and SPIRV-Cross (packing needs `brew install glslang`) and the host finds by the hash of its text. Animal Crossing: New Horizons is Nintendo EPD's engine (sead / agl / gsys) on SDK 20.5.4: its `main` links its own HIPC client for `olsc:u` (cloud backup settings), which the host answers with sessions of its own (`hle_sf.c`), its island lives in device save data (`MountDeviceSaveData`, `hle_fs.c`), it skips clears with conditional rendering (profile key `render_cond`), its 63 MB `main` needed halfword jump tables padded only to their largest entry (`patch_nso.py` `half_count`), and its `SaveProc` builds a new island in grid walks that yield once per cell, so a yield whose loop moved its callee-saved registers since the last one now returns at once instead of backing off, for every game (`hle_thread.c` `thr_yield`; the island showed after 77 s of black screen, now about 10 s). [README.md](README.md) is the player-facing page (games, packing, playing); [docs/development.md](docs/development.md) has the internals, the script's options, building by hand, prewarm lists and per-game notes. - Each game's constants and shader tables form a game profile in `dm/games//`, where `` is the base game's title ID: `game.tsv` plus the tables and `dmsh_chain.h`. Mario's profile is `010015100B514000`. Tools pick the profile with `DM_GAME`; `make -C dm/host` and `build_ipa.sh` pick it with `GAME`. There is no default game: set it every time (the tools stop and list the profiles otherwise). Put per-game values in the profile, not in code ([dm/games/README.md](dm/games/README.md)). - Prefer general optimizations and fixes to game-specific rules. Performance work (frame pacing, power, caches, load times) counts here as much as correctness. First look for a change that holds for every game: Horizon / NVN / Vulkan semantics, or what the binary, its SDK version, its imports or its files show. Use a game-specific rule (a profile key, a rewriter cut, a build-ID gate, a per-game branch in the host) only when it is absolutely necessary, that is, when no general rule can do it. - Per-build knowledge is keyed by the NSO build ID: rewriter cuts in `dm/tools/patch_nso.py`, the profile's `build` rows (the builds the game was brought up on, and their display versions; the NSP script packs any other version from a derived profile, without those builds' fixes), and host behaviour that uses fixed module addresses checks `module_t.build_id` (from `fixups.tsv`; `dm_main_build()`). When a new game build appears, carry addresses over with `dm/tools/nso_fnmap.py` and check them by disassembly; never let fixed addresses run on a build they were not found in. diff --git a/README.md b/README.md index 6d3e770..e04f14e 100644 --- a/README.md +++ b/README.md @@ -45,7 +45,7 @@ Needs iOS / iPadOS 26 or later on an iPhone 15 Pro or newer (A17 Pro chip or lat | ![Monster Train 2](docs/images/monster-train-2.jpg)
Monster Train 2
IPA ~1.6 GB · 60 fps (30 on Switch) with update 1.1.1 | ![Raging Loop](docs/images/raging-loop.jpg)
Raging Loop
IPA ~0.9 GB | | ![DARK SOULS: REMASTERED](docs/images/dark-souls-remastered-creation.jpg)
DARK SOULS: REMASTERED
IPA ~4 GB · 60 fps (30 on Switch) with update 1.0.3 | ![Paper Mario: The Thousand-Year Door](docs/images/paper-mario-the-thousand-year-door.jpg)
Paper Mario: The Thousand-Year Door
IPA ~5 GB · 60 fps (30 on Switch) with update 1.0.1 | | ![Hollow Knight: Silksong](docs/images/hollow-knight-silksong.jpg)
Hollow Knight: Silksong
IPA ~6.4 GB | ![Catherine: Full Body](docs/images/catherine-full-body.jpg)
Catherine: Full Body
IPA ~14 GB | -| ![Digimon Story Cyber Sleuth: Complete Edition](docs/images/digimon-story-cyber-sleuth.jpg)
Digimon Story Cyber Sleuth: Complete Edition
IPA ~5 GB | | +| ![Digimon Story Cyber Sleuth: Complete Edition](docs/images/digimon-story-cyber-sleuth.jpg)
Digimon Story Cyber Sleuth: Complete Edition
IPA ~5 GB | ![Animal Crossing: New Horizons](docs/images/animal-crossing-new-horizons.jpg)
Animal Crossing: New Horizons
IPA ~10.5 GB with update 3.0.3 | ## Pack an IPA diff --git a/docs/development.md b/docs/development.md index 446921b..49aaefd 100644 --- a/docs/development.md +++ b/docs/development.md @@ -521,7 +521,7 @@ The game's own work and its frame rate stay as they are; the host avoids work of - **Mac input:** a fresh save reaches EDEN with `DM_KBD=Taiga DM_KEYS="f2000:A*26/200,f7300:Right,f7400:A,f7600:A,f7800:Right,f7850:A,f8100:A*39/250,f9000:Plus*15/600,f18000:Down*3/1200,f18100:A*3/1200,f21700:Left*300/250,f21800:A*300/250"` (the title, the privacy policy, the DigiLab: Cyber Sleuth, no options, A through the opening chat; the login form comes at frame 18,500 to 19,700). The name is a field of that form: A opens the keyboard, and the game's name screen stays up about 500 frames after the text arrives, where another A opens it again, so Down and A come 1,200 frames apart. The login prompt defaults to No, hence Left before each A from there; EDEN at about frame 22,500. **Animal Crossing: New Horizons (`01006F8002326000`)** -- **Status:** brought up on the Mac: a new game through Tom Nook's counter (name entry on the game's own keyboard, birthday, look, hemisphere, island choice), the in-flight movie with its sound, the island's creation and the arrival (Timmy's welcome, the player at the dock under control), with the Happy Home Paradise add-on mounted; no red line but the ones below. Not yet seen: a save and a continue. The game first saves when the player sleeps at the end of the first day (the `−` menu says "You can't save right now." before that); until then it only probes for `main.dat`, `mainHeader.dat` and `Moved/personal.dat` in its device save data. +- **Status:** brought up on the Mac: a new game through Tom Nook's counter (name entry on the game's own keyboard, birthday, look, hemisphere, island choice), the in-flight movie with its sound, the island's creation and the arrival (Timmy's welcome, the player at the dock under control), with the Happy Home Paradise add-on mounted; no red line but the ones below. Plays on the iPhone. A save is not reached on the Mac: the game first saves when the player sleeps at the end of the first day (the `−` menu says "You can't save right now." before that); until then it only probes for `main.dat`, `mainHeader.dat` and `Moved/personal.dat` in its device save data. - **Engine:** Nintendo EPD's own (code name Park; sead / agl / gsys, NintendoWare G3d / Ui2d / Vfx2 / Atk / Font, Havok, Pia and NEX) on SDK 20.5.4, NVN, update 3.0.3 (v2228224); `subsdk0` is the SDK's movie library. RomFS: 97,997 zstd files (`.zs`), BWAV sound, a few Yaz0 SARC archives; the in-flight movie `Movie/OpeningMovie.webm` is VP9 1080p with Vorbis, demuxed by `movie::Extractor` and decoded on the host. - **Shaders:** 9,766 BNSH programs: `Shader/Park_UBER_All` (3,385) and the other bfsha / sharcb in `Shader/`, agl's `System/Agl/agl_resource` (3,206), particle effects in `Effect/` (2,522), models' own bfsha in `Model/`, layouts in `Layout/`, the game's keyboard in `Swkbd/` and 40 in `main`. The keyboard's ocean background has 8 geometry shaders, which do not translate; the name entry draws without them. - **Rewriter:** its 63 MB `main` was the first to put branches out of range of the patch area: halfword jump tables now get only as many landing pads as their largest entry (`half_count`, [03](agents/03-bringup.md)); the patch area went from 42 MB to 7.9 MB. diff --git a/docs/images/animal-crossing-new-horizons.jpg b/docs/images/animal-crossing-new-horizons.jpg new file mode 100644 index 0000000000000000000000000000000000000000..022440b77b93f39fe30525bea73e957298d39e08 GIT binary patch literal 89041 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 z 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

OT2$$FRt#V|4rUe3cAu?r186!C&eSKH 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 literal 0 HcmV?d00001