Famicom TXROM PCB reproduction

A place that you can discuss reproduction of classic titles or "licensed-for-reproduction" homebrew for personal use.

Moderators: B00daW, Moderators

Forum rules
1. NO BLATANT PIRACY. This includes reproducing homebrew less than 10 years old, with the exception of free software.
2. No advertising your reproductions, with the exception of free software.
3. Be nice. See RFC 1855 if you aren't sure what this means.
alphamule
Posts: 62
Joined: Fri Aug 29, 2014 1:45 pm

Re: Famicom TXROM PCB reproduction

Post by alphamule »

<Farid_> but it doesn't have any DIP package
<alphamule> Ah
Oh well, I tried. Yeah, it's the closet I could find. All the switches with more than 3 channels all seem to be bussed (as in, same select pins)! Finding one with only half the channels sharing a select pin was a royal PITA since a lot of the parts searches won't tell you that and there's 1000's of Mux/switch parts.
Idealogical
From: I have an idea. It seems logical. Thus everyone must agree.

Fail, fail, fail again. Keep trying, then maybe this damn thing will work. Eventually you might even know why it worked.
User avatar
FARID
Posts: 503
Joined: Wed Apr 07, 2010 1:14 am
Location: Iran
Contact:

Re: Famicom TXROM PCB reproduction

Post by FARID »

alphamule wrote: Oh well, I tried. Yeah, it's the closet I could find. All the switches with more than 3 channels all seem to be bussed (as in, same select pins)! Finding one with only half the channels sharing a select pin was a royal PITA since a lot of the parts searches won't tell you that and there's 1000's of Mux/switch parts.
Anyway thank you very much, I really appreciate it.
lidnariq
Site Admin
Posts: 11716
Joined: Sun Apr 13, 2008 11:12 am

Re: Famicom TXROM PCB reproduction

Post by lidnariq »

Transcribing the function table from the image for posterity's sake:

Code: Select all

   PRG CHR A18 A19 A20 TYPE
1  256 256  0   0   0   TLROM / TSROM
2  256  8   1   0   0   TGROM
3  256 256  0   1   0   TLROM / TSROM
4  256  8   1   1   0   TGROM
5a 512 256  0   0   1   \
5b 512  8   1   0   1   / T[ GKLNS ] ROM
6a 512 256  0   1   1   \
6b 512  8   1   1   1   / T[ GKLNS ] ROM
Registers:
D7 -> PRGA20 and CHRA20 and PRGsize[0:256 1:512]
D6 -> PRGA19 and CHRA19
D5 -> PRGA18 (but mux) and CHR A18 and CHR style
D0 -> clock latch

How is it ever possible to get CHR A18 high with CHR ROM ?

Implementation:
One multiplexer uses D7 to select whether PRGA18 comes from D5 or MMC3
Two multiplexers combined to make a demultiplexer uses D5 to select whether CHRRAM or CHRROM is enabled.


Anyway, what would you do with more than three multiplexers?
User avatar
FARID
Posts: 503
Joined: Wed Apr 07, 2010 1:14 am
Location: Iran
Contact:

Re: Famicom TXROM PCB reproduction

Post by FARID »

Thanks for the new table.
It is more easy to understand the function.
How is it ever possible to get CHR A18 high with CHR ROM ?
When CHR A18 is high, CHR-ROM is disabled and CHR-RAM is enabled
Anyway, what would you do with more than three multiplexers?
I just wanted to see if there is any better TTL instead of 4053, but it seems the best TTL is 4053 itself
But with another mux maybe it is possible to protect WRAM :
D6 -> PRGA19 and CHRA19 and WRAM /WE [0:Dis 1:En]
Some TLROM games like Ninja Gaiden III may mess up with the wram so it is not possible to use a TKROM or TNROM for any of the Game1 ~ Game4
lidnariq
Site Admin
Posts: 11716
Joined: Sun Apr 13, 2008 11:12 am

Re: Famicom TXROM PCB reproduction

Post by lidnariq »

FARID wrote:When CHR A18 is high, CHR-ROM is disabled and CHR-RAM is enabled
So then there's no way to ever select CHR-ROM banks when that bit is high? Then why connect it to CHR-ROM at all? It seems to require a twice-as-large CHR ROM for no purpose?
User avatar
FARID
Posts: 503
Joined: Wed Apr 07, 2010 1:14 am
Location: Iran
Contact:

Re: Famicom TXROM PCB reproduction

Post by FARID »

lidnariq wrote:So then there's no way to ever select CHR-ROM banks when that bit is high? Then why connect it to CHR-ROM at all? It seems to require a twice-as-large CHR ROM for no purpose?
Yes, you are right, CHR-ROM will be 1MB at most, so the best EPROM is 27C080
But as you may know 27C080 is more expensive than 27C322 so I decided to use the cheaper EPROM in spite of wasting half of it

On the other hand A18 of 27C322 can be tied to GND and then control the other high address lines with D7 and D6 but this will make the registers even more complex :
CHR A20 --> GND
CHR A19 & PRG A20 --> D7
CHR A18 & PRG A19 --> D6
PRG A18 --> D5

So I decided to keep the registers as simple as possible, because I am wasting the half of the EPROM anyway.
lidnariq
Site Admin
Posts: 11716
Joined: Sun Apr 13, 2008 11:12 am

Re: Famicom TXROM PCB reproduction

Post by lidnariq »

I guess these old 27C series UVEPROMs are the only DIP options at all... and perhaps the price difference is because more people had use for 1 MiWx8 than for 2 MiWx16 'PROMs.

