Hi all!
This is a question I'm curious about. I wanna expand the PRG ROM to 256K, but I can only do that if the game is UOROM. Is it even possible to change the type? Maybe similar to changing a mapper. Regardless I'm not a complete noob at this and I'm fairly comfortable with NES ASM and hacking in general. Just looking to expand my knowledge base a bit.
The only info I can get on Mapper 2 is pretty sparse and that UNROM is capped at 128 while UOROM is 256. Other than that I have no idea what makes them different. Any docs for me to check out that would clarify this or would anyone know anything about Mapper 2?
Thanks
UNROM and UOROM share a mapper number. The only difference between the two boards is how many address lines they run to the ROM.
One problem you might have is that games may rely on mirrored banks. In UNROM, 0==8, 1==9, ..., 7==15==fixed bank. But in UOROM, 0 and 8 are separate banks, and bank 7 doesn't match the fixed bank. But a log of writes to $8000-$FFFF in any debugging emulator should help you find these places.
Pennywise wrote:
Hi all!
This is a question I'm curious about. I wanna expand the PRG ROM to 256K, but I can only do that if the game is UOROM. Is it even possible to change the type? Maybe similar to changing a mapper. Regardless I'm not a complete noob at this and I'm fairly comfortable with NES ASM and hacking in general. Just looking to expand my knowledge base a bit.
The only info I can get on Mapper 2 is pretty sparse and that UNROM is capped at 128 while UOROM is 256. Other than that I have no idea what makes them different. Any docs for me to check out that would clarify this or would anyone know anything about Mapper 2?
Thanks
Are you writing a homebrew game from scratch? If so, it's very easy to change from UNROM to UOROM. You'll need to change one byte in the ines header (assuming you have one for emulator play) and append a few more entries to your banktable. Check these wiki articles:
Programming UNROM
Programming UOROM
It's real easy to change, just watch out for mirrored banks like tepples said and move all the fixed bank stuff the last 16k bank in ROM.
Personally, I'd place the old ROM at the end of the new ROM (banks 8-15), so that the bank that was the last one continues to be. Most games I checked appeared to use a single routine for bankswitching, and this should be pretty easy to modify (in order to have values 0-7 select banks 8-15 and vice versa).
Thanks, eventually I'm gonna be hacking/translating a game that will need expansion. A little game called Woody Poko.