Introduction: Build Sega Genesis Controller Ports for Your PC!

Picture of Build Sega Genesis Controller Ports for Your PC!

This instructable will detail how to make Sega Genesis ports so you can plug your Genesis controllers into your PC and use them to play games on your PC with the original Sega Controllers!

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

Picture of Parts + Tools

Here are the parts I used and what they cost me ( this project could cost more or less, being that you probably have some or all of the parts at home ). It cost me $7.

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:
*Update - A newer version of the PPJoy drivers can be found here: .  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

Picture of The Schematic

This is a schematic to make the cable using the NTPadXP drivers included in the PPJoy driver download. This version allows you to connect 2 controllers, and use the parallel port in ECP/EPP mode.

Step 3: Find the Cable Pinouts + Testing

Picture of Find the Cable Pinouts + Testing

I first cut the end of my parallel port cable that connects to the printer, stripped back the insulation to expose the wires.

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.

1. Brown
2. Brown/White
3. Brown/Red
4. Red
5. Red/Black
6. Orange
7. Orange/White
8. Orange/Black
9. Yellow
10. Green
11. Green/White
12. Blue & Red/Gray
13. Blue/Black & Red/Gray
14. Pink
15. Gray/Brown
16. Red/White
17. White
18. Brown/Blue(gray?)
19. Gray/Red
20. Yellow/Brown
21. Yellow/White
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:
(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?

Picture of Hooking It Up:  Cable or Case Mod?

Here lies the fork in the road. Your choices here are to make a cable you can just plug your controllers into, or mod your computer case and install the ports directly on one of your 5 1/4 panels like I did! I will describe the path I took:

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!

Picture of Solder It Up!

1. Print out the schematic if you haven't already, and have your cable pinouts handy.

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

Picture of Additional Notes

I hope you enjoyed this instructable, I put a lot of effort into making this project, mainly because I decided to make it modular, and wanted to keep it cheap just using as many parts for free as I could without having to buy them.

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:

If you want a good emulator for Sega my favorite is Gens:

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:

Let me know what you think, comments are appreciated!

-Adam Knutson


jholt7 (author)2012-04-07

I am only using one controller so I just left out the connections for the second port. Also my radio shack did not have the diodes needed so I just connected pin 5 on the controller to pin 6 on the LPT port and seems to work fine, though I plan on slicing a USB connector to draw power from if any problems occur

stewy2603 (author)2011-01-09

Excellent tutorial but before I start I want to get everything I need. One MASSIVE issue.... "ppjoysetup" - I have downloaded from 5, 6, 7, 8 different internet locations/links. I have also downloaded & versions (I am Win 7 64-bit).

ALL of these downloads were immediately quarantined and deleted by Symmentec Endpoint Protection !!!!!!

If anyone has a working set of drivers to suit Win 7 64-bit then please share !

Cheers, Stew

kagami (author)stewy26032012-02-16

look here~

they can work in Win7 64bit

crrimson (author)stewy26032011-01-09

If Symantec is quarantining these, I would recommend disabling it or using a different (free) virus scanner such as Avira or AVG. I haven't had any problems with the sites I linked to above. Good luck!

Logicsama (author)2010-11-10

Felt great after this worked. Thanks dude


crrimson (author)Logicsama2010-11-10

Awesome! What games are you going to play?

Logicsama (author)crrimson2010-11-11

Hmmm... :D So many
First I downloaded Sonic the hedgehog for this MEGA-CD emulator that i'm using to play.

I have a CD with "STREETS OF RAGE" that i played yesterday (all night :P)
That CD has also got Revenge of shinobi and two other not so great games.

I also downloaded some NES emulators after that and me and my friends playeda Mario, Excite Bike, Doki Doki Amusement Park,

I also had with me MK 4 !~!!!!~!~ That is SO MUCH BETTER with controllers man... I was getting pained using keyboard.

What games you play with yours? I'm going to try FIFA next.

crrimson (author)Logicsama2010-11-11

Sounds like fun! I played some shooters, Thunder Force 3 and 4 for Genesis, and MUSHA which was so expensive I didn't want to buy it on ebay. Also played some Micro Machines 2 rom which I think only came out in Europe. I was going to use it to play Cave Story again, but the game didn't play as well with an LCD monitor.

xxxSlyxxx (author)2010-10-11

I'm having an issue when I'm testing the buttons out with the PPJoy mapping options... It constantly holds down button 8... I have to hold down another button before hitting the scan button to make it see the button I pressed.

I also can't seem to get a emulator to work with the set up... I'm sure I have everything wired up correctly. I've double and triple checked. (Using a multimeter.)

Any Ideas? Please help!!!

crrimson (author)xxxSlyxxx2010-10-11

Are you able to test it on another computer? It may be an issue with the parallel port setting in the BIOS or with the parallel port itself, but I'm not sure.

shookhi (author)2010-09-02

i finally did it ... it took me 3 hours to do the soldering but it was worth it ... it feels really good to see something work on the first try .......... i still have a problem with vista .. it dosen't let me install the driver ..... stupid microsoft .....

tamir_chuba (author)2010-07-31

What diode should I use? I think that I maybe overheated diodes

tamir_chuba (author)2010-07-26

I did two 6 button gamepad to LPT (ECP). but when i push arrow buttons it pushes automatically x,y,z buttons :(

crrimson (author)tamir_chuba2010-07-26

You may want to check your wiring. It could also be an issue with your motherboard's serial port or settings. Try a few different parallel port options if you can (ECP/EPP/etc.). If you try it on a different computer and get the same result it is probably a wiring / circuit issue, if not, then it is obviously a serial port compatibility problem. I had some problems the first time I tried making this a few years back with my older computer. Good luck!

tamir_chuba (author)crrimson2010-07-26

Serial port or parallel port? i didn't understand. i read that you have had same problem. how did you solve that problem?

crrimson (author)tamir_chuba2010-07-26

Sorry, I meant parallel port. A. check wiring and circuit B. try on a different computer C. try different parallel port settings in the BIOS Hopefully through troubleshooting you will have success.

MajorDork1974 (author)2010-07-21

Does anybody know of a way to make this with 4 game ports? That would be awesome! I already have an NES and SNES 4 port systems that work perfectly.

crrimson (author)MajorDork19742010-07-21

Glad to hear this is working for you! I'm not sure if the multitap would work. Reading this guy's site who makes the USB adapter it looks like it works on his:

MajorDork1974 (author)2010-07-21

Sorry it took me so long to return ,I have moved a couple times and just recently got back to this project,and it turns out that all I did wrong was use the wrong size diodes,mine were too small.oops.but now everything is perfect!

matbh (author)2010-07-12

with the original project, u can use 9 db9 ports to 1 db25 (printer).

leopignataro (author)2010-04-25

It really works!!! Amazing! I remember trying when I was a kid to use the genesis controller on the PC connecting it to the serial port and not understanding why it didn't work (at that time I had no idea of the difference between a parallel and a serial port, of course). It was my dream then to make it work, and now I did it! (20 years later, but it's still awesome!!!)

I have some tips for anyone who's willing to try it out:

1. If your PC doesn't have a parellel port (and chances are it doesn't), do not buy a USB/parallel adapter cable. Instead, buy a PCI card that adds a parallel port to the computer. This is because some of these adapter cables don't actually add a parallel port to the computer, but a "USB printing support" device, that is, you can use the port but only for printing, but it won't be an actual port, won't appear in the Windows device manager under "Ports (COM & LPT)", and PPJoy won't be able to "see" it, so it's no good. I don't know if that's true for all the adapter cables out there, but is was so on the one I bought, and it didn't say anything about it on the box, so I had no way of knowing it before actually trying it out. So I figure it's just safer to buy a PCI card instead.

