Author Topic: Battle Memory Addresses  (Read 4289 times)

JLukas

  • Fan Project Leader
  • Squaretable Knight (+400)
  • *
  • Posts: 426
    • View Profile
Battle Memory Addresses
« on: February 03, 2008, 07:19:43 am »
For those working on Techs or other battle related data, these memory addresses should be of help.  When a battle starts, the 7E2xxx $50 byte character stat sets (see Geiger's Offsets Guide) are mirrored to 7E5xxx.

Code: [Select]
7E5E2D   01   FF   Battle     PC1 portrait
7E5E2E   01   FF   Battle     PC1 unknown

7E5E30   02   FF   Battle     PC1 current HP
7E5E32   02   FF   Battle     PC1 max HP
7E5E34   02   FF   Battle     PC1 current MP
7E5E36   02   FF   Battle     PC1 max MP
7E5E38   01   FF   Battle     PC1 power
7E5E39   01   FF   Battle     PC1 stamina
7E5E3A   01   FF   Battle     PC1 speed
7E5E3B   01   FF   Battle     PC1 magic
7E5E3C   01   FF   Battle     PC1 hit
7E5E3D   01   FF   Battle     PC1 evade
7E5E3E   01   FF   Battle     PC1 magic defense

7E5E40   03   FF   Battle     PC1 experience
7E5E43   11   FF   Battle     PC1 - unknown
7E5E54   01   FF   Battle     PC1 Helmet equipped
7E5E55   01   FF   Battle     PC1 Armor equipped
7E5E56   01   FF   Battle     PC1 Weapon equipped
7E5E57   01   FF   Battle     PC1 Accessory equipped
7E5E58   02   FF   Battle     PC1 experience next
7E5E5A   02   FF   Battle     PC1 tech experience next
7E5E5C   21   FF   Battle     PC1 - unknown

7E5EAD   01   FF   Battle     PC2 portrait
7E5EAE   01   FF   Battle     PC2 unknown

7E5EB0   02   FF   Battle     PC2 current HP
7E5EB2   02   FF   Battle     PC2 max HP
7E5EB4   02   FF   Battle     PC2 current MP
7E5EB6   02   FF   Battle     PC2 max MP
7E5EB8   01   FF   Battle     PC2 power
7E5EB9   01   FF   Battle     PC2 stamina

7E5EBB   01   FF   Battle     PC2 magic
7E5EBC   01   FF   Battle     PC2 hit
7E5EBD   01   FF   Battle     PC2 evade
7E5EBE   01   FF   Battle     PC2 magic defense
7E5EBF   01   FF   Battle     PC2 level
7E5EC0   03   FF   Battle     PC2 experience
7E5EC3   11   FF   Battle     PC2 - unknown
7E5ED4   01   FF   Battle     PC2 Helmet equipped
7E5ED5   01   FF   Battle     PC2 Armor equipped
7E5ED6   01   FF   Battle     PC2 Weapon equipped
7E5ED7   01   FF   Battle     PC2 Accessory equipped
7E5ED8   02   FF   Battle     PC2 experience next
7E5EDA   02   FF   Battle     PC2 tech experience next
7E5EDC   21   FF   Battle     PC2 - unknown

7E5F2D   01   FF   Battle     PC3 portrait
7E5F2E   01   FF   Battle     PC3 unknown

7E5F30   02   FF   Battle     PC3 current HP
7E5F32   02   FF   Battle     PC3 max HP
7E5F34   02   FF   Battle     PC3 current MP
7E5F36   02   FF   Battle     PC3 max MP
7E5F38   01   FF   Battle     PC3 power
7E5F39   01   FF   Battle     PC3 stamina
7E5F3A   01   FF   Battle     PC3 speed
7E5F3B   01   FF   Battle     PC3 magic
7E5F3C   01   FF   Battle     PC3 hit
7E5F3D   01   FF   Battle     PC3 evade
7E5F3E   01   FF   Battle     PC3 magic defense
7E5F3F   01   FF   Battle     PC3 level
7E5F40   03   FF   Battle     PC3 experience
7E5F43   11   FF   Battle     PC3 - unknown
7E5F54   01   FF   Battle     PC3 Helmet equipped
7E5F55   01   FF   Battle     PC3 Armor equipped
7E5F56   01   FF   Battle     PC3 Weapon equipped
7E5F57   01   FF   Battle     PC3 Accessory equipped
7E5F58   02   FF   Battle     PC3 experience next
7E5F5A   02   FF   Battle     PC3 tech experience next
7E5F5C   21   FF   Battle     PC3 - unknown


Code: [Select]
7E5E2F   01   01   Battle     PC1 HP in critical status

7E5E4A   01   80   Battle     PC1 laying on ground dead animation
7E5E4B   01   01   Battle     PC1 has blind status
7E5E4B   01   02   Battle     PC1 has sleep status
7E5E4B   01   04   Battle     PC1 has confuse status
7E5E4B   01   08   Battle     PC1 has lock status
7E5E4B   01   10   Battle     PC1 loses 1HP/second
7E5E4B   01   20   Battle     PC1 has slow status
7E5E4B   01   40   Battle     PC1 has poison status
7E5E4B   01   80   Battle     PC1 has stop status
7E5E4C   01   FF   Battle     PC1 unknown, likely battle status effects
7E5E4D   01   80   Battle     PC1 has haste status
7E5E4E   01   04   Battle     PC1 has protect status
7E5E4E   01   20   Battle     PC1 has MP regen status (SeraphSong)
7E5E4E   01   40   Battle     PC1 magic defense up
7E5E4E   01   80   Battle     PC1 has berserk status
7E5E4F   01   80   Battle     PC1 has auto-revive status
7E5E50   01   04   Battle     PC1 has Accessory $AB Berserker equipped

7E5EAF   01   01   Battle     PC2 HP in critical status

7E5ECA   01   80   Battle     PC2 laying on ground dead animation
7E5ECB   01   01   Battle     PC2 has blind status
7E5ECB   01   02   Battle     PC2 has sleep status
7E5ECB   01   04   Battle     PC2 has confuse status
7E5ECB   01   08   Battle     PC2 has lock status
7E5ECB   01   10   Battle     PC2 loses 1HP/second
7E5ECB   01   20   Battle     PC2 has slow status
7E5ECB   01   40   Battle     PC2 has poison status
7E5ECB   01   80   Battle     PC2 has stop status
7E5ECC   01   FF   Battle     PC2 unknown, likely battle status effects
7E5ECD   01   80   Battle     PC2 has haste status
7E5ECE   01   04   Battle     PC2 has protect status
7E5ECE   01   20   Battle     PC2 has MP regen status (SeraphSong)
7E5ECE   01   40   Battle     PC2 magic defense up
7E5ECE   01   80   Battle     PC2 has berserk status
7E5ECF   01   80   Battle     PC2 has auto-revive status
7E5ED0   01   04   Battle     PC2 has Accessory $AB Berserker equipped

7E5F2F   01   01   Battle     PC3 HP in critical status

7E5F4A   01   80   Battle     PC3 laying on ground dead animation
7E5F4B   01   01   Battle     PC3 has blind status
7E5F4B   01   02   Battle     PC3 has sleep status
7E5F4B   01   04   Battle     PC3 has confuse status
7E5F4B   01   08   Battle     PC3 has lock status
7E5F4B   01   10   Battle     PC3 loses 1HP/second
7E5F4B   01   20   Battle     PC3 has slow status
7E5F4B   01   40   Battle     PC3 has poison status
7E5F4B   01   80   Battle     PC3 has stop status
7E5F4C   01   FF   Battle     PC3 unknown, likely battle status effects
7E5F4D   01   80   Battle     PC3 has haste status
7E5F4E   01   04   Battle     PC3 has protect status
7E5F4E   01   20   Battle     PC3 has MP regen status (SeraphSong)
7E5F4E   01   40   Battle     PC3 magic defense up
7E5F4E   01   80   Battle     PC3 has berserk status
7E5F4F   01   80   Battle     PC3 has auto-revive status
7E5F50   01   04   Battle     PC3 has Accessory $AB Berserker equipped

Mauron

  • Guru of Reason Emeritus
  • Errare Explorer (+1500)
  • *
  • Posts: 1776
  • Nu-chan
    • View Profile
    • Hi trig!
Re: Battle Memory Addresses
« Reply #1 on: February 03, 2008, 08:57:13 am »
That should be helpful, and might explain an eighth character glitch.

Do you know what it does name wise when loading the battle?

JLukas

  • Fan Project Leader
  • Squaretable Knight (+400)
  • *
  • Posts: 426
    • View Profile
Re: Battle Memory Addresses
« Reply #2 on: February 03, 2008, 10:40:45 am »
The names are being copied within memory for battles by routines at 0CE565-0CE594*.  It's worth noting that it's not copying the sixth (null) byte of the character name.  After that it loads a data byte from 0CF83F-0CF845** and uses it as a start address (+7E9430) to copy the name within memory yet again.

* Look at the hardcoded values (has a # in front)  The #$23 is the counter to stop after 7 names, for example.

** This would have to be relocated to free space to support an 8th byte.

And there's probably more work after that depending on how many more times the names are copied within memory.  The PC weapon palette index, for example, was moved around 4+ times and was quite a pain to follow.


JLukas

  • Fan Project Leader
  • Squaretable Knight (+400)
  • *
  • Posts: 426
    • View Profile
Re: Battle Memory Addresses
« Reply #3 on: February 03, 2008, 10:46:01 am »
Code: [Select]
7E0080   01   FF   Battle     PC index, used for loading names

7E9430   05   FF   Battle     Crono name
7E9435   05   FF   Battle     Marle name
7E943A   05   FF   Battle     Lucca name
7E943F   05   FF   Battle     Robo name
7E9444   05   FF   Battle     Frog name
7E9449   05   FF   Battle     Ayla name
7E944E   05   FF   Battle     Magus name

7E94A0   05   FF   Battle     Temporary copy of PC name

justin3009

  • Fan Project Leader
  • God of War (+3000)
  • *
  • Posts: 3296
    • View Profile
Re: Battle Memory Addresses
« Reply #4 on: February 03, 2008, 10:52:30 am »
Wow.  I wake up in the morning and see this.  Heh, time to get crackin on this I guess xD

Agent 12

  • Zurvan Surfer (+2500)
  • *
  • Posts: 2572
    • View Profile
Re: Battle Memory Addresses
« Reply #5 on: February 03, 2008, 11:25:42 am »
I bet some of those "unknowns" we couldn't see are the "lose 1HP/MP" "Gain 1HP/MP", or auto-revive,  statuses.  Thanks a ton JLukas

--JP

--JP

justin3009

  • Fan Project Leader
  • God of War (+3000)
  • *
  • Posts: 3296
    • View Profile
Re: Battle Memory Addresses
« Reply #6 on: February 03, 2008, 11:34:58 am »
Wow.  Kinda funny how there's 5 blank spaces AFTER Magus's name implying more on the 8th character xd.  I'm trying to see if I can get battle to read it.  I had ti but every other value turned to 00 00 so the battles would not load.

justin3009

  • Fan Project Leader
  • God of War (+3000)
  • *
  • Posts: 3296
    • View Profile
Re: Battle Memory Addresses
« Reply #7 on: February 03, 2008, 11:53:50 am »
Double post but changing CF846 to 01 will result in Crono's name scrolling over 1 letter showing the 6th letter, but it'll knock out the 1st letter.  (Usual problem as always XP)