-
Notifications
You must be signed in to change notification settings - Fork 1
Memory
Quite a bit of the memory has not been figured out. The game also reuses memory blocks for different purposes. For some memory blocks, there is an ASCII "tag" at the start which helps hint at what the memory is for.
From 108110 to 10830f is a memory block for player 1, and 108310 to 10850f is player 2's block. They are 512 bytes each.
These blocks contain a starting "tag" in ASCII, that indicates what the block is currently being used for, where X is either '1' or '2' depending on the player
tag | use |
---|---|
PLAYERXI | set before a player has pressed start to start a game |
PXSELECT | set after pressing start and during how to play |
PX TEAM | set when the player is choosing their team |
PXMEMBER | set when the player is choosing the player order |
PLAYER X | set while the match is playing |
"PLAYER X" is set throughout the entire match and win screen. It goes back to "PX TEAM" when choosing the next team to fight.
start | end (inclusive) | description |
---|---|---|
108110 | 108117 | 'P1 TEAM' in ascii |
108235 | 108237 | Character IDs of p1 chosen team |
the blocks are tagged "PLAYER 1" and "PLAYER 2" while playing the match
start | end (inclusive) | description |
---|---|---|
108110 | 108117 | 'PLAYER 1' in ascii |
108231 | 108231 | The team Id (see teamIds.md), example Italy is 5 |
108232 | 108234 | The character ids in order of when they fight |
108235 | 108237 | Character IDs of p1 chosen team, in team order |
There are six blocks that each start with the tag "MEMBDISP"
Address | team | char |
---|---|---|
102910 | p1 | 1 |
102B10 | p1 | 2 |
102D10 | p1 | 3 |
102f10 | p2 | 1 |
103110 | p2 | 2 |
103310 | p2 | 3 |
Team Italy used as an example
address | value | description |
---|---|---|
102928 | 000d19e8 | Pointer into ROM of first character's tiles |
10292c | 0070 | Same value for all teams, written once, never read |
102930 | 0001 | Same value for all teams, written once, never read |
10296a | ffe0ff90 | Never changes, but was diff in dumps??? |
102970 | 000f | The character, likely the only byte that matters |