Contents type:1 = Chip (value is chip ID, subvalue is chip code)2 = SubChip (value is item ID)3 = Zenny (value is amount)4 = Item (value is item ID)5 = BugFrags (value is amount)6 = Chip Trap (same as 1)7 = Zenny Trap (same as 3)8 = HP Memory (value is item ID, must be set to HP Memory)9 = Navi Customizer Program (value is program ID, subvalue is color)10 = RegUP (value is item ID, must be set to RegUP)11 = SubMemory (value is item ID, must be set to SubMemory)12 = ExpMemory (value is item ID, must be set to ExpMemory)15 = Area map (value is item ID)16 = Party Customizer Program (value is item ID)

On jacking in:- Search every Mystery Data list for GMDs;- For every GMD found, count the possible locations and contents;- If a possible contents was already used by a previous GMD in the same map, then it is skipped;- Using the probability values, randomly determine 1 position and 1 contents for each GMD.

What this means:- The number of GMDs that will appear in a specific area is constant;- Placement and contents of GMDs is determined on jacking in;- Some locations and/or contents can be set to be rarer than usual;- Two GMDs in the same map cannot have the same contents indices;- In other words, if two GMDs in the same map use the same contents array, then they will never have the same contents;- The codes of chips and amount of Zennys/BugFrags received from GMDs are NOT random!The BN6 games have a hard limit of 32 possible contents or locations. Usually there are 8 possible contents that all have the same probability, and the possible locations all have the same probability as well. Also, no map in BN6 has more than 2 GMDs.

An array of gold area entries starts at 0x080A3428, terminated by a 32-bit 0x00000000.

Among the regular entries, this array also has a number of "dummy" entries. If a dummy entry is chosen, no Gold Mystery Data will spawn. This allows a probability to be set for spawning the Gold Mystery Data at all. These dummy entries have area 0x01 and sub-area 0x00. In BN6, there is an overall 25% chance of a Gold Mystery Data spawning. This does not take into account what area you jack into; as such, a Gold Mystery Data may spawn in an area that is out of reach, further diminishing your chances of encountering one.

The contents entry structure is the same as for Green Mystery Data. Note that dummy entries must also define a contents entry array with at least 1 entry.

On jacking in:- Select one Gold Area Entry using the probability values.- Select 1 random Green Mystery Data and change it into a Gold Mystery Data.- Choose random contents from the entry list for that Gold Mystery Data.

What this means:- The data you get from Gold Mystery Data depends on the area it spawned in.- At most 1 Gold Mystery Data exists on the Net at a time.- Even though a Gold Mystery Data exists, it may not be reachable.In BN6, Gold Mystery Datas spawn only in Internet areas, not in Comps.

BN5 does things a little differently. Instead of having each area entry have an area value, the current area value is used as an index of the area entry array. As such, each area entry is only 4 bytes. This also means that each valid area must have an entry in the array, even if it has no Mystery Data. Like BN6, the area entry arrays are terminated by a 32-bit 0x00000001.

AREA ENTRY (BN5):0x00 = If 0x00000000, skip this entry. Subarea array pointer, points to an array of pointers to Mystery Data entry arrays, one for each subarea. Terminated by 0x00000000 (32-bit)

EDIT2: All other structures are the same, including contents type values and Mystery Data type values, with one exception: Mystery Data type 0x06 which is Gold (Locked) in BN6, is just Blue (Locked) in BN5. Probably unused.

Correction: for BN6, subarea array isn't actually terminated by 0x00000000, it's just a fixed size (16 entries followed by 0x00000000). However, when generating GMDs, the game will move on to the next area if it finds a subarea pointer of 0x00000000.

The script pointer for BN3 is at 0x020094A8 so just open a BMD or GMD and check that to get to the commands. At 0x0802687E is the bx r1 that jumps to a script command's ASM routine so after you've found the command you want, you can just set a read breakpoint on it to get to its ASM routine, then set a breakpoint on that to catch any subsequent calls.

Mystery Wave types are: 1 = Blue, 3 = Purple, 5 = Green, 6 = Gold, 8 = Red. 2, 4 and 7 appear as Blue, Purple and Green respectively but are not used.Byte 0x01 in the Mystery Wave entry indicates whether the Mystery Wave is locked (requiring an Unlocker or SunKey to open). But it doesn't seem to be used and the game appears to use the color type anyway.

Gold Mystery Wave (or Yellow Mystery Wave, YMW) has a 1-in-64 chance of spawning when you Wave Change into MegaMan. That means it will not be visible while you're walking around as Geo with the Visualizer on. The YMW appears in a separate location from other Mystery Waves (will not replace them like in MMBN6). It will always appear in an EM-Road you can reach from where you pulsed in (unlike MMBN6). If you pulse in at Echo Ridge, it may appear in either Echo Ridge's EM-Roads or in Deep Space EM-Road after you've unlocked it. One of the reachable Gold Mystery Waves is selected at random.

Red Mystery Waves only appear if you have a Boktai DS / Lunar Knights Brother. They require a SunKey SubCard to unlock and disappear after you pick them up.