You cannot select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 
 
 
 
Go to file
Raphael Assenat b22985712f Add stack overgrow detection
If the stack ever grows too large (and starts overwriting variables
in .bss) the firmware jumps into the bootloader. This is better than
just continuing to run with strange side effects.
7 years ago
misc Misc tools 8 years ago
scripts Add new product IDs to udev rules 7 years ago
.gitignore WIP 8 years ago
LICENSE GPLv3, Copyright updates, whitespace clean up 8 years ago
Makefile Add stack overgrow detection 7 years ago
Makefile.inc Add stack overgrow detection 7 years ago
Makefile.stk525 Add stack overgrow detection 7 years ago
README.md update project name and homepages 7 years ago
bootloader.c Update copyright year 7 years ago
bootloader.h Start bootloader by USB message 8 years ago
changelog.txt Changelog entries for 3.3.2 7 years ago
config.c Update copyright year 7 years ago
config.h Add flags for config 8 years ago
dataHidReport.c Increate feature report size to 63 bytes 7 years ago
eeprom.c Update copyright year 7 years ago
eeprom.h Implement hid data interface for config and special functions 8 years ago
gamecube.c ifdef unused rawdata fields to save memory 7 years ago
gamecube.h Multi-player support complete 7 years ago
gamepads.c Each channel needs its own buffer... 7 years ago
gamepads.h ifdef unused rawdata fields to save memory 7 years ago
gcn64_protocol.c Update copyright year 7 years ago
gcn64_protocol.h Update gcn64txrx code for multiple channels 7 years ago
gcn64txrx.S Update gcn64txrx code for multiple channels 7 years ago
gcn64txrx.h Update gcn64txrx code for multiple channels 7 years ago
hiddata.c Implement RQ_GCN64_BLOCK_IO 7 years ago
hiddata.h Multi-player support complete 7 years ago
intervaltimer.c Update copyright year 7 years ago
intervaltimer.h Use a timer for controller polling interval 8 years ago
main.c Add stack overgrow detection 7 years ago
main.h Need one current_pad_type var. per channel 7 years ago
mappings.c Update copyright year 7 years ago
mappings.h Button mapping framework 8 years ago
n64.c ifdef unused rawdata fields to save memory 7 years ago
n64.h Use new gampad data and usbpad 8 years ago
release.sh Create an annotated tag 7 years ago
reportdesc.c Update copyright year 7 years ago
requests.h Add RQ_GCN64_BLOCK_IO 7 years ago
stkchk.c Add stack overgrow detection 7 years ago
stkchk.h Add stack overgrow detection 7 years ago
usart1.c Update copyright year 7 years ago
usart1.h WIP 8 years ago
usb.c Multi-player support complete 7 years ago
usb.h Multi-player support complete 7 years ago
usbpad.c Multi-player support complete 7 years ago
usbpad.h Multi-player support complete 7 years ago
usbstrings.c Update copyright year 7 years ago
usbstrings.h Dynamic device string 7 years ago
util.h Start bootloader by USB message 8 years ago
version.c Update copyright year 7 years ago
version.h Use different signature for stk525 build 8 years ago

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.