Page 1 of 1

Extending UNROM cart

Posted: Mon Nov 13, 2006 9:46 am
by tokumaru
Guys, how would I go about extending an UNROM cart for larger chips? I guess that would be like converting the cart into UOROM, right?

The LS161 latches 4 bits, correct? But UNROM only uses 3 of those. Would this conversion be as simple as connecting the unused bit from the LS161 to A17 on the chip?

Also, is there any way I could add mirroring control without too much complication? I'm gessing not, so I might just add a manual switch.

Thanks for the help!

EDIT:

After thinking a while about how an UNROM cart works, I'm assuming it can't be as simple as connecting the unused output from the 161 to the chip.

I figured that the output of the 74161 probably goes to the 7432 to be OR'ed with A14 comming from the NES, so that the higher bank can be hardwired.

Now, I'm not very good with hardware, but by looking at how those chips work this must be the way the mapper works. If it really is like this, then I'd have to wire the output from the 74161 into the 7432, and the output of that into the PRG chip. Does that sound right?

Posted: Mon Nov 13, 2006 10:17 am
by Bregalad
You just have to wire the unused input of the 74HC161 to D3, then write the unused output Q3 to one of the unused input of the last unused OR gate of the 74HC32 chip, then wire the other unused input of the last unused OR gate to A14, and wire the unused output of the last OR gate to your higher adress line of your 256kb ROM chip (should be A17, I'm unsure).
That works very plainly, if your programm goes above $c000 then A14 is set and all latches are forced to the logic '1', meaning the last ROM bank is hardwired. The '161 is basically a counter, but it's never used as a counter in CxROM, UxROM and AxROM cards. It's just used as a regular flip-flops, and the chip is never set in count mode.

The card really has been designad to support 256kb stuff, the only reason UNROM are separed from UOROM is that 128kb PRGROM are 28-pin and 256kb PRGROMs are 32-pin (I mean Nintendo's ROMs... Commercial EPROMs are 32-pins for both, Nintendo had supressed some useless pins and changed some others, you know).

Posted: Mon Nov 13, 2006 11:04 am
by tokumaru
Bregalad wrote:You just have to wire the unused input of the 74HC161 to D3, then write the unused output Q3 to one of the unused input of the last unused OR gate of the 74HC32 chip, then wire the other unused input of the last unused OR gate to A14, and wire the unused output of the last OR gate to your higher adress line of your 256kb ROM chip (should be A17, I'm unsure).
Ah, exactly as I expected (although I didn't list the whole process, thanks for doing that). Thanks for confirming that.

Now, none of this is already connected then (I don't have a cart here to check)? Should I get D3 directly from the connector pin or is there a nicer place to pick it up from?

As for A14, can I just pick that from one of the other ones that go into the 7432?
That works very plainly, if your programm goes above $c000 then A14 is set and all latches are forced to the logic '1', meaning the last ROM bank is hardwired.
That's what I just figured! I'm so glad I learned that! =D
The '161 is basically a counter, but it's never used as a counter in CxROM, UxROM and AxROM cards. It's just used as a regular flip-flops, and the chip is never set in count mode.
What would you use counters in count mode for?
The card really has been designad to support 256kb stuff
That's why I thought that *maybe* some of those connections would already be done.

Posted: Mon Nov 13, 2006 11:13 am
by Bregalad
Now, none of this is already connected then (I don't have a cart here to check)? Should I get D3 directly from the connector pin or is there a nicer place to pick it up from?
I think the easiest/closest place is to take it from the PRGROM wich lies just aside of the discrete mapper logic.
As for A14, can I just pick that from one of the other ones that go into the 7432?
Yes, definitely.

Now, none of this is already connected then (I don't have a cart here to check)?
I'm pretty sure Nintendo connected unused inputs to GND (or maybe VCC) and leave unused outputs floating. You can just bend up unused input pins, or try to scratch the copper arround the pin, while this is hard because of the ground stage wich is a lot harder to scratch than just a simple track.

Posted: Mon Nov 13, 2006 11:38 am
by tokumaru
Bregalad wrote:I think the easiest/closest place is to take it from the PRGROM wich lies just aside of the discrete mapper logic.
Of course! Silly me!
I'm pretty sure Nintendo connected unused inputs to GND (or maybe VCC) and leave unused outputs floating. You can just bend up unused input pins, or try to scratch the copper arround the pin, while this is hard because of the ground stage wich is a lot harder to scratch than just a simple track.
Ah, so this is the catch. It was all sounding too easy already. I have no ideas on how to cut and bend up individual pins. Should I desolder the whole chips and bend the pins I need? Now that sounds like a lot of trouble.

Posted: Mon Nov 13, 2006 2:42 pm
by rbudrick
Ah, so this is the catch. It was all sounding too easy already. I have no ideas on how to cut and bend up individual pins. Should I desolder the whole chips and bend the pins I need? Now that sounds like a lot of trouble.
Chances are, yes. You are almost guaranteed to break the pin right out of the chip if you pry it up while it's still soldered to the board. Unless you have some extremely fine-tipped wire cutters, I wouldn't go cutting the pins. You are better off in every way unsoldering it first.

-Rob

UNROM->UOROM

Posted: Wed Nov 15, 2006 4:21 pm
by Lloyd Gordon
http://nesdev.com/bbs/viewtopic.php?t=1575&highlight=

In this thread I posted the modifications to change a UNROM cart to a UOROM EPROM devcart.

Re: UNROM->UOROM

Posted: Wed Nov 15, 2006 4:50 pm
by tokumaru
Lloyd Gordon wrote:In this thread I posted the modifications to change a UNROM cart to a UOROM EPROM devcart.
Hahaha! It's a thread that I started! =D

Maybe I didn't remember that because it all sounded too complicated back then. But now that I finally got how UNROM works, it's nice to take a look at that again! Thanks for pointing me to that thread again!