From 1c584dc3e935781c32fd4f513117d422315afdfd Mon Sep 17 00:00:00 2001 From: seedds Date: Fri, 23 Oct 2026 00:05:08 +0800 Subject: [PATCH] DRAGON QUEST VII Reimagined plays on the iPhone: README games table, AGENTS.md list - The user gave the go-ahead after the iPhone build - README: games table row and picture (Maribel and the hero by the boat at night, the scene the image-handle size query fix brought back); AGENTS.md: the list (forty-one games) and a note on the port; development.md: status --- AGENTS.md | 2 +- README.md | 1 + docs/development.md | 2 +- docs/images/dragon-quest-vii-reimagined.jpg | Bin 0 -> 86619 bytes 4 files changed, 3 insertions(+), 2 deletions(-) create mode 100644 docs/images/dragon-quest-vii-reimagined.jpg diff --git a/AGENTS.md b/AGENTS.md index 02be401..64b4a6f 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. 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. +- 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-one 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`), Animal Crossing: New Horizons (update 3.0.3, SDK 20.5.4, `01006F8002326000`) and DRAGON QUEST VII Reimagined (update 1.2.0, SDK 19.3.1, `0100A9D01C446000`). 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). DRAGON QUEST VII Reimagined is Unreal Engine 4.27: IoStore containers beside one pak, its shaders LZ4 blocks in the pak's shader code archives, which `uepak.py` decodes itself (`lz4_shaders`), and its allocator replaced as Octopath Traveler 0's (`patch_nso.py` cut and observation gate, `hle_uemalloc.c` layout `UE4_27`) in a 2 GB engine region (profile key `game_args`); its audio renderer runs at 32 kHz, resampled by the host on the CPU path (`hle_audren.c`); and Unreal's volumetric lightmap merge sizes its indirection texture with a query on the image it writes, so a texture slot that shares its c2 word with an image slot reads the bound image (`nvn_mtl.m` `tex_slot_h`) and the translator types such a query from the image (`dmsh_xlate` `ImageTypesOf`): without them every character in the opening cutscene glowed white. [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 e04f14e..af637da 100644 --- a/README.md +++ b/README.md @@ -46,6 +46,7 @@ Needs iOS / iPadOS 26 or later on an iPhone 15 Pro or newer (A17 Pro chip or lat | ![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 | ![Animal Crossing: New Horizons](docs/images/animal-crossing-new-horizons.jpg)
Animal Crossing: New Horizons
IPA ~10.5 GB with update 3.0.3 | +| ![DRAGON QUEST VII Reimagined](docs/images/dragon-quest-vii-reimagined.jpg)
DRAGON QUEST VII Reimagined
IPA ~5.9 GB with update 1.2.0 | | ## Pack an IPA diff --git a/docs/development.md b/docs/development.md index ba35d7a..cd7de8d 100644 --- a/docs/development.md +++ b/docs/development.md @@ -534,7 +534,7 @@ The game's own work and its frame rate stay as they are; the host avoids work of - **Mac input:** from a fresh save, `DM_KEYS="40:A*51/2,145:B*12/0.4,151:Down,152:Right*4/0.4,154.5:A,155.5:Right*4/0.4,158:A,159:Down*2/0.4,160.5:Left*2/0.4,162:A,163.5:Plus,167:A*4/2,175:Plus,178:A*146/2,179:Plus*30/4"` names the player "tom" on the keyboard, takes the defaults, watches the movie and reaches the dock at about frame 14,100 (470 s). **DRAGON QUEST VII Reimagined (`0100A9D01C446000`)** -- **Status:** brought up on the Mac: the logos and opening movie with sound, the title, a new adventure log (name entry, settings), the opening cutscene (the well, the night scene with Maribel by the boat) into play at Pilchard Bay with the controls tutorial, and a saved log continued, at 30 fps with saves; no red line at run time apart from the geometry shaders below; about 2.6 GB resident (1.1 GB of Metal allocations) in the cutscene. Not yet tested on an iPhone. +- **Status:** brought up on the Mac: the logos and opening movie with sound, the title, a new adventure log (name entry, settings), the opening cutscene (the well, the night scene with Maribel by the boat) into play at Pilchard Bay with the controls tutorial, and a saved log continued, at 30 fps with saves; no red line at run time apart from the geometry shaders below; about 2.6 GB resident (1.1 GB of Metal allocations) in the cutscene. Playable on an iPhone. - **Engine:** Unreal Engine 4.27 (HEXA DRIVE) on SDK 19.3.1, update 1.2.0 (v131072): IoStore containers beside one pak (`pakchunk0-Switch.pak`, version 11, its footer magic 0xcc bytes from the end), the desktop renderer with forward shading, PhysX 3.4, CRIWARE sound (a 6-channel AudioOut) and Sofdec movies (VP9 through the SDK's movie decoder, mode 1, NV12). `subsdk0` is the movie module. - **Shaders:** 62,901 in the pak's two shader code archives, every one an LZ4 block (`uepak.py` `lz4_shaders`; the NSP script runs no Oodle host for them). The game has no PC version, so the facts table types nothing; a size query on an image handle now takes the image's type ([04](agents/04-graphics.md)). 62 of the 63 geometry shaders (one-pass cube shadow maps, six layers from one draw) do not build; their draws are skipped (point light shadows). - **Host changes:** the audio renderer at 32 kHz (its upsampler exists only for DSP rendering, so the host resamples 3:2 itself), `GetAudioDeviceOutputVolume`, the shop and Nintendo Account calls of the title screen, `kpr::GetKeyCodeMap`, the movie decoder's `nv12-uv-stride` (grey movie in bands), stencil-mode texture builders (the hero dithered), and texture slots 32–39 reading the bound image (characters glowing white in cutscenes) ([03](agents/03-bringup.md), [04](agents/04-graphics.md)). diff --git a/docs/images/dragon-quest-vii-reimagined.jpg b/docs/images/dragon-quest-vii-reimagined.jpg new file mode 100644 index 0000000000000000000000000000000000000000..ea82703baeb95a707ee2edae4a4b87b119b9aef4 GIT binary patch literal 86619 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%0AdmVM3s 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