This is a lot messier than it needed to be. The Classic controller port uses a well-documented I2C protocol, so you just need to sacrifice a cheap extension cable or whatever and wire that in.
Video creator here. You're absolutely right. On the other hand, it at least gave some data on exactly how the Wii Classic Controller in particular behaves. I'd be curious if the Wiimote by itself behaves any differently too. I still think my approach was easier than implementing the I2C protocol, even if it was much messier.
You could theoretically even completely emulate the Wiimote in software too. I think some people in the TASBot community were taking that approach.
dougg3 said his setup only successfully completed the level 1 to 5 percent of the time, an oddly low success rate for a system that's supposed to play with robotic precision.... "What I found is although the actual electrical pulses I'm sending to the controller are exactly the same length each time, verified on an oscilloscope, sometimes Mario doesn't jump," dougg3 said.
Even if it’s perfectly synchronised, there’s likely no guarantee of deterministic playback. Perhaps a background process is dealing with some network activity or other OS task and throws the timing off fractionally. Or maybe a disk access (even for something in the background like streaming music) takes fractionally different amounts of time per run and affects the precise time at which the input is polled.
Ah, that’s another interesting possibility. I definitely observed that the actual HDMI refresh rate is 59.94 Hz while playing Super Mario Maker, but no idea what the game’s internal frame rate is.
One of the speedrunners in the community managed to beat the level on their own as well before the servers went down. Not as technically interesting, but it's super cool to see what those players are capable of nowadays.
http://wiibrew.org/wiki/Wiimote/Extension_Controllers
You could theoretically even completely emulate the Wiimote in software too. I think some people in the TASBot community were taking that approach.
dougg3 said his setup only successfully completed the level 1 to 5 percent of the time, an oddly low success rate for a system that's supposed to play with robotic precision.... "What I found is although the actual electrical pulses I'm sending to the controller are exactly the same length each time, verified on an oscilloscope, sometimes Mario doesn't jump," dougg3 said.
In Super Smash Bros Melee the game runs at 60 Hz but the display runs at 59.94 Hz... one frame in 1001 is simply not displayed.
https://youtu.be/Owc_rwlxUlc