A printable working version of the wonderful Commodore/Atari/etc Arcade Stick from Suzo International. Connector, spring, steel bar, microswitches and rubber not included!
Edit the .scad file to set your layer height, extrusion width and default wall thickness. As I got a bit lazy in the end, there will probably be some issues after changing these. Please let me know when you run into problems.
Next, have a look at the module 'separate_parts' to see how to generate each individual part. The module 'cut_through' may also be useful to check if everything fits. I didn't use any padding, so parts should fit exactly.
You'll need to enable support to print most of these parts. I used the default honeycomb support in Slic3r 0.9.1.
The MANUAL_SUPPORT setting adds some manual support and anti-warp structures. I added the anti-warp structures after noting the main upper part did not come out perfectly straight. So you may want to add some more anti-warp structures for this one too.
As I used an exact fit everywhere, it may require quite a bit of sanding to get everything to fit nicely, depending on your setup.
Replicate the PCB, either by etching it (I used Fritzing to create the copper mask, see the .fzz file) or using wires. Solder the microswitches to it (any large electronics shop should have these; you'll have to bend the firebutton one yourself).
Find a piece of 8mm steel bar, some kind of spring that fits inside the button, and a piece of rubber at least 13mm thick (local rubber shop?). For the spring, I used a piece of metal spiral found on a paper notebook. Cut the rubber to fit inside the main upper part. A fretsaw worked very well for me.
I'm not aware of a printable DE-9 connector, so you'll have to buy one, possibly create a printable version, or use the connector of an existing joystick. I'm planning on ordering one myself.
To test the joystick, I found it useful to simply peek at port 56321 or 56320.
I was originally planning on polishing the joystick before publishing it here, but I just couldn't help myself. I hope to add some photos of the polished version in a few more days.