This page is a mirror of Tepples' nesdev forum mirror (URL TBD).
Last updated on Oct-18-2019 Download

Possible to switch from UNROM to UOROM (Mapper 2)

Possible to switch from UNROM to UOROM (Mapper 2)
by on (#49218)
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

by on (#49219)
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.
Re: Possible to switch from UNROM to UOROM (Mapper 2)
by on (#49223)
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

by on (#49225)
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.

by on (#49226)
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).

by on (#49227)
Thanks, eventually I'm gonna be hacking/translating a game that will need expansion. A little game called Woody Poko.