Snes controller on a PC using the Parallel port


It is very convenient to be able to play Snes games on a PC with the help of an emulator, but with which controller? Why not with the real snes controllers? I found a schematic to build an adapter to do this, and the windows driver on this site I followed the schematic and everything has worked perfectly.

Note: The adapter presented on this page uses the parallel port. If you don't have a parallel port, consider trying the USB version instead.


Maybe you're the type who like more information than a simple schematic? Are maybe you would like advices on the assembly of the adapter? If it is true, this page is for you. I have taken pictures of almost every single step of the assembly.


  • One snes controller.
  • 5 1N914 or 1N4148 diodes
  • One DB25 Male
  • One DB254 housing
  • Heat shrinks
I assume that you have basic electronic tools.
I also Assume that you know how to use a soldering iron.


I have divided the assembly in 13 steps.
Use the next and previous buttons to navigate between steps.


Now that you can connect the controller to your PC, you will need to install and configure the drivers required to make it work.

  • Windows 95/98/ME
  • Download DirectPad Pro 5.0 from this site: This will allow you to use your controller with games which use DirectX.

    Important!!: Direct pad pro is not available anymore on However, you can download it here.
    This is the exact file I download from ziplabel when it was still available. It contains the schematics for all interfaces supported by Direct Pad Pro.(psx, snes, nes, sega, atari...)

    Here is a page containing instructions on how to install direct pad pro.

  • Windows 2000 et XP
  • Use psxpad. Despite it's name which suggest it is for PSX controllers, it also supports snes controllers.

    Here is a page containing installation instructions for windows 2000 and another page with instructions for windows XP.

  • Linux
  • This adapter is supported by the Linux kernel. If you use the kernel and modules that cam with your distribution, it is very possible that the module is already available.

    Try as root:
    # modprobe gamecon gc=0,1,0,0,0,0
    If you have a rescent kernel, try:
    # modprobe gamecon map=0,1,0,0,0,0

    The first parameter is the parport id, and the 5 others are the types of each controllers connected to it. Read the file Documentation/input/joystick-parport.txt that comes with the kernel source for more information, and how you can connect more than one controller one the same port.

  • ZSnes Dos version
  • Zsnes Dos version also supports this adapter. You just need to go somewhere in the menu and choose "Snes controller on lpt1" or something similar(I dont remember exactly).

    Please note that this is only true for the DOS version of zsnes. The windows version uses DirectX(So you must use Direct Pad Pro or PSXpad). The Linux version uses the input layer /dev/js* or /dev/input/js* (so you must use gamecon).


    I cannot be held responsible for any damages that could occur to you or your equipment while following the procedures present on this page. Also, I GIVE ABSOLUTELY NO WARRANTY on the correctness and usability of the informations on this page. Please note, however, that the procedures above have worked in my case without any damages or problems.

    Now you cannot say that I did not warn you :)