A boot menu allows the selection of games using advanced mame, or web browsing which boots into a window manager.
8 GPIO inputs are used. 4 for the joystick and 4 buttons. An old floppy disk drive cable is cut to size. This plugs into the raspberry pi. The other end goes into a prototype board that has a pull up and a pull down resistor for each of the 8 inputs. This then wires into the Joystick and buttons.
Also attached to the raspberry pi is a usb wifi and usb wireless keyboard/mouse combination.