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.