Flash Cart Design & Simple I/O by Jeff Frohwein, v1.0116 This article describes flash card projects that you can make yourself for the GB or GBC. Also described is an ability to control 4 digital outputs OR 4 servos (The kind of servos that you find in Radio Control cars or planes.) without requiring ANY special interface chips. This article is broken up into four sections. The first section, CART SELECTION, describes the tradeoffs of various carts. The second section, SIMPLE I/O, shows an example wiring diagram for supporting 4 servos. The next section, FLASH CARTS, describes modifying a cart to add your own flash chip. The last section, CART PROGRAMMERS, describes building a cart programmer. CART SELECTION Most original GameBoy carts contain a Memory Bank Controller 1 or, MBC1, for short. Here is a list of such carts: http://www.devrs.com/gb/files/gbmbcsiz.txt Using these carts, there are 2 extra digital output lines that you can use for your own purposes. These are labeled EA0 & EA1 on U2 shown here: http://www.devrs.com/gb/files/mbc1.gif Most GameBoy Color Compatible or GameBoy Color dedicated carts contain an MBC5. Using these carts, there are 4 extra digital output lines that you can use for your own purposes. Here's an example of some MBC5 carts: http://www.devrs.com/gb/files/gbcmbc.txt These extra digital output lines are only used by carts that contain 32kbytes or 128kbytes of cart RAM. Since most MBC5 carts contain no ram or only 8kbytes worth, you can use these extra lines for your own purposes. So what type of cart should you use? First, It's a good idea to locate a cart with 8kbytes of RAM. You can use this RAM for storing GameBoy BASIC programs or your own non-volatile data. Cart RAM won't rob any of your extra digital output lines unless you get a cart with 32Kbytes or more RAM. MBC1 carts that contain RAM are nice because they have a "standard" ROM type layout and you can relatively easily replace this ROM with a 29F040 4mbit flash chip. MBC5 carts with 8KBytes RAM are nice because you get two extra digital output pins. The main drawback to MBC5 carts is that you can't always predict the ROM type layout that is used until you buy it and open it. There are TWO standard ROM type layouts in MBC5 + RAM carts. Type 1 carts will have a stamp on the PC board that says 2M/4M/8M-MROM. Type 2 carts will have a stamp that reads 16M/32M/64M-MROM. NOTE: JUST BECAUSE AN MBC5 CART ONLY USES 8MBIT DOES NOT MEAN IT ALWAYS USES A TYPE 1 PC BOARD. I have seen a Zelda DX & a Quest For Camelot cart that used a 16mbit ROM and a Type 2 cart even though these games are only 8mbits. In these cases, half of the ROM is just not used at all, for whatever reason. The only easy way to replace a ROM with a flash chip is either to get a MBC1+RAM cart or a Type 1 MBC5+RAM cart. Then you replace the ROM with a 29F040 4mbit flash chip. There is no easy way to install a larger flash chip than a 4mbit flash chip. You can do it but the wiring is REALLY messy. SIMPLE I/O As shown in this diagram, a typical servo used in radio control airplanes and cars needs only a 4.5-6 volt battery source and a single control signal to set the position of the servo. http://www.devrs.com/gb/files/gbrps.gif In this diagram, a connector is added to the top of a MBC5 cart that allows directly plugging 4 servos into the cart itself. Only the top 4 white wires in this photo are used by the servos. All of the other white wires are used to wire a 29F040 to a Type 2 MBC5 cart: http://home.hiwaay.net/~jfrohwei/gameboy/servo.png Putting GameBoy BASIC on the flash chip is all you need to control the servos. The complex timing pulses required to drive the servos is handled automatically by GameBoy BASIC. FLASH CARTS MBC1 or Type 1 MBC5 Carts ------------------------- Type 1 MBC5 carts have the same ROM layout as MBC1 carts which is shown here: http://www.devrs.com/gb/files/lh534.gif Here is an example of wiring a 29F040 4mbit flash chip to this type of cart: http://www.devrs.com/gb/files/c3cart.gif Here are complete instructions: http://www.devrs.com/gb/files/c3mods.txt Here is an example of wiring a 29F032 32mbit flash chip to this type of cart. NOT AN EASY TASK!: http://www.devrs.com/gb/files/32mbit.jpg Here are complete instructions: http://www.devrs.com/gb/files/32mbit.txt Type 2 MBC5 Carts ----------------- Type 2 MBC5 carts have a new type ROM layout which is VERY difficult to replace with a flash chip. Here's an example of the ROM replaced with a 29F040 4mbit flash chip: http://home.hiwaay.net/~jfrohwei/gameboy/servo.png Here is the ROM type layout: http://www.devrs.com/gb/files/23c64000.gif CART PROGRAMMERS The only know cart programmers that program these modified Nintendo carts are the C3 Programmer design: http://www.devrs.com/gb/files/c3p.gif or the CARTIO design: http://www.reinerziegler.de You can get a PC Board for the C3 design from here: http://www.devrs.com/gb/files/parts.txt *EOF*