Memory Map

Started by live2play, March 29, 2010, 11:49:46 PM

Previous topic - Next topic

live2play

Would you say that the following holds true for all Wii games?

•80000000 â€" 80400000 = The Wii’s basic functions, variables, etc. Also some ASM and pointers.
•80400000 â€" 80880000 = 90% ASM. Practically no floating points or integers. You may find a pointer at the beginning of this region.
•80880000 â€" 80980000 = Constants. This is where most single-lined codes write values. Rarely anything else.
•80980000 â€" 80A80000 = Mostly pointers. Rare constants here and there. Some values whose addresses never change occasionally live here.
•80A80000 â€" 81780000 = DMA (Dynamic Memory Allocation). If you find a value here, you’ll need to use a pointer.
•81780000 â€" 81800000 = Strings, File Names (fun to mess with), etc.

dcx2

I wouldn't go so far as to say "all"...but most of them are probably quite a lot like that.

For instance, I saw in Resident Evil 4 that the ASM which was loaded in one portion of memory changed depending on your current gun.  I think that the run-time modified code was located somewhere around 80Axxxxx.

In Tales of Symphonia, most of the ASM is around 801xxxxx, and most of the character objects are allocated around 804xxxxxx.  Now, I'm not sure if those objects are globals, or locals that are allocated on the stack.  I lean towards globals, since the stack grows down, so old objects should be greater the stack pointer most of the time, but in Tales the stack pointer was usually like 805xxxxx.

I suppose that it really depends largely on the compiler settings when the game was built.

Link

I agree with dcx2.. it works for quite many Wii games admittedly, but yeah I can also name a few where it certainly wouldn't work that way! Still nothing wrong about summing up something like that. Sometimes constants can even hide in ASM areas.. it's really difficult to say!

Skiller

Normaly what happens when something like this comes out .. is a game comes out that Changes everything that was just said .. lol .

But as of now this sum looks about right :)

there might come a game that uses .. a Kinda Load.bin .. like the VC emus use.

Example..

main dol loads .. and u pick the game u want to play .. it loads the Next Game.Bin file into Ram and uses the ASM from the bin it just loaded .. if they ever have games like ratchet and Clank we will see this :P as of now its not happening. from what i can see ..

Nice info :)