|
||||||||
|
||||||||
| Cette page est aussi disponible en français | ||||||||
| Project overview | [hide] |
This page explains how to convert a TurboGrafx-16/PC-Engine controller
to USB. The firmware and most of the hardware design are shared with other
projects, such as the
Atari/SMS/Genesis joystick/controller/multi-tap to USB adapter
and SNES/NES gamepad (and mouse) to USB adapter. The
shared firmware supports TG16 controllers since version 1.7.
Features:
|
| Picture Gallery | [hide] |
| Schematic | [hide] |
| Programming the microcontroller | [hide] |
A microcontroller is a component which must be programmed in order to do
something useful. So here is the hexfile which must be uploaded to the microcontroller:
Many microcontrollers have what is called 'Fuse bytes'. In the case of the ATmega8, there are two bytes: The high byte, and the low byte. Those bytes are used to configure some aspects of the microcontroller. What type of clock to use? Crystal? Resonator? Internal RC clock? Allow programming via ISP? It's very important to set the fuses to the right values. Using the wrong values can render your MCU unusable. For this project, here are the appropriate fuse values: high byte = 0xc9, low byte = 0x9f For details about how to program an AVR, visit my AVR programming page. |
| Source code | [hide] |
For those who wish to modify the device behaviour or add support
for new type of gamepads, here is the source code. Starting with version
1.5, it is released under the GPL v2 license. Previous version were released under
the Objective Development license, which is basically GPL + extensions to
cover hardware. See License.txt for more information.
Please contact me at raph@raphnet.net if you do useful changes. Objective Development driver modifications: The NES/SNES mode selection jumper changes the HID report descriptor. I had to modify Objective Development's usb driver to support this. Here is a diff against the usb driver from HIDKeys.2006-03-14: usbdrv-diff USB Vendor ID/Product ID pair: Please dont re-use my VID/PID pair for derived or other projects. Instead, get your own. I bought my VID/PID pairs from mecanique, and they are much less expensive than the 2000$ US it cost to get a vendor ID from the usb implementers forum. |
| Circuit board for surface-mount version | [hide] |
The surface-mount version uses my Multiuse PCB2 circuit.
Here's what it looks like:
|
| Disclaimer | [hide] |
|
I cannot be held responsible for any damages that could occur to you
or your equipment while following the procedures present on this page.
Also, I GIVE ABSOLUTELY NO WARRANTY on the correctness and usability
of the informations on this page. Please note, however, that the procedures
above have worked in my case without any damages or problems. Now you cannot say that I did not warn you :) |
Website coded with![]() | Last update: May 17, 2009 |