View Single Post
Old June 9th, 2013 (7:07 AM).
Akiba's Avatar
Akiba Akiba is offline
  • Crystal Tier
Join Date: Mar 2011
Location: in a gap
Age: 18
Gender: Female
Nature: Brave
Posts: 4,268
Originally Posted by ★Hoenn★ View Post

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:

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.