Unity 2022.3.54f1 IL2CPP on Super Mario Galaxy's sdk build, with Ace Attorney Investigations Collection's memory layout (1 GB pool, 5 GB block). Three general changes made it play: - svcGetInfo type 24 (FreeThreadCount): the host answered 0, and Unity creates a thread only when nn::os::GetFreeThreadCount is at least 1, so its main thread waited at boot for a thread it never asked for. The host answers 96 (pm's application limit) less the game's live threads, as the kernel does. - Movie audio decoders keep 64 outputs (32 since DRAGON QUEST XI S): Unity's movie player starts only once it holds about half a second of audio, measured at 27 outputs with a peak of 30. Trace lines (DM_MOVIE_TRACE) name the decoder. - shader_split.py reads Unity ComputeShader objects (unity_compute), with Unity 2022.3.54f1's layout in unityfs.py: the post-processing stack's 85 kernels, the colour grading LUT baker among them, so the battle scene is no longer black. Files whose ComputeShader has no known tree are reported and skipped: Cuphead's and Engage's tables split byte-identical. Also nvnSyncSetDebugLabel (a no-op). The game reads no touch, so it stays docked with the 3D pad layout. README games table, AGENTS.md game list, development notes and the bring-up / graphics catalogues.
115 KiB
960x540px
115 KiB
960x540px