I was inspired by one of hackedgadgets.com articles about someone who put together a MAME system. I have decided to attempt and do the same. This article is about taking apart a keyboard and turning it into something usable for controls. (It was meant for the buttons and joysticks, but there are so much more options)
From the Wikipedia :
“MAME is an emulator application designed to recreate the hardware of arcade game systems in software, with the intent of preserving gaming history and preventing vintage games from being lost or forgotten. The name is an acronym for Multiple Arcade Machine Emulator.”
Basically, I wanted to have access to the keyboard contacts so that I can push any kind of button, and it’ll send the proper key to the computer. (Then it’s just about telling the computer what to do when it receives what command) Since TechieNATION is all about doing things the least expensive way, we’re attempting to take apart a keyboard instead of spending money on an input controller. (ALTHOUGH, they are very inexpensive and much better than a keyboard hack, in the future, I will probably buy one)
- I picked an old keyboard I had hanging around. I chose one that didn’t have any “extra” buttons along the top, (like EMAIL, WEB BROWSER, etc etc etc) in order to hopefully simplify it.
- Took it apart, and discarded everything but the circuit board inside, and the cable running from that to the ps2 connection on the PC.
- The row of contacts where the insides of the keyboard (plastic stuff) and keys touch the circuit board is very obvious. The contacts are all black (although conductive) but nothing will solder to that. You need to scrape every single contact with a knife, screwdriver, or sand paper (All very carefully) until you see the copper connection on the circuit board for each terminal.
- Right about now would probably be a good time to mention I don’t solder much. Once I had all my input connections from the keyboard circuit board cleaned so I could actually see copper, it was time to “extend” all those connections so that I can actually work with them, and connect things to them.
I used 3 pair telephone cable because I had lots hanging around. I tinned the tips of all my connections, and then soldered them onto each little tiny connection. I had a really hard time with this because they are all so close together. If I would have done them all one by one from left to right, without EVER skipping any it would have made it a lot easier for me. For some reason I didn’t do that. (It’s very hard soldering one of those connections when there’s others already soldered on either side that are just begging to come off) In the end, there were 4 pins that I never connected to. I gave up because I didn’t know if ANY of this would work anyways, and didn’t want to waste any more time.
- I covered all the connections with hot glue to keep them from coming off while I was playing with it.
- Now I had 4 cables (6 conductors each) connected to the board. I stripped the other end of the cables and every strand inside. I labeled the cables 1,2,3,4 and decided to use standard telephone cable color codes to identify each strand inside. (So white blue = 1, blue = 2, white orange = 3, orange = 4, white green = 5, green = 6)
- This is all great but so far I don’t know if it works, and what combination does what. I got myself a simple little piece of software that tells me what key i’m pressing, (vkeyboard.ZIP) and connected the PS2 keyboard on my laptop. (With my laptop both keyboards work when you plug in an external one, which was helpful at this stage)
- I made myself a little excel spreadsheet with 3 columns labelled : Character, Cable/Strand #1 , Cable/Strand #2 . I went through every single combination of shorting cables and identified what cables put together make what character in my spreadsheet. (I basically started with Cable 1 – Strand 1, and one by one pressed every other cable onto that one and identified what it did. Once done I put that strand aside and moved onto cable 1 – strand 2 and did this all over again) It took about an hour. There’s probably a quicker way, but it was Saturday, I had the time, and in the end I knew this WORKS even though it may be long. I was missing some characters, but nothing major, I have about 70 working inputs, and 50 or so that should work with MAME. (I didn’t count the F keys and certain characters because i’m just not sure if MAME accepts them, although it’s very possible it does) .. I may have less useable buttons than that depending on if I have “ghost keys”.
That’s pretty much it !! Now I can connect these to buttons, and remotes, and program whatever software accordingly to do what that button is supposed to do ! I made this for my first attempt at a MAME arcade machine at home, but there are so many other things you can do. Here are a couple of idea’s : (Besides the MAME console)
1 – I can connect this to a PC permanently, and extend one of the inputs to my doorbell. It would be easy to make software (or find existing software) so that when an E is sent to the PC (By the doorbell being pressed, which will still make the doorbell ring) , it sends me an email to say “Someone’s ringing your Doorbell!” with a nice little date and time stamp.
2 – For the Super Paranoid : The big Red Panic button ! Attach SEVERAL INPUTS from the keyboard to a BIG RED PANIC BUTTON that when pressed will send a series of simultaneos keyboard strokes that will instruct the computer to immediately and permanently DESTROY ALL DATA in a certain directory or computer. (Or do whatever else you want, sound alarms, notify everyone you know by email of something…)
3 – Why don’t you give me some of your idea’s in the comments section ?? I’d LOVE to hear them …
I’ll keep everyone posted on how my MAME cabinet is coming together. So far I have the PC that I will use, the MAME software and some ROMS, I have this home-made “input controller” that I will probably eventually replace with an I-Pac, and now i’m looking for a monitor and deciding if I BUILD the arcade box, or try and find a broken one for cheap from somewhere. (That I will gut and re-do)
Feel free to leave comments and suggestions ! Thanks for reading !