Dug it up for you today:
viewtopic.php?f=11&t=6814&p=77629#p77629The sources are awful. (Never put functions in header files! Bad 18-year old Para! BAD!!) But easy to rewrite, as necessary. I also have some examples of how to use the code, but chose not to include that. (I was working on a firmware replacement that I was calling "Cheatah" at the time, perhaps you recall... That's the sources I have. It includes a *very* minimal cheat engine, and a flawless hook system (the original GS/AR had up to three possible hook methods; all of them clobbered at least one register. Mine didn't have that little defect.)
Anyway, it should be very straightforward as it is. Just call GSHWenable() in main, and it will initialize the hardware. From there, do whatever you want with it!
It looks like the crappy USB chip can only buffer 8 bytes at a time I don't remember if the data was made ready for the host when the buffer was filled, or if it was made ready immediately (maybe I never even checked!) but the code worked. Check the "hacking doc" and USB doc, and compare it against the RE'd assembly in the test menu code. (The test menu was built into the original v1/v2/v3 firmware. I don't remember how you get into it, but it was probably something simple like holding L+R+A+B while power up or something silly.)
Oh what the hell, you've got the info. If you want more, debug one of the AR ROM dumps...