Go to file
Raphaël Assénat 6c88641e07 Initial revision 2007-03-25 02:59:30 +00:00
circuit Initial revision 2007-03-25 02:59:30 +00:00
usbdrv Initial revision 2007-03-25 02:59:30 +00:00
Changelog.txt Initial revision 2007-03-25 02:59:30 +00:00
License.txt Initial revision 2007-03-25 02:59:30 +00:00
Makefile Initial revision 2007-03-25 02:59:30 +00:00
Readme.txt Initial revision 2007-03-25 02:59:30 +00:00
checksize Initial revision 2007-03-25 02:59:30 +00:00
devdesc.c Initial revision 2007-03-25 02:59:30 +00:00
devdesc.h Initial revision 2007-03-25 02:59:30 +00:00
gamepad.h Initial revision 2007-03-25 02:59:30 +00:00
leds.h Initial revision 2007-03-25 02:59:30 +00:00
main.c Initial revision 2007-03-25 02:59:30 +00:00
snes.c Initial revision 2007-03-25 02:59:30 +00:00
snes.h Initial revision 2007-03-25 02:59:30 +00:00
usbconfig.h Initial revision 2007-03-25 02:59:30 +00:00

Readme.txt

This is 4nes3snes Readme.txt file. 

Table of contents:

1) What is 4nes3snes?
2) USB Implementation
3) Compilation and installation
4) License
5) About the vendor id/product id pair:
6) Where do I get more information and updates?


1) What is 4nes3snes?
   --------------------
	4nes3snes if a firmware for Atmel ATmega8 which 
	allows one to connect NES and SNES controllers to 
	a PC using a single circuit. Here are the possible
	combinations:
	- 4 NES controllers
	- 3 SNES controllers
	- 2 SNES controllers + 2 NES controllers
	- 1 SNES controller + 3 NES controllers

	The device connects to an USB port and appears to the
	PC as standard HID joystick with 4 axes and 32 buttons. 
	The two first controllers get their D-PADs mapped to a
	pair of axes. The remaining controllers D-PADs
	are mapped to ordinary buttons.


2) USB Implementation
   ------------------
	4nes3snes uses the software-only usb driver from Objective Development.
	See http://www.obdev.at/products/avrusb/index.html

	A good portion of 4nes3snes is based on Objective Development's
	HIDKeys example.


3) Compilation and installation
   ----------------------------
	First, you must compile it. To compile, you need a working avr-gcc and
	avr-libc. Under linux or cygwin, simply type make in the project directory.
	(assuming avr-gcc is in your path). 

	Next, you must upload the generated file (main.hex) to the Atmega8 using
	whatever tools you like. Personally, I use uisp. The 'flash' and 'fuse'
	targets in the makefile is a good example about how to use it. 

	The Atmega fuse bits must also be set properly. The idea behind this is to
	enable the external 12mhz crystal instead of the internal clock. Check the
	makefile for good fuse bytes values.


4) License
   -------
	4nes3snes is released under Objective Development's extended GPL
	license. See License.txt


5) About the vendor id/product id pair:
   ------------------------------------
	Please dont re-use them for other projects. Instead,
	obtain your own. I got mine from mecanique:
	http://www.mecanique.co.uk/products/usb/pid.html


6) Where do I get more information and updates?
   --------------------------------------------
	Visit 4nes3snes page:
	http://www.raphnet.net/electronique/4nes_3snes/index_en.php
	you may also contact me by email:
	Raphael Assenat <raph@raphnet.net>