Friday, August 25, 2017

Flawed, Risky and Dangerous Devices for your Retro Consoles and PCs

Most of us appreciate it when enterprising entrepeneurs go out of their way to make new products for us to enjoy on our vintage consoles.  However, they don't always get it right.  Some products can be positively dangerous to your consoles, others are not obviously dangerous but have the potential to decrease your console's lifespan.  In this blog entry I will discuss modern products that are fundamentally flawed, risky to use or just plain dangerous.

He's making list, checking it twice,
Gonna find out whose naughty and nice...


GC Video Plug n Play 2.0

An individual who goes by the handle ZeldaXPRO marketed a solution that converts the video signals coming from the digital video port of the GameCube at 240p, 480i or 480p over HDMI.  This is intended to be a much less pricey solution at $100 than buying the official GameCube Component Video cable (which goes for at least $250 on eBay).  Unlike the mod from BadAssConsoles, the GC Video Plug n Play 2.0 is a plug and play device that requires no soldering, it fits into the port of the DOL-001 models.  On the other hand, BadAss Console's mods have been vaporware, angering many customers who pre-ordered.  ZeldaXPRO's device was featured recently on MetalJesusRocks' (MJR) popular Youtube channel.  MJR's channel often features reviews and demonstrations of retro consoles.

People criticized the review because ZeldaXPRO had no way to meet the anticipated demand for the device given the enormous amount of interest that would be generated by having his product featured on a channel like MJR which has over 300K subscribers.  Some also complained that neither MJR or ZeldaXPRO gave credit to the individual who originally cloned the Component Cable, who goes by the handle "unseen".  His work, which he graciously released as open source, is the reason why there are HDMI mods and converters at all for the GameCube.

But these criticisms were minor compared to the real issue of the the GC Video Plug n Play 2.0.  The official GameCube Cables used a custom connector that cannot be readily sourced.  In order to get the PnP solution to fit inside the Digital Video Port, ZeldaXPRO sandwiched a pair of PCBs together and put them in a plastic enclosure.  Each PCB (top and bottom) has half the connector jutting out of the enclosure.  This design has two flaws.

The first flaw is that you can plug it in the wrong way.  The official cable's connector was shaped and beveled in such as way as to make this impossible.  It may seem obvious that there is only one "right" way to put in the GC Video Plug n Play 2.0, if you plug it in the wrong way you block the Multi A/V Out.  However, not every owner of a GameCube may realize that and plug it in the wrong way.  Moreover, the GC Video Plug n Play 2.0 provides audio output as well as video output, so the cable that would ordinarily block the GC Video Plug n Play 2.0 from being plugged in incorrectly may not be present.  That Digital Video connector is a bus connector and plugging in devices into a bus connector backwards is never a good idea.  The connector has a +12v line on it which should never come into contact with pins carrying 3.3v signals.

MJR illustrated the second flaw a couple of weeks after he posted his video review of the GC Video Plug n Play 2.0.  You can see in 1:50 of MJR's video that the pins on each side of the GC Video Plug n Play 2.0's connector are set very close together.  They are raised like on a cartridge connector instead of flat as on an edge connector.  A proper cartridge connector has a piece of plastic separating each pin to prevent the pins from touching each other.  When a friend of his yanked her controller cable hard a couple of weeks later, it nearly caused the GameCube to fall over.  While the GameCube did not hit the ground, the pull was hard enough to cause the device's pins to short out and kill MJR's GameCube.

MJR did a video recently to advise his viewers of the issue.  He was not the only person to have a GameCube short out on him due to the GC Video Plug n Play 2.0 and a yank. To his credit, ZeldaXPRO has stopped selling the v2.0 and is working on a revised 3-D printed connector for a GC Video Plug n Play v3.0 that should prevent future shorting out of consoles.  Hopefully it should also be beveled so that it can only be inserted into the Digital Video port in one way.  He also has indicated that he will provide an upgrade path for purchasers of v2.0 units.  However, according to the Retro Gaming Roundtable, he had been warned that his design was not sufficiently robust and he chose to sell it anyway.

