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

A flying car? Yes, and a new take on an old problem

There have been several different “flying cars” throughout the years, and it’s always been a dream of many people.  However, there have always been problems with the designs.  Usually, while they do fly, they are terrible on the road.  As a pilot, this sort of thing holds a particular fascination for me.

These guys decided to design a vehicle that was good on the road first, and then make it fly.  They use a ram-air parachute for the wing, and have created a really unique and clever vehicle.  Check out the video on their website.  Amazing stuff!


MAME Project: Hacking the control panel

Once I had the old console disassembled and cleaned up a bit, I needed to figure out a new layout for the controls.  The old console had a single joystick and a couple of buttons (no idea what game it used to play), but I wanted MORE.  I decided to go ahead and put two joysticks and button panels so that two player games could be played, as well as single player games.  Admittedly, you’d probably have to be pretty close friends with the person you are playing 2-up games with, but hey, that’s all part of the fun!

I also decided that I’d make the right hand player “Player 1” and the left hand player “Player 2” because when you are in single player mode, the right hand controls are more convenient for a right-handed person.  Coincidentally, I am right handed.  Imagine that.

First step was to apply some self-stick white “contact paper” to the panel so that I could draw my new design on it and measure out where the holes need to be drilled


This panel is steel, not aluminum so while it’s nice and rigid for game play, it’s a real pain to work.  Drilling it requires decent (read: expensive) drill bits, Oil, the slowest setting possible on my drill press, and lots of patience.  First I drilled pilot holes for all the buttons and the mounting screw holes for the joysticks (same size drill bit).  The somewhat round circles at the bottom of the picture outline existing holes that I’ll re-use.  The other existing holes in the panel will be ignored for awhile.  They don’t exist.  Work with me on this.

DSCN3135 DSCN3136

Once the pilot holes were drilled, I enlarged the holes so the bolt from my chassis punch would fit.  Note that I drilled two holes on the front of the panel for the “Pinball flipper” buttons which are used in some games.  Notably, the pinball games.  Believe it or not.


A Chassis punch is absolutely the only way to go for creating large holes in sheet steel like this.  You apply muscle power to it and it bites through leaving a very nice neat hole.  This is a 1 1/8” hole, and it was a bit of a challenge to find a chassis punch that size.  I ended up getting a Greenlee punch for about $50

DSCN3138 DSCN3139

After I was all done punching, I took off the contact paper and washed the whole thing in the sink.  My wife was very understanding and never even gave me a sideways look.  Here’s what the final result looks like.  Again, ignore the extra holes.  I’ll get around to dealing with them later.  Right now, it’s proof-of-concept time.

DSCN3140  DSCN3142

After a lot of fiddly screwing and tweaking, I got all my new parts installed on the panel:


Unfortunately, even though I tried to leave room on the sides, I was not able to leave enough room, and the nifty clips that held the front panel on just wouldn’t work.  Sigh… oh well, they are history.  I’ll just hold the panel in place with good old fashioned screws.  After all, how often am I going to need to remove the panel and fiddle around underneath?  Probably not all that often.

DSCN3144 DSCN3145

Behind the panel goes this support which the screen bezel sits on.  It’s very tight up against the back of the panel, and my joystick connectors stick out a bit, so I had to notch out a bit of wood to allow for that.  On the right you can see a close up of the piece installed, and the joystick terminals peeking out.

DSCN3146 DSCN3147

Next up: Wiring the panel

MAME Project: bar-top video game console

I started a fun project, so I thought I’d share the pain here! The goal is to create a bar-top video game console which runs the MAME emulator and plays thousands of classic video games (like Pac Man, Robotron, Major Havoc, Galaxaga, etc).

A few years ago, I picked up a full-size arcade machine (Solitare actually, but I planned to gut it so I didn’t care what it was), and the guy threw in a small bar-top “shell” with no guts to speak of.  Recently, this project has been bouncing around in my noggin and I decided to do the small one first, as I had an old very small form factor DELL computer which I could hopefully use for the project.

Here are some pictures of the cabinet after cleaning most of the crud off it:


It’s mainly pressboard laminate construction, and some of the pressboard has been damaged by water, so it’s swollen and brittle.  I’ll have to replace those parts, but I want to do a “proof of concept” and make sure everything fits in here that I want to put in, and that it’s usable for friends and family without a degree in computer science.

The top unclips and lifts off, and then the monitor bezel and the piece beside it with the blue “mystery button” on it just lift out.


I removed the control panel. It’s held in place with these nifty clips so it just pops out easily.  I am not sure I’ll have room for those clips in my new unit, but we’ll see.


There are a couple of power supplies which I’ll leave for now (probably won’t need them, and I’ll remove them later)

 DSCN3101 DSCN3102

I removed all the old controls from the steel panel, and to the right you see my collection of NEW XArcade parts.

 DSCN3103 DSCN3104

To the right, you can see I am fiddling around with control layouts using a piece of cardboard for my doodling. 

Next up: Carving up the old panel to fit my new layout

The new $10 bill

Maybe it’s just me, but I don’t like the new $10 bill.  It’s orange-ish, and somewhat pink-ish, but not in an “intentional” looking way. No, this to me looks like a bill that went through the wash with some red shirts.  It’s not a good design – it’s an accident.  Ring up no sale on this one.

John Galliano faces charges for racist slurs – no free speech in France

Fashion designer John Galliano has lost his job for making anti-Semitic slurs; he may now lose his freedom as well. French prosecutors have announced that Galliano will stand trial on charges of making racist insults in public, a charge that carries a maximum penalty of six months in prison and a $31,400 fine, reports Reuters. The charges relate to two incidents, one last month and one in October of last year. []

Wow – you just don’t want to mess with the French, do you?  I really like living in America.  In America, you can say whatever you want, and while people may not like you anymore, they don’t throw you in jail.  C’mon France – grow up.  Read our constitution and maybe take a few hints.  No, it’s not perfect, but it’s a darn good idea.

Emergency Room wait times

Recently I have seen a few roadside billboards advertising an interesting hospital service.  If you visit a website, or text their server, you can find out how long the current wait time is at the ER!  Wow!

But then, this is “Inane World”, not “Cool Stuff Tim Noticed”.  So as you might expect, I think that is quite inane, and have a real fundamental problem with it.  I would hope you do too.  You see, this is for the ER (Emergency Room).  Let’s examine that more closely for a minute.  An Emergency is defined an “event or situation posing an immediate threat to life and limb”.  If you can review the wait time and decide whether and when to go, then it’s not an emergency, is it?  If you are bleeding to death, have severe burns or broken bones, or were brought in on an ambulance gurney, you won’t be able to decide whether to go now or in an hour from now, but you WILL care about having to wait because the beleaguered ER staff is wasting their time treating non-emergency cases.

Get a clue, people!  If it’s not an emergency, make an appointment with your doctor (primary care physician).  The rest of us really don’t want to be paying higher healthcare insurance costs just because your kid has the sniffles and like an idiot, you brought him to the ER (which we all end up paying for).

I can count on one hand the number of times I have been in the ER over the last 45 years as a patient.  I think it’s something like 2 or maybe 3 (given that my ancient brain cells are occasionally unreliable at cataloguing such things).  My parents “got” the idea that the ER was for emergencies.  As a result, I view it the same way, and if I have a non-emergency problem it would never dawn on me to go there!