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).
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.
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.
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.
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.
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.
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 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.
I have provided a direct 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.
Disabling integrety 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 integrety 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.
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” by simply right-clicking the windows logo and clicking on 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 – Should be selected from the dropdown. Click next to continue.
- Default XBCD program shortcut is fine. Click next to continue.
- Click install to begin 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 certificiate. 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 local machine because we want it to effect 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
Plug in 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 afterwards.
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 to. 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 anyways 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 device manager
Using the XBCD utilitiy.
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 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 administration. 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.
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 afterwards.
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 theand shell32. in order to accomplish this goal.
You should also keep the utility handy with you as with 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 then just “Test Mode” this site in no way condones software piracy. If anyone has a way to install the XBCD drivers without resorting to test mode we along with many others would be interested.
Leaving test mode enabled:
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 mal-ware 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.
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 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_CA84||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_F900Controller||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.
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.
Other useful links within this blog.
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.
Until then, have fun, server protect you.
END OF LINE+++