Skip to content

Controller Support: Brawler 64 Wireless #47

@bryanparadis

Description

@bryanparadis

Looks like the Brawler 64 Wireless on N64 isn't responding with data. Looks to be detected though. There are notes in Raphnet v3 about it specifically. They set a delay between 0x00/init/capabilities request and 0x400300/polling/short polling/status request of 1.25ms,1.5ms and 2.5ms based on configurable poll interval.

raphnet/gc_n64_usb-v3@e5f6c6e

/* The brawler 64 wireless gamepad does not like when the get caps command is followed
	 * too closely by the get status command. Without a long pause between the two commands,
	 * it just returns an all zeros. */
	if (g_eeprom_data.cfg.poll_interval[0] >= 4) {
		_delay_ms(2.5);
	} else if (g_eeprom_data.cfg.poll_interval[0] >= 3) {
		_delay_ms(1.5);
	} else if (g_eeprom_data.cfg.poll_interval[0] >= 2) {
		_delay_ms(1.25); // does not work at 1ms
	}

Also elsewhere on the web related to Raphnet there is this information:

The total latency is therefore 1ms + [configured poll interval]. This results in a minimum total latency of 3ms, and of 6ms by default. (For an adapter with a minimum poll interval of 2ms). Some 3rd party N64 and Gamecube controllers are known to misbehave when the poll interval is set too low (because consoles typically polls at 16ms intervals). This is why the default is higher at 5ms rather than the minimum value.

Looks like it's possible that polling is happening too fast for some third party N64 controllers. Raphnet seems to think that 5ms is the safest poll rate. N64 is 16ms. I guess I could measure the loop and see.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions