Home - retronicdesign/USBJoystickAdapter_v3.2 GitHub Wiki
The USB Joystick Adapter
Retronic Design's USB Joystick Adapter have been created with maximum compatibility of all D-SUB 9 controller in mind. From the simple Atari joystick, 2 axes and one button to the complex Coleco Vision sword composite joystick or Sega Genesis 6 buttons joypad. All 9 pins are software reconfigurable and can support many type of protocol. On the other side, compatibility with standard USB 1.0 HID devices is assured for any kind of platforms, including Windows, Mac OSX, Linux but also Raspberry PI, Amiga OS or even set-up boxes, Tesla... anything really!
All firmwares were developped using the V-USB library from Objective Developpement under public (GNU) license.
Principle of operation
The USB joystick adapter can support a wide veriety of joystick, joypad, mouses, trackballs, paddles or even dance pads, as long as it uses a D-SUB 9 plug. To change the functionality of the adapter, it can be reconfigured using a simple flash utility (Mr.Switcher) to push the new firmware into the adapter. This can be reverted at anytime using the same utility. It can simply be invoked and self-programmed via USB. Note that the device cannot be "bricked" due to the bootloader lockdown. You are safe to proceed over and over!
Schematic of the adapter
Supported devices
Click on each device to learn how we implemented them!
Please see our binary section to download .HEX files to flash your adapters with proper functionality.
- 3DO joypad
- Amiga Mouse
- Amstrad CPC joysticks
- Apple2 joystick *with gender changer
- Atari 7800 joystick
- Atari C64 Amiga joystick
- Atari C64 joystick and paddle *combined
- Atari C64 paddles
- Atari CX22 trackball
- Atari driving controller
- Atari driving controller *as mouse
- Atari Flashback joystick
- Atari ST mouse
- Bally Astrocade joystick
- CD32 gamepad
- Coleco Gemini controller
- ColecoVision / ADAM controller
- ColecoVision Flashback controller
- Fairchild channel F controller
- Famiclone joypad
- FM Towns Marty joystick
- Intellivision controller
- Intellivision Flashback controller
- Mac Classic mouse *with gender changer
- MSX joypad
- Odyssey2 controller
- Redoctane DDR dance pad
- Sega Genesis joypad *3 or 6 buttons
- TI99-4-4a joystick
- Vectrex joystick
- ZX Spectrum interface2 joystick
Special implementation dedicated for specific consoles
- Atari C64 Amiga joystick *for A500 mini
- Atari C64 Amiga joystick *for TheC64 mini and maxi
- Atari C64 Amiga joystick *emulated keyboard and keypress for set-up boxes
- CD32 gamepad *for A500 mini
- Sega Genesis joypad *3 or 6 buttons *TheC64 compatible
Mr.Switcher flash software
Download Mr.Switcher.exe
Mr.Switcher is a simple flashing software that permits to change the USB Joystick Adapter functionality in few clicks. It is backward compatible with older version of the adapter (v2.0 through v3.2). Please note that there is two way of operating this software, depending on the adapter version you own.
Note that v2.1 firmware versions are available to download on the Retronic Design's website.
If you own an old 1.0 version, you cannot reflash your adapter.
How to change the adapter functionality using Mr.Switcher
For v3.x adapters
- Download hex file for the controller you want to use from the binary section
- Download Mr.Switcher.exe tool.
- Put everything in a local directory.
- Connect your controller in your USB joystick adapter and the joystick adapter in the PC USB port.
- Start Mr.Switcher USB flash tool.
- If your adapter does not show in the list box, click on “Re-Scan”
- Once your adapter is showing, click on “Select…” button.
- This will open a file selection menu. Choose your desired firmware .HEX that you want to program. Click “open”.
- Once back in the main screen, click on “SWITCH!” to program the new firmware into your adapter.
- Once programmed, it will show "Done!" atop of the process bar. Your adapter is ready!
For v2.x adapters
Note: You must own an Atari, C64, Amiga, CD32, ColecoVision, MSX, Amstrad CPC or Sega, Sega Genesis joystick. If you don’t possess a controller like theses, you can still short circuit pin 6 and 8 of the D-Sub 9. This will simulate the fire button.
- Connect your controller in your USB joystick adapter, while leaving it disconnected from your PC USB port.
- Press and maintain the fire button (red button on CD32 joypad, left Amiga mouse button or button A on Sega Genesis). Keep this pressed until the end of this procedure.
- Connect the adapter in the USB port of your PC. A device called “HID boot” should appear.
- Start Mr.Switcher USB flash tool.
- If you see “HIDBoot” in the list box, you’re good. Else, click “re-Scan”.
- Once your adapter is showing, click on “select…” button.
- This will open a file selection menu. Choose your desired firmware .hex that you want to program. Click “open”.
- Once back in the main screen, click on “SWITCH!” to program the new firmware into your adapter.
- Once programmed, it will show "Done!" atop of the process bar. Your adapter is ready!
- Release the fire button and disconnect the adapter from the USB port. Wait until the PC detects the USB disconnection.
- Plug the adapter back in. It should be now detected as your new device.