Page 1 of 2
Adapter to properly support 3.3V carts
Posted: Thu Jan 02, 2020 11:08 am
by Ben Boldt
I have a few 3.3V carts, and I am not at all happy what they may be doing to my Famicoms. I would like to make a pass-through adapter that has the following features:
- Properly support 3.3V and 5V carts
- Properly handle / at least survive bus conflict where ROM value != value written by CPU
- 1 Male 60-pin edge connector
- Both 60-pin and 72-pin female edge connectors
- Mechanically prevent both types of carts present at the same time (i.e. connectors close together)
- Detect 72-pin cart presence, directly loop audio through in that case only
- Power LED
- System hang LED (i.e. turn on when CPU A0 stays the same for too long, should be an easy circuit.)
Any thoughts on this? Why has it not been done -- are there any pitfalls I have not considered?
It is my understanding that there are clone consoles that are completely 3.3V, and 5V carts run just fine with this. Is this a universal statement -- or are there carts that won't actually run right on 3.3V? Not sure how I can "detect" a 5V vs. 3.3V cart. I do not wish to put a switch and leave it up to me to flip it correctly.
Edit:
Interesting thought: Could running a 5V cart on 3.3v be draining the lithium battery in battery-backed carts? I.e. the SRAM being powered by the battery instead of the 3.3V rail when the SRAM is in active running mode as opposed to data retention mode? Not sure if 3.3V minus diode drop would be less than the 3V lithium.
Re: Adapter to properly support 3.3V carts
Posted: Thu Jan 02, 2020 11:28 am
by krzysiobal
I did something that few months (or years, can't remind) ago, worked great for usual carts (that is - CPU can access cart at $6000-$fff, PPU can access it at 0000-$1fff ). It only needs 7x 74245 and one NAND gate.
Now I tested it on some other 500-in-1 chinese cheap cart and it did not work. The reason was that there were some mapper register under $6000.
By adding one diode and resistor now it works like a charm because data bus buffer is enabled additionally for writing anywhere by CPU
Other cart that caused problem was some single chinese MMC3 blob game. By adding 220pF capacitor at PPU A12 solved problem aswell:

Re: Adapter to properly support 3.3V carts
Posted: Thu Jan 02, 2020 11:47 am
by Ben Boldt
LOL, I should have guessed you already did this krzysiobal.
So, you still have to manually select 3.3V vs 5V VCC with JP1? I realize the 400-in-1 carts are connecting directly the VCC of their 3.3V ROM chips to 5V... And real/proper carts are loaded with 7400 logic that has minimum 4.5V VCC. Max 3.6V vs Min 4.5V does not provide a happy medium... So I guess I can accept that VCC needs to be able to change.
Almost all carts should be accepting 5V VCC. I am trying to think of a way to magically detect this and switch everything. Casual users might not have ever opened their carts and figured out the right settings. I also have not opened my 400-in-1s because I am sure the plastic will break. I know the right answer is "don't use the crappy 3.3V carts at all", or "always give them 5V and blow those 400-in-1 carts up on purpose" but it would be cool to make something plug-and-play to automatically solve all these problems in 1 go.
Could I detect this looking at the current of VCC? Maybe I could use a comparator and latch or something based on VCC current -- if VCC current is higher than normal when powering the 3.3V carts, then automatically drop VCC to 3.3V?
Edit:
Looking at VCC current would be complicated by the fact that carts have undefined amounts of capacitance from VCC to GND, which will cause a surge of current when first powered. This is unfortunately precisely the time when I would want to make the 3.3V decision. So if this approach could work, there must be some delay before making the decision to switch.
Re: Adapter to properly support 3.3V carts
Posted: Thu Jan 02, 2020 12:40 pm
by calima
INL said such a "cart condom" is against their religion and bad for the scene.
Re: Adapter to properly support 3.3V carts
Posted: Thu Jan 02, 2020 12:47 pm
by lidnariq
Ben Boldt wrote: ↑Thu Jan 02, 2020 11:47 am
Could I detect this looking at the current of VCC? Maybe I could use a comparator and latch or something based on VCC current -- if VCC current is higher than normal when powering the 3.3V carts, then automatically drop VCC to 3.3V?
Not reliably. While some devices will consume more power because both the pull-up and pull-down FETs will be on at the same time, others won't do anything at all until dielectric breakdown causes irrevocable damage.
Re: Adapter to properly support 3.3V carts
Posted: Thu Jan 02, 2020 12:59 pm
by Ben Boldt
I haven't been following -- in what way is it seen bad? We don't want to support cheap Chinese pirate carts? A 72-pin version could disconnect the Bible Adventures zapper substituting its own CIC chip -- that seems like a good thing.
You have to admit though, krzysiobal's work shown here is amazing, very nicely done.
If all we are after is protecting the Famicom (i.e. condom approach), could we just put 100 ohm resistors on each digital line? I swear to god I blew up my Hi-Def NES because of a buggy bus conflict. I
really like what krzysiobal did with his NAND gates here, at the very least to protect myself from my own logical/wiring mistakes.
lidnariq wrote:Not reliably. While some devices will consume more power because both the pull-up and pull-down FETs will be on at the same time, others won't do anything at all until dielectric breakdown causes irrevocable damage.
Good point. I was not too worried about frying the 400-in-1s with 5V because I have actually put a few hours on them and they kept working. But I bet the damage is cumulative, so any time at all with 5V is not going to be acceptable.
Edit:
I have an Earthworm Jim 3 pirate Famicom cart. It has a PCB with 1 glob only, nothing else. How do I know if it can support 5V? I hate for the answer to be "don't use that cart"...
Re: Adapter to properly support 3.3V carts
Posted: Thu Jan 02, 2020 1:29 pm
by lidnariq
I mean, I'm not entirely certain what the failure mode of operating 3.3V parts at 5V is.
At the very least, it's possible that the dielectric on the MOSFET gates could be thin enough to break down when their design voltage is exceeded; one source implies that this breakdown voltage (VGSmax) is usually around 125% of the design voltage. This is a major problem in power MOSFETs, but there one's talking about gate voltages that are an order of magnitude higher. Do the same things happen at 3.3V vs 4.2V that happen at 20V vs 25V? Certainly when the latter goes it will be more dramatic.
Another possibility is that since every MOSFET has a designed gate voltage to turn on (VGS(th)), increasing the supply voltage will increase the range of intermediate voltages where the pull-up and pull-down transistors are on at the same time. Thus every logic transition will consume more current, increasing heating in the parts in places that aren't expected to. (Fun footnote: this behavior is explicitly used in programming UVEPROMs, ensuring that enough electrons have been shoved into the floating gate to still read correctly at a higher-than-normal operating voltage, so that it's more than sufficiently full at normal operating voltage)
There's assuredly other probable failure modes that I haven't thought of...
Re: Adapter to properly support 3.3V carts
Posted: Thu Jan 02, 2020 1:48 pm
by Ben Boldt
Cool info lidnariq. I think it is the right answer not to use 3.3V carts, I mean, look at this piece of junk (totally destroyed it opening the plastic):
The only thing on the whole PCB is the 1 glob. I have no idea what voltage it should run at.
Re: Adapter to properly support 3.3V carts
Posted: Thu Jan 02, 2020 1:57 pm
by NewRisingSun
Excuuuse me.
Some people like to collect unlicensed stuff, so for that purpose, "not using 3.3v cartridges" is not an option, and I would think that this is the target group of such adapters.

