Analysis and implementation

For fun and because I needed one, I set out to build a JAMMA SuperGun. (It's not a weapon, by the way. It's an adapter for arcade games ;P). There are some guides on the web to do so, but factual information is scarse and none of the designs I've seen matched what I wanted. So here's my little contribution to the world of SuperGuns.

Note: I've updated the design in 2016. It retains most of the features of the previous versions, introduces new ones, and importantly, now fits on a very compact 10x10 cm PCB. If you are looking for easier DIY versions (with etching masks provided) or specfic features (such as BNC outputs with H/V sync), please check the previous versions here.

I have a limited number of extra PCBs that are up for sale, drop me a line if interested :)

Licensing

This project licensed under a Creative Commons BY-NC-SA license.

Disclaimer

The information and methods described herein are provided "AS-IS" WITHOUT WARRANTY OF ANY KIND, EITHER EXPRESSED OR IMPLIED. Use the concepts, examples and information at your own risk. There may be errors and inaccuracies, that could be damaging to your devices. Proceed with caution, and although it is highly unlikely that accidents will happen because of following advice or procedures described in this document, the author does not take any responsibility for any damage claimed to be caused by doing so.

There. Feeling better. Now let's get real ;-)

Design goals

My design goals were relatively simple:

Technically speaking I added the following constraints:

