Register | Login | |||||
Main
| Memberlist
| Active users
| Calendar
| Chat
| Online users Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album |
| |
0 users currently in ROM Hacking. |
Acmlm's Board - I3 Archive - ROM Hacking - SMW level memory map data | New poll | | |
Add to favorites | Next newer thread | Next older thread |
User | Post | ||
Sukasa Birdo Not quite as active as before. Xkeeper supporter Xk > ||bass I IP Banned myself! Twice! Since: 11-17-05 From: Somewhere over there Last post: 6288 days Last view: 6287 days |
| ||
Does anyone know how to calculate the RAM address of a tile in SMW's memory map? I need to know how to change a specific block through PalASM, and to do that I need to know this.
Also, I can just DMA parts of the memory map to VRAM to make the changes appear in-game, right? |
|||
spel werdz rite Since: 11-19-05 Last post: 6288 days Last view: 6287 days |
| ||
Do you mean a tile in the map16?
If so, it's A0 xx A9 yy 8D 93 16 A0 loads the first two numbers (xx) A9 loads the last two numbers (yy) 8D stores it at 7E1693 the map16 memory address (noted 93 16 is 1693 backwards and without 7E) P.S. Try Level ASM rather than PalASM. |
|||
Sukasa Birdo Not quite as active as before. Xkeeper supporter Xk > ||bass I IP Banned myself! Twice! Since: 11-17-05 From: Somewhere over there Last post: 6288 days Last view: 6287 days |
| ||
Nah, I prefer PalASM because it works.
No, I need to get the location of a tile in the Memory Map, so that I can change the layout of the level on-the-fly. I.E. changing the block at X: 6 Y: 8 from A to b, for example. That sort of data is what I need, how to find out where X: xx Y: yy is. |
|||
ghettoyouth Panser Since: 11-19-05 From: Germany Last post: 6400 days Last view: 6400 days |
| ||
Originally posted by Sukasa why should LevelASM not work? |
|||
Sukasa Birdo Not quite as active as before. Xkeeper supporter Xk > ||bass I IP Banned myself! Twice! Since: 11-17-05 From: Somewhere over there Last post: 6288 days Last view: 6287 days |
| ||
I didn't say that . I just prefer PalASM because It works, for me | |||
BMF54123 Since: 11-18-05 From: MOOGLES Last post: 6287 days Last view: 6287 days |
| ||
I've wanted to do this for a long time as well. I'm probably going to dissect some routines pretty soon and try to figure it out myself... | |||
d4s Shyguy Since: 12-01-05 Last post: 6409 days Last view: 6307 days |
| ||
Originally posted by Sukasa unless you dont mind that your changes will be erased once they scroll out of the screen boundary: yes. |
|||
Sukasa Birdo Not quite as active as before. Xkeeper supporter Xk > ||bass I IP Banned myself! Twice! Since: 11-17-05 From: Somewhere over there Last post: 6288 days Last view: 6287 days |
| ||
But as soon as I scroll back, they would reappear, would they not?
That doesn't matter thougj, this level is only 1 screen large, so there is no scrolling, at all. |
|||
HyperHacker Star Mario Finally being paid to code in VB! If only I still enjoyed that. <_< Wii #7182 6487 4198 1828 Since: 11-18-05 From: Canada, w00t! My computer's specs, if anyone gives a damn. STOP TRUNCATING THIS >8^( Last post: 6287 days Last view: 6287 days |
| ||
They'll only reappear if you edit the Map16 or re-apply the VRAM changes. | |||
Sukasa Birdo Not quite as active as before. Xkeeper supporter Xk > ||bass I IP Banned myself! Twice! Since: 11-17-05 From: Somewhere over there Last post: 6288 days Last view: 6287 days |
| ||
I get the feeling I don't understand how SMW changes the Layer 1 tilemap.
I thought that it worked by DMA'ing parts of the level's tilemap into the VRAM, and worked off of that. If not, what should I change to make bother the gameplay tilemap and the VRAM tilemap work when scrolling back? |
|||
HyperHacker Star Mario Finally being paid to code in VB! If only I still enjoyed that. <_< Wii #7182 6487 4198 1828 Since: 11-18-05 From: Canada, w00t! My computer's specs, if anyone gives a damn. STOP TRUNCATING THIS >8^( Last post: 6287 days Last view: 6287 days |
| ||
At 7E8000-7EFFFF and 7F8000-7FFFFF is what's known as the Map16 data (low and high bytes respectively), which is the decoded level layout. Each entry in this array is a 16x16 tile number. This is what you need to modify if you want your changes to stick, however, nobody who's found out how to determine a block's address will tell anyone. The address can vary depending on the level style (horizontal/vertical, 1 or 2 layers, memory options, etc), so it's complicated. You might have to update VRAM as well, I've never actually done it, so I dunno. | |||
Sukasa Birdo Not quite as active as before. Xkeeper supporter Xk > ||bass I IP Banned myself! Twice! Since: 11-17-05 From: Somewhere over there Last post: 6288 days Last view: 6287 days |
| ||
Yea, All I really want to know is if it changes sepending on the length of the level, i.e. is it the same in a 1-screen level as a 20-screen level (would block at x, y in one be in the RAM RAM address for both memory maps)? If I knew, then I could easily create a program that would let people find out which RAM address to change. | |||
HyperHacker Star Mario Finally being paid to code in VB! If only I still enjoyed that. <_< Wii #7182 6487 4198 1828 Since: 11-18-05 From: Canada, w00t! My computer's specs, if anyone gives a damn. STOP TRUNCATING THIS >8^( Last post: 6287 days Last view: 6287 days |
| ||
Yeah, it stays the same no matter what the level length is (length just defines how far you can scroll), but other factors such as the level type will affect it. | |||
Sukasa Birdo Not quite as active as before. Xkeeper supporter Xk > ||bass I IP Banned myself! Twice! Since: 11-17-05 From: Somewhere over there Last post: 6288 days Last view: 6287 days |
| ||
All right. It's just level mode $00, so based on that, there shouldn't be a problem finding out the offsets.
Thanks! |
Add to favorites | Next newer thread | Next older thread |
Acmlm's Board - I3 Archive - ROM Hacking - SMW level memory map data | | |