Files
seedds 6ec201c756 Mario Kart 8 Deluxe (0100152000022000, update 4.0.0, Nintendo's sead / agl / gsys on SDK 4.4.0, the oldest SDK so far): game profile and five general changes. Plays on the Mac and an iPhone from boot through the title's demo race, the Mii pick and the menus into Grand Prix races at 60 fps with sound, and a second boot loads the save. The Mii database (hle_mii.c: the six default Miis every console has, which the game lists at boot without reading the count, none of the console's own, random Miis for the demo race, the editor cancelled) and a MiiModel system data stand-in (0100000000000802 mounted as MiiResource:, written by the host with the layout main's Mii renderer reads: no textures and every shape one degenerate triangle, because the faceline is drawn without a check; the firmware is not the host's to ship, so Mii heads draw nothing). The add-on content cache sized as Horizon's RomFS working memory (its licence is decrypted in a 0x3130-byte heap that also holds the 4 KB the host used to answer). Device save data as a save of its own when main also imports MountSaveData (at boot the game deletes CommonSave:/userdata.dat, which in the shared directory was UserSave's; Animal Crossing, device save only, keeps its island where it was). SDK 4's DeviceSink (command 0xf, 0x130 bytes, byte input indices) and the audio renderer's update lock read off each SDK's own AudioRenderSystem::Update (LockMutex +0x1d0 / +0x1d8, SdkMutexType +0x1d8 / +0x1f0 / +0x1f8: it was SDK 16's for every SDK before 20; sound checked on Big Brain Academy and DRAGON QUEST XI S). The zero cube for a 2D array of fewer than six layers in a cube slot. Profile: render_cond on, a recorded prewarm list from boot into the first race; Breath of the Wild and Animal Crossing boot with their DLC caches resized, host unit tests pass
2026-10-23 20:36:56 +08:00

3.3 KiB

1# Game profile of Mario Kart 8 Deluxe (Switch, update 4.0.0 = v1441792). Plays on the iPhone and the Mac (boot, the title screen's demo race, the Mii pick, the menus, Grand Prix races at 60 fps with sound)
2# Format: see dm/games/README.md
3# Nintendo's sead / agl / gsys engine with NintendoWare (G3d, Ui2d, Vfx, Atk) and Pia networking, on SDK 4.4.0, the oldest SDK so far (DARK SOULS: REMASTERED is 4.5.0), NVN;
4# subsdk0 is the SDK's movie library (the menus' H.264 previews). RomFS is mostly Yaz0-compressed SARC (.szs), BFRES models and BNTX textures, which the game reads itself.
5# Three host parts it needed: the Mii database (hle_mii.c: the six default Miis it lists at boot and never counts, random Miis for the title's demo race), a MiiModel system data
6# stand-in (hle_mii.c / hle_fs.c MountSystemData: the firmware's Mii heads are not the host's to ship, so every head is empty and draws nothing), and SDK 4's audio renderer
7# (hle_audren.c: its DeviceSink is command 0xf of 0x130 bytes, and the update lock is an nn::os::MutexType at +0x1d0). Its add-on content (0100152000023001) holds only contents.dat
8# and version.txt (the courses are in the update): the game decrypts it in a 0x3130-byte heap, which the add-on content cache must leave room in (hle_fs.c romfs_work_size)
9# ---- Identity ----
10title_id0100152000022000
11program_id0100152000022000
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)
14nameMario Kart 8 Deluxe
15ipaMarioKart8Deluxe.ipa
16app_categorypublic.app-category.racing-games
17# the race records SetRenderEnableConditional as a course loads: evaluated at replay, as on the GPU (drawn anyway, the same race route at the same frames looked the same; evaluated is NVN's behaviour)
18render_condon
19# ---- Versions ----
20# only the merged 4.0.0 copy is extracted; the base game's own build IDs are added when needed
21buildv14417924.0.0main=2c336a9bcf79c3040ce506cdd391b578subsdk0=d9de423efc1512328c3c05378c7cb031sdk=ba520906609c503227871a314a94fb5f
22packagev1441792
23shader_versionsv1441792
24# ---- Files ----
25# every module main imports from
26modulesmain subsdk0 sdk
27romfs_markerUI/cmn/movie/StaffCredits.mp4
28zip_store.bfres:.bfstm:.bslnk:.mp4:.ptcl:.sarc:.szs:.webm:.metallib
29# ---- Memory ----
30# no system resource: the game sets a 3.03 GB heap (pool − 64 MB) in the 4 GB layout's 3.25 GB heap region; about 2.4 GB resident and 1.26 GB of Metal allocations in a race on the Mac
31mem_reserve0x100000000
32mem_alias0x10000000
33mem_stack0x10000000
34app_pool0xCD500000
35# the NPDM declares 0 MB of system resource: IsVirtualAddressMemoryEnabled is false, as on Horizon
36sys_resource0x0
37# ---- Shader split ----
38# 29,650 shaders (12,529 vertex, 17,092 pixel, 28 compute, 1 geometry): BNSH in the courses' and objects' .bfsha / .bfres archives inside the .szs SARCs, the effects' .ptcl, the layouts,
39# agl's two BAHS sharcb and 37 in main; 18,747 variation pairs
40shader_groups/MapObj/=mapobj /Course/=course /UI/=ui /Audio/=audio /Kart/=kart /Ghost/=ghost /Driver/=driver /RaceCommon/=racecommon /Common/=common /DriverTex/=drivertex /Trophy/=trophy /UI3D/=ui3d /Data/=data /DriverAnim/=driveranim /AI/=ai
41shader_noteMario Kart 8 Deluxe shaders