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*