Step 4: Input/Output Options to an Arcade Cab
There are three arcade cab-types that we shall concern ourselves with from here:
- A fully wired JVS w/tri-sync monitor
- A fully wired JVS cab with a VGA-only monitor
- A fully wired JAMMA cab
By fully wired, I mean none of the components inside of the cab that allow real arcade PCB's to be connected and played on the cab have been stripped out. The other thing that you should adhere to is that you want a cab that has a Street Fighter 2 button layout natively. Don't take a Donkey Kong cab and convert it to MAME, someone is going to execute you. Seriously. Sell that to a collector if you have such a cab and ask in the transaction that as part of the deal that you want a Dynamo or 3Koam Street Fighter-style cab. Or just acquire one outright. It is simply to much work to rework a non-JAMMA/JVS cab for MAME. Let alone the mention of how destructive the endeavor is to such a cabinet. If you have a Japanese candy cab, you are mostly set. Just make sure the control panel is 2L12B (2 players with 6 input buttons per player). This will allow you to play most of the games in MAME's library.
A Warning Regarding the VGA/RGB Cable on a JVS Cab
Sometime in the past, the VGA/RGB cable in your JVS cab may have been replaced with a standard computer monitor cable. All of the pins on a standard VGA monitor cable will be populated. A JVS cab's RGB cable looks very similar to a standard computer monitor's VGA cable. However, it will only have pins populated for Red/Green/Blue/Video Ground/Sync. A standard computer VGA cable is fine for connecting JVS PCB's to your JVS cab. However, you are now connecting a PC to your JVS cab. Pin 9 on a fully populated computer VGA cable will carry a 5 volt signal from the PC to your arcade monitor. I've seen this blow up a Sanwa PFX chassis before. Best that you ensure that the VGA cable in your JVS cab only has the Red/Blue/Green/Video Ground/Sync pins populated. If your JVS cab's RGB has been replaced by a standard computer monitor VGA cable, remove excess pins with needle nose pliers to be safe. Additionally, we do not want Windows to attempt to perform any
EDID. We will set the monitor specifications using CRT Emu.
JVS cab with a VGA-only monitor
A fully wired JVS cab with either a tri-sync monitor or a VGA-only monitor connects to a PC in the same way. The only difference is in the installation setup of CRT Emu. For VGA only JVS cabs, follow the guidance laid out
here for 31khz cabs. Additionally, you must not run ATOM-15. This hacks the BIOS for AMD graphics cards to output a 15khz signal as the PC boots up before Windows loads. A VGA only monitor will not be able to display a 15khz video signal. Either way, the video connection for the PC is through the JVS cab's VGA/RGB video connection. The audio is connected from your PC right into the cab's stereo amp. You'll need a 3.5mm stereo jack adapter for this. Something like
this:
Find one that you like as there are lots of choices.
As for controls, there is
JVS-Pac 2 that simplifies the controls interfacing. Plug your JVS cable into the JVS-Pac 2, plug your PC into the JVS-Pac 2. If for whatever reason you cannot acquire the JVS-Pac 2, it is out of stock or what ever, then you can do something like this with a controller PCB of your choosing.
Though I would no longer recommend using a Zero Delay encoder board (pictured above) for MAME (more on this later), this shows you can be non-destructive as you build out your JVS MAME cab. Your button/joystick harness simply plugs into the adapter that you've crimped together for your controller PCB. This is reversible and therefore non-destructive. There are a few things if you interface controls as such:
- You'll need the tools to do the crimping
- You'll need the proper connectors and pins to do the crimping
- You'll have to program the joystick input commands in MAME to control the games
- You'll have to do some extra wiring if you want to control coining up through the coin drop
- You'll have to route the USB cable inside of your cab so that it is nice and tidy
I figured out how to do this back when there was no such thing as a JVS-Pac 2. Though I have never used JVS-Pac 2, I would highly recommend going the route of JVS-Pac 2.
@invzim makes fine products.
JVS cab with a tri-sync monitor
The PC connects same as above mentioned with JVS cab with a VGA-only monitor, however you can run games at native 15khz resolution. Therefore, set GroovyMAME's 'switchres' setting to '1' and install Calamity's CRT Emu driver through GroovyTime to output a 15khz signal from your PC. You can also optionally run Atom-15 to hack the AMD graphics card's BIOS to output a 15khz signal during bootup. Might be a good idea to run Atom-15 should you ever decide to move your MAME rig to standard JAMMA cab.
JAMMA cabinet
This cabinet will represent most scenarios where a user will connect a PC to an arcade machine. From here, there are choices for the input controls interface and we'll go through only the ones you should consider. Additionally, the PC interface for a JAMMA cab also is leveraged for video and audio input.
- Ultimarc's J-Pac
- JAMMASD
- JAMMAizer or SCART2ARC30
The J-Pac was the first to market for PC-to-arcade interfacing. It is the least expensive option. MAME natively maps control inputs to specific keyboard keys. There is no need to program inputs to control games with the J-Pac as it is effectively a keyboard encoder. J-Pac also has circuitry that will protect your arcade should you feed it a 31khz computer video signal. However, the J-Pac has its shortcomings:
- There is no audio amp
- This is huge
- You'll have to wire up and power an audio amp separately
- There is no direct connection for a CPS2 style kick harness
- You will have to wire up an adapter
- Please, no hacking
- I don't much like the video amp in J-Pac
- I feel it lacks contrast and crushes whites
Similarly to the J-Pac, the JAMMASD has a keyboard encoder built in. There is no need to program MAME control inputs. However, it 1Ups the J-Pac in that it has an onboard audio amp. You simply jack the 3.5mm audio cable from your PC into the JAMMASD and JAMMASD routes that audio goodness to the JAMMA edge connector. Easy as 3.14159. Here are the shortcomings with JAMMASD:
- It is more expensive than J-Pac
- There is no direct connection for a CPS2 style kick harness
- You'll have to wire up an adapter
- Please no hacking
Though I bought a JAMMASD a while ago, I have yet to have the time to use it. I can't speak to the qualities of its video amp yet but I expect it to be at least as good if not better than J-Pac's. If the decision for me was to only connect a PC to a JAMMA cab, no other source devices like a video game console, and I want to be the most economical in terms of money spent and time spent, the JAMMASD would be my choice.
SCART2ARC30 & JAMMAizer
You can read my comparison of the two over
here. With these options, you are afforded the ability to also connect video game consoles which is a huge bonus. If you have one of these devices already, no need to double up and buy a separate interface just for MAME. With MAME, the button mapping advantages JAMMAizer has over SCART2ARC30 is neutralized. Button mapping is controled via MAME's software. SCART2ARC3 has circuitry that will product your standard resolution arcade monitor should you incorrectly feed it a non-15khz signal; JAMMAizer does not. Not a big deal if you know what you are doing with CRT Emu.
The shortcomings going with these devices are:
- They are more expensive than the other two options by a good amount
- You'll need to ensure you have purchased the optional VGA connections to connect your PC
- You'll need separate 2x10 controller PCB's with the 2x10 pin header
- One each for 1p and 2p
- Both PCB's are added expenses
- There is no keyboard encoder and you will have to program input commands to play MAME
- Additionally, JAMMAizer is OOP right now
- No word on when it will come back in stock
- SCART2ARC is the 3rd iteration (version 3.0) from Tim Worthington and is readily available now, but......
- The previous 2 revisions had went OOP before
- No telling when/if SCART2ARC30 will go OOP
One last word with any of the devices above and native keyboard encoding (J-Pac, JAMMASD, JVS-Pac 2). No matter what, you will have to do some programming/mapping of input commands to some degree. Whether this is for the front end or for special commands in MAME, like escaping out of a game back to the front end or shutting down the PC. There is just an added step of mapping Up/Down/Left/Right/Buttons 1-6/Start during setup. This just takes a few extra minutes while you are performing some special input combinations mapping anyway. Also, having a joystick/multi-concole PCB allows for other applications like fight sticks and such. Therefore, I don't consider any of the interfaces with native keyboard encoding to have an advantage over joystick/multi-console controller PCB's.