gbadev.org forum archive

This is a read-only mirror of the content originally found on forum.gbadev.org (now offline), salvaged from Wayback machine copies. A new forum can be found here.

Hardware > adapting a flash cartridge to a cf card

#10988 - dotmatrix - Mon Sep 22, 2003 8:45 pm

i want to be able to use a compactflash card as the memory source for the roms on a flash cartridge. kind of like the flash2advance gamewallet, but playing them straight from it. i was wondering if someone could help me figure out how to implant a working cf slot into like a 64Mb flash cartridge. any tips would be much appreciated. thanks

#10990 - torne - Mon Sep 22, 2003 10:27 pm

You can't play games straight from CF, it's too slow. That's why the GameWallet works the way it does.

#10992 - dotmatrix - Mon Sep 22, 2003 11:19 pm

well what about the GBank Super Card Reader. it uses SD memory. is SD faster???

#10993 - torne - Mon Sep 22, 2003 11:35 pm

I don't know, never used it, but I suspect not. The maximum wait states that the GBA can manage is 8 for a 16-bit access so anything that takes more than 8 GBA clock cycles to prepare for a read (477 nanoseconds or so) won't work. Also, most commercial games use 4 or 2 wait states, so you either need to be below 4 or 2 cycles, or apply the old flash speed patches used back in the days of the original visoly flashcarts, which often break games or make them run badly..

#10996 - tepples - Mon Sep 22, 2003 11:54 pm

How much would it cost to put 8 MB of 100ns RAM into a cart? Or does inexpensive RAM draw too much current?
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#11004 - torne - Tue Sep 23, 2003 10:07 am

No idea, check some datasheets. You could probably make a cart entirely out of SRAM, though you might want a write-protect switch so you don't screw up your own code during debugging. =)

#11410 - MattyMatt - Sun Oct 05, 2003 4:53 pm

CF (and Smartmedia, probably a better choice) use a slightly simplified ATA interface, so you'd need a circuit as complex as the the gbacd to read it.

Probably easier would be to mod a gbalink cable so it has a USB A socket, and then plug a USB card reader into that. A pure ram cart would be very useful in that situation. No need to worry about a backup battery for the main (rom replacement) ram, but the drain on your gba battery could be quite high.

#11411 - torne - Sun Oct 05, 2003 5:05 pm

MattyMatt wrote:
CF (and Smartmedia, probably a better choice) use a slightly simplified ATA interface, so you'd need a circuit as complex as the the gbacd to read it.


It's not too bad; I've seen people construct CF interfaces before...

MattyMatt wrote:
Probably easier would be to mod a gbalink cable so it has a USB A socket, and then plug a USB card reader into that.


You hafta be kidding =)
You would have to build a USB host adapter and hub into your 'cart' - building a host adapter is orders of magnitude more difficult than even a USB device, which is already pretty hard unless your device conforms strictly to one of the standard interfaces (HID, Mass Storage, Imaging..etc). Standard host adapter chips, as far as I know, all have PCI bus interfaces, which is obviously not suitable for connecting to a GBA.

#11416 - tepples - Sun Oct 05, 2003 10:18 pm

torne wrote:
It's not too bad; I've seen people construct CF interfaces before

You would need several megabytes of RAM on the cart to hold the currently loaded program, unless you want the adapter to load only .mb programs. That's why I asked how much 8 MB of SRAM would cost.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#11429 - Cyberman - Mon Oct 06, 2003 7:29 pm

MattyMatt wrote:
CF (and Smartmedia, probably a better choice) use a slightly simplified ATA interface, so you'd need a circuit as complex as the the gbacd to read it.

Probably easier would be to mod a gbalink cable so it has a USB A socket, and then plug a USB card reader into that. A pure ram cart would be very useful in that situation. No need to worry about a backup battery for the main (rom replacement) ram, but the drain on your gba battery could be quite high.


Well this is kind of nutty.. CF does require a wee bit of firmware to work though.
USB is rather tiresome and complex. Did I mention tiresome? You are going up an order of magnitude in complexity from CF to USB.

SmartMedia and derivatives is relatively simple hence why it's a more likely candidate.

As for making an 8mb Sram cart.. is that megabits or bytes?
Cypress makes low power mobile SRAM at densities of 16mb and 32mb in a (see this) 1mw x 16 2mx16 single package. These are in fBGA packages however or regular BGA packages (not exactly easy to "solder"). Anyhow you have to interface it to the GBA (it's a 2.5V device so a CPLD with multiple voltage IO would be handy to handle that). So Sic et Non then if 8 megabytes.. well you'll need 4 of these and a CPLD. Might be a tight squeeze :)

It's too bad the GBA doesn't have a reset pin on the bus for the carts, would be handy for quickly updating a ROM image for debugging purposes.

Cyb
_________________
If at first you don't succeed parachuting is NOT for you.

#11431 - tepples - Mon Oct 06, 2003 7:52 pm

The GBA cart edge does in fact have something that could be used as a "reset pin," namely the Game Pak IRQ line. A cart could use this line to trigger a register reset followed by a jump to 0x08000000.
_________________
-- Where is he?
-- Who?
-- You know, the human.
-- I think he moved to Tilwick.

#11480 - Master S - Wed Oct 08, 2003 11:34 am

As said before, this can not be done unless you buffer the data from the card into some sort of ram.

Anyway how about the MultiMediaCard, it's quit easy to interface, as you can use the SPI interface (Motorola), it only requres 4 pins :
CS (Chip select)
Data in and Data out
and a clock
(+ power supply :))

And it's operating at 3.3 volts (as the GBA)

#12343 - duncanentwisle - Sat Nov 08, 2003 2:07 pm

torne wrote:

Standard host adapter chips, as far as I know, all have PCI bus interfaces, which is obviously not suitable for connecting to a GBA.


Just for informations sake (you're still right about the difficulty stuff) - but there is the Philips ISP1161 which is a single chip *host* and device controller that can interface to ISA (see Simtec - http://www.simtec.co.uk/products/EB1161ISA/).

(I haven't looked into it in any great detail, so I expect you'll find that it isn't in the remotest sense usable, and you'll clip me around the ear :-)

#12346 - torne - Sat Nov 08, 2003 3:03 pm

Nice toy. You could probably build that into a GBA device. Would still be hard =)