2. If you choose to cut the end of a parallel cable, you might not find wires that lead to the 18 and 19 pins, which are ground. In this case, look for a wire or a series of unshielded twisted wires that lead to the outer casing of the DB25 connector (the metallic part surrounding the pins). The outer casing is supposed to be hooked up to the ground, so use these wires as ground to connect to the DB9s' 8 pins. Worked for me.

3. If you only have one controller and don't plan on buying another one, you can build just part of the circuit, leaving out the second DB9 connector. If that's the case, you can use for casing a DB9-to-DB25 adapter, which is (or once was) really common, so it should be easy to buy one, or event find one lying around. Of course, it's just the casing and the connectors that you get to use, you have open it and change the connections. Also, fitting the 3 diodes in there is a bit tricky, but the result is very professional. I used a DB9 female to DB25 female adapter, so I could plug one end to the genesis controller and the other to a male-male DB25 cable, which is probably the most common parallel cable (so there's a good chance you already have one around from an old printer). You can also use an adapter which is DB9 female and DB25 male, to connect the controller to the adapter and the adapter directly to the parallel port, but I thought that the controller cable would be too small to reach the back of the PC.

4. The "new version" of PPJoy (the one found in did not work for me (Windows XP Professional SP3), it refused to install saying that my PC didn't allow unsigned drivers do be installed, when in fact it did (yes I double checked the settings on the hardware tab of the system properties). The one that worked for me was the one at

5. When soldering directly to the pins on the DB9 and DB25 connectors, I found it difficult to use that rule of soldering that says that you must heat the joint (in this case the back of the pin on the connector and the wire) and not the solder itself. Trying to do so resulted in a long wait for the pin/wire to heat, and the pin to bend. I ended up committing the sin of heating the solder itself. Anyway, it might be just my bad soldering, since this was the first time I soldered ever =)

