Points of Required Attention™
Please chime in on a proposed restructuring of the ROM hacking sections.
Views: 88,554,299
Main | FAQ | Uploader | IRC chat | Radio | Memberlist | Active users | Latest posts | Calendar | Stats | Online users | Search 05-07-24 08:11 AM
Guest: Register | Login

Main - Posts by one-off hacker


one-off hacker
Posted on 07-27-10 06:48 PM, in General SMB3 Hacking Thread Link | Quote | ID: 133479

Newcomer
Level: 3

Posts: 1/1
EXP: 70
Next: 58

Since: 07-27-10

Last post: 5032 days
Last view: 5032 days
Hi there, I'm working on a project that's not a ROM Hack but needs some information that I just can't find. I've looked through several ROM Maps and RAM Maps for SMB3 and all sorts of documentation, but I've still had no luck.

Provided I'm playing a ROM of SMB3, where can I find the following information?

1) Which levels have been completed in the current world in the current game. Obviously this information is held in RAM somewhere, because when you die or beat a level, you go back to the world map, and it still has a record of the levels you've beaten / mushroom houses you've visited / etc. I'm assuming the game doesn't hold all the world map data in RAM while simultaneously holding the current level data in RAM, right?

2) Which level I'm currently in. Obviously the level data is held in the ROM, and the active level data is held in the RAM. I've found the current world in RAM. I've found the current position in a given level held in the RAM. What I can't find is any kind of pointer or value in RAM that I could use to determine the current level. I just need to know where the value is stored, I can reverse engineer how given values relate to give levels myself.

3) The return coordinates for the world map. Like, I'm in a level, and I die. I am returned to the last completed level or the start of the world. Where are the coordinates stored in RAM so that the game knows where to return me to? Does the game store coordinates, or just a pointer to the last completed level in the ROM, which in turn is used to determine the coordinates?

If anyone has any information about any of these three things, I'd really appreciate it.

Main - Posts by one-off hacker

Acmlmboard 2.1+4δ (2023-01-15)
© 2005-2023 Acmlm, blackhole89, Xkeeper et al.

Page rendered in 3.548 seconds. (327KB of memory used)
MySQL - queries: 31, rows: 44/44, time: 3.546 seconds.