Aslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&topic=2401.msg27775e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/indexc81f-2.htmlslickproductions.org/forum/index.php?PHPSESSID=5f0fck550j2m4m2fpbtkj2vkm1&action=profile;area=showposts;sa=topics;u=337e:/My Web Sites/Slick Productions - FFIV Message Board/slickproductions.org/forum/indexc81f-2.html.zxIh^{{OKtext/htmlISO-8859-1gzip0|{Wed, 11 Mar 2020 02:31:37 GMT0 0PIh^u{ Free RAM?

Author Topic: Free RAM?  (Read 439 times)

Praetarius5018

  • Vargas
  • *
  • Posts: 88
    • View Profile
Free RAM?
« on: August 24, 2017, 10:59:14 AM »
As with many ROM hacking projects, more usable RAM is needed.
I don't care if it is included in the savegame for now.

So I went and just checked in the RAM watch values that didn't change at all (equal to previous value) between power on and switching between 5 different saves.
Coincidently all values are 0x55 so that helps, I guess.

Results were:

7E1E14 - 7E1E3F
7E1E68 - 7E1EFF
7E1F08 - 7E1F94
7E7D09 - 7E7D28
7EDC76 - 7EDCF5
7EF873 - 7EF9A0
7EF9CC - 7EFFFF
7F6000 - 7F61FF
7F6A11 - 7F6A17
7F6A43 - 7F6A48

I don't really trust this method, so someone already got a list or a better method?

samurai goroh

  • FF5 Hacker
  • *
  • Posts: 221
  • Gender: Male
    • View Profile
    • My page
Re: Free RAM?
« Reply #1 on: August 25, 2017, 10:59:01 PM »
I'm unsure if a RAM map exist that lists the unused addresses... If it helps, I don't have any memory address labeled in those ranges you've mentioned, so at least that's something.

Well, if values stay as 0x55 (using Snes9x) from the first frame, then is a safe indicator that the value wasn't populated. Odds to have it hit 0x55 would be too low. An approach I would try is to code a Lua script that somehow compares all values (0x20000 ?) and discards them if value changed. If using Snes9x and not Bizhawk, then you could cheat and always compare to 0x55, which is the value that's always pre-populated at startup.
I'm the best in the universe! Just remember! [F-zero X]

Praetarius5018

  • Vargas
  • *
  • Posts: 88
    • View Profile
Re: Free RAM?
« Reply #2 on: August 26, 2017, 04:41:30 AM »
I started with just a comparison old == new value, which after 2 or 3 repetitions filtered all values that weren't 0x55, so it being the default emulator values checks out.
I had already checked against that document before but thanks for double checking, I often miss obvious entries.

Simplest might be checking against a savestate that went the whole game from start to finish without ingame re-loading, any cleanup would probably not end up with the emulators default values; sadly I don't have one of those around.

samurai goroh

  • FF5 Hacker
  • *
  • Posts: 221
  • Gender: Male
    • View Profile
    • My page
Re: Free RAM?
« Reply #3 on: August 26, 2017, 11:33:31 AM »
I tried to run movies I have for FFV (like the TASes, bugs, etc), while some were for the fan translation, I still ran them all on the normal J version. I got similar results but what I did instead of comparing old value != new value, I just checked that at all times the number of changes to be 0 & even tried some other stuff like resets. In the end I got similar results than yours:

Code: [Select]
7E1E16 to 7E1E3F
7E1E6C to 7E1EBF
7E1ED6 to 7E1EFF
7E1F08 to 7E1F83
7EF873
7EF87C to 7EF88B
7EF88F, 7EF8B3
7EF9CC to 7EF9DB
7EF9E1, 7EF9E2
7EFEEA to 7EFEEF
7EFEF1 to 7EFEF3
7EFF29, 7EFF2A
7EFF34 to 7EFFFF
7F6000 to 7F61FF
7F6A11 to 7F6A17
7F6A43 to 7F6A48
7F6A87 to 7F6A89
7F6AB8 to 7F6ABA
7F6AE9 to 7F6AEB

Note that this was written and compared by hand, so it's prompted to have issues (though I doubt it). BTW, Many addresses that were never used, changed when watching the credits (specifically after watching your stats)...
« Last Edit: August 26, 2017, 02:50:48 PM by samurai goroh »
I'm the best in the universe! Just remember! [F-zero X]

Praetarius5018

  • Vargas
  • *
  • Posts: 88
    • View Profile
Re: Free RAM?
« Reply #4 on: August 26, 2017, 03:27:33 PM »
I'm afraid the TAS goes through bosses too fast so that many potentially relevant actions are skipped.

While, yes this is a lot closer than what I alone had, it is quite possibly still incomplete - or rather, the list probably still has some actually used values in there, I'm afraid...