News: 11 March 2016 - Forum Rules

Author Topic: How can I find an unused Ram space? And a question about automatic word-wrapping  (Read 2788 times)


  • Full Member
  • ***
  • Posts: 151
    • View Profile
Hi, I'm translating a Genesis game and everything is fine, but I want to implement a automatic word-wrapping for the dialog.

My first question is: How can I find an unused Ram space? I think I'll need this for the automatic word-wrapping feature, but it's also a general question.

I've changed the game's compression, so I had to reimplement some of the dialog subrotines, and I think I could easily add a automatic word-wrapping, but the problems are the item names, person names, etc, because I don't know how large they will be.
This game reads and draws a simbol by time, so what is the best approach?



  • Forum Moderator
  • Hero Member
  • *****
  • Posts: 7185
  • *sigh* A changed avatar. Big deal.
    • View Profile
Not sure if there are code/data loggers for Genesis. Emulators tend to (unlike real consoles) initialize RAM to a specific value (like 0 or FF), so you could play a game a ways and see if there are large blocks of data still that value (I know Gens savestates are uncompressed, and as I recall the Genesis 64K WRAM is $478-10477.
I suppose to test that you could make a savestate, hack in some sort of dummy text into a suspect area in the savestate using a hex editor, load it and continue playing after running through a sizable sample of gameplay, then savestate and test if it's still there.)

Again, unless there's a data logger that supports RAM access, then finding RAM will be kind of an experimentation effort.
"My watch says 30 chickens" Google, 2018


  • Hero Member
  • *****
  • Posts: 607
    • View Profile
Forgive me for not comprehending but Is that like using a save state to make a permanant change to the rom?


  • Hero Member
  • *****
  • Posts: 643
    • View Profile
No, it isn't.


  • Sr. Member
  • ****
  • Posts: 454
    • View Profile
You could take RAM dumps from different game states and compare them to see what values seem to stay the same.

If you can set RAM access breakpoints, you can use that to test those bytes while playing.

If you can't find enough free RAM with these simpler methods, it is still possible that for a specific situation (dialog) some bytes utilized in other code are not in use for longer time storage.

As I see it, this is not very different from finding free ROM space. You have the same uncertainty, that is hard to get rid of. I assume the system being Genesis doesn't really change the basic problem, or the answers.