3.3v Flash-carts and Multi-carts

Many of the multi-carts you can buy cheaply today on sites like Aliexpress often stick 3.3v flash chips on their boards.  They never can be expected to use proper level translators or even current limiting resistors.  All they do is use a voltage level converter or a pair of voltage clamping diodes to give the Flash chips the 3.3v they need.  The cheapest ones don't even bother to supply the flash with 3.3v.  3.3v Flash is not designed to be run off 5v.  Here are some examples of good and bad carts :

https://db-electronics.ca/2017/07/05/the-dangers-of-3-3v-flash-in-retro-consoles/

The ideal design is to use special logic level translators to allow a 5v console to read from and write to a 3.3v chip.  You should have one translator for each address and data bus line.  That typically means you need two to three translator chips on an 8-bit console.  When you don't have 5v translators, the 5v logic in the console is required to consistently run at a lower voltage than it was designed to do.  Instead of driving logical 1s near 5v, it has to drive them at near 4v.  Running a console out of specification can shorten the lifespan of the console.  The clamping diodes in the 3.3v flash chips dissipate the excess voltage as heat.  Heat is not good for consoles.  Some of the less-objectionable devices use current limiting resistors to limit the current drawn by the cartridge chips and the resultant heat produced.

Many of Krikzz' older flash cart products use 3.3v with only current limiting resistors or an insufficient number of level translators.  These include the Mega EverDrive v1, the Mega EverDrive v2/X7, the FlashKit MD, the EverDrive MD v1-3, the Master EverDrive, the Turbo EverDrive v1, the Super EverDrive v1-2 and the EverDrive GG.  The author of the blog article linked to above, Rene, says to use these devices sparingly.  I would also place the EMS GB USB Smart Cards in this category because it does not have level translators and uses a mix of 5v tolerant and intolerant chips.

Krikzz' products for N64 and the GBA are OK because those consoles are natively 3.3v.  Krikzz' EverDrive N8, EverDrive GBs (all), Mega EverDrive X3 & X5, Turbo EverDrive v2 are all quality products.  They use an appropriate number of logic level translators.  The NES PowerPak uses 5v or 5v tolerant parts, so it is no danger either.  The SD2SNES is also quality, and the NeoSD Neo Geo flash cart looks like it has an appropriate number level translators.  The FPGA consoles, the Analogue Nt Mini and the RetroUSB AVS also have a number of level translators to properly interface with 5v cartridges.

In responding to the article, Krikzz showed off new designs of his Master EverDrive and EverDrive GG with proper level translators, suggesting that this issue will likely be a thing of the past for his new customers.  One hopes that his otherwise-excellent Mega EverDrive X7 will also be revised to add a third level translator.  Krizz indicated that no one has ever complained that his cartridge caused their console to die, but Rene's point was to note that the use of out-of-spec parts in a console can shorten their lifespan.  The issue is rather controversial in the retro gaming community given that there is no widespread reports of consoles dying en masse as the result of using 3.3v cartridges.  Nonetheless, the cartridges that use 3.3v chips are being run out of specification and are not likely to have nearly as long a lifespan as cartridges that use 5v/5v tolerant chips or level translators.

Homebrew Games that use 3.3v Flash :

In line with the previous section, I am aware of several homebrew game releases that use 3.3v flash.

Columbus Circle's products for the Famicom : 8-bit Music Power, Kira Kira Star Night DX and 8-bit Music Power Final (and probably subsequent products)

Use 3.3v Flash without resistors : http://www.famicomworld.com/forum/index.php?topic=12633.msg169088#msg169088

Tranlsations of "Chinese hack" games like Final Fantasy 7 and Pokemon Yellow for the NES/Famicom

Use 3.3v Flash without resistors and conducts power to the ICs by use of clamping diodes : http://www.ebay.com/itm/Top-72-staple-cartridge-8bit-game-Final-Fantasy-VII-English-edition-for-NES-/152675194739?

WaterMelon's Pier Solar for the Sega Genesis/Mega Drive

