Files
nxnative-easy/dm/games/01004D300C5AE000/game.tsv
T
seedds ed3007f1ef Port Kirby and the Forgotten Land 1.1.0
HAL Laboratory's engine on NintendoWare, SDK 11.4.0, NVN. Plays on the Mac at 30 fps, as on
the Switch: online and difficulty prompts, the 1080p opening movie, Point of Arrival with its
guide movies, the city reveal, the Sword ability and fights, title and Continue; a 15-minute
soak with no crash. No game code is cut; the profile is the memory layout and the shader groups.
All 27,297 shaders build for Mac and iOS; the IPA (6.4 GB) is untested on a device.

- Threads (general): a guest thread waiting for a host lock that HLE code holds while it runs
  guest code is blocked, not runnable (dm_host_lock, a native HLE wait). The movie decoder held
  its decode lock across SignalEvent; the signal's same-core handoff waited for the movie input
  thread, which waited for that lock, and the game froze at its first guide movie. t_preempt
  has the case.

Docs: the game note, games table, README gallery, threads.md, shaders.md, symptom index;
AGENTS count 73 -> 74. Checked: host tests, preempt, tool tests (253, 15 skips), docs tests;
a Mac run on chain 5cddc47253ab through the first guide movie.
2026-10-27 02:51:05 +08:00

2.0 KiB

1# Game profile of Kirby and the Forgotten Land (Switch, update 1.1.0 = v65536). Plays on the Mac
2# Format: see dm/games/README.md
3# HAL Laboratory's own engine on NintendoWare (G3d, Font, Fxt) and nn::atk2 sound, SDK 11.4.0, NVN; subsdk0 is the movie module (VP9 / Vorbis WebM cinematics and guide movies).
4# The shaders are BNSH archives inside HAL's .cmp containers under gfx/, ptcl/ and lyt/, in the loose shader/ files and embedded in main (shader_split.py); no run met a shader missing from the map.
5# The game asks for present interval 1 and paces itself at 30 fps, as on the Switch
6# ---- Identity ----
7title_id01004D300C5AE000
8program_id01004D300C5AE000
9# ---- App ----
10# Game name: only a label for profile listings and the Mac window title; the iOS app name is the game name in the base NSP, and the bundle ID comes from the base game title ID (build_ipa.sh / NSP script)
11nameKirby and the Forgotten Land
12ipaKirbyAndTheForgottenLand.ipa
13app_categorypublic.app-category.games
14# ---- Versions ----
15buildv655361.1.0main=a6ce40dc3aedb1becacd2f1ff4515307subsdk0=535249a546887cac875a099e9c8ef367sdk=b39add63421be525d352e576dab438d3
16packagev65536
17shader_versionsv65536
18# ---- Files ----
19# load order as on Horizon: main, subsdk*, sdk (subsdk0 = NintendoSDK_movie 11.4.0)
20modulesmain subsdk0 sdk
21romfs_markermov/EventMovie/Ending.webm
22zip_store.bfstm:.cmpbin:.opus:.webm:.metallib
23# ---- Memory ----
24# The NPDM declares no system resource, so there is no virtual address memory: the game sets a heap of the pool less 64 MB of used memory (3.14 GB, measured), which fits the
25# 3.25 GB heap region of this 4 GB block (256 MB in front + 256 MB alias region + 256 MB stack region + heap region). The application pool is the Switch's 3285 MB
26mem_reserve0x100000000
27mem_alias0x10000000
28mem_stack0x10000000
29app_pool0xCD500000
30sys_resource0x0
31# ---- Shader split (shader_split.py; BNSH in HAL's .cmp containers, the loose shader/ files and main) ----
32shader_groups/gfx/=gfx /ptcl/=ptcl /lyt/=lyt /shader/=shader
33shader_noteKirby and the Forgotten Land shaders