Files
nxnative-easy/dm/games/01007300020FA000/game.tsv
T
seeddsandv0lumehi 92fc2f2711 Build and ship offline Metal pipeline archives (#226)
Compile eligible shader-pair bases on the Mac with metal-tt, package one
archive per selected iPhone GPU, and use a matching bundle before falling
back to on-device preparation. Carry the profile depth mode through packing
and include the pulling libraries required by the bundled bases.

Integrate PR #226 with four confirmed fixes: validate archive container
bounds before invoking Metal; require at least one actual successful bundle
probe; hash consumed library bytes into offline cache keys; and emit device
remainder lists for constant-only plans instead of aborting packaging.
Keep game measurements in the game note and document the general findings.

Validation on current main: 52 real Metal bundle checks, 57 archive checks,
79 prewarm checks on each pipeline path, 73 Python regressions covering
offline tools, packaging, documentation and chain checks, and compilation
of all 133 iOS source files. No new iPhone gameplay validation. The archive guard validates
container structure, not private Metal payloads.

Co-authored-by: v0lumehi <aljic.zijad@gmail.com>
2026-10-26 10:52:50 +08:00

1.6 KiB

1# ASTRAL CHAIN 1.0.1 (v65536), PlatinumGames engine, SDK 6.4.0, NVN.
2# Format: see dm/games/README.md. Bring-up evidence and current status: README.md.
3# ---- Identity ----
4title_id01007300020FA000
5program_id01007300020FA000
6# ---- App ----
7nameASTRAL CHAIN
8ipaAstralChain.ipa
9app_categorypublic.app-category.action-games
10# Both sticks are used for movement and camera.
11pad_layoutfull
12# Build-gated frame step: 60 fps gameplay, 30 fps fixed-step cinematics.
13fps_target60
14# ---- Versions ----
15buildv655361.0.1main=4b159f0f7a360669738390ee8657b4f0sdk=e29be8ad6778527aa248310d0c71a8a5
16packagev65536
17shader_versionsv65536
18# ---- Files ----
19# every module main imports from
20modulesmain sdk
21romfs_markerevent/event.pkz
22zip_store.bk2:.bnk:.pkz:.metallib
23# ---- Memory ----
24# main sets a heap of at most the pool − 64 MB − 191 MB of bss (counted as used memory): a 3072 MB heap region
25mem_reserve0xf0000000
26mem_alias0x10000000
27mem_stack0x10000000
28app_pool0xCD500000
29# the NPDM declares 0 MB of system resource: IsVirtualAddressMemoryEnabled is false, as on Horizon (Big Brain Academy: Brain vs. Brain sets a heap only then)
30sys_resource0x0
31# ---- Shader split ----
32shader_groups/sound/=sound /mv/=mv /miscTex/=misctex /movie/=movie /effect/=effect /Text/=text /ba/=ba /bg/=bg /bh/=bh /bv/=bv /core/=core /em/=em /es/=es /et/=et /event/=event /font/=font /it/=it /ph1/=ph1 /ph2/=ph2 /ph3/=ph3 /ph4/=ph4 /ph5/=ph5 /ph6/=ph6 /ph7/=ph7
33shader_noteASTRAL CHAIN shaders
34# the NVN depth mode the game sets (nvnDeviceSetDepthMode near = 0): the pipeline archive made offline holds the main0_z vertex entries (dm/gfx/tools/pso_offline.py)
35depth_modezero