So, a few days back, I made a post on the VC injection thread about being able to read input from spider. So, as promised, I'm delivering my findings.
1. Not truly "reading" input
This is actually based off of memory being modified when buttons are pressed. These may just be completely random addresses, but if they change when the button is pressed, then it doesn't really matter, does it? Sadly, I only have the X button working.
2. What next?
I initially started doing this for one reason: the hope that reading input would make it possible to create homebrew that wasn't just injecting ram. Now, what I need is everyone's help to make it possible.
3. How to help!
As I mentioned, if we can values that change with button presses, we can use them to detect if a button is pressed. So, what we need is to make MANY ram dumps. If you are interested in helping, here's what I recommend:
*Make LOTS of dumps with no buttons at all. Since some values changes with no interaction, figuring out what does and doesn't change because of other parts of the 3DS is crucial.
*Make notes! If you notice a value changes with interaction, but without it is doesn't, modify the memory dump to get that area only, to speed up the process. Keep everything you do, failure OR success. Every bit of information helps. Upload your findings to your post, and I'll take a look!
If you don't want to contribute/don't know how to help, but want to see it in action, I've attached a modified code.bin for the VC injection that will load x00.gbc if X is pressed, and the normal rom.gbc if not.
Submit the tests for the VC injection here:
http://goo.gl/forms/GpKY7f92di.