XBCD – Getting those old controllers working again!
XBCD is an abbreviation for the “X-Box Controller Driver” Which has been around for almost as long as the Original Xbox Controllers themselves (approximately 2001-2003). As of 5/4/2017 the guide was updated to illustrate ways of installing these drivers which hopefully will answer the many questions that we get about them. This new method also no longer requires the testsigning feature which also eliminates the requirement for UWD.exe which should make some of our subscribers happy.
(Especially YOU TimmyP! Yeah, I didn’t forget you! UWD.exe is gone! Your welcome!)
Video tutorial fallback mirrors:
In case you have no-script enabled or for some reason cannot see the title video on this website. I have provided direct links for these videos.
- WebM – Link – This is the newest video standard, works great on Opera, Firefox, Chrome, and newer android phones, not good for Safari, IE, Apple.
- MP4 – Link – The most compatible codec but also rather large in file size. May take a while to download.
- OGV – Link – The fallback codec for older PC’s and Linux USB stick OS’s. 1st generation web video streaming based on Ogg-Vorbis encoding.
It should be noted like any hardware or software hack that we are not responsible for any physical, mental, financial, or psychological damage which may happen when following this tutorial. The drivers and software provided are intended to work in an AS-IS bases. We provide no guarantees if it will work with your product. This tutorial also contains internal links for binary files to which we highly suggest that you invest in a good virus checker prior to downloading anything off of the internet. Trust no one! For additional and general questions refer to the FAQ of this site.
Back in the days when Microsoft got involved with the console wars. They made a bunch of controllers for their X-Box units which people began to realize that if you just splice a USB cable on the end of the proprietary connection then you could use the Xbox Controller on your PC. Microsoft at the time really didn’t want to associate hardware from their console with hardware with their PC because a few corporate people back then felt it would disenfranchise their user base from actually purchasing an Xbox.
Xbox 360 and onward.
It wasn’t until the introduction of the Xbox 360 that Microsoft gave support for their users to use their beloved controllers on their PC’s and other devices. Even then Xbox 360 controller support for PC users came incredibly late throughout the production run of the Xbox 360. As of the Xbox One the controllers can work with Windows 10 games provided of course you buy their proprietary wireless receiver or you hook a USB cable direct to your PC and hope that mini-USB interface does not break or else you will never be able to charge said Xbox One controller.
XBCD development cycle.
Like all things, XBCD development stopped as many thought it wasn’t necessary to develop. I even posted a blog article talking about the Wireless Xbox 360 receivers and controllers and how awesome they were. Windows XP was the last official supported version of XBCD 0.2.7 with some 32 bit work for Windows Vista . However, for those users that want to keep their controllers going in the year 2016 there’s a way to keep on rocking with these controllers.
Hardware Prerequisites for XBCD and how to hook it to your computer.
Lets get the hardware section out of the way first. If you ever picked up an original Xbox controller you will notice right away its proprietary connector that is attached to the joysticks. We need to convert that connection into something a little more usable for our PC.
You could buy a converter cable.
Ebay – has a large assortment of cables under $10 easy.
Amazon – also has these cables available as well!
Thanks for Mantis Toboggan M.D.4 for finding links and the proper name for these cables. Either link you choose to buy a cable just know that we don’t many any money providing Ebay or Amazon links and just do it as a service for those interested in purchasing the adapter versus building one.
Make your own Xbox to USB adapter.
Lucky for us , the wiring of the Xbox joysticks is very easy, simply strip the wires down, find a USB cable you don’t mind destroying, strip that down, and match the colors within the cable to the appropriate selection. The only cable you do not connect is the yellow clock/timer chip. You could use a USB A Male to Xbox female connector out of a destroyed Xbox unit like I did to preserve your original Xbox Joysticks. Or if you no longer care about authenticity and just want to get that ultra cheap controller working then you can simply cut the cable on that joystick and add the USB cable right onto it.
You could just wire twist them on and shrink tube it together, or solder it together and then use shrink tube (preferred). Does not matter so long as the cabling is secure as we don’t want this to come apart as we’re playing a game. It should also be noted that if you do have an original Xbox that by splicing a Xbox male connector and USB female that you can hook things up like usb stick (limited compatibility restricted to 2gb) for save games as well as hooking up keyboards for some of the home-brew titles that exist out there.
Back in the day when you upgraded your Xbox Original case sometimes the vendor didn’t feel like removing anything from the front panel such as the control panel buttons and the Xbox connectors that they wanted users to transfer their guts over as quickly as possible. Since these were held in by a few screws they were easy to extract and easy to plug into my own little case for it. Using a Cheap USB hub it can be soldered all of the connectors into a single box so you have a breakout box for party games.
Now we can finally talk about the software side of things to get it all working on your Windows box. Some of you may wonder why we host the files directly versus referring you off to a forum or another site. The answer is simple:
A tutorial should not infect your computer with spyware!
When visiting the forums which contained this driver we were getting redirected to an ad.fly pay-per-click service. This service refused to let us download the binary until we turn off ad-block. Upon turning off ad-block ad.fly then produced a pop-under window which immediately began an attempt to install a Trojan onto an unsuspecting users PC. This is what happens when you don’t pay for storage. Eventually someone else will pay for it and you won’t like what they will do to your good name! Infecting peoples PCs wish spyware/malware/ransomware is totally counterproductive to what you are trying to do which is make a old piece of hardware work on a modern computer.
Unlike other sites which will route you through hell and endanger your PC. We are not going to do that to you. Because we love you too much.
I have provided a direct link for everything that you need for XBCD.
Inside this archive:
- A Driver folder which has the same files that the XBCD script installs into C:\Program Files(x86)\XBCD\ . These are here for people who don’t want to use the XBCD utility.
- A shortcut folder which has a shortcut to the XBCD utility since the installation script may not generate this shortcut automatically.
- x360ce-x32 and x360ce-x64 folders. These are utilities which help certain games acknowledge the fact that a legit xbox 360 controller is hooked up when in fact it is not. Respectfully these are later versions then what XBCD installs into C:\Program Files(x86)\XBCD\ and can be used for games that require the presence of a true Xbox controller. All DLL files for windows 10 are rolls into those folder too.
- disable.bat and enable.bat for turning off integrity checking within Windows 10 64-bit edition.
- XBCD_Installer_0.2.7.exe – the binary file itself!
Click on the download link on the right hand side to go grab the file. Credit goes off to RedCl0ud for this wonderful software. Everything is open source and free for anyone to add/modify to it so go nuts.
Using your favorite file extractor; Unzip all of these files to a folder you can remember. This tutorial is going to use C:\xbcd\ as the reference from here on out.
It’s always a good idea to verify the hardware that is being installed whenever you are plugging in something new into your PC. This should be a habit that everyone does because it could save you hours of headaches installing drivers on the wrong device or if the device is not even detected properly. To access this either right-click on your start button and open device manager. Or press the windows + r key and type in the following.
The device manager window will open up. Plug in your Xbox controller now and you should see Device Manager flicker attempting to identify the USB device. It will ultimately list the device as “Unknown device” in the “Other Devices” catagory. Right-Click on the Unknown Device and click “Properties”. Click on the Details tab and under the property drop-down box select “Hardware Ids” In the window above we have USB\VIS_045E&PID_020&REV_0100. A VID_045E. This game-pad is a Microsoft Xbox and a product ID of 0202 which is the Original Xbox “Duke” controller. Vendor IDs will change if you plug in third party controllers like Madcatz or Pelican controllers. Product IDs will also change with third party. But can also change if you plug in the original Xbox “Duke” Controller versus the original Xbox “S” Controller. As long as it produces an ID is the only thing we are looking for here.
If you see a VID_0000&PID_0000 or VID_???&PID_??? . Then your computer cannot detect the controller and you need to stop right here and identify what is wrong with your Xbox controller such as possible bad wiring or if it needs more serious repair. Installing the driver will not help if you if you one of those two Hardware IDs.
Great, I have the files, I can just launch XBCD_Installer_0.2.7.exe and I’m good to go right?
If you are running Windows 7, or Windows 10 32-bit then yes. This tutorial ends for you right about now. Windows 32-bit edition does not rely on heavy driver verification.
For the majority of users running windows 64-bit edition this is the error that you will more then likely see if you attempt to run the setup file without doing anything. From the setup file it doesn’t really tell you why the installation failed. For that we go back into device manager.
If you attempt to install the XBCD driver from C:\XBCD\driver via device manager. We get a more precise error as to what is going on. Which simply put our driver does not have an online certificate which costs $200+ dollars a year to make windows 64 happy. In order to get around this error we are going to have to disable some of the security which is installed into Windows 10 64-bit.
Disabling integrity checking in Windows 10 64-bit.
We have provided a file named disable.bat within the archive which attempts to automate this process for you by elevating itself to administrator status and passing all of the commands into the windows bootloader so that it can boot with integrity checking disabled. If you don’t trust my batch files which you have no right to trust. Simply open a command-line with administrative access and pass the following commands.
bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKS bcdedit -set nointegritychecks ON
And reboot the PC.
Script fails and still cannot install drivers. Disabling integrity checking manually.
Sometimes windows 10 gets especially obnoxious about drivers and we will continue to get digital signature errors. Here is how to totally disable integrity checking manually one time so we can install the driver.
Click the windows button then click on the power icon right above. While holding down your shift key and left-click the restart option.
If you held down the shift key and pressed that restart button correctly you will be presented with a menu of something like what is above. Select Troubleshoot.
Select Advanced options.
Select Start-Up Settings.
Finally Select the “Restart” button and the computer will go into boot selection mode.
You will not have a mouse in this mode. simply pressing the 7 key will be enough for the OS to reboot once more allowing you to finally be in the mode that we want to install the driver.
It should also be noted that manually disabling driver signature enforcement is only good for one reboot versus the script or command-line method which is a more permanent approach towards disabling signature enforcement.
If you only choose the manual method of disabling integrity checking then the next time you need to install a driver you will have to go through the manual process again.
Installing the driver for XBCD
Now that we have straightened out integrity checking you may not want to run the XBCD wizard again. After-all the XBCD control panel is installed and the driver installation wizard isn’t all that helpful. So lets do this manually. Go back into device manager and right-click on our unknown device which we confirmed it was our Xbox controller earlier. Select “Update Driver Software.”
We wish to select “Browse my computer for driver software”
In general we don’t trust Windows in doing anything right. Select “Let me pick from a list of drive drivers on my computer.”
The default selection of “Show All Devices” is fine. Click Next to continue.
Select the “Have Disk…” button to continue.
You can click the “Browse” button to find the folder that our driver is in. You may use the provided driver in C:\xbcd\Driver or you may also use the driver that the XBCD installer provides in C:\Program files(x86)\xbcd\Driver\ it does not matter.
Once have you have selected your folder click “OK” to continue.
It finds out controller which is good. If it does not then check your Hardware ID of your unknown device. Click Next to finally install this driver.
Now that driver integrity checking is disable we are welcomed with something a little more retro which is this window warning us that it can’t verify the driver. This is very good. Click “Install this driver software anyway” and it should begin loading the XBCD driver into your Windows 10 64-bit box.
Driver installation is now complete.
The XBCD Xbox Controller driver now takes it’s place in the Human Interface Device catagory of device manager. Installation is complete and onward to the testing.
Testing the XBCD joystick..
To pull up the window above. You can press the window key + R to bring up a rum prompt and type in:
Then click on the properties button.
Alternatively, you can click on your windows logo and click on settings, devices, connected devices, and scroll down to devices and printers.
From here you can right-click on the XBCD Xbox Controller and click properties.
But you’ll notice something is different from a regular Xbox 360 controller, it is recording a lot of buttons, and the shoulder buttons are recognizing as digital buttons which could mess you up in certain games that assume that every player out there has a Xbox 360 or Xbox One controller hooked up to their PC.
Since the XBCD installation utility is very old it may not generate the necessary shortcuts for you in windows 64. I have made my own shoutcut under the C:\XBCD\shoutcut folder that you can copy out to the desktop. Once you have it on your desktop. Right-Click on it and Run as administrator. If you fail to run this program as administrator it will error out on you.
Once you have the XBCD utility launched you can then select a profile of XBCD 360 Emu and click the Apply button. It will then change the personality of your default classic Xbox controller into something more like the Xbox 360 controller for games on windows. This utility is insanely powerful as you can remap buttons and even accesses to digital pads which is very useful if you so happen to have any Dance Pads as you cannot hold both left-right pots down simultaneously with the default windows joystick mapping.
Now if you go back to your windows joystick test program, you will see that the layout is behaving more like a standard Xbox 360 controller and your shoulder buttons are back with their analog hat feel to them.
Disclaimers, security and integrity concerns about Windows 10:
But S, isn’t it dangerous to run windows 64 bit with the integrity checking disabled and test signing on?
I’m no MCSE expert but I’m going to say “Yes.” However, it makes you about as vulnerable as a windows 7 box. Microsoft keeps adding more and more layers of security to their OS in the hopes of keeping bad things out such as malware and ad-ware affecting the very core of your operating system. To turn off those sections could invite some of those in maybe. But if you are like me and have a dedicated PC assigned to couch gaming or emulators which if something or someone breaks into it it’s a low-risk item and thus you can simply USB stick reload it and get back to normality.
If you are on a PC with highly sensitive data then you probably shouldn’t be doing this level of hacking/modding to your windows 10 box. Please consider purchasing an Xbox One controller and receiver if you are uncomfortable with hacking and want a controller that can integrate seamlessly into windows 10.
Public Driver Signature.
Going through the grueling process of getting the XBCD driver publicly certified underneath windows 10 is one option available to avoid going through all of the hacking with “Test Mode”. Also, allowing the driver to install just like windows XP and 7.
S, can you make a publicly signed version of this driver for us?
Costs money to do it. The last time I checked it costs around $200(usd)/yr to maintain a valid domain signature to assign to drivers that are personally made. The team the developed XBCD is all open source. So if someone wants to get the public certification to do it by all means! It would save me from having to write out all of this!
Devices compatible with XBCD.
Pulling directly from the xbcd.inf file is a list of vendor ID’s you may find within device manager that will verify that your controller does indeed work with the XBCD driver. Keep in mind these are only the drivers detected. If you have a controller not listed here you can manually install but success may not be guaranteed. For example, my Pelican Wireless Controllers and my Pump-It-Up Dance Pads for Xbox I had to manual install and it works despite not being on the drivers listing.
Original Xbox Controller for XBCD
|Vendor/Product ID||Control Type||Description|
|USB \VID_044F&PID_0F07||GamePad Controller||Thrustmaster Controller|
|USB \VID_045E&PID_0202||GamePad Controller||Microsoft Xbox Controller|
|USB \VID_045E&PID_0285||GamePad Controller||Microsoft Xbox Controller S|
|USB \VID_045E&PID_0287||GamePad Controlelr||Microsoft Xbox Controller S|
|USB \VID_045E&PID_0289||GamePad Controller||Microsoft Xbox Controller S|
|USB \VID_046D&PID_CA8A||GamePad Controller||Logitech Cordless Precision|
|USB \VID_046D&PID_CA88||GamePad Controller||Logitech Thunderpad|
|USB \VID_05FE&PID_3030||GamePad Controller||Chic Controller|
|USB \VID_05FE&PID_3031||GamePad Controller||Chic Controller|
|USB \VID_06A3&PID_0201||GamePad Controller||Saitek Adrenalin|
|USB \VID_0738&PID_4516||GamePad Controller||MadCatz 4516|
|USB \VID_0738&PID_4520||GamePad Controller||MadCatz Control Pad Pro|
|USB \VID_0738&PID_4526||GamePad Controller||MadCatz 4526|
|USB \VID_0738&PID_4536||GamePad Controller||MadCatz Microcon Xbox Controller|
|USB \VID_0738&PID_4556||GamePad Controller||MadCatz Lynx Wireless Controller|
|USB \VID_0738&PID_4586||GamePad Controller||MadCatz MicroCon Wireless Controller|
|USB \VID_0738&PID_4588||GamePad Controller||MadCatz Blaster|
|USB \VID_0C12&PID_0005||GamePad Controller||Intec wireless|
|USB \VID_0C12&PID_8801||GamePad Controller||Nyko Xbox Controller|
|USB \VID_0C12&PID_8802||GamePad Controller||Nyko Air Flow|
|USB \VID_0C12&PID_880A||GamePad Controller||Nyko Xbox Controller|
|USB \VID_0E4C&PID_3510||GamePad Controller||Radica Gamester|
|USB \VID_0E6F&PID_0008||GamePad Controller||After Glow Pro Controller|
|USB \VID_0F30&PID_0202||GamePad Controller||Big Ben XS Xbox Controller|
|USB \VID_FFFF&PID_FFFF||GamePad Controller||PowerWave Xbox Controller|
|USB \VID_044F&PID_0F00||Steering Wheel||Thrustmaster Wheel|
|USB \VID_044F&PID_0F03||Steering Wheel||Thrustmaster Wheel|
|USB \VID_044F&PID_0F10||Steering Wheel||Thrustmaster Modena GT|
|USB \VID_062A&PID_0033||Steering Wheel||Competition Pro Steering Wheel|
|USB \VID_06A3&PID_0200||Steering Wheel||Saitek Racingwheel|
|USB \VID_0E8F&PID_0201||Steering Wheel||Gamexpert PS2/GC/Xbox Steering Wheel|
|USB \VID_3767&PID_0101||Steering Wheel||Fanatec Speedster 3 Forceshock|
Xbox 360 Controllers for XBCD
|Vendor/Product ID||Control Type||Description|
|Vendor/Product ID||Control Type||Description|
|USB \VID_045E&PID_028E||GamePad Controller||Microsoft Xbox 360 Controller|
|USB \VID_046D&PID_C242||GamePad Controller||Logitech Chillstream|
|USB \VID_06A3&PID_F51A||GamePad Controller||Saitek P3600|
|USB \VID_0738&PID_4716||GamePad Controller||Madcatz Xbox 360 Controller|
|USB \VID_0738&PID_4718||Stick Controler||MadCatz Street Fighter IV Fight Stick|
|USB \VID_0738&PID_4726||GamePad Controller||MadCatz Pro for Xbox 360|
|USB \VID_0738&PID_4728||Stick Controller||MadCatz Street Fighter IV|
|USB \VID_0738&PID_4736||GamePad Controller||MadCatz 360 MicroCon|
|USB \VID_0738&PID_4738||Stick Controller||MadCatz Arcade Gamestick (Street Fighter IV Fightstick TE)|
|USB \VID_0738&PID_B738||Stick Controller||Madcatz Arcade Fightstick Tournament edition.|
|USB \VID_0738&PID_BEEF||GamePad Controller||Joytech NEO Se Advanced|
|USB \VID_0E6F&PID_0201||GamePad Controller||Pelican XSZ Wired Controller (Model #PL-3601)|
|USB \VID_0F0D&PID_000A||Stick Controller||HORI DOA4 Stick|
|USB \VID_0F0D&PID_000C||Stick Controller||HORI Pad EX Turbo|
|USB \VID_0F0D&PID_000D||Stick Controller||HORI EX2 Fighter Stick|
|USB \VID_162E&PID_BEEF||GamePad Controller||Joytech SE for 360|
|USB \VID_1BAD&PID_F016||GamePad Controller||Mad Catz Xbox 360 GamePad|
|USB \VID_1BAD&PID_F501||Stick USB \VID_1BAD & PID_F900 Controller||HORI Pad EX2 Turbo|
|USB \VID_1BAD&PID_F502||Stick Controller||Hori HRAP VX-SA|
|USB \VID_1BAD&PID_F900||GamePad Controller||Afterglow AX.1 Wired controller|
|USB \VID_046D&PID_CAA3||Steering Wheel||Logitech DriveFX Wheel|
|USB \VID_1430&PID_4748||Guitar Controller||RedOctane X-plorer Guitar|
|USB \VID_0738&PID_4540||StepPad Controllers||MadCatz Beat Pad (w/ Handle)|
|USB \VID_0738&PID_45FF||StepPad Controllers||MadCatz Beat Pad (w/ Handle)|
|USB \VID_0738&PID_4740||StepPad Controllers||MadCatz Beat Pad 360|
|USB \VID_0738&PID_4743||StepPad Controllers||MadCatz Beat Pad Pro|
|USB \VID_0738&PID_6040||StepPad Controllers||MadCatz Beat Pad Pro|
|USB \VID_0C12&PID_8809||StepPad Controllers||RedOctane Ignition Pad|
|USB \VID_12AB&PID_0004||StepPad Controllers||Konami DDR Pad|
|USB \VID_12AB&PID_8809||StepPad Controlelrs||Konami DDR Pad|
Unsupported devices by XBCD
|Vendor/Product ID||Control Type||Description|
|USB \Vid_045E&Pid_0719||GamePad Controller||Microsoft Xbox 360 Wireless Controller|
You can simply visit the blog about wireless controllers if you have a problem with the wireless Xbox 360 Controllers.
This may be helpful for those looking for other solutions to gaming or for those wondering why would you even get gaming controllers to work on the PC in the first place.
It’s still amazing that you can get controllers from almost 15-16 years ago operating on the latest operating system and computers. It’s a perfect solution for those who are looking for cheap controllers. You can find these controllers at various thrift stores and other surplus stores ranging from $1-5 USD. The value can of course change as time moves on and these controllers start to build collectors value. You can also mess with people by showing them the original Xbox controller named “The Duke” because you needed man-hands to use it!:)
I compiled this tutorial because we was getting tired searching through dead end forums over and over again. I hope you find it useful.
Until then, have fun, server protect you.
END OF LINE+++