Pokémon Mystery Dungeon : Explorers of Sky/Time/Darkness

From ProjectPokemon Wiki
Revision as of 08:06, 15 December 2016 by Psy commando (talk | contribs) (→‎Explorers of Sky: Added a link to the asm location page for PMD2)
Jump to navigation Jump to search


General Information

This page contains data on the Pokémon Mystery Dungeon: Explorers of Sky/Time/Darkness games.

Explorers of Sky

Data Specific to Explorers of Sky

Here's a list of all known functions and data offsets within the game's binaries:

NDS9/ARM9 Overlays:

A list of all the overlays, and what they're used for.

Overlay #00:
  • RAM Load address: 0x022BCA80
  • Length in RAM: 395,680 bytes
  • Description: Possibly contains data and code related to wifi multiplayer, in addition to the root menu. It mentions several files from the BACK folder that are known backgrounds for the root menu.
Overlay #01:
  • RAM Load address: 0x02329520
  • Length in RAM: 77,088 bytes
  • Description: Seems related to wifi rescue. It mentions several files from the GROUND and BACK folders:
    • 0x11ab8 : "BACK/expback.bgp"
    • 0x11b00 : "BACK/s07p02a.bgp"
    • 0x11b38 : "BACK/expback.bgp"
    • 0x11b70 : "BACK/expback.bgp"
    • 0x11b84 : "GROUND/s18p01a4.wan"
    • 0x11b98 : "GROUND/s18p01a2.wan"
    • 0x11bac : "GROUND/s18p01a3.wan"
    • 0x11be4 : "GROUND/s18p01a1.wan"
    • 0x11bf8 : "BACK/s18p01a.bgp"
Overlay #02:
  • RAM Load address: 0x02329520
  • Length in RAM: 176,032 bytes
  • Description: Most likely code for the Nintendo wifi setup.
Overlay #03:
  • RAM Load address: 0x0233CA80
  • Length in RAM: 41,312 bytes
  • Description: Unknown so far. Contains a single mention of "TABLEDAT/item00.dat" at 0xA078.
Overlay #04:
  • RAM Load address: 0x0233CA80
  • Length in RAM: 11,232 bytes
  • Description: Unknown so far. Contains a single mention of "TABLEDAT/item00.dat" at 0x2BA4.
Overlay #05:
  • RAM Load address: 0x0233CA80
  • Length in RAM: 12,864 bytes
  • Description: Unknown so far. Contain a single line of dialog formated text "[CS:X][string:0][CR][CLUM_SET:88][rank:0]" at 0x31EC
Overlay #06:
  • RAM Load address: 0x0233CA80
  • Length in RAM: 9,312 bytes
  • Description: Probably linked to WiFi rescue. Found those strings:
    • 0x2354 : "Mysterious WiFi: Illegal Identifier"
    • 0x237C : "Mysterious WiFi: Difference Version"
    • 0x23A4 : "Mysterious WiFi: Difference Language"
    • 0x23CC : "Mysterious WiFi: Difference Check Sum: 0x%08x 0x%08x"
    • 0x2404 : "Mysterious WiFi: Illegal Data"
Overlay #07:
  • RAM Load address: 0x0233CA80
  • Length in RAM: 20,736 bytes
  • Description: Unknown so far.
Overlay #08:
  • RAM Load address: 0x0233CA80
  • Length in RAM: 8,704 bytes
  • Description: Seems related to WiFi communications, from the string search results.
Overlay #09:
  • RAM Load address: 0x0233CA80
  • Length in RAM: 11,648 bytes
  • Description: Unknown this far. Has a single mention of "BACK/s18p02a.bgp" at 0x2D00
Overlay #10:
  • RAM Load address: 0x022BCA80
  • Length in RAM: 128,928 bytes
  • Description: Unknown this far. Some interesting strings:
    • 0x1F58C : "Lv. %d"
    • 0x1F594 : "[value:0:3]/[value:1:3]"
    • 0x1F5AC : "Lv. %d [CLUM_SET:44][value:0:3]/[value:1:3]"
    • 0x1F5D8 : "%s[CLUM_SET:70]%s"
    • 0x1F5EC : "/DUNGEON/sub2.bgp"
    • 0x1F600 : "/DUNGEON/sub.bgp"
    • 0x1F614 : "MainGame enter dungeon mode %d %d"
    • 0x1F638 : "dungeon fade out mode %d"
    • 0x1F654 : "dungeon getout result %d"
    • 0x1F694 : "rom0:BALANCE/mappa_gs.bin"
    • 0x1F6B0 : "dungeon map index %3d floor %3d -> dg index %3d floor max %3d -> bg index %3d table index %3d"
    • 0x1F710 : "rom0:BALANCE/fixed.bin"