Early versions use 3.3v flash with resistors : http://www.sega-16.com/forum/showthread.php?22142-Paprium-Official-Thread&p=779802&viewfull=1#post779802

Later versions use 3.3v flash encased in epoxy, no resistors : http://www.sega-16.com/forum/showthread.php?28371-Pier-Solar-Reprint-Cartridge-Overheating-Problem

Retroism's Unholy Night for the Super Nintendo/Super Famicom

Uses 3.3v flash with resistors : https://circuit-board.de/forum/index.php/Thread/22444-Unholy-Night-The-Darkness-Hunter/

The limited reissue of Street Fighter 2 for the SNES is being handled by a company called iam8bit.  Some criticized it as being an odd choice for a high price ($100) when the original game is common and cheap.  On its now-sold out product page, there is a disclaimer of all warranties and liability for damage by use of the cartridge.  On the other hand, iam8bit did comment on their Facebook page that while they would be using 3v flash memory chips, they would be using 5v voltage level translators to ensure proper operation with real SNES consoles.  The boards they are using are from InfiniteNESlives. The SNES board that INL sells has only one level translator, which is insufficient, the board they posted on twitter for SF2 has two level translators.  This should be sufficient.  [See below in the comments for an explanation why one translator may be sufficient when combined with other 5v input-tolerant 3.3v logic].

Licensed Compilations that use 3.3v Flash :

Retro-bit, a company that makes classic clones and peripherals, now has on sale four compilation cartridges featuring titles from the NES and SNES.  These games on these cartridges are officially licensed from their respective IP holders.  They are as follows :

Data East All Star Collection
Data East Classic Collection
Jaleco Brawler's Pack
Joe & Mac: Ultimate Caveman Collection

Unfortunately, the build quality does not follow the laudable licensing policy, because the boards use 3.3v flash chips : https://imgur.com/a/ssmHb  Unlike the Street Fighter 2 carts, there are no transceivers on those board translating 5v to 3.3v and keeping the parts from working out of spec.  Nor are there current limiting resistors, just a pair of clamping diodes (on the NES board).  In fact, the NES board looks almost identical to the 150-in-1 board in the "Dangers of 3.3v Flash in Retro Consoles" article linked above.  That article said "never use again!" for that cartridge, the same caution should apply to these ones as well.  I can't even see the diodes on the SNES board.  Shame on retro-bit, don't give them a dime for a cartridge that would very well end up frying your NES and SNES (especially the SNES).

XT-IDE-CF Optima

Turning to the PC compatible market, XT-IDE cards are always in demand.  However, supplies tend to be a bit unstable.  One of the most recent products looks like a very good one, it is called the XT-IDE-CF Optima.  This card has the benefit of a full XT-IDE implementation in that it can accept regular 16-bit hard disk drives and break down the 16-bit data from the drive into two 8-bit data reads and vice versa to a CPU which only has an 8-bit bus available.  In addition to a standard 40-pin IDE connector, it also has a CF card connector for easy data transfers.  CF cards are IDE compatible and have an 8-bit transfer mode, all that is required is for that mode to be unlocked by the XT-IDE BIOS.
The board can drive an hard drive activity LED and can supply power directly to a Disk-on-Module attached to the 40-pin connector.  The settings for the dip switches can be found on the solder side of the card.  It now comes with a 32KB socketed flash chip, but earlier boards only had an 8KB soldered flash chip.  You can set a CF card as a slave and a hard drive or DOM as a master, but not the other way around.  The price of $59.95 on eBay is not unreasonable.


So with all these good things, what is there to really criticize?  The answer is the lack of bypass capacitors.  Bypass capacitors are vital on electronic boards to filter out electrically noisy signals.  On an ISA card, each IC usually has a ceramic capacitor located near it connected to the VCC and GND pins.  These capacitors help keep the electricity clean.  Given that vintage PCs with 8-bit ISA only slots tend not to produce the cleanest power anyway, adding this card is not going to help with issues like electrical whine and video squiggles.  In extreme cases, the lack of bypass capacitors can generating reverse voltages, possibly frying your system.  The most recent board uses HCT parts, which mitigates the issue to some degree.