crrimson (author)leopignataro2010-04-27

I'm really glad you got it to work, reading your comments makes me glad I did the instructable.  Thanks!

KhronosDiavolos (author)2010-04-06

I don't understand why you cant just plug the Sega Genesis controller in a serial port...

crrimson (author)KhronosDiavolos2010-04-07

The Genesis controllers don't use the same protocol or speak the same "language" the serial port uses. 

All of the drivers available make use of the parallel port.

Sega's controller protocol had to be reverse engineered by someone and drivers written to make the parallel port act like a Genesis controller port would.

Here is more technical info:

Dr-NO (author)2010-02-15

I made it for one controller only. I checked all the connections. They were fine.
My controller is 6 button Sega Genesis/Mega Drive 2 type.
I have downloaded the NTPad and configured it for one controller.
Installed the driver but when i go to the properties of the joypad in control panel the driver crashes and windows stops it. I uninstalled everything and restarted the PC. Now i'm trying to install it again and it has been an hour since i started the installation and it is still searching for drivers. What do i do wrong?

crrimson (author)Dr-NO2010-02-15

I used PPJoy drivers, then NTPadXP drivers in that package.  I had no trouble with them at all, using Windows XP SP3.

Searching google found this site:

It looks like the author just updated these for Windows 7 64 bit.  May want to try posting a comment there for support, or try the newest version of the drivers if you have a newer OS.

Dr-NO (author)crrimson2010-02-18

Thanks man! It works now. The drivers take ages to install but it's probably because my PC is old or because I haven't reinstall the OS for three years.
I added cables for the second controller.

crrimson (author)Dr-NO2010-02-18

Awesome!  I'm glad it worked.  I may have to post that link in the instructable as well.

jaded32 (author)2009-12-03

 i dont see the point of this, when u could just get an xbox controler and splice a usb on the end of it...

crrimson (author)jaded322009-12-04

Trainguyxx (author)crrimson2010-02-02

Agree'd, Indefinetly.

I'd much rather use my genesis controllers for everything (not only that but i also have fusion, so i can now play the old cartidges that died (havent yet, but you know)

Solifluktion (author)2009-12-29

Hell yeah. Just today I found 2 old 3 Button Controllers in my Parents Cellar. The Console of course was broken, but the controllers should still work. Can't wait for my Holdays to try this myself :)

markyb86 (author)2009-06-20

I'm doing this tonight! I'm gonna change it up a bit though. Wish me luck I will post when its finished!

markyb86 (author)markyb862009-06-20

It works awesome! I didnt have to solder anything either. just used crimp db-9 males and a crimp db25 male, a project box from radio shack and two 4' cat 5 cables. works like a dream! I just wish that one of my pads wasnt broken :-(

MajorDork1974 (author)markyb862009-09-13

are you sure your controller is broken? double check by swapping them around.I'm having the strangest problem with this.Both of my controllers work perfectly in "game controllers" in my control panel,but as soon as something is started that uses the controllers player 2 gets weird and does random stuff,and some buttons do not work.if i close the app,like "joytokey",or an emulator,it goes back to normal and works fine again.I even tried using a different wiring diagram for "consolecable" and still the same problems.

crrimson (author)MajorDork19742009-09-13

Marky, Major, have you checked your parallel port settings? I would use the schematic I posted, then try the different settings such as ECP, EPP, etc. in the BIOS to see if that might help. Or you could try it on a different computer if you have another one around. I had some trouble in the past with my old computer's parallel port didn't work with this.

MajorDork1974 (author)crrimson2009-09-13

