@zfields I recently repaired my r.o.b. and was able to get him to move around using your nesrob library. Kudos and thank you for your work! I had the itch to play gyromite off an emulator with a nes usb controller for rob, and I was quickly reminded that r.o.b. only works on a CRT monitor, which led me to this forum and your code. I had a couple of thoughts on how to get rob going via emulation, and thought I'd throw them out there and see what you or others thought as feasible and possibly inspire towards something. I've seen the Bluetooth glasses that have been offered, which is very cool, but not exactly controlling r.o.b. through the game.
Option 1. How feasible would it be to add a camera module to an arduino, process the feed, and trigger you led commands if the black/green binary sequence was seen/processed? This would be a true middle man solution to allow r.o.b. to see his commands. I'm not sure if an arduino even has that kind of muscle. Maybe it would require a raspberry pi. Off the cuff, I'm thinking that some clever analysis of a few pixels at the correct framrate, with a threshold tolerance for black and threshold for green would allow for a decent interpretation which could trigger zfields ir library commands, but the devil is certainly in the details.
Option 2. (Please forgive my semi-technical translation) I found where someone made patches to lightgun roms, allowing the lightgun to work with a modern display: http://neslcdmod.com/ with the caveat that the OG zapper needs some sort of bypass for the filter module that restricts reception to CRT frequencies. 3rd party zappers work without modification (again, apologies if this is a bad interpretation of how that works). It seems like a similar patching process could be applied to gyromite/stackup, but it may also require some sort of filter mod to r.ob.. I know, modding rob is akin to blasphemy, but it'd be pretty sweet.
Option 3. Similar to option 1, would be an extension to an emulator that would allow triggering commands based on the video output. This is probably the most complicated option and least universal.
I might be able to pull off Option 1 if I were able to chew my way through some sort of arudino camera library, but it's probably a bit over my head.