Re: Adapter to properly support 3.3V carts
Posted: Thu Jan 02, 2020 2:22 pm
by Ben Boldt
NewRisingSun wrote: ↑Thu Jan 02, 2020 1:57 pm
Excuuuse me.
Some people like to collect unlicensed stuff, so for that purpose, "not using 3.3v cartridges" is not an option, and I would think that this is the target group of such adapters.
Hah! I like your mentality. In this case krzysiobal's adapter is perfect.
Re: Adapter to properly support 3.3V carts
Posted: Fri Jan 03, 2020 1:31 am
by aquasnake
Re: Adapter to properly support 3.3V carts
Posted: Fri Jan 03, 2020 1:32 am
by calima
We don't want to support cheap Chinese pirate carts?
This exactly. Existence of such a condom implicitly supports making shitty carts.
Re: Adapter to properly support 3.3V carts
Posted: Fri Jan 03, 2020 2:12 am
by aquasnake
atcually if use flash rom only, which means do not use sram,we do not need level shifters in data bus,because the direction of signal is 3v to 5v.
in address bus, if we use cpld to isolat the signal, we do not need level shifers either.
and if sharing the data bus and use sram also, that should need level shifters indeed.
by the way, if isolating the address/data bus completely and there's enough io pins in your cpld, you can cut all level shifters in your design.
Re: Adapter to properly support 3.3V carts
Posted: Fri Jan 03, 2020 7:18 am
by tepples
aquasnake wrote: ↑Fri Jan 03, 2020 2:12 am
in address bus, if we use cpld to isolat the signal, we do not need level shifers either.
But then you'd need to choose a CPLD that not only has enough I/Os to interpose all address lines (as you pointed out) but is also 5 V tolerant. Upgrading to a bigger CPLD could end up costing more than interposing only CPU A12+ and M2, PPU A10+, and the R/W lines, and adding level shifters on the lower address lines. It may turn out that CPLDs with enough I/Os aren't 5 V tolerant, and you'll need to shift everything anyway.
Re: Adapter to properly support 3.3V carts
Posted: Fri Jan 03, 2020 9:36 am
by aquasnake
tepples wrote: ↑Fri Jan 03, 2020 7:18 am
aquasnake wrote: ↑Fri Jan 03, 2020 2:12 am
in address bus, if we use cpld to isolat the signal, we do not need level shifers either.
It may turn out that CPLDs with enough I/Os aren't 5 V tolerant, and you'll need to shift everything anyway.
you are right, 5V tolerant cpld is not easy to seek, the minimum cost way(i perfer this) is to use 100~333 ohm resistor array directly