Best of all this project is fun and very cheap to make. It cost me $7 for 2 ports, where if I bought a USB to genesis cable it would have cost me atleast $20 for one port.
This is my first instructables, and I didn't intend on making one until after I had finished the project, so some of the steps will not have many pictures of the process I went through.
Step 1: Parts + Tools
1. A PC with a parallel port, or a PCI parallel port card. (It seems like newer computers don't have the familiar 25 pin ports on the motherboard any more)
2. A parallel port cable. - I got mine from an old broken printer I had. Ideally if you do this project like I did, a male to male DB25 cable would work best.
3. 2 Male DB9 serial cable Solder Cup D-Sub Connectors ( can be gotten at Radioshack ), Or 2 male DB9 serial cables. (I hacked open the ends of the DB9 cables I had laying around and took the connectors out of them, you can also get them from Radio Shack)
4. Several 1N4148 - Small Signal Switching Diodes (also radio shack, or online)
5. Wire ( I use CAT5 wires, and the stranded wires from the parallel cable )
6. Wood - a small block of wood or plastic to mount the jacks in.
7. Sega Genesis Controllers! - 6 or 3 button types work.
8. Drivers - PPJoy Parallel port drivers, can be found here: http://ppjoy.bossstation.dnsalias.org/
*Update - A newer version of the PPJoy drivers can be found here: http://ppjoy.blogspot.com/2009/11/finally-new-version.html . These new drivers may work better for Windows 7 or Vista. (I am still using the older version in XP)
8. Female parallel port connector - If you want to make this more modular like I did, I cut this connector off of an old PC motherboard that was broken with a dremel.
9. Zip Ties - used to secure the cable inside the PC.
10. Alligator Clips - for tracing the wires on the connectors.
1. Soldering Iron + Solder
2. Drill/File + Dremel for working on the drive bay / jacks
3. Saw + sandpaper or file - for cutting the wood to the correct size.
4. Multimeter - for testing connections and reading cable pinouts.
5. Wire Stripper
6. Glue or a hot glue gun
7. Helping Hands, or a vise, anything to help hold the connectors while you are soldering the wires to them.
8. Perfboard - to make a few of the connections, and solder the diodes to a board instead of directly to a cable.
9. Breadboard - If you would like to test this out before soldering it all together, breadboard can be handy.
Step 2: The Schematic
Step 3: Find the Cable Pinouts + Testing
Then you strip the wires back, and 1 by 1 with your voltmeter, check for continuity for each wire to each pin on the male parallel port connector. Using an alligator clip on one of your multimeter leads makes it a lot easier to test the wires. Make sure to write down the color of wire for each pin. ( I haven't found a standard code for parallel port cables), and also the Belkin parallel port cable I used had more than 25 wires, with several of the wires going to the same pins... Anyway, here is the color code I found, but I'm sure yours will be different unless you are using the exact same cable:
// Pinouts for the Belkin Parallel port cable. Multiple wires go to the same pin on some wires..
// Also, a lot of the secondary colors are terribly hard to read (ie: black/gray/brown) double
// check your connections.
12. Blue & Red/Gray
13. Blue/Black & Red/Gray
22. Green/Black(gray?) & Yellow/Gray
23. Pink/Brown & Red/Gray
24. Green/Black(gray?) & Blue/Brown & Violet/Brown
25. Pink/Black(gray?) & Gray/White & White/Black
If you have a breadboard and want to test this out before soldering it all together, you should note the pinouts for your Serial DB9 cable as well. There is no standard here either, but one of the cables followed the resistor color code. My other one did not. To connect these up to a breadboard I had to cut small pieces of CAT5 and solder them to each wire... not exactly fun, but worth it to me since I wanted to see this work before I started soldering.
You will also want to download PPJoy now, and see if this works for you: http://ppjoy.bossstation.dnsalias.org/
(I use this version in Windows XP)
Another link for a newer version of PPJoy is here:
(possibly works better for Windows 7/Vista)
Install it, Add a Joystick from the new PPJoy item in your control panel, and make sure to use the NTPad XP drivers. After adding, I had to click the mapping button, which gave me an error, hit cancel, then Windows recognized the driver and I was able to see it under my Control Panel / Gamepads item. This let me test all the buttons out. If all the buttons don't seem to be working, you may want to check in your BIOS settings to make sure your Parallel port is set up to ECP or EPP mode. If you have an older computer you may not have this option, or the parallel port may not be compatible, you can try a different schematic / driver in PPJoy. There are several different ones you can use, but I chose this one because it allowed for 2 ports and the least amount of other parts (diodes, etc.).
Step 4: Hooking It Up: Cable or Case Mod?
Shut your computer down, and make sure you have room for a cable that will be running from the back of your tower to the front of the case from the inside. I have a fairly mid sized tower and I had plenty of room.
Plan & Cut:
1. Take the front of your case off, and remove one of the 5 1/4 front panels, you will need to cut a piece of wood that will fit into this drive bay cover. Cut the wood so that it fits snugly into this cover. Depending on your case you may need to file or cut away some plastic that is inside the cover, in my case it was metal and it worked pretty nicely.
2. Mark on the wood where you want your controller ports to be. Put the 2 DB9 ports on the piece of wood and trace around them, then use a drill to start a hole and a file to make the holes exactly the right size to fit your ports in. Keep working at it with a file slowly, until you can snugly fit the connectors into the holes you've cut.
3. Put the wood back into the 5 1/4 panel, and take your pencil and mark where the holes you've cut out are onto the back of the panel. Carefully drill the panel and use a dremel / file to neatly make the holes in your case.
4. Glue and/or screw the connectors into place on your wood, and glue/insert the wood into the panel.
Step 5: Solder It Up!
2. I soldered wires onto the pins of the female parallel port connector that I had cut from an old computer motherboard, and then soldered the wires from that connector into the DB9 connectors. Cut and strip your wires as you go and leave yourself some slack in case you make a mistake. I then glued the female parport connector with gorilla glue.
tip: When soldering the wires into the DB9 connectors, I plugged a female into the other end to support the pins because my soldering iron gets too hot and tends to want to melt the plastic and move the pins around, so be careful not to wreck your connector as you solder. You can usually bend a pin back if something goes wrong though.
I then cut and used a small bit of perfboard to connect pins 14, 16, 17 of the parallel port connector to the diodes, and pins 5 from both DB9's to the other end. (black line on the diodes (negative) faces the same way as the black line on the schematic). You don't need to use perfboard if you would rather just solder the diodes in line, but then you would have to use some heatshrink or electrical tape to avoid shorts on the parport end.
If you wanted to do less soldering than I did, skip the female parallel port connector altogether, then you could just solder directly from the parallel port cable to your DB9 connectors and it would save a LOT of time. The problem with this is that it makes it a hell of a lot harder to take your front panel off the computer or take the cable out if you ever need to work on it or work on this project.
3. Plug your parallel port cable into your PC that has one end cut off and route it through an empty PCI slot to the front of your case where you are mounting the ports. I used zip ties to cleanly run it and secure it to the inside of my case so if you pull on the cable it will not wreck your solder joints. I brought my PC to the workbench and cut the cable so about a foot was sticking out the front of the case, stripped the outer jacketing off, and stripped the 18 wires I needed and cut the rest off.
4. Solder a male DB25 connector onto the parallel port cable, and then plug that into your female DB25 on the 5 1/4 cover.
5. You are done! Put the computer back together, plug your Sega Genesis controller into your PC! Have a beer, relax, and play your favorite games!
Step 6: Additional Notes
It would be much easier to just make a cable and not mount it in the PC, but I think it turned out great.
If you want more technical info on the Genesis controllers and how they work, this is a good read: http://www.cs.cmu.edu/~chuck/infopg/segasix.txt
If you want a good emulator for Sega my favorite is Gens: http://gens.consolemul.com/
I also would like to thank the author of PPJoy and the the author of the NTPadXP drivers.
If you want to build a USB version here is a great site where you can learn to make one, although it is more complicated and expensive than this: http://www.raphnet.net/electronique/atari_usb/index_en.php
Let me know what you think, comments are appreciated!