Jump to content
IGNORED

Cnrom and Nrom board compatibility


New gamer

Recommended Posts

6 hours ago, Sumez said:

so as long as you leave the top two address lines unconnected on the PCB,

Never leave address lines on a ROM IC floating/unconnected, you may get some undesired effects. Tie it high or low.

Thinking about it, I *think* Sumez is right, the only thing really effected is the CHR ROM which uses a 74HC161. Don't populate the 161 and tie the upper address bits that the 161 creates on the CHR ROM high or low and you should be good.

Although, repro NES boards are a dime a dozen these days, just get the correct board for your application...

Link to comment
Share on other sites

I am so sorry if this is a dumb question and I have been trying to find documentation for research and am coming up dry. Would you mind explaining exactly what you mean by

"Don't populate the 161 and tie the upper address bits that the 161 creates on the CHR ROM high or low and you should be good" 

I have made repros in the past but have usually just followed the documentation i found for bending pins up and connecting them to different holes. I don't understand about high and low addresses. 

I would love to learn more about this and would love if I can get a bit of clarification. Again sorry if it is a dumb question. 

Thank you again for your info 

 

Link to comment
Share on other sites

I am using donor carts. I like making repros  of unreleased or famicom only titles such as Challenger for example.  I know that is an Nrom 256  so rather than getting nrom 128, nrom 256, and CNRom boards for different games, I figured it would be better to just use CNrom boards only that would potentially work for all the boards - 

 

Link to comment
Share on other sites

Consider not sacrificing cartridges if you can. I've used these carts in the past and they were good. Muramasa also makes really nice repro pcbs. Regarding using CNROM, just use the correct board for the job.

https://www.game-tech.us/product/reprox/

https://www.muramasaentertainment.com/product-category/new-cartridge-parts/nes-game-parts/nes-pcbs/

Link to comment
Share on other sites

11 hours ago, New gamer said:

Would you mind explaining exactly what you mean by

"Don't populate the 161 and tie the upper address bits that the 161 creates on the CHR ROM high or low and you should be good" 

I think this is good to know if you're gonna mess with old console hardware, so let me clarify this bit.

"The 161" just refers to the 74HC161 chip on the CNROM PCB as documented here:
https://www.nesdev.org/wiki/CNROM
All you really need to know is that this chip is practically the mapper, it's a magic device where when the NES sends specific signals to it, it changes the value of two individual signals going out of it, which are used to determine which of four 8KB CHR ROM banks will be in use. In practice, "banks" here just refers to the top two address bits on the ROM, it's not some kind of special feature.

As you probably know, "bank switching" is used in many NES games, because the console is only designed to read from an 8KB CHR ROM for graphics data. But by using the mapper to address the full range of a 32KB ROM chip, the NES will get a completely different set of 8KB data depending on what that mapper does.


Consider binary numbers, and let's pretend the ROM chip is only able to hold 256 bytes of data for simplicity, that means you could define the address you need with a single byte, or 8 bits: 00000000 up until 11111111, or 0 through 255.
8 "address connections" would go into the rom chip and it would return different data based on those 8 signals, from any of those 256 addresses.

Now let's instead say the top two bits didn't come from the NES, but instead it only knows 6 bits indicating numbers from 000000 to 111111 (0 through 63). That's a small address space, but with a different mapping device (such as the 161 on this PCB) changing the values of those two bits we left out, we will get access to four sets of 64 bytes (00000000 to 11111111).

In this case we're just gonna make sure those top two bits don't actually go to the ROM chip, so if you connect the ROM so that the top address bits are always zero, the scenario we just made up would result in the ROM only ever returning data from 00000000 to 00111111, just like an NROM board which only has those lower address bits.

Man I'm bad at explaining this, hope it made some sense.

Link to comment
Share on other sites

11 hours ago, New gamer said:

Also Is there a pinout diagram for the 161 chip so I know what pins to leave disconnected. Sorry for all the questions.

Datasheet for the 161

It is a 74HC161, a binary counter with preset functions. Super common part used in a lot of applications other than nintendo cartridges. The datasheet has a pinout. Otherwise just google "74hc161 pinout"

Link to comment
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...