If I buy it and plug into my computer, I guess my computer will see it as a storage device. If I send it a picture, does it overwrite the fpga bitstream? Do I have write custom drivers so that it does something useful?
I would not expect it to show up as a storage device, no; the point of SDIO is that the SD slot is generic like a USB port. You would need software that can use the device you've plugged in just like if you plugged in a separate FPGA programmer.
I used a Gameboy Flash card that showed up as a blockdevice that was formatted FAT device, writing/overwriting a file upon it will overwrite the flash and inserting it to the Gameboy would then start it.
I suspect that there was some transation firmware that acted as the blockdevice and routed data to the flash as the "file" was written by the computer, it was a pretty clever and frankly painless way of updating since there was nothing beyond connecting, copying and flipping back.
Yes, in the long run you want something directly USB connected (preferably with a debugger) but as for having a no-hassle setup this was quite neat.
And considering that many of the first generation of Gameboy flash-devices had been tied to dodgy paralell-port flash protocols that were hardcoded to even dodgier win95 era flashing programs that required full HW access(and not working well on winNT based systems not to mention osX or Linux) I think a bit of the thinking for this was to future-proof the device by just basing it on some standard block-device technology like SD cards or UMass that was unlikely to become unsupported.
My understanding of the docs is that the device does indeed implement the SD storage protocol and not SD I/O subset.
Their docs say it shows up as an unformatted 20MB disk when you plug it in and that you can interact with the device via `dd`: https://c0-microsd-docs.signaloid.io/
yjftsjthsd-h|1 year ago
whizzter|1 year ago
I suspect that there was some transation firmware that acted as the blockdevice and routed data to the flash as the "file" was written by the computer, it was a pretty clever and frankly painless way of updating since there was nothing beyond connecting, copying and flipping back.
Yes, in the long run you want something directly USB connected (preferably with a debugger) but as for having a no-hassle setup this was quite neat.
And considering that many of the first generation of Gameboy flash-devices had been tied to dodgy paralell-port flash protocols that were hardcoded to even dodgier win95 era flashing programs that required full HW access(and not working well on winNT based systems not to mention osX or Linux) I think a bit of the thinking for this was to future-proof the device by just basing it on some standard block-device technology like SD cards or UMass that was unlikely to become unsupported.
amsaltman|1 year ago
Their docs say it shows up as an unformatted 20MB disk when you plug it in and that you can interact with the device via `dd`: https://c0-microsd-docs.signaloid.io/