Unfortunately, the designer of the Optima board was told by the designer of the XT-IDE rev. 3 of the importance of bypass capacitors and did not care enough to update his design to correct the issue. He removed the holes for standard radial capacitors that existed in the XT-IDE rev. 3 board.  However, it can be corrected without too much difficulty by straddling axial capacitors over the ICs.  Get 10 x .1uF axial ceramic capacitors and solder one lead to the bottom left pin and the other lead to the top right pin.  If you want to go on the underside of the board instead, get some heat-shrink tubing to cover the leads outside of the soldering area.  The Optima designer derived his design from the XT-IDE rev. 3 board, which has a healthy number of bypass capacitors : http://www.glitchwrks.com/2016/07/06/xt-ide-rev3

The Optima designer eventually did put make his design files available, so someone familiar with PCB drawing software could fix the design to provide proper holes for radial bypass capacitors and send it off to a PCB fab like OSH Park for a couple of boards ready to populate.

It should be noted that the Optima board removed the High-Speed jumper, which improves speed by shifting I/O ports used by the interface to optimize them for 16-bit access (a.k.a. the "Chuck mod"), but is incompatible with certain less-than 100% compatible PC clones like the AT&T 6300.

HASL Finished Edge Connectors

An expansion board or a game cartridge uses conductive pads to make contact with a slot or a connector.  These pads, often called fingers" have a coating over them to protect the conductive copper surface underneath from wear and corrosion.  Edge connector finishes in consumer products tend to come in three varieties, HASL, ENIG and Hard Gold.

HASL (Hot Air Solder Leveling) is essentially a layer of solder over the copper.  It is useful in prototyping, but the surface area is uneven and the soft solder is not strong enough to stand up to the repeated friction and stress of being inserted and removed multiple times in a cartridge connector or an expansion connector.  The fingers of a connector using HASL finish are typically silver in color, just like elsewhere on the board.

ENIG (Electroless Nickel Immersion Gold) is better than HASL.  This uses a nickel plating over the copper pad with a thin layer of immersion gold over the nickel.  The finish is smoother than HASL and can withstand repeated insertions and removals from a slot better.  Fingers look gold.

Hard Gold is essentially ENIG with a far thicker layer of Gold.  ENIG finishes may have a surface layer of 2-8 microinches of gold whereas hard gold has at least 30 microinches.  Hard Gold is more expensive the ENIG, but it can withstand far more insertions and removals than ENIG before surface wear can be seen.  Hard gold is typically confined to edge connectors, it is not used elsewhere on a PCB because the thicker gold layer has poor solderability.

In my opinion, HASL has no place in any kind of product intended to be sold.  The solder is too soft and scraped off or can be spread about the pins by insertion or removal.  The latter leads to bridged connections and possible shorts.  ENIG is the minimum standard for an edge connector used for an installable upgrade card.  Upgrade cards for PC compatibles or the Apple II/IIgs are not intended to be frequently removed.  Hard Gold should always be used for homebrew and reproduction cartridges because they can be inserted and removed hundreds of times throughout their useful life.

Rene from db-electronics has a good article with pictures of the differences between the three common finishes : https://db-electronics.ca/2017/05/31/surface-finish-on-pcbs-and-why-it-matters-for-reproduction-carts/

I would like to say that today everybody is enlightened and would never use HASL in their board's edge connectors.  Unfortunately I would be wrong.  The Lo-tech adapters have been popular but their availability has been more miss-than-hit recently.  The designer of the Lo-tech boards partnered with a Texas company called TexElec to make his boards available on a more regular basis.  While greater availability is great, the product photos suggest HASL finish over the edge connectors.  They may have confirmed this indirectly with this Q&A in their FAQ :

Do you plan to stock ENIG or Hard Gold PCBs?
We do plan to offer ENIG boards on our next production run. We will likely start shipping internationally at that time as well. If you would like us to ship to your country, please let us know via our contact form.
I would strongly urge waiting until they use ENIG before considering a purchase from this company.