Overlay #11:
  • RAM Load address: 0x022DC240
  • Length in RAM: 298,048 bytes
  • Description: Most likely the script engine for the game !
Overlay #12:
  • RAM Load address: 0x0238A140
  • Length in RAM: 32 bytes
  • Description: Empty, 32 bytes of zeros.
Overlay #13:
  • RAM Load address: 0x0238A140
  • Length in RAM: 11,904 bytes
  • Description: Controls the personality test, including the available partners and playable Pokémon. Personality test questions are stored in the MESSAGE folder.
Overlay #14:
  • RAM Load address: 0x0238A140
  • Length in RAM: 15,072 bytes
  • Description: Probably what runs the gatekeeper mini-game(String search returned mention of footprints).
Overlay #15:
  • RAM Load address: 0x0238A140
  • Length in RAM: 4,192 bytes
  • Description: Possibly has to do with Duskull's bank. Got this "Menu_Bank_Mode_Cancel" at 0xFB4.
Overlay #16:
  • RAM Load address: 0x0238A140
  • Length in RAM: 11,552 bytes
  • Description: Possibly linked to the Chimecho's assembly menu. Got this string "menuMonsterPictureBook_IsBusy busy" at 0x2CC4.
Overlay #17:
  • RAM Load address: 0x0238A140
  • Length in RAM: 7,392 bytes
  • Description: Unknown this far.
Overlay #18:
  • RAM Load address: 0x0238A140
  • Length in RAM: 13,568 bytes
  • Description: Unknown this far.
Overlay #19:
  • RAM Load address: 0x0238A140
  • Length in RAM: 16,960 bytes
  • Description: Possibly linked to Spinda's cafe.
Overlay #20:
  • RAM Load address: 0x0238A140
  • Length in RAM: 12,288 bytes
  • Description: Unknown this far.
Overlay #21:
  • RAM Load address: 0x0238A140
  • Length in RAM: 11,808 bytes
  • Description: Most likely for the swap shop menu.
Overlay #22:
  • RAM Load address: 0x0238A140
  • Length in RAM: 19,264 bytes
  • Description: Most likely for the Keckleon shop menu.
Overlay #23:
  • RAM Load address: 0x0238A140
  • Length in RAM: 14,208 bytes
  • Description: Most likely for the Kangashkan storage menu.
Overlay #24:
  • RAM Load address: 0x0238A140
  • Length in RAM: 9,440 bytes
  • Description: Unknown this far.
Overlay #25:
  • RAM Load address: 0x0238A140
  • Length in RAM: 5,312 bytes
  • Description: Unknown this far.
Overlay #26:
  • RAM Load address: 0x0238A140
  • Length in RAM: 3,648 bytes
  • Description: Unknown this far.
Overlay #27:
  • RAM Load address: 0x0238A140
  • Length in RAM: 11,616 bytes
  • Description: Most likely another menu for item handling storage..
Overlay #28:
  • RAM Load address: 0x0238A140
  • Length in RAM: 3,168 bytes
  • Description: Unknown this far.
Overlay #29:
  • RAM Load address: 0x022DC240
  • Length in RAM: 488,992 bytes
  • Description: Possibly having to do with running the in-dungeon game. Spotted strings for the in-dungeon menu.
Overlay #30:
  • RAM Load address: 0x02382820
  • Length in RAM: 14,496 bytes
  • Description: Unknown this far.
Overlay #31:
  • RAM Load address: 0x02382820
  • Length in RAM: 31,360 bytes
  • Description: Possibly the tactics menu.
Overlay #32:
  • RAM Load address: 0x02382820
  • Length in RAM: 32 bytes
  • Description: Empty, 32 bytes of zeros.
Overlay #33:
  • RAM Load address: 0x02382820
  • Length in RAM: 32 bytes
  • Description: Empty, 32 bytes of zeros.
