Linux Drivers
Linux drivers are included as loadable kernel modules with kernel 2.6 and higher. To load them, run the following commands as root:
modprobe -r lp
modprobe gamecon map=0,1,1,1,1,1
This will disable lp printing to the parallel port, then load the gamecon joystick driver and tell it to create joystick devices for all five controllers. To use fewer controllers, replace the five 1's with 0's according to the controller wiring order for the "Linux" pinout above. However, the driver will only work until the next reboot. To make it load at boot time, make the following changes to /etc/modules:
#lp
gamecon map=0,1,1,1,1,1
I also recommend installing the Debian package joystick, which will give you the jstest command, useful for testing the function of the joysticks. To test the first joystick, use the command jstest /dev/input/js0.
Before I understood how to use /etc/modules, I wrote a handy init script to do this. If you made the above change, you don't need it. If for some reason you do, download it here and install it according to instructions in the file.
The above instructions work fine for me running Ubuntu GNU/Linux 5.04 "Hoary Hedgehog". They should work fine with any modern distribution running kernel 2.6 as well.
Acknowledgements
I would like to thank and recognize the following people for their assistance to this project:
- Daniel Benton, for his JUMP Interface page and for supplying some of the data reproduced on this page. Although I prefer to use the control pads unmodified, his diagrams helped a great deal with construction of these adaptors.
- Adam Wozniak, for his assistance with diodes and how to tell the negative end from the positive with a multimeter.
- Yoshinari Kimura, for PSXPad, and for releasing an English-language version.
- The developers of emulators such as Snes9x, FCE Ultra, Gens, MAME, and many more. You people put a lot of time and effort into letting the rest of us relive our youth, play games we'd otherwise never see, and enjoy cool projects like this.
- My friends, for indulging my ranting and obsessing about this, and politely playing video games with me when they'd rather be partying.
- My faithful test monkey Matt, for carefully testing all the failure conditions of these instructions, unintentionally.
- The devious Travis Mooney, for convincing me to switch to Linux, and thus figure out the driver support for this project.
- My beautiful wife Jayme, for not only tolerating all this crap, but also appreciating the adaptors while playing Crystal Castles.