MAME Project: – Wiring the panel

The next step was to wire the panel.

Here’s a link to the button/joystick kit I used: CLICK HERE
Here’s a link to the keyboard encoder: CLICK HERE

The XARCADE keyboard encoder came with a wiring harness, so it should be fairly simple, right?  The wires are labeled next to the small connector which plugs into the circuit board, and also they are labeled on the ends where they push on to the micro switches.  Each switch has 2 wires which go to the “COM” (common) and “NO” (normally open) connectors.  The “NC” (normally closed) lug is not used on any of the switches.  It doesn’t matter which wire you connect to COM and NO, as switches don’t have polarity.  It’s not physically possible to hook all the wires up as-is because of the way they are joined together with the labels.  They use common wires with multiple connectors on them, and all the commons are the same, so I took the labels off the switch end of the wires, and re-applied them just to the non-common wires, like this: 


This enabled me to attach the wires to the switches easily, and then I took the common wires and wired them in whatever order was convenient.  For the joysticks, this meant running the common in a circle from one switch to the other until all 4 were connected.  You can zoom in on these pictures by clicking on them:

DSCN3157 DSCN3158

I didn’t try very hard to route the wires neatly, as I know I’m going to have to take all this off again in order to fill the holes in the panel and I’ll probably cover it with laminate or something.  What I did discover is that the wiring harness is really short!  This was a bit of a surprise as this is a small enclosure, so the buttons & joysticks are closer together than you’d probably want for a 2 player stand-up system.  I asked the manufacturer if they sold longer harnesses or harness extensions and was told that no, they don’t.  So, I’m going to have to cut into the harnesses and extend the wires myself – a mind-numbing task which I will probably not enjoy much.  For now, though, I wanted to find out if it’d work.  You know, proof-of-concept (aka: instant gratification)

I brought the case inside the house (it’s winter and my garage has no heat), and set it up on my desk.  To the right you can see the diminutive Dell Optiplex I’m using as the CPU, and it’s power supply on the desk next to it.  I set a 15” flat screen monitor inside the box to get an idea for sizing and how it will all work.  They keyboard/mouse will not be present when the unit is completed, but they are pretty important for development.


If you look down into the enclosure, you’ll see the keyboard enclosure PC board right behind the control panel.  Unfortunately, that’s where the monitor bezel needs to go.  You can see where the bezel slides in vertically by the guides on the sides.  The two white switches to the left of the PC card are the “1 player” and “2 player” start buttons.  I haven’t decided where I’ll put those, but I suspect to the right of the monitor.

I wired the right hand joystick/button cluster as “Player 1” as I figured that would be most comfortable for right-handed people like me.  For two-player mode, “Player 2” is on the left, and you’ll have to be bumping shoulders.  After fiddling with this for a while, I’m not convinced that the right hand cluster is most comfortable as I’d thought for single player use.  I’ll wait until I’ve got the monitor mounted properly to make that decision as the monitor will not be in the center of the box as it is now, it’ll probably be to the left (that was the original configuration of the box, and it seems like an OK one, though I suppose I could have the monitor more towards the right hand side.  Trail and error!)


Clearly, I’m going to have to extend the harness – Grr!

On the bright side, there seems to be plenty of room in the enclosure for the CPU and for the monitor.  I have a few of these flat-screen monitors I picked up surplus a couple of years ago, so my plan is to take one apart and mount the LCD to the front bezel.  I might have to re-make the bezel to fit the monitor screen, I haven’t measured that yet as I don’t know what the LCD panel is going to look like once I take it out of it’s aging yellowed plastic case.  Also, the power supplies attached to the walls of the enclosure are going to go away – I don’t need them.

I plugged the keyboard into the PC board, and plugged the wire from that board into the back of the Dell.  When I powered it up, everything worked fine and the system booted normally.  I’d installed a fresh copy of Windows XP and had installed all the Microsoft patches already.  I fired up Notepad and pressed each button in turn to make sure it “typed” the correct key.  All was fine except the right “flipper” button on the front – the wiring harness wouldn’t reach that, so I don’t have it hooked up.  Also, 2 of the switches on the joysticks needed a little adjustment to make them “release” properly when you let go of the joystick and it springs back to the center position.  To accomplish this, I just bent the trigger bars on the micro switches a bit with needle nose pliers.  Xgaming has a special “tester” program, but I didn’t bother to download it, as Notepad was quite sufficient to let me see what was going on.  The only keys that are difficult to test are the ones that generate Shift, Ctl and Alt.

I left the “mode” switch in “mode 1” (switch all the way at one end, nearest the yellow wire – finding that gem of info in the documentation took a while, and the switch is not labeled).  Mode 1 is the “factory” programming layout.  I don’t have any need to program it differently, so that works fine for me.

Next up: Software!

By Tim Posted in MAME Tagged

Leave a Reply

Fill in your details below or click an icon to log in: Logo

You are commenting using your account. Log Out / Change )

Twitter picture

You are commenting using your Twitter account. Log Out / Change )

Facebook photo

You are commenting using your Facebook account. Log Out / Change )

Google+ photo

You are commenting using your Google+ account. Log Out / Change )

Connecting to %s