Go to file
Raphael Assenat a698f8cd06 Correct accuracy of poll interval settings on 2-player adapters
The pauses recently introduced for supporting the Brawler 64 wireless
work fine in single-player mode (i.e. the poll interval setting in
the adapter manager is honored), but in two-player mode, the pauses
add up and the actual polling rate was slower than what was requested.

This corrects the issue, but unfortunately, on dual port adapters,
this means that a setting of 4ms or higher is needed to use a Brawler 64.
2021-03-04 15:47:12 +09:00
misc Misc tools 2015-08-20 23:40:35 -04:00
scripts Makefile 'restart' target 2017-01-08 16:19:41 -05:00
tools Implement reset and echo requests 2018-09-05 10:42:05 -04:00
.gitignore WIP 2015-06-13 23:44:21 -04:00
LICENSE GPLv3, Copyright updates, whitespace clean up 2015-12-06 21:55:06 -05:00
Makefile Add support for atmega32u4 chip 2019-07-13 14:17:26 +02:00
Makefile.inc Increase version 2021-02-17 22:44:42 +09:00
Makefile.stk525 Bump version to 3.5.0 2017-11-20 00:13:50 -05:00
README.md update project name and homepages 2016-11-27 14:34:03 -05:00
bootloader.c Correct the bootloader entry address 2021-02-17 22:40:45 +09:00
bootloader.h Implement reset and echo requests 2018-09-05 10:42:05 -04:00
changelog.txt Add changelog entry for next version 2019-07-16 16:07:57 -04:00
config.c Simplify config code and add disable triggers feature 2017-11-22 09:35:59 -05:00
config.h Simplify config code and add disable triggers feature 2017-11-22 09:35:59 -05:00
dataHidReport.c Increate feature report size to 63 bytes 2016-12-03 14:15:00 -05:00
eeprom.c Update copyright year 2016-10-10 15:01:22 -04:00
eeprom.h Implement hid data interface for config and special functions 2015-08-23 02:51:10 -04:00
gamecube.c Add support for Gamecube keyboards 2018-11-06 10:38:39 -05:00
gamecube.h Add support for Gamecube keyboards 2018-11-06 10:38:39 -05:00
gamepads.c Each channel needs its own buffer... 2016-10-23 21:44:42 -04:00
gamepads.h Add support for Gamecube keyboards 2018-11-06 10:38:39 -05:00
gc_kb.c Add support for Gamecube keyboards 2018-11-06 10:38:39 -05:00
gc_kb.h Add support for Gamecube keyboards 2018-11-06 10:38:39 -05:00
gcn64_protocol.c Add support for the N64 mouse 2019-02-04 17:08:52 -05:00
gcn64_protocol.h Add support for the N64 mouse 2019-02-04 17:08:52 -05:00
gcn64txrx.S Update gcn64txrx code for multiple channels 2016-10-09 16:17:56 -04:00
gcn64txrx.h Update gcn64txrx code for multiple channels 2016-10-09 16:17:56 -04:00
hid_keycodes.h Add support for Gamecube keyboards 2018-11-06 10:38:39 -05:00
hiddata.c Implement reset and echo requests 2018-09-05 10:42:05 -04:00
hiddata.h Implement feature set query commands 2017-11-22 09:37:42 -05:00
intervaltimer.c Update copyright year 2016-10-10 15:01:22 -04:00
intervaltimer.h Use a timer for controller polling interval 2015-10-17 18:34:11 -04:00
intervaltimer2.c Add a second interval timer 2018-04-10 15:07:35 -04:00
intervaltimer2.h Add a second interval timer 2018-04-10 15:07:35 -04:00
main.c Export the number of players from main 2021-03-04 15:46:59 +09:00
main.h Export the number of players from main 2021-03-04 15:46:59 +09:00
mappings.c Update copyright year 2016-10-10 15:01:22 -04:00
mappings.h Button mapping framework 2015-08-22 00:44:51 -04:00
n64.c Correct accuracy of poll interval settings on 2-player adapters 2021-03-04 15:47:12 +09:00
n64.h Use new gampad data and usbpad 2015-08-20 23:39:54 -04:00
release.sh Create an annotated tag 2016-02-29 18:44:52 -05:00
reportdesc.c Add support for Gamecube keyboards 2018-11-06 10:38:39 -05:00
requests.h Add support for Gamecube keyboards 2018-11-06 10:38:39 -05:00
stkchk.c Add stack overgrow detection 2017-01-08 15:14:55 -05:00
stkchk.h Add stack overgrow detection 2017-01-08 15:14:55 -05:00
usart1.c Update copyright year 2016-10-10 15:01:22 -04:00
usart1.h WIP 2015-06-13 23:44:21 -04:00
usb.c Save memory by not using an unnecessary buffer. 2021-02-17 22:43:08 +09:00
usb.h Runtime endpoint sizes for HID 2017-11-20 00:13:57 -05:00
usbpad.c Add support for Gamecube keyboards 2018-11-06 10:38:39 -05:00
usbpad.h Add support for Gamecube keyboards 2018-11-06 10:38:39 -05:00
usbstrings.c Save memory 2017-01-08 15:58:45 -05:00
usbstrings.h Save memory 2017-01-08 15:58:45 -05:00
util.h Start bootloader by USB message 2015-08-16 01:59:38 -04:00
version.c Update copyright year 2016-10-10 15:01:22 -04:00
version.h Use different signature for stk525 build 2015-10-26 23:33:39 -04:00

README.md

Gamecube/N64 to USB adapter firmware (3rd generation)

Introduction

This is the source code for a Gamecube/N64 controller to USB adapter firmware meant to run on raphnet.net Multiuse PCB-X.

Homepage

License

The project is released under the General Public License version 3.

Compiling the firmware

You will need a working avr-gcc toolchain with avr-libc and standard utilities such as make. Just type 'make' and it should build just fine. Under Linux at least.

Programming the firmware

The makefile has a convenient 'flash' target which sends a command to the firmware to enter the bootloader and then executes dfu-programmer (it must of course be installed) with the correct arguments.