Super Mario 3D All-Stars
This page documents the Super Mario 3D All-Stars (SM3DAS) game.
The initial menu is the Stardust launcher, which has the base ProgramId 010049900F546000. Each game launched from here has a different ProgramIndex, therefore each ProgramId differs: 0x1 (010049900F546001) SuperMario64, 0x2 (010049900F546002) SuperMarioSunshine, 0x3 (010049900F546003) SuperMarioGalaxy.
The launcher launches each game by using ExecuteProgram with ProgramIndex={above values}, with 0x10-byte parameter-data: {+0x0 = LanguageCode selected in the launcher for this game, +0x8/+0xC = floats loaded from a fixed-data array specific for each game, which games can use with SetAudioDeviceOutputVolume}. Each game returns to the launcher by using ExecuteProgram with ProgramIndex=0, no parameter-data is passed to the launcher.
SuperMario64
SuperMarioSunshine
SuperMarioGalaxy
Savedata
The savedata contains the following:
- "/PlayReport/account.prsav"
- "/StardustLauncher/game_data.sav"
- "/Mario64/Mario64.sav": The raw N64 savedata.
- "/MarioSunshine/": This contains the following data, for MarioSunshine:
- "gekko/log/", "gekko/trace/", and "hanafuda/": Empty directories.
- "A.sav": The memory card image. The first 4-bytes are the big-endian decompressed size, followed by the LZ4 compressed data.
- "B.raw": Uncompressed raw version of the memory card image. All-zeros, since it doesn't seem to be used after creation? This normally doesn't exist: this only exists if the application had argv parameter "--card-uncompressed" passed.
- "B1317A6632265CF763766CF6339AC8D1.cache": This is probably graphics pipeline related?(RomFs has an identical file)
- "/MarioGalaxy/GameData.bin": The savedata for SuperMarioGalaxy.