(Link to AcmlmWiki) Offline: thank ||bass
Register | Login
Views: 13,040,846
Main | Memberlist | Active users | Calendar | Chat | Online users
Ranks | FAQ | ACS | Stats | Color Chart | Search | Photo album
05-07-24 02:53 AM
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
Posted on 12-28-05 05:03 AM Link | Quote
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
Posted on 12-28-05 05:24 AM Link | Quote
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
Posted on 12-28-05 05:26 AM Link | Quote
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
Posted on 12-28-05 06:11 AM Link | Quote
Originally posted by Sukasa
Nah, I prefer PalASM because it works.

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
Posted on 12-28-05 06:12 AM Link | Quote
I didn't say that . I just prefer PalASM because It works, for me
BMF54123
WARNING: MOOD LEVEL CRITICAL








Since: 11-18-05
From: MOOGLES

Last post: 6287 days
Last view: 6287 days
Posted on 12-28-05 08:37 AM Link | Quote
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
Posted on 12-28-05 12:32 PM Link | Quote
Originally posted by Sukasa
Also, I can just DMA parts of the memory map to VRAM to make the changes appear in-game, right?


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
Posted on 12-28-05 03:49 PM Link | Quote
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
Posted on 12-28-05 04:09 PM Link | Quote
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
Posted on 12-28-05 04:15 PM Link | Quote
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
Posted on 12-29-05 10:44 AM Link | Quote
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
Posted on 12-29-05 04:04 PM Link | Quote
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
Posted on 12-30-05 10:22 PM Link | Quote
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
Posted on 12-31-05 12:22 AM Link | Quote
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 |


ABII

Acmlmboard 1.92.999, 9/17/2006
©2000-2006 Acmlm, Emuz, Blades, Xkeeper

Page rendered in 0.025 seconds; used 413.24 kB (max 517.56 kB)