|
||||||||
|
||||||||
| Cette page est aussi disponible en français | ||||||||
| Project Overview | [hide] |
|
After publishing my
NES/SNES Controller to USB adapter project, I have been asked a few times if there
was a way to connect more than one controller. I finally found the time to do it and this
page explains how it is done. Since this is a variation of the initial project mentionned
above, I wont cover everything in great detail. If necessary, refer to the original
project page. Supporting multiple controllers at the same time is basically done by programming the Atmega8 with a different firmware. This new firmware automagically detects whether each connected controller is a NES or SNES controller. Up to 4 NES and/or SNES controller(s) can be used at the same time. New! A new firmware is available. New in version 1.2:
|
| Pictures | [hide] |
Example 1: Adaptater for the NES FourScore:Example 2: Adapter box for 2 NES and 2 SNES controllers: |
| Schematic | [hide] |
Here is the schematic and a pinout reference for NES and SNES controllers:
Notes and comments: All the controllers share power, clock and latch signals. However, the data signal coming from each controller has to be connected to an unique input on the microcontroller. A ceramic resonator can be used instead of a crystal + two capacitors. Refer to Andrew Biem's schematic in the user pictures section. Printed circuit board: You can use the printed circuit board from the initial project: http://www.raphnet.net/electronique/snes_nes_usb/index_en.php#pcb Here is also a wiring diagram for PCB rev.C:
|
| Firmware | [hide] |
| Here is the file which must be programmed into the Atmega8:
4nes4snes-1.2.hex Fuse bytes for this project: high byte = 0xc9, low byte = 0x9f. For informations about how to program an AVR, visit my AVR programming page. Source code: The source code is released under the terms of the GPLv2 License. See License.txt more information. The project compiles with avr-gcc under linux. 4nes4snes-1.2.tar.gz Note: If you are using the source code release under Linux, look at the Makefile. It has a flash and a fuse target which uses uisp to program the flash and fuses. Old version(s): 4nes4snes-1.1.tar.gz (Proprietary Objective Development License [modified GPL]). See License.txt. 4nes4snes-1.1.hex |
| User pictures | [hide] |
| References | [hide] |
| This page contains documentation about the Snes controllers 'protocol': Sci.Electronics FAQ: Super Nintendo Entertainment System: pinouts & protocol I use the software USB driver from Objective Development. For more information, visit their site: http://www.obdev.at/products/avrusb/index.html This was useful for understanding how Windows/Direct Input interprets the report descriptor and why some axes were not recognized by Windows 98: http://www.microsoft.com/whdc/device/input/hidgame.mspx |
| 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: July 01, 2009 |