[ARCHIVE] Simple Questions (SEARCH BEFORE ASKING A QUESTION)
View Single Post
June 9th, 2013 (7:07 AM).
in a gap
Originally Posted by
Exactly. I can personally vouch for this as well. When people say 'ASM is hard' they simply aren't putting enough dedication to it.
Anyway I have a quick question, yes.
I was really curious about this a few days back:
Expanding the ROM.
See, the thing is, the last offset available is 0xFFFFFF. This takes six digits, so adding 08 makes eight digits (four bytes), which is the standard pointer size. Like so:
FF FF FF 08
That's pointing towards 0x08FFFFFF or just 0xFFFFFF, right?
Now I expand the ROM. I make it 32 MB. So, what happens is that new offsets like 0x1000000 emerge. These have SEVEN or EIGHT digits. But adding 08 makes a ten. And that doesn't fit into a pointer, or does it? I don't know, that's why I put it up here.
Robin is correct, although I view it slightly differently.
When the game is loaded, the first 128 MB is used for RAM objects such as video data.
From the 08000000 on, all the way to the point that VBA crashes, the actual ROM data is loaded. So Jambo's method is the same concept. But you would only ever need to reference a RAM pointer within a ROM, so why bother adding 08000000? Just treat the last byte as 08 within the first 16 MB of the ROM, and 09 within the second 16 MB of the ROM.
Inside Blue Inside
Joined Mar 2011
View Public Profile
Send a private message to Akiba
Find all posts by Akiba
Find threads started by Akiba
Ignore Posts by Akiba