Unfortunately, there are other new products being sold with a HASL finish.  Consider this Apple II Accelerator, the UltraWarp : https://www.reactivemicro.com/product/ultrawarp-13mhz-accelerator/  The fingers are silver and rough looking, HASL is being used.  The suspect build quality may not be confined to just the edge connector.  The traces appear to be hand-traced, which given the wide availability of computer-assisted routing tools available today, is not impressive.  This reviewer indicated that there were reliability problems reaching the advertised 13MHz speed, https://www.youtube.com/watch?v=Y1oef1NkE4M, but they appear to have been resolved in the latest board revision, https://www.youtube.com/watch?v=kHmOeFkWgfE  However, be warned that this should be considered an insert-and-forget update.  If you like to switch expansion cards in and out of your systems frequently as I have been known to do, stay clear until those fingers are smooth and gold.

ZX Spectrum Next

It is rather hard to keep track of all the modern ZX Spectrum products being released these days.  There is the perennially delayed ZX Spectrum Vega, a handheld ZX Spectrum running emulation.  Then there is the recreated ZX Spectrum, which is a replica of the original keyboard which communicates via bluetooth and can be used with emulators.  Finally, the most interesting product of the bunch is the ZX Spectrum Next, an FPGA recreation of the classic console which fits into an original ZX Spectrum enclosure or a modern enclosure that the Next team is designing.  While the fully assembled product has not been shipped to its kickstarter backers yet, the bare board option has been shipped.

The bare board option has connectors for audio in/out, PS2 keyboard, 15-pin VGA, SD card slot and HDMI and joystick.  It also has the expansion connector to connect to original ZX Spectrum expansion peripherals, which is mainly an extension of the Z80 CPU bus.  Fortunately most of the peripherals you would usually connect to to a ZX Spectrum are already present.  But if you wish to use one, the trouble is that there are no voltage converters on the ZX Spectrum Next board.  While there appears to be three current limiting resistor networks, as Rene explained that is not sufficient to mate ancient and modern computer components.  Also, the PS2 keyboard interface uses +5v signaling.

8 comments:

Anonymous said...

Thanks for this post - these things definitely need to get more attention, especially as we are dealing with censorship from certain vendors now. As for the Everdrives, did you really verify that the EDGB uses proper voltage translation? I've asked about this on db-electronics, as this Everdrive is not mentioned, but got no answer. For the record, the original verdicts for the Everdrives without voltage translation were "Avoid" instead of "Use sparingly", so this guy definitely must have received some pressure.

Fortunately for myself, if the EDGB is unaffected, the only unit I have with this particular design flaw is the SED v2, which I even modded with a DSP-1, but using it now doesn't give me the best feeling anymore. I'd be interested in knowing whether it's possible to solder in voltage regulators in place of these resistors - I've seen people on forums suggest this, but no one came up with schematics for it yet.

Something else to add to this post is the bad habit of using unattenuated TTL CSync from consoles like the SNES and Genesis. Again, people very recently started to realize how bad of an idea this is - for example, the cable guy from the UK started selling proper cables recently, at a premium of course - but that doesn't anyone who shelled out a lot of money for ill-designed cables already. Sure, this TTL CSync works on some displays, especially PVMs, but more recently I've noticed terrible compatibility with the aforementioned systems, and there is no telling whether a cable like that can damage your display equipment or not.

In any event, it is deplorable that years went by with people buying all these subpar products for prices that are far from cheap, as per usual in the retrogaming business. In the case of Krikzz, it is ironic that he would always deride Chinese clones on his forum, yet pinch pennies on his own designs - I highly doubt these voltage translators are hugely expensive parts.

Great Hierophant said...

The EverDrive GB is safe, it has two level translator chips and doesn't need a third. The EMS 64MB GB cart is probably in the avoid category. I haven't used it much since I got my EverDrive GB and will toss it once I upgrade to the X7.

Each level translator chip can handle sixteen pins from a cartridge connector. Some pins like the power and ground rails and audio inputs and outputs do not require a level translator. The SNES requires three level translators, so soldering in the converters would be a huge undertaking. You would have to cut small traces and find points to solder tiny pins and wires. Most people would probably give up and upgrade to an SD2SNES. I highly recommend it to save your sanity, despite the dent it will put in your wallet.

