PDA

View Full Version : SNES: HiROM to ExHiROM expansion


MrAccident
08-31-2004, 05:56 AM
I'm working with a SNES ROM (EarthBound, to be specific), that I'm looking to expand to ExHiROM (48 megabits). An unmodified EB ROM is a 24 megabit HiROM, but it was easy enough to expand it to 32 megabits by simply appending an extra megabyte of data to the end. From what I've been given to understand, a similar method works for expansions to 48 megabits - append data to the end, and the additional 2MB are mapped to a location earlier in the ROM. The problem is, I have no clue where the additional ROM is mapped. I had heard that it was mapped to banks $40 - $5F, but some testing showed that either this is incorrect, or there is some additional step necessary to qualify a ROM as an ExHiROM. The SNES memory map documents I've seen don't seem to elaborate on this. Is there anything that needs to be done to a ROM (other than simply tack on data)? If there is, what might it be? If there's not, where is the additional ROM mapped?

I'd be much obliged for any information or assistance that can be provided. Otherwise, I'll be stuck hacking it out myself, it seems. :P

P.S: Yes, I really do need all that extra space. :)

<P ID="signature"></P>

Evil Peer
08-31-2004, 02:34 PM
I belive its the 80 - BF range. Last time I used it, Lunar Expand (http://www.zophar.net/utilities/download/le113.zip) had some scant documentation on how this worked.

And there's also more to it than just adding another meg of freespace. You have to mirror a certain portion of the ROM as well.

---Evil Peer

<P ID="signature"></P>

MrAccident
08-31-2004, 06:15 PM
> I belive its the 80 - BF range. Last time I used it, Lunar
> Expand had some scant documentation on how this worked.

Ah yes, Lunar Expand did the trick. Makes me wonder why I never tried that program before. It just had to copy the first half bank of the ROM to 0x408200... the additional 2MB of ROM does show up at bank $40, as I had been led to believe.

Thanks for your help.

<P ID="signature"></P>