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

0 users currently in ROM Hacking | 2 guests

Main - ROM Hacking - Super Mario Brothers 3 Map16 New thread | New reply


zkip
Posted on 02-21-10 04:17 AM (rev. 2 of 02-21-10 04:19 AM) Link | Quote | ID: 127379


Level: 15

Posts: 3/34
EXP: 14277
Next: 2107

Since: 02-13-10

Last post: 4179 days
Last view: 3053 days


~zkip:
Agh, this has been a problem that has been bothering me for a while. I've been working with SMB3 and I've found the map16 level data in the RAM. Okay, all is good, I've had some fun changing around RAM and making ridiculously crazy levels. Now, the junk starts I'm not specifically trying to find level data, but I'm trying to find the actual page that the Map16 data is set on. (the 4 8x8 tiles, acts like, etc) Now, I have no idea about how to find this. I thought it would be as simple as setting a breakpoint and seeing what it was reading from. Its not. Its using indirect addressing. This just sent me in a huge loop. How in the world would I go about finding it.

____________________



KP9000
Posted on 02-21-10 04:43 AM Link | Quote | ID: 127380


Boomboom

Level: 90

Posts: 1217/1975
EXP: 6953237
Next: 235372

Since: 02-19-07

Last post: 3580 days
Last view: 3204 days


First off, I'd like to point you to the "SMB3 general inquiry" sticky thread. That's where all of your SMB3 related questions and discussions go.

As for your issue itself, I don't know what I can do to help you, but I will tell you what I know.

I know that each of the 14 tilesets have their own set of properties, such as water tiles, death tiles, slopes, solid, background, etc.. I remember DahrkDaiz teling me it was all hardcoded. I don't know how to find this data, but for the TSA (the 4 8x8 tiles part, also known as Map16) I suppose you could download a beta copy of Reuben and go into the TSA editor. You could then get the hex code of each of the 8x8 tiles. Using this, you could just search for the string in the ROM and change it accordingly. Alternatively, I know DahrkDaiz has released a TSA editor that you would probably be better off with. It's here at Datacrystal.

____________________

DahrkDaiz
Posted on 02-23-10 07:17 PM Link | Quote | ID: 127496


Nipper Plant
Sandwich Artist
Level: 46

Posts: 370/417
EXP: 674440
Next: 37334

Since: 02-22-07

Last post: 3486 days
Last view: 3406 days
Easy Button!

http://www.romhacking.net/utils/448/

This will let you edit all the 16x16 tile mappings.

If you want to know where the data is, take the level's address (say, 0x1F269). Take the first two digits (in this case, 1F). If it's odd, minus one, if it's even, keep it (so 1E and 1F are both going to be 1E). Then take the last three digits and set it to 010. Thus, the tsa data for a level that exists in 1F269 will be at 1E010. Now, the format is the first 255 bytes determine the upper left hand value of each tile #. Then the next 255 bytes determine the lower left hand value, then upper right and finally upper right.

essentially

0x1E010 - 0x1E10F = Upper left
0x1E110 - 0x1E20F = Lower left
0x1E210 - 0x1E30F = Upper right
0x1E310 - 0x1E40F = Lower right

This is true for every level in the game. It's easier just to use the TSA editor though.

zkip
Posted on 02-24-10 03:25 AM Link | Quote | ID: 127539


Level: 15

Posts: 4/34
EXP: 14277
Next: 2107

Since: 02-13-10

Last post: 4179 days
Last view: 3053 days


~zkip:
Ha, funny you should do this. I actually found out that information the hard way over a course of 2-3 hard days. I wished I would have saw this before all of that work :<

Anyway, what I was after was that and the interaction, which I have seemingly found. Thanks for the help though

____________________



DahrkDaiz
Posted on 02-24-10 04:09 AM Link | Quote | ID: 127541


Nipper Plant
Sandwich Artist
Level: 46

Posts: 371/417
EXP: 674440
Next: 37334

Since: 02-22-07

Last post: 3486 days
Last view: 3406 days
The interaction code is a bit wonky. There are data tables for which objects are solid, water and slopes, but special cases are handled by a special... case... code.

zkip
Posted on 02-25-10 02:05 AM Link | Quote | ID: 127590


Level: 15

Posts: 5/34
EXP: 14277
Next: 2107

Since: 02-13-10

Last post: 4179 days
Last view: 3053 days


~zkip:
Well, in subjective to my last post in this thread because this is not in the "SMB3 general inquiry" thread it seems like at 0x00024F4 is the code for the "bounce" block interaction.. so I've been playing around with it and hopefully I can get further with it..

Thanks for all of the suggestions though, guys!

____________________



Main - ROM Hacking - Super Mario Brothers 3 Map16 New thread | New reply

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

Page rendered in 0.021 seconds. (339KB of memory used)
MySQL - queries: 47, rows: 72/73, time: 0.016 seconds.