GameBoy Cartridges
There are two different types of GB cartridges: MBC1
and MBC2, circuits of which are provided below:
MBC1
MBC2
Memory Bank Controllers
Memory bank controllers (MBCs) allow to switch
banks and control backup RAM. MBCs contain registers (5 bits for MBC1, 4 bits
for MBC2) in which you load the value of a memory bank before accessing it.
MBC1 is controlled by the A15..A13 address lines, MBC2 by A15,A14,A8. Banks
are written in D0..D4 (D0..D3 for MBC2). When controlling both RAM and ROM, ROM
is selected when A15 is low (addresses 0000h to 7FFFh).
The back-up memory
is preserved by a 3V lithium battery together with a NV-RAM controller. The
~MREQ line is low each time the processor makes a memory access (e.g. with the
LD operation), but not when it fetches instructions.
MBC1
MBC1 can control up to 4 MBits (32 banks * 128kBits) of ROM together with
several pages of RAM. Games which need more RAM that the limited internal RAM
use MBC1. The first page of RAM may be backed up with a battery.
MBC2
MBC2 has 512 * 4 bit of internal memory used as back-up memory. It is
accessed using A8..A0 and D3..D0.
If you have have any question or remark, send mail to felber@di.epfl.ch.