Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Gamecube Internal Blue Retro + 8BitDo Power On Issue #1144

Closed
starlightknight opened this issue Jan 7, 2025 · 4 comments
Closed

Gamecube Internal Blue Retro + 8BitDo Power On Issue #1144

starlightknight opened this issue Jan 7, 2025 · 4 comments

Comments

@starlightknight
Copy link

BlueRetro firmware version

24.10

BlueRetro firmware specification

HW2

BlueRetro firmware variant

Universal

BlueRetro hardware type

Internal install modkit

Manufacturer

LaserBear

System used

Nintendo GameCube

Bluetooth controller brand & name

8BitDo GC Mod Kit

What is problem? (only list ONE problem per report)

This is really 8BitDo's firmware bug, but after working with their support for months now since launch, I've given up on them ever fixing the issue so I'm hoping there can be a workaround in Blue Retro.

Basically, I am trying to use the HW2 Power On / Off by controller with the 8BitDo GC Mod Kit.

To do this with LaserBear Internal Mod, you:

  1. Leave GameCube Power Switch On
  2. Turn Off System With L+R+A+Start instead of the Power Button
  3. Turn On System by activating controller to pair

This works fine with typical console controllers (PS, Switch etc). However, the 8BitDo board has a bug in the firmware: merely plugging in the USB cable to charge will pair the controller to its host device, even if no buttons are pressed. Normally charging a controller does not do this.

That breaks the following flow:

  1. Turn off System With L+R+A+Start
  2. Put controller on charger (8BitDo bug then turns console back on).

I'm wondering if it is possible to have an optional quirk in the BlueRetro firmware where the controller pairing alone doesn't activate power on, and instead a button on the controller, like Start, also needs to be pressed.

I'm imagining something like

  1. 8BitDo controller is put on charger. It powers on and pairs to the Gamecube in standby.
  2. Blue retro listens for 5 seconds or so after pairing for the Start button to be pressed
  3. If its pressed, it powers on. Otherwise, it disconnects the controller (i suppose it could just leave it connected too, though slightly less energy efficient).

Would something like that be feasible? I hate to ask for a hack, but as the mod kit is the primary way to get an authentic GC controller experience with BlueRetro, it would be nice if this feature worked properly and unfortunately 8BitDo support is useless.

What did you expect to happen?

See above.

Attach files like logs or Bluetooth traces here

No response

@darthcloud
Copy link
Owner

TBH I don't like the idea of having to hold a button for turning on the console. It's much more natural to do so at connection like any other console do. Not mentionning the big fat ugly hack that would be in the code base.

Is it really that much of an inconvenience?

If you recharge the controller only once in a while, you could switch the GC off with the power switch prior to plugin the controller.
If you charge it after every game session you could plug it in before turning off the GC?

Maybe we could analyze their battery charging HW design and cutoff whatever signal trigger the MCU on. Or add something to hold the mcu in reset while charging.

@starlightknight
Copy link
Author

I dont like the idea of having to have a hack either, thats why i felt terrible asking.

The reason i suggested my hack as a possibility was: when say, DS3 and DS4 are plugged into charge, the charge circuit is separate from the bluetooth pairing. So even though the controller is already receiving power with its charging leds illuminated, the way to turn it on for pairing it is still pressing the playstation button (is same when used with Methylene for example).

Xbox360, while not Bluetooth, works the same way with the li-ion battery pack (must press xbox button), and Wii with nimh packs need the power button too. In all cases, that particular button press is what causes the pairing. So on all controllers except the 8bitdo one, charging doesn't activate the pairing. It still needs the button press no matter what. 8bitdo just does it regardless of buttons which is both abnormal and what causes this problem.

I took a video for 8BitDo of the issue comparing the GC + 8BitDo to DualShock 3 + PS2 Methylene and worked with their support for some time. They told me that they understood what I was asking for and agreed it would be more ideal for it to work that way, but said that they didnt think they could fix it without a HW revision.

I would be perfectly happy if there was a solution where cutting a trace would work. Plugging in before turning off does also work, but I often forget because its not the charge flow for my other controllers. There also seems to be something weird that happens where, if I forget and the console gets immediately turned back on by this issue, for some reason I cant turn it off again by controller. The command doesnt respond until I hard power cycle. If there has been a reasonable delay before turning back on as for normal usage, its fine. I am not sure what would cause this.

I appreciate you taking the time read my post and respond. I really love BlueRetro and think you've done amazing work. Cheers.

@darthcloud
Copy link
Owner

Try this mod that should resolve this problem:
https://github.com/darthcloud/BlueRetro/wiki/8bitdo_mod

@starlightknight
Copy link
Author

This looks amazing. I am ordering the parts now. Thank you so much for taking the time to investigate this, I am extraordinarily grateful. 🙇‍

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants