Arduino as controller - works with games but not in IPL/menu?

Portables, case replacements, mods etc, all in here!
Post Reply
Misdreavus
Posts: 3
Joined: Thu Dec 14, 2017 7:38 am

Arduino as controller - works with games but not in IPL/menu?

Post by Misdreavus » Sat Aug 24, 2019 5:33 am

Hi. I've been using Nicohood's Nintendo library (https://github.com/NicoHood/Nintendo) to control my Gamecube using an Arduino. I disconnected the wire from a Gamecube controller and used the cable to connect my Arduino to the console. I've had success using it to emulate button presses in Super Smash Bros Melee and the Game Boy Player; however, I'm having difficulty getting it to work on the Gamecube menu (IPL). Is there any reason why the Arduino should not be able to emulate a button press on the menu?

Here's the code I'm working with: https://pastebin.com/fSTk8Czm. If I navigate the Gamecube menu to the screen where I am supposed to press START to load the game (using an actual controller), then theoretically plugging the Arduino into the console should cause START to be pressed. However, nothing happens.

I do know that the poll rate of the menu is basically 120 Hz. I tried increasing the number of times I call the write function (for example, I had to call it twice each time for SSBM since the game runs at 60 FPS and 1 frame = 1/2 a poll) and have still had no luck.

Can anyone help me?
Last edited by Misdreavus on Tue Aug 27, 2019 8:40 am, edited 1 time in total.
User avatar
Papy.G
Posts: 916
Joined: Mon Mar 04, 2019 6:14 am
Location: France, Occitanie
Contact:

Re: Arduino as controller - works with games but not in IPL/menu?

Post by Papy.G » Mon Aug 26, 2019 4:36 am

Hi, I don't know much about using an Arduino as a controller, but one thing I know for sure is that if any project must be fast or responsive, and get consistent with timings of any sort, just keep away from using an arduino with compiled multi-purpose libraries. You'll have to straight write machine-code and handle interrupts on ARM or any other µC, or maybe get something with huge overkill of power just to cope with compiled code's wasted cycles and still wish that interrupts handling won't fuck all your timings up.
DMG/MultiFreq OC/EDGB/EZF Jr, AGB/SC miniSD, NTR/NeoMK3, USG/flashme V8/SC miniSD
DOL001(EUR)/RGB/GCPlug/GBP/SD2SP2, RVL 001(EUR)/RGB/CMP/WiiSD

Zelda WW with Tingle Tuner in split screen was what the GC RF modulator was made for! (Video)
Post Reply