I bought a Flashboy from someone on ebay about 2 months go. New packaging well put together overall I was very pleased with the quality.
Then, I tried flashing it. It kept hanging at various parts of the flash and never got it to work with the flashboy software. I then dug around found some comments saying that "it never works the first time". I tried it with 6 or so cables I had laying around the house not much different results. I assumed it was somewhat buggy software. I put it back in the box and figured I'd get to it later.
Turns out today is the day! :D
I'm a software engineer, so I figured I would be proactive and try to write my own flasher program. I reverse engineered the usb protocol, which is pretty simple.
So 0xA2 as the erase command and 16 erasable blocks.
The cartridge echos the commands + a few 0x0 + some gibberish (other parts of memory i suppose)
To write a rom:
Write Command: Packet1 : 0xB0, ............ 0x0 Packet2 : 0xB4, ............. 0x0 then proceed with sending 64byte chunks of the rom until finished.
This is all find and dandy except I was hoping that there was maybe a timing or threading bug with the flashboy.exe because it would hang if there was an issue. I wrote a program to erase and flash, but the cart simply becomes unresponsive at various times. Which isn't really a problem for erasing because you can just continue to erase with the blocks that where known to be erased since they are addressable. Writing to the cart however isn't addressable. So once it hangs its basically dead.
With the flashboy.exe various roms tend to hang at certain percentages which tend to be repeatable which leads me to believe it maybe a firmware issue, maybe hardware I'm not sure. With my program it tends to be more random. I cracked open the case and checked for any soldering flaws but the board is pretty clean, no visible issues. Actually I was impressed with how clean it is inside! nice job. Just a pic and a eprom really, and what looks to be a jtag for firmware flashing.
Somewhere in the middle of all of this today I did manage to flash the device twice, but it wasn't reproducible so it's not solved unfortunatly.
So if the king of the protocol will tell me any other protocol commands which might be present. That would be awesome, cause then I may be able to write a more fully featured flasher, and something that can even pad the roms while writing them. If there are no more commands then I think I'm stuck, and maybe I got a defective unit? Can I flash the firmware from usb? BTW I think I have a jtag somewhere here.
ps. just to rule out funky machine/cable issues I tested the device with 6 different cables on 3 different machines.
Apparently different versions of the FlashBoy loader only work properly with certain FlashBoy batches. Maybe yours is an older FlashBoy, have you tried using an older version of the loader with it?
For more info, I suggest getting in touch with Richard Hutchinson, aka MineStorm, the designer: