Files

2.9 KiB

1# Game profile of Digimon Story Cyber Sleuth: Complete Edition (Switch, update 1.0.3 = v196608). Plays on the iPhone; on the Mac from the logos through the EDEN opening and character creation into EDEN, under control
2# Format: see dm/games/README.md
3# Media.Vision's MVGL engine (the PC version's), SDK 6.4.0, on NVIDIA's desktop OpenGL 4.5 core driver through EGL (subsdk0, not loaded): main gets its GL functions from a glad loader
4# (eglGetProcAddress) and calls 79 of them, which the host's GL layer implements on Metal (dm/gfx/gl/hle_gl.m). Its NVN device serves only a helper beside the movie
5# player (a memory pool and four textures). Every game file is in nine MVGL archives (DSDB*.nx64.mvgl: MDB1, doboz-compressed entries, dm/gfx/tools/mvgl.py; four of them are CRI AFS2
6# sound banks under the same extension) but the movies, loose CRI USM files (H.264 through the SDK's movie library, subsdk1, into NV12 buffers the game uploads into GL textures)
7# The shaders are GLSL ES 3.20 sources the game compiles at run time: 1,682 .shad files in the archives (615 distinct) and 37 built-in strings in main; dm/gfx/tools/gl_shaders.py
8# translates them offline (glslang → SPIR-V → spirv-cross), and the host finds each by the hash of its text
9# ---- Identity ----
10title_id010014E00DB56000
11program_id010014E00DB56000
12# ---- App ----
13# 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)
14nameDigimon Story Cyber Sleuth: Complete Edition
15ipaDigimonStoryCyberSleuthCompleteEdition.ipa
16app_categorypublic.app-category.role-playing-games
17# ---- Versions ----
18# only the merged 1.0.3 copy is extracted
19buildv1966081.0.3main=bedae701dd8565cdc494ca8dc3c840e8subsdk1=31ed558beb51f9e273a569dab4f7db82sdk=e29be8ad6778527aa248310d0c71a8a5
20packagev196608
21shader_versionsv196608
22# ---- Files ----
23# load order as on Horizon: main, subsdk*, sdk (subsdk1 = NintendoSDK_movie). subsdk0 is NVIDIA's OpenGL driver, which programs the GPU through NvRm: never loaded, the GL layer answers main's EGL imports
24modulesmain subsdk1 sdk
25romfs_markerDSDB.nx64.mvgl
26zip_store.mvgl:.otf:.ttf:.usm:.metallib
27# ---- Memory ----
28# The NPDM declares no system resource, so the game has no virtual address memory: nninitStartup gives its malloc a heap of the pool − used memory (3.13 GB of the 3.25 GB heap region),
29# which it maps only as it touches it
30mem_reserve0x100000000
31mem_alias0x10000000
32mem_stack0x10000000
33app_pool0xCD500000
34sys_resource0x0
35# the rewritten modules are larger than the default 64 MB of used memory (Age of Calamity: 66.6 MB → 72 MB)
36mem_used0x4a00000
37# ---- Shader split ----
38# no NVN shaders: the NVN tables stay empty (gl_shaders.py writes the GL library and its table, not the profile)
39shader_noteDigimon Story Cyber Sleuth: Complete Edition has no NVN shaders (its GLSL shaders go through the GL layer)