GBA Multiboot via PC

Discussion in 'GBA - Flashing Hardware and Software' started by Knechtus, Jan 19, 2010.

  1. Knechtus

    Knechtus Newbie

    Jan 19, 2010
    I am using the VHAM to develop some code for the Gameboy Advance. There is an option to debug the code with the GDB insight.
    Is there any schematic for an upload-cable (like XBOO) that connects to the PC via serial port and to the GBA via the user port? The cable should be to upload the gba-file to the GBA in order to debug it without having to put it on the supercard each time.
    Or perhaps someone has some documentation on the user port and multiboot so that I can construct an inteligent USB cable with a microcontroller? I would share the code and schematic to the community, because I have seen that there is demand for a USB solution.

    Thank you very much.
    Best regards
  2. Todderbert

    Todderbert Korg Fanboy

    GBAtemp Patron
    Todderbert is a Patron of GBAtemp and is helping us stay independent!

    Our Patreon
    Aug 30, 2009
    United States
    Well they made a linker cable that was a "usb to the GBA comm port". Mainly used to flash the EZFA but you could also send small games to the gba's onboard memory and run it, without needing a flash cart.
  3. DanTheManMS

    DanTheManMS aka Ricochet Otter

    Jun 2, 2007
    United States
    The Flash2Advance USB cable can also be used to transfer multiboot files over USB.

    However, it seems like you'd be more interested in making something yourself. If that's the case, then would probably be highly interesting to you.
  4. alphamule

    alphamule GBAtemp Fan

    Oct 24, 2011
    United States
    The monster of an adapter is funny when in theory you can use an small microcontroller with builtin USB interface much like what the EZFA uses. Has anyone made a schematic of them? There are now PIC18F chips that have USB and are in a DIP20 package. That's accessible to even most beginner's soldering skills. Soldering a 20-pin DIP socket is easy compared to directly soldering SOIC's or BGA's. ;) The firmware for the PIC would legally have to be our own, anyways, so we might as well use a recent chip. It is also more likely to be available longer.

    http://www.flashrom....ted_programmers I'm looking at that program at the moment. It seems to have support for tons of different chips. Adding support for GBA cables shouldn't be too hard?

    1) Select USB
    2) Reduce pin count to 20

    Basically, here's how the firmware on the PIC:
    1) Multiboot section - code sent to GBA on boot
    2) Initialization section - sends multiboot code to GBA, sets up buffers, waits on USB driver, etc.
    3) Library section - code for handling buffers, converting protocols, and so on.
    4) Main loops - code that runs when in specific modes
    5) Firmware updater - just allows us to rewrite the rest of the firmware with updates over USB - much like the short section in custom DS firmwares to prevent bricking.
    You don't want it too complicated. The simpler the design, the better.
  5. snikerz

    snikerz GBAtemp Advanced Fan

    Nov 30, 2008
  6. alphamule

    alphamule GBAtemp Fan

    Oct 24, 2011
    United States
    Yeah, already seen that. Where is the schematic? All I see is software. No board layouts in that file. :/

    "my Arduino prototype board and now have it running on a bare atmega168"
    Overkill by like $100. :P Well, to be fair it's not that bad (was a joke). But my point was not to use a prototyping board. Just a homemade adapter...

    I have Arduino stuff as well. A PIC18F13J50 Oops and wrong one anyways! PIC18F14K50 and atmega168-20pu are both pretty cheap. They are both capable of this job but the PIC has no need for 2nd chip to do USB support. The 32-pin devices from Atmel have USB. I researched the smallest number of pins for microcontrollers with builtin USB months ago for an unrelated project. BTW, avoid the PIC16F1455 since it's kind of hard to find. It's 16 pins, though. "Status: Future Product" according to website. Hmm, I guess that's why!

    If I was going to be using premade boards, I'd probably consider the Atmel simply because it has more I/O pins, though.
    Prices are about the same and the size of the smallest board isn't too different. For mass production, the number of chips is more important than if the one chip has 50% more pins. Doubling the number or not allowing for smaller package types would be different, though. We're not talking about mass producing a board for some old game system anyways, heh.

    Pretty small board, here. There is a 3rd revision.
  7. FAST6191

    FAST6191 Techromancer

    pip Reporter
    Nov 21, 2005
    United Kingdom
    DanTheManMS already linked up one of the sites, I linked up a bunch more
    Specifically might be of interest.

    Many years ago there was a version of VBA (a game running/hacking emulator more than programming really) called VBAlink real (not to be confused with regular VBAlink) that could interface with such things but the hardware side of things was lost as far as I can tell.

    On a different note thanks for the link snikerz - I had not seen that one.

    Edit- did not see the date. Oh well.
  8. alphamule

    alphamule GBAtemp Fan

    Oct 24, 2011
    United States
    Thanks for links. This would be a useful project not just for GBA. I'm thinking automobiles. :P