GBA SP/GBP Input Viwer

Discussion in 'GBA - Console and Game Discussions, Help and Tips' started by jaysee87, Jun 12, 2015.

  1. jaysee87
    OP

    jaysee87 Newbie

    Newcomer
    2
    0
    Jun 12, 2015
    United States
    So I'm undertaking a huge (maybe? at least a lot to learn for me) project. I'm trying to create an input viewer for GBA SP or Game Boy Player. I've tried to read from my GC Controller Data Line with an Arduino and am able to read it fine until the Game Boy Player is booted, since the GC is now issuing Joy Bus commands for the GBA. I've tried to read the SO, SC, and SD lines while I had my SP connected to my GC with GBP running and haven't been able to get a good read.

    So now I'm trying to find as much documentation as possible for pretty much every route I can take.

    IIRC when in Joy Bus Mode, when issued a data read command, the GBA responds with 5 8-bit packets of data, but I haven't been able to find anything on how to interpret this data. I don't think I've got the right timing down to read the data at the moment. Or if I can find a way to distinguish the data read command going to SI, then I can my Arduino read SO when that data read is detected.

    I presume unless a game changes the mode, the GBA's Comm port is in Normal Mode, so I was wondering if it is even a possibility to read a specific ram address's value through the Comm port, since I know how to interpret that inputs that are stored in the IORAM, if I could actually get the information from the port on the GBP.

    It seems like every page I've found that looks like it has the piece I'm looking for doesn't exist anymore, sadly.

    Any pointers or tips are greatly appreciated. Thank you.
     
  2. FAST6191

    FAST6191 Techromancer

    pip Reporter
    23,204
    8,971
    Nov 21, 2005
    I would probably take the easier route.

    First one there would be just use an emulator but for hardware I would get a sacrificial SP and/or controller and just tap the on PCB debug pads on the motherboard. Around here we usually see it for automatic game players/gameplay assists but button input logging is a very close second. Offhand I am not sure what pads it would be for the SP or GC controller but looking at http://www.slagcoin.com/joystick/pcb_diagrams/gc_diagram1.jpg and http://www.play-asia.com/image/content/gbain4_l.jpg looks promising, unless you fancy getting medieval on it http://mikejmoffitt.com/wp/?p=123

    The GBA serial port is no kind of memory wide viewer/debug port a la firewire or something more JTAG style in more general electronics. I am sure you could hack a ROM, and if this was the DS then you could even make a cheat (I guess you could for the GBA as well but it would be far harder), to output the contents of the control registers/debounced copy the game uses to the port with acceptable latencies for your purposes.
     
  3. jaysee87
    OP

    jaysee87 Newbie

    Newcomer
    2
    0
    Jun 12, 2015
    United States
    Thank you for your quick reply. I'll look at those links when I get a bit more time. Yeah, I wasn't sure what all the serial port actually could be used for based on the stuff I've read. Just different modes and replies. I know about multibooting to load a small file to the WRAM, so some wishful thinking led me to ponder the possibility of trying to go the other way.