InfiniteNesLives said...

I hope this doesn't come off the wrong way, I'm just looking to clear up some mis-information in this article about my designs that someone brought up to me. Here's the section I'd like to clear up:

"The SNES board that INL sells has only one level translator, which is insufficient, the board they posted on twitter for SF2 has two level translators. This should be sufficient."

You cannot simply count the number of level shifters on the board and determine if it's sufficient. The entire design needs to be considered. The design I'm assuming you're calling out is the one pictured on our site. Yes it only has one dedicated level shifter, but dedicated logic translators aren't the only way to level shift signals from 5v to 3v. This design also utilizes a 3v powered CPLD which is 5v tolerant to control many of the flash's address lines (and other advanced functions). So in effect many of the signals are level shifted by the CPLD. It can go even further than that in the case of my newest design which utilizes an 4 circuit OR gate to handle a few address lines. Logic families like LVC which are 3v powered, but 5v tolerant can also be utilized for level shifting purposes.

All of my designs have always been, and will always be properly level shifted when necessary and every bit as safe as original carts. I fully welcome any questions you or anyone else may have about my designs. paul@infiniteneslives.com

Great Hierophant said...

Thank you for that explanation, I never thought about the CPLD's incidental but very practical benefit of translating logic levels.

Anonymous said...

BennVenn, the creator of ElCheapo Game Boy flashcarts has recently made a video where he talks about this issue, you may want to watch it: https://www.reddit.com/r/Gameboy/comments/82udlj/can_a_bootleg_cart_really_age_or_damage_your/

Great Hierophant said...

I cannot say that BennVenn's video is very persuasive regarding the 5v-3.3v issue. If all the cheap solutions are OK, as he claims, why bother putting logic level translators on your flash cart? Krikzz never put out a Gameboy flash cart without logic level translator chips on it.

InfiniteNesLives said...

I would have to agree with Great Hierophant.

There are a number of problems with the video. The first hypothetical example of forcing 5v on anode and 0v on cathode 'allowing full current to flow through diode'. If you were to actually force 5v across a standard diode you would have to pump so much current into the device that the diode would go up in smoke... This is a gross misunderstanding of diodes, and now we're just supposed to take everything else said at face value?

He further shows his lack of understanding of diode operation by always assuming the voltage drop of a diode as being 0.7v (somewhat funny because he just told us we can force 5v across a diode for 'full current'). The current draw of most memories is very low especially in idle state. It obviously depends on the diode, but a common diode will have very low voltage drop. Here's where his theory based on false assumptions fall apart:

He doesn't provide any specifics of parts so let's assume some common ones:
64mbit flash S29GL064N: http://www.cypress.com/file/202426/download
common 1N4148 signal diode: http://www.onsemi.com/pub/Collateral/1N914-D.PDF

typical standby current of the flash chip is a mere 1microamp.
forward voltage of diode at 1microamp is only ~275mV.
So if the diode is in series with a 5V supply and the flash chip's Vdd:
5v - .275v = 4.725v supplied to the flash chip.

The flash chip's max allowed Vdd is 3.6v, and this situation would be violating the max by well over 1volt!

Even if his bad assumption was correct 5v - 0.7v = 4.3v which also violates the max Vdd supply!

It all depends on the parts selected, some MXIC flash chips commonly used allow up to 4.0v Vdd supply. This is still easily violated.

His experimentation is extremely limited. I believe the io current is minimal in his experiment. But he didn't take the time to show how anything else that was said in the video holds true. I'll hold my tongue as I don't want to speak badly upon BenVenn. But his video and argument doesn't hold water from a theoretical analysis, and there is hardly any evidence to back up 90% of his claims in the video.. There is little to no comfort to be gained from his claims.

Anonymous said...

Read BennVenn's comment here as well (there's also a short follow-up video): https://www.reddit.com/r/retrogaming/comments/86ce6p/can_a_bootleg_cart_really_age_or_damage_your/