This is just my basic design that I've been working on for some time to build a retro gaming arcade box for my household. I think it will make for a fun and enjoyable project for any gamer enthusiast with some extra money to spend, and the time to under take this project. I will not be covering exact measurements because these will change from person to person based on their personal preferences, so lets get right to it.
The first thing you will need is some plywood, because you need to build a box to put your arcade emulator inside. Approximate measurements depending upon your height but for an average lets say this box should be around 5'5" to 5'10", depth is not so important. Take into consideration whether you intend to use a LCD or tubed TV, and that you will be storing a complete computer inside. You will not necessarily need the whole computer case since it will be stored in an enclosed box anyway. You could simply make additional mounts for all the computer hardware mainbord PCI cards and other PCBS.
Once you have the box built to your likings you will want to place your computer and TV/monitor into the box to ensure they fit. Next create some mounting shelfs inside the box for your monitor and other devices. Connect the computer, and the monitor, and find a place to mount your keyboard and mouse inside your box.
Take the top plate off the keyboard to expose the circuitry inside and decide which keys you would like to configure as your arcade buttons. Once you have decided which keys you will be using for the coin slot 8 button pad and joysticks, you may order the joysticks and buttons and begin taking measurements and cutting out the areas you want to have controls. A good resource for arcade gaming equipment such as buttons joysticks and more is happcontrols.
Put your new joysticks and buttons in place and using small "L" brackets on the inside you can mount them to the upper shelf. Access to the wiring should be reasonably convenient and buttons are simple devices, they only feature open and close circuits.
Run two wires from each of your buttons to the appropriate keyboard key. With the top of the keyboard off you should see a large spaced out area with copper plates that don't contact each other. Each of these plates signifies another key on your keyboard. Once you find the copper plate that corresponds to the key you want to configure for use on the arcade emulators, run two wires from each button to the plate on the keyboard. One wire on each side of the split plate, this will create the effect of pressing that key on the keyboard every time the button is pushed and circuit opened.
The coin tray is going to be a little bit trickier, you see you will need a track for the coin to follow and two semi stiff wires, copper is preferable. The wires should connect to the keyboard the same as a button and run into the track. As the coin falls through this coin slot or track it will push down on the first wire making it contact the second wire opening the circuit and initiating the key on the keyboard, which you have assigned as P1 or P2 insert coin.
Last you have joysticks and these vary in wiring slightly, the ones you will want to get are 8 wire configurations, so that you have a separate circuit for each direction on the joystick. Once you have a good joystick you will wire it up to your keyboard following the same methods as the buttons. For each direction you will need to wire it direct to your keyboard. Or you can cheat and just mount one of these into the deck ;)
With everything now wired up it's time to fire it up and connect a USB keyboard to the computer so you can configure it. If you want this system to display only authentic arcade images and game selections, you may be interested in getting a bare bones Linux distribution, which will let you run nothing more then the X environment OpenGL acceleration and a program of your choosing, which would likely be MAME. MAME is the only real single emulator which emulates nearly every arcade game known to man though the quality of emulation hasn't been the best for me.
Keep in mind if you are using a USB controller you may have driver issues with Linux make sure the kernel your distribution is using is USB and HID(Human Interface Device) compliant.
Alternately you could use a simple windows install and set your emulator of choice in your startup group, but the configurations must be done prior to sealing your arcade box, or you will need to open it to gain access to the keyboard and mouse. ;) If you chose to use the easier USB controller method you may want to get a roller mouse and mount it into the deck as well, so that you can control the windows environment without more clumsy controls, that will make it feel less authentic. Some of the older Sega arcade games even incorporated the use of a roller mouse ball, so this could be a great idea!
And some items you may be interested in purchasing for this project.
This System should be more then ample to fill all your arcade emulation needs.
Combine with this monitor for optimal effect.
And here is an arcade deck already built for you.
And finally if you chose the windows option you may be interested in looking at my Article "Best emulators" which lists all the best legal emulators I could find. Another day I will write on article detailing, how to setup Linux for a single emulator load configuration.