When I was looking to test the SNES bluetooth controller I made recently, I was looking for an emulator to show and ended up with the MegaDrive one. Fine. I wanted to test showing 1942 on MAME, however although the controller entered keys on the keypad on Wordpad, etc, it didn't work on MAME. Got me thinking though... rather than playing about with a keyboard, about time to make a completely PC compatable arcade controller for playing anything on the PC, emulators, etc. The best way to make something compatable with the PC is to use something that is 100% designed for it - no configuration, etc needed. Decided therefore to use an old computer keyboard and map the buttons on the controller to them. The PS1 ASCIIware Arcade Stick unit cost £1.50 at a car boot sale; and the keyboard 50p; so the project cost is £2 plus spraypaint, solder, % use of soldering iron, etc - so under £5 for the whole project! Anyone got a cool name BTW for this project, please post it! Anyroad, here are the two items - you notice the keyboard is a PS2; can be used as that, or with a £3 adaptor can be made USB easily. The two components: Unscrewed the keyboard, all the tiny bits are just rubber domes designed to raise the keys after being pressed. Turns out there are two acetate sheets with metallic traces printed on top, and in the middle a plain piece of acetate with holes cut out for the contacts. When pressed together, contact is made and keyboard button is activated. I have seen this before on keypads. The middle plain acetate sheet is there to stop the two other sheets from touching. This is the board that makes it work: Removed the rest of the keyboard casing and just kept that part. The arcade stick: Opened up, two screws hidden under the pads. Nice and easy - just need to wire to the traces for the buttons and modify the board a little. All disassembled, including the joystick. All I need to do is wire to some keyboard contacts, fold the rest of the acetates into a roll so it all fits in the arcade casing; connect those keyboard contacts to the buttons in the arcade stick sections, change the board a bit; respray the case and buttons (metallic purple and black); job done. Just a few hours work.
Using that purple and black theme for the GP2x re-housing project, and my forthcoming mega project, the "Alpha Omega". Red and black for handheld portablized consoles, purple and black for other projects.
This makes a difference to space inside the controller (not a lot of space to play with really) - cut about 2/3 off the keyboard acetates, all the places with a dot in the pic are places where keypresses are logged fine... plenty - I need 14 button contacts for the arcade controller - I have 21 working.
What do you mean by "ghosting" and "blocking"? If you mean multiple button presses, not sure until I try (eg diagonals). I have two options for this project - one is with the keyboard method like i'm trying; if that fails, i'll use an old USB gamepad and wire that up instead, as that won't have the issue: wanted to try keyboard method first. I am rather expecting to have issues with the keyboard method and having keys registering properly and in the way they need, it's just that it's worth trying, but doesn't matter if it fails; it is easy to rip apart a USB controller and rewire that up, and after all, they were designed for multiple button presses, right?
I'm sorry for not explaining in my previous post. Keyboard blocking is a common problem, if you press many buttons at the same time the Keyboard blocks. Keyboard ghosting is explained here: http://arcadecontrols.com/arcade_input.shtml#KeyboardGhosting I've been thinking about it, and I don't you'll encounter those problems, since you are only using one player, I had those problems a few years ago, but it was because I built a 2 player arcade controller.
Ah, don't think ghosting is a problem, however there is certainly a risk of keyboard blocks; for example pressing two direction buttons for diagonals, and also an "action" button (eg fire). Also with keyboards, there is often the short delay from when pressing a button and it registering again. I have virtually finished the wiring now so can test in a short while. If the above happens, and makes action games like 1942 frustrating or even have a noticable problem, then i'll remove the keyboard board and put in an old PC USB controller, see what buttons work in "default mode" and wire them up. Will let you guys know the updates.
Update - keyboard failed. Got lots of ghosting; some buttons registered one keypress, some two or three! I wasn't confident anyway it was the right way, as playing MAME on a normal keyboard can give key lock anyway. So, instead, using an old PC USB gamepad - a Thrustmaster one. It certainly allows for any amount of buttons to be pressed at the same time! Going to throw out the keyboard section and use the gamepad instead, for the arcade controller.
Well, finished my project earlier today, and then proceeded to play on the controller for a couple of hours. It works brilliantly! Played Scramble on MAME, In The Hunt on MAME and also 1942 on MAME (got a score of 140,000, which isn't bad). Going to make and upload a video of it tomorrow; would have done today, but been too busy playing on it!
Nicely done bacteria again as usual! I wouldn't mind a good arcade stick for my pc but I prefer the ball top sticks myself