1
0
mirror of https://github.com/raphnet/gc_n64_usb-v3 synced 2024-12-21 06:48:52 -05:00
Commit Graph

289 Commits

Author SHA1 Message Date
Raphaël Assenat
c681f648a5
Merge pull request #8 from Mcharlsto/master
Fix & Improve ATmega32u4 support
2021-11-12 10:13:57 +09:00
Matthew C
62711a3236
Add clarity to readme 2021-10-29 21:43:07 +01:00
Matthew C
0ec5f22f0f
Remove completed task 2021-10-29 21:41:57 +01:00
Matthew C
1514d08f44
Add new 32u4 specific makefile 2021-10-29 21:40:40 +01:00
Matthew C
ff893e2152
Fix bootloader address bug 2021-10-29 21:40:01 +01:00
Raphael Assenat
52eea713be Version 3.6.1 2021-03-05 13:37:24 +09:00
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
Raphael Assenat
5d06a6d6a3 Export the number of players from main 2021-03-04 15:46:59 +09:00
Raphael Assenat
786088e4b1 Increase version 2021-02-17 22:44:42 +09:00
Raphael Assenat
07c4cc7a4a Save memory by not using an unnecessary buffer.
Saves (64 - sizeof(struct usb_request)) bytes.
2021-02-17 22:43:08 +09:00
Raphael Assenat
e5f6c6ee02 Add a workaround for the Brawler 64 wireless gamepad
This controller (or its receiver) needs a pause between the
"get caps" and "get status" commands. Introduce a pause
of a duration based on the poll interval.

Unfortunately poll interval that works with this controller is 2ms.
2021-02-17 22:41:13 +09:00
Raphael Assenat
ee3adafd26 Correct the bootloader entry address 2021-02-17 22:40:45 +09:00
Raphael Assenat
90779c014b Add changelog entry for next version 2019-07-16 16:07:57 -04:00
Raphaël Assénat
59c2627f40
Merge pull request #5 from dsprenkels/atmega32u4
Add support for atmega32u4 chip
2019-07-16 16:06:14 -04:00
Daan Sprenkels
7e90c06cf9 Add support for atmega32u4 chip 2019-07-13 14:17:26 +02:00
Raphael Assenat
2dd64af033 update changelog for next version 2019-02-04 17:10:12 -05:00
Raphael Assenat
74cf60d839 Add support for the N64 mouse
For now, just recognizes it's a mouse and treat it like a controller.
2019-02-04 17:08:52 -05:00
Raphael Assenat
4999f07c14 Add support for Gamecube keyboards 2018-11-06 10:38:39 -05:00
Raphael Assenat
9872399739 changelog entry for release 3.5.2 2018-09-18 14:37:24 -04:00
Raphael Assenat
c7992e5334 Improve PID (force feedback) implementation
Honor the effect duration
2018-09-18 14:34:38 -04:00
Raphael Assenat
f5e268fb19 bump version to 3.5.2 2018-09-05 10:43:04 -04:00
Raphael Assenat
9c99048c6f run avr-size in AVR mode 2018-09-05 10:42:53 -04:00
Raphael Assenat
2d3795c29a Implement reset and echo requests 2018-09-05 10:42:05 -04:00
Raphael Assenat
b01df9f239 Version 3.5.1 2018-04-10 17:17:51 -04:00
Raphael Assenat
55fe6d0312 Adjust vibration duration to feel more like on a real console 2018-04-10 17:17:46 -04:00
Raphael Assenat
1dc71a835b Disable debug 2018-04-10 15:13:34 -04:00
Raphael Assenat
03ebfde089 Force feedback: Don't ignore the loop count
The PID Effect Operation output report contains a 'loop count'
field that has an influence on how long the effect runs. Ignoring
it can lead to never stopping vibration for software that use
the loop count to let effects stop automatically instead of
issuing a stop command.
2018-04-10 15:13:25 -04:00
Raphael Assenat
f42a29b888 Add a second interval timer 2018-04-10 15:07:35 -04:00
Raphael Assenat
2a2b326001 Release date for version 3.5.0 2017-11-25 14:09:34 -05:00
Raphael Assenat
9d5ca629a7 Update changelog with recent changes 2017-11-22 09:42:26 -05:00
Raphael Assenat
708fb22072 2-player: Re-order joystick and management interfaces
Make sure the management (non-joystick) interface is the last. Works
around a presumed Windows bug (Joystick ID confusion where the
second controller stops working or gives an error in the Game controller
test dialog)
2017-11-22 09:39:14 -05:00
Raphael Assenat
0e0c381fbd Implement feature set query commands
The adapter can now be queried by the management tool to see
what configuration options and requests are available without
harcoding them for each release.
2017-11-22 09:37:42 -05:00
Raphael Assenat
95d6b2ec15 Simplify config code and add disable triggers feature 2017-11-22 09:35:59 -05:00
Raphael Assenat
5328827234 Version 3.5 product IDs 2017-11-21 23:03:46 -05:00
Raphael Assenat
66a1a45f22 Runtime endpoint sizes for HID 2017-11-20 00:13:57 -05:00
Raphael Assenat
9f665068ae Bump version to 3.5.0 2017-11-20 00:13:50 -05:00
Raphael Assenat
7b01a454d4 Prepare for release 3.5.0
3.4.1 was never formally released so the changelog entry is reused.
2017-11-20 00:05:52 -05:00
Raphael Assenat
be2894b68c Set .bcdUSB to the correct value
Should be 0x0110 for 1.1
2017-11-19 14:41:41 -05:00
Raphael Assenat
e7426e684a Do not send more descriptor bytes than we have
The request may be for more bytes than our descriptor has. Do not
send more when asked for more.
2017-11-19 14:40:53 -05:00
Raphael Assenat
05b47f9967 Prepare for release 3.4.1 2017-08-14 17:59:12 -04:00
Raphael Assenat
c123fd6b52 Finish "sliders as button" configurability 2017-08-14 17:58:40 -04:00
Raphael Assenat
d72815e9e6 Adjust "sliders as buttons" threshold
The initial value of 32 was too low. Buttons were triggered
without even touching the sliders.
2017-08-14 17:57:55 -04:00
Raphael Assenat
a041e8eaf8 Implement "sliders as buttons" mode
In this mode, when the analog values of the L/R triggers exceed a
certain threshold, the corresponding L and R digital buttons are
triggered.
2017-08-05 17:13:21 -04:00
Raphael Assenat
a9d5df2b8f Add "triggers as buttons" flag 2017-08-05 17:12:26 -04:00
Raphael Assenat
324bb81b1e Version 3.4.0 changelog entry 2017-01-08 16:24:08 -05:00
Raphael Assenat
eeb2ecbae4 Merge branch 'performance' 2017-01-08 16:21:51 -05:00
Raphael Assenat
158d9bffda Makefile 'restart' target
Useful for some tests...
2017-01-08 16:19:41 -05:00
Raphael Assenat
c7e8dc7ad4 Save memory
Store the device string in 8 bit and in program memory. Also
reduce the size of a few variables.
2017-01-08 15:58:45 -05:00
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.
2017-01-08 15:14:55 -05:00
Raphael Assenat
2eaafb7786 ifdef unused rawdata fields to save memory
Save 32 bytes.
2017-01-08 10:50:01 -05:00