I dont know which forum this goes in (hardware, emulator, etc..) but I get the feeling its a pretty newbie question so I'll post it here.
I was looking at the ROM for the Port Test Cartridge (halfway down this page)
http://www.nesplayer.com/features/test%20carts/test.htm
This ROM is treated in iNES as a NROM with 2 PRG banks and ZERO CHR banks. I thought NROM meant that you required the CHR to be hardwired. You can see from the PCB picture (also on that link) that this is a very specialized board.
Any ideas on what its doing? I was going to try to step through the reset/nmi routines and see what its doing.
Is NROM allowed to write to CHR RAM? Could a person put CHR RAM on a regular NROM board ( and write to it during initialization)
I was hoping someone here might have a bit more experience with this sort of thing.
Al
albailey wrote:
This ROM is treated in iNES as a NROM with 2 PRG banks and ZERO CHR banks. I thought NROM meant that you required the CHR to be hardwired.
CHR-RAM can be hardwired just like CHR-ROM. Whether or not the chip is RAM or ROM makes no difference as far as the board is concerned, afaik.
Quote:
Is NROM allowed to write to CHR RAM? Could a person put CHR RAM on a regular NROM board ( and write to it during initialization)
The board/mapper used doesn't matter. If RAM exists on the cartridge (and is writable), then the game can write to it.
So yes.
There are two independent questions here:
Does NROM work with CHR RAM?
I don't know whether the CHR socket of the board labeled "NROM" accommodates an SRAM chip. For example, some boards designed only for CHR ROM don't bring CHR /WR to the cart edge. Does NROM allow for a typical SRAM pinout, including the CHR /WR signal?
What should my emulator do if it encounters an iNES file specifying mapper 0 and CHR RAM?
Mapper 0 on wiki recommends emulating a BNROM board with only 16 or 32 KiB of PRG ROM installed.
Also, what does NROM mean exactly? This is the name of the board, so in order to know if the board works with RAM chips, out of the box, you'll have to check if the pinouts are compatible, as was already said. But in any case, it is possible to install an SRAM chip in place of a ROM chip, even if you have to do some rewiring and bring the CHR /WR signal from the cart connector to the chip.
Now, if we're talking "Mapper 0", number assigned for use with the iNES header format, it sound reasonable that it just means "no ROM mapping hardware" (such as MMC1, MMC3, etc), instead of defining an NROM board (which, as far as I know, always comes with CHR-ROM). In my opinion, an emulator should accept a ROM with 32KB of PRG-ROM and CHR-RAM if it uses mapper 0 and has no CHR-ROM.
I meant mapper 0. I just always associate mapper 0 as NROM, and now I see there are other types as well.
Thanks,
Al
"NROM" does not accept 8 KB CHR RAMs, as the board wasn't designed that way, modding it to accept them would be somewhat simple but that'd still be a modded NROM and not really a NROM board any more.
In revanche, mapper 0 support both CHRROM and CHRRAM technically, even if no commerical game was ever released with such a configuration (the closest being CPROM or BNROM), there is no reason it'd be refused by emulators, as far as the ROM in quesion is a simple test using CHRRAM and that implement a mapper on the programm more complicated than mapper 0 wouldn't have been necessary and would have complicated the thing.