I haven't tried Troubleshooter at all (again for the lack of owning a lightgun), but memory locations weren't hard to find, it's just that they changed everytime the emulator is launched. I've looked into writing HID code into the LUA script of each frame to manually pull out game controller inputs. At this stage learning USB/HID interfacing is a subject a little beyond my ability at this time. It could however cause some delay to writing frames to the screen so I'd like to keep the performance of the game running nicely rather than trying to do too much between frames.
The are a couple of really cool instructables I stumbled on whilst surfing my arduino stuff which related to using the optical sensor of a mouse as a low res but high speed camera. And I thought, what about the left over mouse controller? It does everything the game wants natively! So I pulled up data sheets on the optical sensor and it's simple single wire serial with a clock for +/- XY movement... heck thats what the arduino is asking from it... perhaps I can fake the optical sensor part and get the mouse to convert and inject the rawinputs for me? So I'm going through the script for the optical sensor and pulling out the serial library and will turn the arduino into a fake optical sensor. I can take the XY position through AHK easily enough and send it to the arduino which has enough pins to send that to two optical $4 mice.
The problem at the game end will be that you can lift the mouse and move it without moving the retical, causing a desync of the onscreen retical and the absolute XY from the gun, so there needs to be a little cross referencing going on to make sure they sync up. This is why relative mouse movement isn't the best for optical tracking, but at the time of the technology, ray tracing was how it worked and everything was relative to the trace beam on the screen.
Actually I am suprised that there isn't further discussion from the lightgun manufacturers on the forum to how they may be able to make their guns into a True mouse input. Surely it's a driver that could be written?
Ironically the best qualified people in the world to fix this is Elsemi himself, or one of his crew with code, or even the equally as great CarlKenner from glovepie. From all my reading, there isn't a way for windows to fake a RawInput device, but you can fake a Dinput device as glovepie can do. It appears to get a real RawInput device, it needs to be a real mouse... hence the mouse idea.
This has become a project for me, a great way to learn windows scripting languages. It won't be overnight but I have a couple idea's that might get there. It's a real shame it didn't get completed before Elsemi left off, but kudos for his (and crews) efforts. And if I got an offer from Sega like that, I'd have taken the deal exactly the same way