ATX power source, though not necessarily very convenient, greatly simplifies the design given the power requirements of JAMMA boards. SCART, S-Video and Composite make for the widest possible connection choices (Component or HDMI is meaningless: we're talking 525i/576i here, remember?). Separate audio is necessary if S-Video/Composite are being used, and it also allows for plugging the SuperGun into an audio amplifier.

Finally, I wanted to use a harness instead of having a JAMMA male connector directly onto the SuperGun: in my opinion such a connector is a source of problems (connection is not always straightforward, having the connector physically attached to the device will add unnecessary physical constraints and prevents from enclosing the device into e.g. a separate box).

As the following will demonstrate, this design is very versatile and should be able to accomodate most use cases. The presented PCB layout is intended as a compact implementation of the design allowing for the assembly of all variations.

Before we get deeper into details, a few words on JAMMA signals.

JAMMA signals

The pinouts can be easily found on the web. What's less obvious though are the actual signal voltages to expect on each outputs, or those to provide on logic inputs.

First things first, all logic inputs are active low. Considering the values of resistors suggested by some SuperGun designs, and also considering the technology of JAMMA boards (TTL circuits...) I was expecting most outputs to be around +5V. Turns out I was close. Here's a quick summary of the level ranges I've measured on MVS and some JAMMA PCBs in a somewhat empiric manner:

Audio leads normally drive an 8Ω speaker, delivering about 5W of max output power.

Finally and for reference, it seems generally understood that typical JAMMA boards will expect to be able to draw at least:

All in all, that's about 50W give or take, so no need to get psyched up with jumbo PSUs ;-)

Schematic

Here's the schematic of the current design:

schematic

Schematic explanation

With the above in mind, most of the design should be self explanatory. Modern TVs and A/V devices require the following signal levels:

All signals - but audio and SWTCH - are loaded on 75Ω impedance. Audio and SWTCH are normally loaded on high input impedance (>10kΩ).

Best effort has been made to use common component values and reduce the number of different values required.

Audio section

Audio section needs to do two things: adapt signal levels to line input standards (0.5V rms on a typical 10-47kΩ input impedance), and cope with both mono (replicating signal on both left and right outputs) and stereo boards.

The usual divider resistor bridge solution is WRONG. In mono configuration, if + and - leads are each side of a balanced H-bridge amplifier design (commonly found when there's a need to generate a balanced output from a single positive power supply), the divider bridge will ground one of the legs of the "H" which is potentially lethal to the amplifier.

The proposed solution can accommodate both mono H-bridge and regular unbalanced stereo amplifiers, through the use of isolation 1:1 transformers. The 1:1 ratio makes all calculations easier: secondary impedance seen from primary will be equal to the load on secondary, and vice-versa. The transformer makes no level adjustement, so we can make these adjustments ourselves. Audio power amplifiers are fixed gain current amplifiers adjusted to a given load. We must also keep the apparent load presented to that amplifier as high as possible to reduce linearity issues.

So the goal is to divide the output voltage by 10, while keeping the impedance low: ideally a true power adapter would retain the target 8Ω load impedance, but that would require using large resistors capable of handling the full output power of the game audio amplifier. Thus, a compromise has to be made and in order to reduce the dissipated power, we have to raise the impedance somewhat: if the amplifier delivers 5W on 8Ω, it will typically deliver about 90mW max on 440Ω, which makes it workable with standard resistors.

The divider bridge suggested has a ratio of about 0.1 giving us the circa 0.5V max output swing we're looking for, with the 440Ω load we need (actually 437Ω, to use common resistor values). Indeed, the high secondary impedance seen from primary is negligible in front of the low 47Ω "in parallel" so the resulting divider is almost 47/(390+47). Output impedance (primary seen from secondary) is in the tens of Ohms which is what we need. Finally, the transformers can handle 100mW, this gives some leeway vs maximum power dissipation, but in any case heavy distorsion will be heard much before reaching a potentially destructive power. Obviously, this design is nothing like HiFi, but that is fairly irrelevant anyway :)

Note: there's no AC coupling (no capacitor on the signal path) because I didn't think it was necessary: on the input side, JAMMA boards' output should be clean enough. They're driving a 8Ω speaker, any significant DC bias would destroy it, much more than such (reduced thanks to the higher load) bias would destroy the transformers. On the output side, measurements show that secondary DC bias is negligible, as expected. Also, 1/4W resistors are just fine. Given the load, they won't see half that much power, and if something goes wrong, they'll be nice little fuses.

Finally, the audio ground is separate, meaning that the audio output section is totally (galvanically) isolated from the rest of the circuit. This helps reducing unwanted noise in the audio output.

Note: the audio section drives both the RCA outputs and the SCART audio signal. Pluging both SCART and RCA plugs at the same time shouldn't pose a problem given their respective input impedance.

Video section

The video section takes care of two things again: adapting the signal levels and also converting RGB to Composite and S-Video.

RGB

Given the measured signal levels, a ratio of about 0.3/0.2 will give us the required 0.7V swing, within acceptable DC bias range. Since the video encoder (AD725) requires the usual 75Ω input impedance, the divider bridge naturally becomes: 75/(180+75) = 0.3. The supplementary (and very optional) potentiometers are used as variable resistance. Most of the time they will be all the way to the right (short circuit with the proposed wiring), giving the divider bridge its above nominal value. If need be (very strong input signal, or color imbalance) they can be used to adjust the ratio up to about 0.15 (with 250Ω pots). This gives good results and in the worst case scenario of a 5V input swing, the resulting output will be slightly over 0.7V, which should be OK.

The triple video amplifier (AD8073) isolates direct level-adjusted RGB outputs to plugs from the converter's input. The converter needs a constant load, without the amplifier, plugging in the SCART would change the circuit impedance. The amplifier is used in a typical double gain, the final 75Ω resistance at the end of the signal path will divide by 2 whenever a standard 75Ω load is plugged, giving unity gain output. It's also a "safety" device of sorts: if the input signals are overvolted, this amp will limit damage risk to the display.

The sync separator (LM1881) receives a load-adapted synchro input, and outputs a "clean" composite sync signal at TTL level. This signal is then fed to the video converter, and adapted for video sync level via a 470Ω resistor to the SCART plug (which presents a 75Ω load, as usual). Selected RSET values (as per datasheet) are expected to give good results with both PAL and NTSC signals. As far as I could see, it works nicely. R17 and C1 form an optional chroma filter which might be useful with very noisy sync signals. If unused, R17 should be bridged and C1 left unpopulated.

Note: In my previous designs I used the EL1883, which enabled to wire separately CSYNC to the SCART plug and separate HSYNC/VSYNC to the video adapter. I switched to the LM1881 for simplicity (the AD725 doesn't really need the separate sync, see its datasheet) and for costs considerations. Also because Intersil (the maker of the EL1883) has a stringent sample ordering policy that prevented me from testing some changes I wanted to make.

Composite/S-Video

The rest of the circuit converts the RGB signals into Luma/Chroma and Composite video to drive the remaining two video outputs.

4 gates on the hex-inverter (74HC04N, which must be CMOS, capable of handling the operating frequency) are used to create two oscillators at 4 times the Frequency Sub Carrier (4FSC) for PAL and NTSC, driving the 4FSC input on the AD725 encoder. The values of capacitors and resistors are not very sensitive. It's best if the series-equivalent capacity of the capacitors net matches the crystal's recommended value. The tail capacitor is slightly lower in value to acknowledge for the crystal's internal capacitance, but that's really "for the beauty of it". The inductance L1 on the Vcc path is not strictly necessary: it is meant to help reject high fequency noise (in the 15MHz range), together with the 10nF capacitor.

Everything else is done by the video converter (AD725). The STND signal selects PAL or NTSC video standards depending on the connected game, and the outputs are AC-coupled and 75Ω terminated as they are twice the required level. I didn't bother using the Luma-trap, I didn't feel it was worth the effort: composite output is the worst output of the design anyway. Chip-Enable is tied to +5V, I don't bother turning the chip on and off. I also didn't bother separating AGND/DGND.

In order to save one (costly) mechanical switch, the STND signal switch is implemented via a tactile momentary switch and a latch made of the two remaining gates of the hex inverter. R11 ensures a consistent startup state when power is applied: this pulldown helps the circuit to converge to a low output at pin 8. Note that it is not possible to invert that logic (use a pull-up resistor tied to Vcc to ensure a high output at pin 8 on startup): due to Vcc rise time and oscillations when power is applied, the result is unpredictable. The DEF header is used to select the desired default "power-on" state for the STND signal: the system can power up to either NTSC or PAL by default. The signal is then used to trigger the 4053 analog switch. While it may look overkill to use a 3-switch IC to reproduce the effect of a single mechanical switch, it's actually many times cheaper, and it keeps the high-frequency signals very localized on the PCB. The 4053 must be capable to handle input signals up to 20MHz with decent cross-talk and offness performance. As far as I can tell, most currently produced 4053s fit the bill. The 74HC4053 versions have higher bandwidth and better specs than most CD4053 versions, resulting in sharper clock edges. LED1 turns on when NTSC is selected.

Note: The S-Video and Composite output plugs can be used together, and since they're independent from the RGB outputs, it's also possible to use them with SCART plugged. In other words, you can basically use all the outputs at the same time ;-)

Remaining bits of interest

Not much more to say. There's abundant DC-coupling on each IC's Vcc inputs to provide backup power during spikes and to reject high frequency noise.

LED3 is wired to +5V and is meant to indicate the board is operational. LED2 is wired to -5V, to indicate proper operation of the -5V converter. ATX2.0 PSUs do not provide -5V anymore, so it is generated onboard. This switching converter from Traco Power can deliver 1A, which should suffice to provide negative voltages for the AD8073 and 4053, while allowing to power most JAMMA boards requiring this negative rail. The converter has integrated overcurrent protection: if LED2 goes off, then the connected game draws too much current from the -5V rail.

This negative suply is necessary for the video amplifier, since RGB signals go all the way down to ground during H-sync. A (costly) rail-to-rail amp would have been necessary in order to get rid of the -5V there. Likewise, providing a negative voltage to the 4053 improves its performance.

D1 serves two purposes: it makes it possible to not connect the SWTCH signal on the SCART (e.g. if you don't want the TV to immediately switch to SCART input when the SuperGun is turned on); and it's also a "safety" device that avoids a direct connection of the ATX +12V rail to an external, potentially troublesome device. It prevents reverse voltage flowing back, and will nicely blow up if there is a short for instance.

Design modularity

The design is very modular, from the bare PCB many variations can be assembled, with a significant impact on the total assembly price.

SCART removal

If you're not going to use the SCART output at all (including not using any of its RGB signals, see here), the whole AD8073 block with accompanying RC circuitry can be removed:

Composite / S-Video removal

Similarly, if you don't care about S-Vid and Composite, the 74HC04, AD725 and 4053 (and related RC) can be removed:

Audio removal

If you do not require audio adaptation, the following parts can be omitted:

Of course the SCART output will no longer provide sound to the TV set.

Other modifications

If you will never connect the SuperGun to a JAMMA board requiring -5V, then the expensive Traco TSN 1-2450 can be replaced by a much cheaper LM7905. It will not require heatsinking.

The LEDs can be removed (together with their accompanying resistor).

Finally, if you don't think you'll ever need to adjust the RVB levels, the pots can be omitted (simply bridge the unbridged pads for each pot). Actually pots might introduce more problems than they solve, so unless you are certain you will need them, just forget them :) And of course, the TEST switch is also entirely optional.

Layout

Here's a very compact two-sided through-hole layout that fits on a 10x10 cm PCB (a completed PCB is also shown). Package density is around 90%: it is really packed! The component placement grid is 0.025" and there is 0 via.

board assembled pcb

The partlist is here.

The assembly guide is here.

Comments

This layout is fairly straightforward. Routing has been done by hand and it uses a ground plane for all the usual reasons (simplified routing, better shielding against noise and better coherence of the ground level across the whole PCB). Audio is self-contained and as far away from potential "polluters" as possible.

The switches (especially the Audio and Service ones) can be remote wired (i.e. not soldered directly to the PCB, but rather placed on the casing and then having wires routed to them). In fact, it is possible to have connectors either only on two or even only one side if all the "front" section (with video adjustment, Power and Credit switches, and D-sub connectors) are remote wired. This provides plenty of options for case building around the design.

Note: While this layout can implement all the features "on-board", the resulting "human interface" (the SuperGun controls such as RGB adjustments, On/Off and Credit switches, or gamepad connectors) will be very cramped. If this is going to be a problem I suggest assembling only the outputs (bottom section connectors COMP, SVID, PERITEL, A_OUT) on the PCB and wiring the controls from a case panel, if the device is going to be mounted in a case.

While the design uses a dual (stacked) D-sub connector for compactedness, it should be possible to use a single right-angled connector in the P1 position (closest to the PCB's edge) if only single player is required. It's also entirely possible to skip the D-sub connector and provide your own wiring to the JAMMA pins, since there is no processing of these signals at all: they're wired directly to JAMMA through X1.

Note: If the SCART connector is not needed, but there is a need to get the output RVB+Sync signals, they can easily be collected from the SCART section of the PCB: the signals are identified on the silkscreen, with signal above the letter and its ground below it.

Everything can be soldered by hand, even though the AD725 will require some skill (tip: put a drop of tin solder on e.g. pad 1 without the part, then put the part in place, heat pin 1 which will melt the solder under it, wait for it to cool down: the component is placed and won't move, you can now solder the remaining pins. Use 0.5mm solder tip).

For what it's worth, I've built a board with this layout and it works ;-)

JAMMA wiring

The wiring of the JAMMA harness to the WAGO connectors is not sequential. To facilitate routing I took some liberties with the wiring sequence (see below). Of course it's possible to entirely dispense with the connectors and solder the harness wires directly to the PCB.

Note: The X3 WAGO connector routes the power rails. There are two slots for each of the Ground and +5V, please wire them both: these connectors are only rated up to 6A, some boards might require more than this so it is highly recommended to split the load, as suggested in the wiring below.

As a reminder, on the JAMMA connector, letters are on the solder side while numbers are on the components side. WAGO wiring (note: slots are numbered from right to left, see silkscreen):

WAGO X2JAMMAWAGO X1JAMMAWAGO X3JAMMA
1L1M1GND: 1,2,A,B
2102-2GND: 14,27,28,e,f
3R3163+5V: 3,C
4154T4+5V: 4,D
5255P5-5V: 5,E
6176126+12V: 6,F
7267N
8d813
9U
10c
11b
12a
13Z
14Y
15W
16V
17X
1823
1921
2019
2118
2220
2322
2424