Overlay #34:
  • RAM Load address: 0x022DC240
  • Length in RAM: 3,680 bytes
  • Description: Possibly having to do with launching the game. There are mention in the strings of the ERSB logo and the "n_logo" logo.
Overlay #35:
  • RAM Load address: 0x022BCA80
  • Length in RAM: 32 bytes
  • Description: Empty, 32 bytes of zeros.

Explorers of Time/Darkness

Data Specific to Explorers of Time/Darkness. Those two games have some significant differences with Explorers of Sky in the way data is stored.

NDS9/ARM9 Overlays:

A list of all the overlays, and what they're used for.


File Structure

A detailed list of the file structure of the ROM's nitro-fs filesystem. The three games share a pretty similar file structure. The differences between the three file structures will be indicated as such.

  • Note: A lot of files in the ROM have an identifier that correspond to which level/event/cutscene/etc, they're used in. Something like: "s17p01" for example.

First/Second level directories:

/BACK/
Contains large compressed BGP images. Some of those appear on the main menu, some later during the game.
In Explorers of Sky, the backgrounds from Explorers of Time and Darkness are present but unused.
/BALANCE/
Contain data about entities/Pokemon, moves, items, and dungeons data.
/DUNGEON/
Contains what seems to be some dungeon tiles.
/DWC/
Data for the standard NDS Wifi setup screen.
/EFFECT/
Contains some of the effect sprites.
/FONT/
Contains fonts, UI element resources, palettes, and the portraits for the talking pokemon during the game.
/GROUND/
Contains various sprites, map props, cutscene elements, some effects, and more.
/MAP_BG/
Contains what seems to be map tiles.
/MESSAGE/
Contains the text strings for most of the game!
/MONSTER/
Contains the pokemon sprites for battle and the "overworld".
/RESCUE/
(Explorers of Sky only)
Possibly linked to SOS code generation, and the interactive online rescues.
/SCRIPT/
Contains the scripts for the whole game. Each directories has an identifier related to the context it takes place in.
/SOUND/BGM/
Contains the main instrument sounds bank, "bgm.swd", and all the music in the game. With each tracks being a pair of a SMD and SWD file. Those files are used by the game's DSE sound driver.
/SOUND/ME/
Contains the jingles that plays when obtaining items and etc..
/SOUND/SE/
Possibly sound effects.
/SOUND/SWD/
A bunch of sound effects stored as SWDs
/SOUND/SYSTEM/
Possibly menu related sound effects.
/SYNTH/
(Explorers of Sky only)
Possibly data for the swap cauldron.
/SYSTEM/
Contains the demo roms for DS Download play, along with the icons and other resources related to that.
/TABLEDAT/
(Explorers of Sky only)
Possibly recycle shop data.
/TOP/
Contains BGP files for the backgrounds used in Pokémon Mystery Dungeon: Blue Rescue Team.
It can be deleted with no immediately apparent side effects, as the backgrounds are unused.

File/Data Formats

A list of all the file/data formats used in the game.

Graphics Formats
BGP
WAN/WAT
WBA
W16
WTE and WTU
CHR
PAL
BMA
BPC
BPL
BPA
SMD(image)
SMA
Audio Formats (The files the DSE sound driver uses)
SWD
SMD(Music Sequence)
SED
Data Formats
BIN
DAT
MD
TLK
STR
Script Engine Formats
SSB
SSA
SSS
SSE
LSD
Container Formats
BIN(pack files)
KAO
SIR0
Compressed Container Formats
AT4PX
AT4PN
PKDPX
Font Data
DAT (from in the /FONT/ directory)
DIC
Misc
SRL

Additionally, several files have a file extension that doesn't match their content. For example, "/SYSTEM/hsd_jap.dat" and "/SYSTEM/hsd_eng.dat" are AT4PX files, but their extension is ".dat".

Files with Unique Formats

A list of files that have their own unique format.

Internal Details

Articles on the various inner working of specific aspects of the game.

  • DSE sound driver: Explanation of the sound driver used in all 3 PMD2 games.
  • Level System: Explanation on how the game picks a level to load and all the various sub-systems involved.

External Resources

  • Wonder Mail S Tools, research notes. The "items_p_Sky.xlsx" excel sheet contains a comprehensive list of item names/types, pokemon names/types, moves names, etc, along with their associated index values in-game : [1]
  • Pokemon Explorers of Sky research thread on GameFaqs: [2] (lots of great info spread around all those pages)