If you ever do try surface mount, there are a few 5V 1MB+ options ( M29F800, MX29F800, M29F160 )
User avatar
MaarioS
Posts: 149
Joined: Wed Jul 22, 2009 8:53 am

Re: Famicom TXROM PCB reproduction

Post by MaarioS »

Are you really this desperate about the price?? A 27C322 may be cheaper, OK but when you really compare the prices, 27C322 is about 2$ a piece while 27C080 is about 3-4$ at most but 27C080 is MUCH shorter (32pins instead of 42) so you save much more space on board and you save much more time for your work and it is much less complicated at the same time...
User avatar
FARID
Posts: 503
Joined: Wed Apr 07, 2010 1:14 am
Location: Iran
Contact:

Re: Famicom TXROM PCB reproduction

Post by FARID »

lidnariq wrote:I guess these old 27C series UVEPROMs are the only DIP options at all... and perhaps the price difference is because more people had use for 1 MiWx8 than for 2 MiWx16 'PROMs.
If you ever do try surface mount, there are a few 5V 1MB+ options ( M29F800, MX29F800, M29F160 )
If I want to use SMD, I will use DA28F640J5 (8MB) for sure, then I can even expand the circuit to use its all capacity!
MaarioS wrote:Are you really this desperate about the price?? A 27C322 may be cheaper, OK but when you really compare the prices, 27C322 is about 2$ a piece while 27C080 is about 3-4$ at most but 27C080 is MUCH shorter (32pins instead of 42) so you save much more space on board and you save much more time for your work and it is much less complicated at the same time...
Yes the price is very important, on the other hand 27C322 is 4MB while 27C080 is only 1MB, with a better circuit I can use its all capacity!

Also by using a simple adapter, programming 27C322 is as simple as programming a 27C080 :
Image

By the way, using 27C322 as CHR-ROM is better because by using only 2 wires instead of 4053 it is possible to change the whole cartidge to TSROM 8 IN 1
Even by installing a MMC1 through an adapter instead of AX5202P it is possible to make a SLROM 8 IN 1
Using a larger EPROM can make the whole cartridge flexible and general purpose
alphamule
Posts: 62
Joined: Fri Aug 29, 2014 1:45 pm

Re: Famicom TXROM PCB reproduction

Post by alphamule »

Another advantage to such a large memory is (especially if you socket it, but also if you have many of them) you can reuse it for say, a SNES or MegaDrive/Genesis or even a large custom game using a compatible mapper.
Idealogical
From: I have an idea. It seems logical. Thus everyone must agree.

Fail, fail, fail again. Keep trying, then maybe this damn thing will work. Eventually you might even know why it worked.
User avatar
FARID
Posts: 503
Joined: Wed Apr 07, 2010 1:14 am
Location: Iran
Contact:

Re: Famicom TXROM PCB reproduction

Post by FARID »

So here is the Menu of this multicart, the source code is also included :beer: :

Image

Here is the latest source code :
Menu for MMC3 games
Menu for MMC1 games
Attachments
Multicard_Menu_Tutorial.doc
(357.5 KiB) Downloaded 489 times
TXROM_6IN1_Menu.zip
(449.01 KiB) Downloaded 447 times
Last edited by FARID on Mon Jun 08, 2015 11:34 pm, edited 1 time in total.
User avatar
FARID
Posts: 503
Joined: Wed Apr 07, 2010 1:14 am
Location: Iran
Contact:

Re: Famicom TXROM PCB reproduction

Post by FARID »

I made a Megaman 6 IN 1 :

Menu :
Image

Front :
Image

Back :
Image

Full Schematic :
Image

Mapper Schematic :
Image

Chips :
M27C322 --> PRG-ROM
M27C322 --> CHR-ROM
KM6264 --> CHR-RAM
AX5202P --> MMC3
74HC161 --> Latch
74HC4053 --> Switch

Multicart registers :
D7 --> PRG A20, CHR A20, PRG Size [0:256 1:512]
D6 --> PRG A19, CHR A19
D5 --> PRG A18, CHR A18, CHR Control [0:ROM 1:RAM]
D0 --> Multicart register [0:Enable 1:Disable]

PRG & CHR Structure :
ROM1 --> Megaman 5 --> 256 + 256 --> PRG + CHR --> 000X XXX1 --> 0000 0001 --> 01 --> Menu
ROM2 --> Megaman 1 --> 256 + 8 ----> PRG + SRAM -> 001X XXX1 --> 0010 0001 --> 21
ROM3 --> Megaman 3 --> 256 + 256 --> PRG + CHR --> 010X XXX1 --> 0100 0001 --> 41
ROM4 --> Megaman 2 --> 256 + 8 ----> PRG + SRAM -> 011X XXX1 --> 0110 0001 --> 61
ROM5 --> Megaman 4 --> 512 + 8 ----> PRG + SRAM -> 101X XXX1 --> 1010 0001 --> A1
ROM6 --> Megaman 6 --> 512 + 8 ----> PRG + SRAM -> 111X XXX1 --> 1110 0001 --> E1

Notes :
Free blocks of CHR-ROM must be filled up.
The pinout of PRG-ROM and CHR-ROM are not standard.
All games must be Mapper 4 / MMC3. To convert Megaman 1 and 2 to Mapper 4 you must use infidelity's patch

Please someone emulate this multicart, thanks.
Attachments
PCB.zip
(41.42 KiB) Downloaded 494 times
Post Reply