emukidid / swiss-gc

Swiss - The swiss army knife of GameCube homebrew
GNU General Public License v2.0
1.29k stars 93 forks source link

Game Boy Advance as controller for Swiss? #434

Open epochVHS opened 3 years ago

epochVHS commented 3 years ago

When launching games like Zelda Four Swords or GBI, which can use the GBA with link cable as a controller, you have to use a different controller to launch it in Swiss, and then switch the controller to the GBA after the game launches. I know it's a feature request and it's not that big of a deal, but it would be useful if the GBA could also control Swiss.

mariotaotao commented 3 years ago

That would be fun. But gba buttons are not enough for gaming, unless able to make combo key map to X,Y,Z, and it's not convenient

epochVHS commented 3 years ago

I don't mean for gaming-that's already taken care of by the games that support it. I mean navigating Swiss, which doesn't need more buttons than the GBA has.

magu commented 3 years ago

Due to how GBA connection works, would that probably necessitate the creation of a small helper app to be sent over download play for Swiss to be controllable. Then I assume you would have to power cycle the GBA to get the launched game to re-send it's controller app over download play for the functionality intended.

Doesn't say it would be impossible, but it sounds a little finicky. 😅

epochVHS commented 3 years ago

Indeed, if there's no way to load a new helper without a reboot.

magu commented 3 years ago

Indeed, if there's no way to load a new helper without a reboot.

That would be handy, if you somehow could kick the connected GBA back in to waiting-for-download play mode. I neither know wether that is possible though.

mariotaotao commented 3 years ago

Makes real gameboy become GBP controller, interesting

epochVHS commented 3 years ago

The real Game Boy Advance already works as a GBP and GBI controller, as well as in many games.

Extrems commented 3 years ago

GBI's solution even works with anything that support GameCube Controllers, and provide standalone ROMs for it.

magu commented 3 years ago

So in that case, wouldn't it work simplest by just having Swiss automatically load GBI's helper app (from SD) if any connected GBA is detected?

Extrems commented 3 years ago

There are a few blockers:

  1. Completion of the GBA Library decompilation to be put into libogc. This has been stalled for a few years. GBI's temporary solution could be used as a temporary solution.
  2. Support for multiple controllers (issue #224). An annoying one, if you know how Swiss is written.
Papy-G commented 3 years ago

If one doesn't have any flashcart for the GBA to load the GBC controller rom, can't the same almost be done booting GBI at first, then pressing start for 3 seconds to boot SWISS?

The caveat is that you still need to connect a real GC controller if you have to navigate in menus before getting GBI booted (IE: performing a GameExploit), and adding the ROM download into SWISS won't do much better.