The goal is to be able to play automated stadium 2 matches, and that without any visuals based automation like what was used before. The following things need to be mapped.
[X] pre-battle pokemon data suitable for pokemon injection
0x165CB8 (88 bytes total)
{
u8 species
u8 item
u8[4] moves 1-4
u16 null?
u32 exp (?)
u16[5] stat exp (?) (hp, atk, def, speed, special)
u4[4] DVs (atk, def, speed, special)
u8[4] PP move 1-4
u8 happiness
u8 level
u8[8] null?
u16 HP
u16 max HP
u16 atk
u16 def
u16 speed
u16 sp atk
u16 sp def
u8[10] nickname, last must be null apparently?
u8[26] null?
}[6]
[X] in-battle pokemon data (read only) for overlay extraction
0x0D1DC0
[X] turn announcer on/off
0x091B6C
[X] disable music (we used to use a custom rom)
using the midi channels: 0xEB11C + 0x100 offset per music channel's pitch, set to 0 to mute
[ ] move/switch prompt detection
[ ] move/switch injection
[ ] win detection
might be possible by obersving each pokemon's HP. I don't know if there will be special cases where that's not sufficient
[ ] RNG seed, for re-seeding to avoid RNG patterns
The goal is to be able to play automated stadium 2 matches, and that without any visuals based automation like what was used before. The following things need to be mapped.
[X] pre-battle pokemon data suitable for pokemon injection
0x0D1DC0
0x091B6C
0xEB11C
+0x100
offset per music channel's pitch, set to 0 to mute