Helge wrote on 05/29/10 at 23:27:55:
Hi again!
@Steve:
When you just strobe the write signal the simplified solution won't work. You'd need a monostable flip-flop to keep the camera side signal 'till the second strobe. That's where a small micro is the more flexible solution.
Changing the DS side software to keep the line low long enough would allow the use of the simplified circuit.
Helge,
It does not appear to be possible to keep the write line low for longer periods of time due to how the DS\GBA DMA hardware is setup. You do not have direct control over the GBA pins in software.
Quote:As for USB: the ATmega 16 is not suitable for USB host functionality. The AT90USBxx7 could do it.
I was using a different ATmega but not as a USB host controller, just as a interface to the GBA port. Either way it is not fast enough to handle garbing data off a DMA transfer, a latch or replacing the uC and latch with a CPLD will have to be used. As for the AT90USBxx7, this chip is end of life and is not a good choice for a new design. The new vinculum II with on board programmable uC will work with a latch IC or the older vinculum with a CPLD or uC and latch IC.
Quote:What I would try is to implement something like a SPI interface on the DS side. SPI has a quite simple timing and works fast on the Atmels. You need 4 lines (send, receive, clock, chip select) to transfer data between micro and DS.
Again, the main key to this solution is better control over the bus lines. This could work reliable without extra hardware. A dedicated USB conroller that is completely managed by the DS would be another possible option. The tricky part is to find one that interfaces well with the DS.
Helge

=)
SPI is only available on the DS cartridge not on the GBA cartridge. This would require booting off R4 or equivalent then swapping out the card for the USB host controller card. I have been thinking of this but my big question is if the entire program is loaded from the R4 upon load? If not the DS would try and access the program off the R4 when it is not longer available due to card swap.
Cheers,
Luke