Re: RAM things
Posted: Sat Sep 10, 2016 6:00 am
This isn't on datacrystal, so...
All related to Speed version
The addresses for enemy Denjuu is listed wrong. It's actually:
*30041F2 - Denjuu 1 ID
*300422A - Denjuu 2 ID
*3004262 - Denjuu 3 ID
Edit: Curiously, the ID's using the above addresses don't match the number used on phone/list of denjuu page. I can confirm however, changing and freezing these DOES affect the Denjuu shown.
The offsets for the above correspond to the following:
+0x1 - LV
+0x2 - HP(Current)
+0x3- HP(Max)
+0x4 - DP (basically special power meter)
+0x5 - SPD
+0x6 - ATK
+0x7 - DEF
+0x8 - SPEC
+0x16 - First move
+0x1E - Second move
+0x26 - Third move?
+0x2E - Fourth move?
*300042C - Game state for battles (1 is start, 3 is battle, 5 is win, 7 is recruit, 8 is items. Forcing it to 7 can also recruit bosses)
*3002870 - Battle win/lose boolean (1 is win)
*3002888 - Boss Battle ID (which boss you are on; trainer fights use this along with some other thing)
*3002A00 - Item dropped after battle
*3002A0B - Damage dealt (applies to both you and foe)
*3002B06 - Move used/using
*3002B84 - Opponent selected
*3002C14 - Hit/Miss (61 is hit, 64 is miss; in decimal)
*3002C16 - Battle related; at value of 0x5, determines when attacks hit/miss/crit. At value 0x24 it determines opponent move used. At value 0x3F it determines hit/miss
*3002C22 - seems to be related to critical hit; it appears to be 1 when a crit appears, but freezing it at 1 does not cause the crit.
Not mentioned in Datacrystal as well, but if given the option, it appears X/Y address is better displayed as a fixed point 16.16. Or in other words, the unsigned integer value divided by 65535 while showing 6 decimal places.
If using BizHawk, remove the "300" part and set the memory domain to IWRAM instead.
All related to Speed version
The addresses for enemy Denjuu is listed wrong. It's actually:
*30041F2 - Denjuu 1 ID
*300422A - Denjuu 2 ID
*3004262 - Denjuu 3 ID
Edit: Curiously, the ID's using the above addresses don't match the number used on phone/list of denjuu page. I can confirm however, changing and freezing these DOES affect the Denjuu shown.
The offsets for the above correspond to the following:
+0x1 - LV
+0x2 - HP(Current)
+0x3- HP(Max)
+0x4 - DP (basically special power meter)
+0x5 - SPD
+0x6 - ATK
+0x7 - DEF
+0x8 - SPEC
+0x16 - First move
+0x1E - Second move
+0x26 - Third move?
+0x2E - Fourth move?
*300042C - Game state for battles (1 is start, 3 is battle, 5 is win, 7 is recruit, 8 is items. Forcing it to 7 can also recruit bosses)
*3002870 - Battle win/lose boolean (1 is win)
*3002888 - Boss Battle ID (which boss you are on; trainer fights use this along with some other thing)
*3002A00 - Item dropped after battle
*3002A0B - Damage dealt (applies to both you and foe)
*3002B06 - Move used/using
*3002B84 - Opponent selected
*3002C14 - Hit/Miss (61 is hit, 64 is miss; in decimal)
*3002C16 - Battle related; at value of 0x5, determines when attacks hit/miss/crit. At value 0x24 it determines opponent move used. At value 0x3F it determines hit/miss
*3002C22 - seems to be related to critical hit; it appears to be 1 when a crit appears, but freezing it at 1 does not cause the crit.
Not mentioned in Datacrystal as well, but if given the option, it appears X/Y address is better displayed as a fixed point 16.16. Or in other words, the unsigned integer value divided by 65535 while showing 6 decimal places.
If using BizHawk, remove the "300" part and set the memory domain to IWRAM instead.