hi john,
> Ironically though, most of the info you can extract from it is about the
> f2a usb cable, not about the flashing process itself.
>
yep, i took a closer look and i would have to agree, there is nothing
that reveals the flashing process. i'm pretty sure i don't have any idea
how to reverse engineer that, so this might not be possible.
on the other hand, i seem to recall reading somewhere that actually
writing to flash memory is the same across all carts, so it might be
that the firmware just does the timing of the serial writes as opposed to
the if2a code, which just dumps the data down the usb cable in manageably-
sized chunks. the code for the timing of flash/serial writes should
already be accomplished in Jeff's mbv2 code. and since the protocol is exposed
in the if2a code, it might be possible after all.
> A PC file-server for the GBA, whether through serial or USB
> (provided you have the code to drive the USB cable) can't
> be that hard to write from scratch ?
>
probably not too hard, but why would i want to duplicate work? in
my estimation, adapting the if2a code to write to a serial interface
would be easier than writing file-serving code from scratch. (assuming
the above speculation is true and that it's possible)
> I'de be very interested to hear about what you are doing. For myself,
> I'd like to try driving the USB cable from a PC program to communicate
> with the GBA (file-serving and more) so I'm always keen on following
> what others have done in this domain.
>
i'm using the gba as an experimental platform for operating system
development. so my first project is a from-scratch kernel, with
pre-emptive multi-threading, a dynamic linker/loader, and other
"standard" features of modern operating systems.
obviously i can't do memory protection, or virtual memory, but that's
okay. its actually part of why i am doing this on the gba rather than the
PC--it simplifies things greatly.
if you want to discuss this more, i suppose we should take this off the
list, as its probably somewhat off-topic.
-mike