So I had in front of me an old arcade machine, not too old, pretty new actually, a date code inside puts it around 22 June 2012.
Nevertheless, it was old in terms of mechanics.
The machine used a Jamma board, and was non functional.
I opened it up and had a bit of a look for any obvious electrical problems, burns out components, loose connectors, dirty connections etc. Couldn’t find anything.
For benefit of the doubt I used isopropyl alcohol to clean the PCB and the Jamma connector. Still no luck after this though.
The machine itself would power up, the board had power, but it wouldn’t output any video…
So I decided to go with my plan B, upgrading the machine to a PC based MAME emulator!
I started with physically cleaning up the machine, isopropyl and some Glen 20 did the trick, once it was nice and clean I got to the insides.
Snapped some photos of how everything was connected for future reference, and started removing components.
I can’t remember the whole process super well as it was a few days ago but I’ll recap best I can.
With all the main control and power boards removed, I was left with some bundles of wire cable tied inside.
I decided the best path would be to cut the bundles of wire that lead from the buttons to the Jamma board a short distance from the connector. This way in the future, reconnecting the Jamma connector is as simple as matching up the coloured wires.
I located the power connector for the button illumination, and tested it out. It was originally on the 12v from the power supply, I tested it on 5v and the buttons lit, but not the joystick. So I’ll just reconnect this to 12v once rebuilt.
I tested the screen using an HDMI to VGA adaptor coming from a PC that was nearby and got video out, this was great, was going to be pretty simple from here on out.
The screen is mounted in portrait which is going to prove annoying as most games these days and games I’ll be emulating will feel smaller. Also, it means that I’ll have to figure out how to display artwork above and below the emulation. Maybe themed to the console ?
I know there’s plenty of options online for ‘arcade button controller’ ranging from $6 to $100+, and I’m sure any of these would have done the trick, but I didn’t really want to wait for something to arrive, I wanted to finish this project in one day.
Luckily I had an Arduino pro micro laying around, I slapped some headers on it and some matching headers on the wires, then ran to the internet in search of a joystick emulation library for AtMega32u4 🕹️
It was actually very easy and within 3 results I had a library downloaded and installed!
Loading up the Arduino IDE I opened an example sketch that had 1 button and a joystick, this was SUPER easy to modify for the 5 buttons on the front panel of my machine, it was just a case of increasing some numbers and adding some extra cases!
I uploaded the sketch to the board and hooked up the buttons to their corresponding pins on the board, now it was time to test.
Hooked up the Arduino to my laptop and checked devices and printers, to my great surprise I saw a gamepad icon with Arduino Leonardo under it, that will be my board!
I right clicked it and hit Gamepad Properties, which brings up a screen where you can test everything.
The joystick was rotated left 90 degrees, so I suspect it was installed sideways as I used the labelling on the PCB for which wire was which, but after switching those wires around everything worked ! All the buttons and the joystick worked flawlessly now !
So now that I had the controls upgrades to modern universalness, I moved onto the speakers, there is two 10w speakers mounted to the rear of the cabinet, these used to be driven by the Jamma board, but with that gone I needed something new.
Coincidentally, a few days earlier, my friend James was over to fix my 3D printer, and had brought over a wireless speaker thing, that I didn’t know what to do with. But this thing, had a speaker driver in it, and also a 3.5mm input, so I put the transmitter unit aside and used just the receiver unit. Hooked up both audio channels with a wire so we got both left and right channel out of the speakers, and hooked them up to the device. I cut off its power cable so I could hook it up to an alternate source of power later, just 12v.
I decided it would be best to re use the original power supply, but some changes were in order. For starters, the damn thing had no earth, so adding an earth connection was my first priority, very simple and I don’t know why the original builder didn’t ???
Once that was hooked up, I proceeded to hook up the leds and the speaker driver to the 12v rail, and then pigtailed the monitor off the AC terminals, and also a cord with a 3 pin connector suitable for a laptop PSU on it.
With all the power sorted I turned to how I’ll drive everything.
I had a few options at my disposal, but given the tight space restrictions in this bartop size machine, I went with an Intel Nuc that I got last time I was planning to build an arcade machine.
I placed it inside, with some very strong Velcro, and placed its power adaptor next to the one for the monitor, also held down by Velcro.
I hooked up a USB wifi adapter and the Arduino to the back USB ports, as well as a mini HDMI to HDMI, then HDMI to VGA adaptors, to the mini HDMI port on the back. And it was time to power it up and test.
The Nuc booted and everything was fine.
I refreshed windows to a clean install as there was still many remains of my last attempt at getting things up and running, rotated the display 90 degrees to make it normal, and then fired up Project 64 for some testing !
I quickly learnt the volume was waayyyy too high, but was easy to fix. Just startled me! Haha
The controls worked great, and the picture looks fine. The colours are a bit off but I can fix that later.
For now this is enough, I’ll work out the software later as that takes aggesss to get setup nicely and all pretty like.
In the past I’ve used HyperSpin but I might give something new like GameEx a try.
I’ll make a new post once I have done that!
Album below (Please excuse the potato photos):