Page 1 of 1
UNROM -> UOROM -> ???
Posted: Fri Feb 05, 2010 1:22 pm
by tokumaru
I'm currently using mapper 2 for a project, and I'm using 256KB of PRG-ROM, which means it needs an UOROM board. However, I'm afraid that 256KB might not be enough later on, so I'm considering adding another '161 to the board in order to support 512KB of PRG-ROM.
The thing is that I don't want to use a ridiculously long name every time I talk about this board, so I was wondering if you guys think it's OK to call it "UPROM". "P" is simply the next letter in the alphabet, and the name sounds good. What do you think?
Posted: Fri Feb 05, 2010 1:57 pm
by Memblers
I think it doesn't matter what it's called until there's a board for it. Because you can change it anytime before then.

If you refer to it as mapper 2, or extended mapper 2 then most people will know immediately what you mean.
UPROM sounds decent and logical. Nintendo's boardnames are kind of boring though. The original schematic for my Squeedo board called it FUROM, heheh.
Posted: Fri Feb 05, 2010 2:16 pm
by tokumaru
Memblers wrote:I think it doesn't matter what it's called until there's a board for it.
I don't know... I don't have any original UOROM boards, but I have a couple of UNROMs turned into UOROMs, and I call them by that name even though "UNROM" is still printed on them. I don't have any intention of creating a new mapper (using the crazy ideas from
this thread), I just want to give a name to a 512KB mapper 2 board, even though I haven't made it yet.
Nintendo's boardnames are kind of boring though.
I wonder what the logic behind them is.
FUROM

Re: UNROM -> UOROM -> ???
Posted: Fri Feb 05, 2010 2:29 pm
by tepples
tokumaru wrote:I'm currently using mapper 2 for a project, and I'm using 256KB of PRG-ROM, which means it needs an UOROM board. However, I'm afraid that 256KB might not be enough later on, so I'm considering adding another '161 to the board in order to support 512KB of PRG-ROM.
Wiki says there would actually be two such boards, depending on how many 74HC32 chips are in use to manage the fixed bank.
- Using 2 chips, one on the output of each 161, gives the configuration that existing emulators probably emulate. OR function affects all bits of the bank number. Fixed bank is always the last bank.
- Using only 1 chip gives SUROM-style configuration. OR function affects only bits 3-0 of the bank number. Fixed bank is 15 when switchable bank is 0-15; fixed bank is 31 when switchable bank is 16-31.
And remember that iNES's version of each discrete mapper has PRG RAM at $6000-$7FFF. So each board would need an alternate name with a socket for
PRG RAM and a decoder.
Re: UNROM -> UOROM -> ???
Posted: Fri Feb 05, 2010 2:43 pm
by tokumaru
tepples wrote:- Using 2 chips, one on the output of each 161, gives the configuration that existing emulators probably emulate. OR function affects all bits of the bank number. Fixed bank is always the last bank.
- Using only 1 chip gives SUROM-style configuration. OR function affects only bits 3-0 of the bank number. Fixed bank is 15 when switchable bank is 0-15; fixed bank is 31 when switchable bank is 16-31.
I didn't think about that, but yeah, there are two ways to go about it. The second way requires more complex code to work with, but I can think of a good way to use it: half of the ROM would contain the game engine and data like level maps and such. The other half would contain graphics, music code and data, and most video-updating routines. This way a game would only need to switch to the other half of the chip during Vblank, and then switch back once VBlank ends.
I'm mostly interested in the first way though, so I'd need to add 2 more chips ('161 and '32) to a standard UNROM board.
Re: UNROM -> UOROM -> ???
Posted: Fri Feb 05, 2010 3:13 pm
by tepples
tokumaru wrote:The second way requires more complex code to work with, but I can think of a good way to use it: half of the ROM would contain the game engine and data like level maps and such. The other half would contain graphics, music code and data, and most video-updating routines.
That or two different game engines. In an RPG, the outdoor and indoor stuff could go in one bank and the Menu Kombat in the other. How do existing SUROM games divvy things up?
Posted: Sat Feb 06, 2010 2:54 am
by Bregalad
The one who can make any sense of the second letters of Nintendo board names would be a hero. For example UOROM and AOROM are versions of UNROM and ANROM which allow more RPG, but SOROM is a veryion of SNROM which allows more WRAM, the version which allows more PRG is called SUROM. The one who finds the logic behind that will get my congratulations.
'P' have yet only be used in CPROM as far as I know so I don't know. We may end up disovering an actual board nammed UPROM and that have nothing to do with it, and it would be very confusing. So I'd say it's better not to make up names.
FUROM would in theory be a board with MMC4, CHR-RAM and uses the higher CHR lines for bankswitching more PRG-ROM.
Using 2 chips, one on the output of each 161, gives the configuration that existing emulators probably emulate. OR function affects all bits of the bank number. Fixed bank is always the last bank.
Using only 1 chip gives SUROM-style configuration. OR function affects only bits 3-0 of the bank number. Fixed bank is 15 when switchable bank is 0-15; fixed bank is 31 when switchable bank is 16-31.
Only the first option is currently emulated as mapper 2. The second option would require the game to be mapper 1, and a hack of bankswitching routines would allow it to run on a board without the MMC1 (like the [hM02] set of roms).
Also, I don't know if the powerpak supports 512k mapper 2 games, and I think back then 4 74 series chips would have been more expensive than a MMC1.
Posted: Sat Feb 06, 2010 3:09 am
by Dwedit
Doesn't Mapper 2 in theory support 2MB games? Not saying anything about real existing boards or anything, but an emulator which does "Mapper 2" should support up to 2MB.
Posted: Sat Feb 06, 2010 4:27 am
by Bregalad
Yeah in fact the mapper 2 itself would support up to 4MB, but the iNES header limits to 2MB, because there is no way to tell it there is 256 banks of 16k PRG in the cart.
Also the PowerPak is limited to 512kb PRG I think.
Posted: Sat Feb 06, 2010 4:31 am
by tokumaru
Bregalad wrote:Also the PowerPak is limited to 512kb PRG I think.
That's correct. I haven't tested if it will take a 512KB mapper 2 game though. Has anyone tried it?
Posted: Sat Feb 06, 2010 11:31 am
by tepples
Bregalad wrote: I think back then 4 74 series chips would have been more expensive than a MMC1.
It might not need four chips. First, Nintendo boards abuse a 74HC161 as a quad D latch. Instead of two 161s, Color Dreams' nibble-swapped variant of GxROM uses a 74HC377.
The wiki page suggests doing this with UxROM. And there's probably some chip one can abuse for the OR function: see
open collector.
Bregalad wrote:the iNES header limits to 2MB, because there is no way to tell it there is 256 banks of 16k PRG in the cart.
NES 2.0 has more significant bits for the PRG size.
Posted: Sat Feb 06, 2010 12:54 pm
by kyuusaku
For only 5 bits you can fit it into a single 22V10 PLD, though it's wasteful with such a chip.
Up to 8 bits can be done with a 74373, pull ups and a two transistor NOR gate
