XBCD - Now with windows 10 love!
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). It should be noted that this is the archived version of the documentary and that if you want to check out the most up-to-date version then click here to be taken to the new XBCD documentary. It corrects a few issues with policies of no longer requiring test signing and also covers some manual techniques on how to turn off driver signature enforcement in Windows 10 64 bit edition.
"Note: If you get a black screen but the audio is playing. Or you got a potato PC and it's studdering. We have fallback Links below."
Video tutorial fallback mirrors:
In case you have no-script enabled or for some reason cannot see the title video on this website. We have provided direct links for these videos. For more information about the standards we use on this site click here if you would like to know more.
AV1 - Link WebM VP9 - Link OGV - Link MP4/.h264 - Link
Update: 12/9/2016: Windows 10 is getting obnoxious with its system politics again and as a result, the x360ce utility designed to emulate the newer direct input standards for Windows Live games is broken right now. The old XInput system is working however only older games will work with the old standard. Currently. We are waiting for an update from the makers of x360ce to resolve this issue.
History time!
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 was released around 2008 giving a few-year gap between its initial release date in 2005. This dongle was designed to work with the "Games for Windows" logo during Windows 7. They also mentioned that this dongle would work with "all future Xbox 360 devices." That is of course until the Xbox One came out.
Since Microsoft was very quick the bury the Xbox original console this left a void of people wondering what to do with their old hardware. Well, one of those things to do is to recycle the controller onto your PC.
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 officially 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.
Let's 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.
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). It 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 an Xbox male connector and USB female that you can hook things up like a USB stick (limited compatibility restricted to 2GB) for save games as well as hooking up keyboards for some of the homebrew titles that exist out there. Back in the day when you upgraded your 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.
Lets begin installing XBCD!
Now we can finally talk about the software side of things to get it all working on your Windows box.
Get the XBCD Software:
I have provided a link to the XBCD-0.2.7.exe file as well as the modified drivers for the zip file that we will be using in this guide. Click on the download' link on the right-hand side to go grab the file. Unlike other sites that route you through ad-pop-ups for profit, I won't do that to you. 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. Note: Archive has been changed from a .zip to a .7z. This does not affect the tutorial in any way. If you need a list of 7-zip extractors follows this article for more information.
Disabling integrity checking and enabling test signing in windows 10.
Windows 10 has become a lot more strict about how drivers are installed onto their operating system. In a windows 32-bit environment you simply signed the driver and that's it. 64-bit, however, requires you to have your driver signed by a trusted domain source that requires a yearly fee in order to maintain your certification of said drivers. Since I'm not filled with the dollar bills to make a public certification of these drivers we will be disabling the integrity checking which will allow non-registered drivers through and finally we will enable test signing which will allow us to actually install the drivers in a 64-bit environment without the requirement of the public certification. After you have unzipped your 7-zip file using WinRAR or other tools. Go into your newly extracted XBCD folder. Right-click on the disable.bat and run as administrator. it will pass the following commands:
bcdedit -set loadoptions DISABLE_INTEGRITY_CHECKS bcdedit -set TESTSIGNING ON shutdown /r
And it give you a minute to save your work so you can reboot your Windows 10 box. I did not want to be cruel and add a /force flag in case you were in the middle of something. If you see the test mode watermark in the lower right-hand corner of your desktop. Then you know the script passed correctly and you can begin installing the XBCD utilities and services.
Before XBCD - Driver not found in windows 10.
Under windows 10, if we go under "Device Manager" simply right-clicking the windows logo and clicking on the device manager. Then plug in your Xbox Controller. Windows 10 will attempt to find a driver but it will fail. To verify this is indeed the correct device that we want we will right-click on the unknown device and click properties. If you go into the details tab and then under property you can select the Hardware ID in the dropdown section. It should pull up a value USB/VID_045E&PID_0285 Which represents my OEM Microsoft Xbox Controller "S" Series. If you have third-party controllers they may register as something slightly different but the Vendor ID for any official original Xbox hardware will be 045E. If you have any third-party controllers such as Matcatz or Logitech it may show up with a vendor ID but it can still be used.
It's a rather basic installation but we can walk through all of the steps here.
- Click next to continue.
- Click next again.
- Default folder of C:\Program files\XBCD (win32) or C:\Program Files(x86)\XBCD (win64) is fine. Click next to continue.
- XBCD Drivers and Source Code - This should be selected from the dropdown. Click next to continue.
- Default XBCD program shortcut is fine. Click next to continue.
- Click install to begin the installation of XBCD.
- Information about the shortcut. Click next to continue.
Now if you are running a 32-bit version of windows 7 or even windows vista or 10 you might want to run the driver installer tool to see if XBCD will accept your certificate. If it does then you are pretty much done and the system will automatically install your joysticks for you. For windows 10 64 bit users we still have more work to do thanks to Microsoft making driver certification insane for windows 10 64-bit. Special note for Windows 32-bit users: since the driver restrictions are less intensive you may be able to run the enable.bat script to turn on your test signing and integrity checking once again.
Installing the certificate into Windows 10.
Once you close out of the setup tool it will view the XBCD certificate that is associated with the driver. Click install certificate to continue. We will want to click the box for the local machine because we want it to affect all accounts on this windows 10 box not just one user. Click next to continue. Because we are adding to local machine it will want administrative privileges to do so. Click yes to continue. Automatically select the certificate store is fine. Click next to continue. Select finish to install this certificate onto your windows 10 box. Then Finally click OK.
Installing the driver for XBCD
Plugin your Xbox Controller and it will show as an unknown device. to verify, right-click on the unknown device and click on its properties to find out what device it is so we don't accidentally install a driver on the wrong device. USB/VID_045E&PID_0285 indicates it's a Microsoft Xbox Controller "S" series.. Which is good. if you have a different controller made by Microsoft your PID will change. If you have a third-party original Xbox controller such as a Madcatz, Gamestop, or Logitech then your VID will change. We can hit OK and proceed towards installing the driver onto this unit. Right-click on our unknown device again and click "Update Driver Software..." For windows 32 bit users searching automatically does work since the driver was signed, published, and installed. However, for 64-bit users, we will have to browse for this file. Click on Show all devices and click next afterward. Depending on what version of windows you are on. the XBCD Xbox Controller may or may not be present. Just to be on the safe side click on have disk. Enter the path to where you have extracted the XBCD folder. By default, it should be C:\XBCD\win8-10-driver\ and click ok to continue. Now that we have confirmed the right path, click next to continue. It will then give us an old familiar warning that we used to get in windows 7 that windows does not trust what we are doing. This is okay. Install the driver anyway and continue on. If all goes well then the driver will install onto your Windows 10 box. Close this window out. You should now have your Xbox Controller healthy underneath the device manager
Using the XBCD utility.
Now you don't have to use the XBCD utility that comes with this installation if you don't want to. You could simply go into settings, devices, devices, and printers, right-click the Game Controller Settings underneath the XBCD Xbox controller and finally click properties to pull up the joystick test menu that you see above. 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 shortcut 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 an 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 digital pads which are very useful if you do 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.
The windows 8-10 watermark problem:
Now if you decide to run the enable.bat script to turn on integrity checking and disable the test signing the XBCD driver will crash right away as a windows 10 service prevents non-conformed drivers to work properly. And chances are, you ran enable.bat because you want to get rid of that obnoxious test watermark at the lower right-hand corner of the screen.
Universal watermark disabler.
Lucky for us there's a utility out there called universal watermark disabler which takes care of that little annoyance. I placed uwd.exe into the XBCD.zip file so simply click on it, install it, and your desktop will be free of annoying watermarks from Windows like that. Be sure to donate to them! After you install it will log out of your user-profile which you can simply log back in and the watermark will be gone afterward. If you wish to revert what uwd.exe has done simply launch this program again and there will be an "Uninstall" button there instead of an install. Click it one more time and reboot. You will see your watermark in Windows 10 again.
Disclaimers, security and integrity concerns about Windows 10:
We are placing a disclaimer at this point informing people that the next application would technically be considered a 'Hack-Tool' as it not only modifies the registry key of HKEY_CURRENT_USER\CONTROL PANEL\DESKTOP\PaintDesktopVersion to 0 but it also alters the basebrd.dll.mui and shell32.dll.mui in order to accomplish this goal. It is entirely up to you the you the user if you wish to use this tool and understand that as with any operating system updates may come out to disable this package. If you are fine with having the "test mode" watermark on your desktop then you do not need UWD.exe and you can keep going!
The tool is provided on an AS-IS basis and no one including this site is held responsible for any damage to your PC or to yourself be it physical, mental, psychological, or otherwise. You should also keep the utility handy with you as any major service pack updates which come down from Microsoft may replace those two key files restoring that watermark onto your desktop again. It is possible you may need to re-run this program after any major updates that occur within Windows 10. We should also note that although it can remove more watermarks than just "Test Mode" this site in no way condones software piracy. If anyone has a way to install the XBCD drivers without resorting to testing mode we along with many others would be interested. Since the software does have the ability to uninstall itself by simply running UWD.exe again. It is not considered malware by virus-checking companies.
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. Turning 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 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 $250(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 IDs you may find within the 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 manually install and it works despite not being on the driver's listing.
Original Xbox Controller for XBCD
Vendor / Product ID | Control Type | Description |
---|---|---|
USB VID_3767&PID_0101 | Steering Wheel | Fanatec Speedster 3 Forceshock |
USB VID_0E8F&PID_0201 | Steering Wheel | Gamexpert PS2/GC/Xbox Steering Wheel |
USB VID_06A3&PID_0200 | Steering Wheel | Saitek Racingwheel |
USB VID_062A&PID_0033 | Steering Wheel | Competition Pro Steering Wheel |
USB VID_044F&PID_0F10 | Steering Wheel | Thrustmaster Modena GT |
USB VID_044F&PID_0F03 | Steering Wheel | Thrustmaster Wheel |
USB VID_044F&PID_0F00 | Steering Wheel | Thrustmaster Wheel |
USB VID_FFFF&PID_FFFF | GamePad Controller | PowerWave Xbox Controller |
USB VID_0F30&PID_0202 | GamePad Controller | Big Ben XS Xbox Controller |
USB VID_0E6F&PID_0008 | GamePad Controller | After Glow Pro Controller |
USB VID_0E4C&PID_3510 | GamePad Controller | Radica Gamester |
USB VID_0C12&PID_880A | GamePad Controller | Nyko Xbox Controller |
USB VID_0C12&PID_8802 | GamePad Controller | Nyko Air Flow |
USB VID_0C12&PID_8801 | GamePad Controller | Nyko Xbox Controller |
USB VID_0C12&PID_0005 | GamePad Controller | Intec wireless |
USB VID_0738&PID_4588 | GamePad Controller | MadCatz Blaster |
USB VID_0738&PID_4586 | GamePad Controller | MadCatz MicroCon Wireless Controller |
USB VID_0738&PID_4556 | GamePad Controller | MadCatz Lynx Wireless Controller |
USB VID_0738&PID_4536 | GamePad Controller | MadCatz Microcon Xbox Controller |
USB VID_0738&PID_4526 | GamePad Controller | MadCatz 4526 |
USB VID_0738&PID_4520 | GamePad Controller | MadCatz Control Pad Pro |
USB VID_0738&PID_4516 | GamePad Controller | MadCatz 4516 |
USB VID_06A3&PID_0201 | GamePad Controller | Saitek Adrenalin |
USB VID_05FE&PID_3031 | GamePad Controller | Chic Controller |
USB VID_05FE&PID_3030 | GamePad Controller | Chic Controller |
USB VID_046D&PID_CA88 | GamePad Controller | Logitech Thunderpad |
USB VID_046D&PID_CA8A | GamePad Controller | Logitech Cordless Precision |
USB VID_045E&PID_0289 | GamePad Controller | Microsoft Xbox Controller S |
USB VID_045E&PID_0287 | GamePad Controlelr | Microsoft Xbox Controller S |
USB VID_045E&PID_0285 | GamePad Controller | Microsoft Xbox Controller S |
USB VID_045E&PID_0202 | GamePad Controller | Microsoft Xbox Controller |
USB VID_044F&PID_0F07 | GamePad Controller | Thrustmaster Controller |
Xbox 360 Controllers for XBCD
Vendor/Product ID | Control Type | Description |
---|---|---|
USB VID_12AB&PID_8809 | StepPad Controlelrs | Konami DDR Pad |
USB VID_12AB&PID_0004 | StepPad Controllers | Konami DDR Pad |
USB VID_0C12&PID_8809 | StepPad Controllers | RedOctane Ignition Pad |
USB VID_0738&PID_6040 | StepPad Controllers | MadCatz Beat Pad Pro |
USB VID_0738&PID_4743 | StepPad Controllers | MadCatz Beat Pad Pro |
USB VID_0738&PID_4740 | StepPad Controllers | MadCatz Beat Pad 360 |
USB VID_0738&PID_45FF | StepPad Controllers | MadCatz Beat Pad (w/ Handle) |
USB VID_0738&PID_4540 | StepPad Controllers | MadCatz Beat Pad (w/ Handle) |
USB VID_1430&PID_4748 | Guitar Controller | RedOctane X-plorer Guitar |
USB VID_046D&PID_CAA3 | Steering Wheel | Logitech DriveFX Wheel |
USB VID_1BAD&PID_F900 | GamePad Controller | Afterglow AX.1 Wired controller |
USB VID_1BAD&PID_F502 | Stick Controller | Hori HRAP VX-SA |
USB VID_1BAD&PID_F501 | Stick USB VID_1BAD & PID_F900 Controller | HORI Pad EX2 Turbo |
USB VID_1BAD&PID_F016 | GamePad Controller | Mad Catz Xbox 360 GamePad |
USB VID_162E&PID_BEEF | GamePad Controller | Joytech SE for 360 |
USB VID_0F0D&PID_000D | Stick Controller | HORI EX2 Fighter Stick |
USB VID_0F0D&PID_000C | Stick Controller | HORI Pad EX Turbo |
USB VID_0F0D&PID_000A | Stick Controller | HORI DOA4 Stick |
USB VID_0E6F&PID_0201 | GamePad Controller | Pelican XSZ Wired Controller (Model #PL-3601) |
USB VID_0738&PID_BEEF | GamePad Controller | Joytech NEO Se Advanced |
USB VID_0738&PID_B738 | Stick Controller | Madcatz Arcade Fightstick Tournament edition. |
USB VID_0738&PID_4738 | Stick Controller | MadCatz Arcade Gamestick (Street Fighter IV Fightstick TE) |
USB VID_0738&PID_4736 | GamePad Controller | MadCatz 360 MicroCon |
USB VID_0738&PID_4728 | Stick Controller | MadCatz Street Fighter IV |
USB VID_0738&PID_4726 | GamePad Controller | MadCatz Pro for Xbox 360 |
USB VID_0738&PID_4718 | Stick Controler | MadCatz Street Fighter IV Fight Stick |
USB VID_0738&PID_4716 | GamePad Controller | Madcatz Xbox 360 Controller |
USB VID_06A3&PID_F51A | GamePad Controller | Saitek P3600 |
USB VID_046D&PID_C242 | GamePad Controller | Logitech Chillstream |
USB VID_045E&PID_028E | GamePad Controller | Microsoft Xbox 360 Controller |
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.
Final thoughts.
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 were getting tired of 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+++
This really answered my problem, thank you!