yes I've tried it on 2 different computers and i made sure the bios was set to ecp/epp(their default settings) and ive tried it with 2 different wiring diagrams,and I've swapped the p1 and p2and I've triple checked all my solders.But it still does the same thing to p2 as soon as something is running that needs the controllers,p2 gets real seems to me that it must be a software problem inside of windows,I'm there something I'm missing? I have the latest directxmaybe there is something else I need.

crrimson (author)MajorDork19742009-09-13

I tested a few things out myself. I did notice that if I am playing a game that uses the XYZ buttons, my player 1 controller sometimes will press one of those X Y or Z buttons without me pressing it, but since most genesis games don't use them I haven't found it to be much of a problem I checked and my controllers work both when my parallel port is set to ECP or EPP, I know that it doesn't work when it is set to Normal. The only thing I can think of to try is changing some of the PPJoy driver settings possibly. If I go to PPJoy Joystick and Gamepad configuration utility it shows under configured joysticks: LPT1: NTPadXP Genesis pad 1 (A,B,C,X,Y,Z, Start and Mode) LPT1: NTPadXP Genesis pad 2 (A,B,C,X,Y,Z, Start and Mode) I don't remember setting the mappings up at all, and I"m pretty sure I left the timings on default as well, my timing shows Genesis interbit delay: 2 u.s, Genesis 6 button interbit delay: 14 u.s. My other suggestion would be to either try and do a whole new circuit on a breadboard without soldering to save time & avoid possibly overheating diodes or creating shorts. I would be willing to test yours out on my computer to see if it worked but you would have to pay for shipping :) It could be possible that both of your computers have parallel ports that aren't compatible, I'm not sure.

MajorDork1974 (author)crrimson2009-09-13

thanks for the help,but it looks like I'm going to have to get a PCI I/O card so that I can just build two single controller, I got 2 regular 6 button gamepads and I still have trouble, but I am not done trying to figure this out yet,but its really hard to find good info since its an old program. I've done this type of project a few times in the past with no trouble,but not to sega controllers(which are my favorite for certain games,SF2,etc.,)so I really want this to work...if I find a solution I will let you know.

markyb86 (author)crrimson2009-09-13

I had an issue when using a 3 button controller with the 6 button config. gotta remap it for the 3 button and all was good

markyb86 (author)crrimson2009-09-13

Nothing wrong with the adapter, it was just the one used controller I bought. I have two generic 6 buttons now that work great. Thanks though!

markyb86 (author)MajorDork19742009-09-13

Yeah It was broken, I bought two 6 button controller clones and they work great!

crrimson (author)markyb862009-06-20

That's good to hear, I'm glad you got it working easily! Look on ebay I'm sure new sega controllers are probably dirt cheap.

MajorDork1974 (author)2009-09-13

I'm having the strangest problem with this.Both of my controllers work perfectly in "game controllers" in my control panel,but as soon as something is started that uses the controllers player 2 gets weird and does random stuff,and some buttons do not work.if i close the app,like "joytokey",or an emulator,it goes back to normal and works fine again.I even tried using a different wiring diagram for "consolecable" and still the same problems.I've done this stuff before with NES and SNES 4 player each ,and never had a problem.Can anybody help? I;ve googled everything i could think of and I'm still stuck.

sk8er6 (author)2009-09-10

so i get the adapter, but whats on the other end? you basically ran a cable from the inside of your computer to the outside to plug it in the back into the lpt1 jack? am i on the right track? or is it hooked up internally?

crrimson (author)sk8er62009-09-10

You got it. the cable runs from the LPT1 in the back and is routed/zip tied through the inside of the case where it connects to the front panel.

dangerneck (author)2009-06-05

this looks very nice. i've attempted to make this a few times, but every time due to my poor soldering skills the start button begins to spontaneously go off, and things fall apart. this gives me hope.

crrimson (author)dangerneck2009-06-05

I'm glad you liked it! Try making it again, I didn't succeed the first time I tried it either. I would say if you're not good at soldering, buy a breadboard and put one together on that first to save yourself some time and make sure it works with your parallel port.

UltraMagnus (author)2009-04-28

nice instructable. however, I have found that the metal sheathed db9 connectors, like the ones you have used, as most are, can damage the plastic connector on the megadrive controller

crrimson (author)UltraMagnus2009-04-28

Thanks, You're right, the DB9 ports are a snug fit, and rub the top 2 corners of the controller connector, but it didn't damage the controller more than slight scratches on a part that stays plugged in most of the time anyway.

About This Instructable




More by crrimson:Build Sega Genesis Controller Ports for your PC!
Add instructable to: