This adapter gives you the ability to use many usb
joysticks/gamepads with old home micros equipped with atari joystick ports,
like amiga, atari st, atari 8bit, Commodre 64, Amstrad CPC and MSX computers (the last two, need this adapter too)!
It utilizes this USB host module:
Which can be found here (don't forget to select preinstelled software option "Usb Joystick").
Which can be found here (don't forget to select preinstelled software option "Usb Joystick").
Here is the schematics for the adapter:
As you can see, it's a very simple circuit, the serial output of the usb host board is fed to a small 16F684 PIC microcontroller, that converts the serial data to Joystick's signals! The only parts you will need, is the usb host board, a PIC 16F684 ,a DB9 female connector and a small 100nF ceramic capacitor!
Now, before making the adapter, you need to make a quick setup of the usb host board. So, after soldering four pins to the 5V, Gnd, Tx and Rx of the usb host board, you need to connect the host board to a cheap USB to serial cable adapter, and using a terminal program (set serial speed to 9600bps), give the command: HEX ON
Finally, here you can find the hex program for the PIC mcu.You can use a cheap pic programmer like this or a pickit2/3, to flash the program into the microcontroller.
I have made extensive tests with many joysticks/gamepads and
fortunately, only some very cheap usb gamepads didn't seem to work right. The
amazing thing is that, the adapter works even with "difficult" and
complicated controllers, like a wheel/pedal controller or microsoft's
sidewinder!