Possible to switch from UNROM to UOROM (Mapper 2)

Discuss technical or other issues relating to programming the Nintendo Entertainment System, Famicom, or compatible systems.

Moderator: Moderators

Post Reply
Pennywise
Posts: 70
Joined: Tue Jul 14, 2009 11:04 am

Possible to switch from UNROM to UOROM (Mapper 2)

Post by Pennywise »

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
tepples
Posts: 22345
Joined: Sun Sep 19, 2004 11:12 pm
Location: NE Indiana, USA (NTSC)
Contact:

Post by tepples »

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.
User avatar
MetalSlime
Posts: 186
Joined: Tue Aug 19, 2008 11:01 pm
Location: Japan

Re: Possible to switch from UNROM to UOROM (Mapper 2)

Post by MetalSlime »

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
smkd
Posts: 101
Joined: Sun Apr 22, 2007 6:07 am

Post by smkd »

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.
User avatar
tokumaru
Posts: 12106
Joined: Sat Feb 12, 2005 9:43 pm
Location: Rio de Janeiro - Brazil

Post by tokumaru »

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).
Pennywise
Posts: 70
Joined: Tue Jul 14, 2009 11:04 am

Post by Pennywise »

Thanks, eventually I'm gonna be hacking/translating a game that will need expansion. A little game called Woody Poko.
Post Reply