Home Gameboy (color) Gameboy Advance iQue Pokemon Mini GPS Avigo SNES Links

last update  28. Mrz 08

GameBoy Cartridge Reader and Writer by Reiner Ziegler

pfeil.gif (616 Byte)overview of all cartridges, programming hardware and possible combinations
WB01345_1.gif (616 Byte) Home made cartridges
bullet4Mbit cartridges
bullet16MBit cartridges
bullet32MBit cartridges 
bullet64MBit cartridges
bullet2MBit cart with 82C55 digital in/out
bulletGBTS cart with flash and UART
bulletGBDSO and GBGPI
WB01345_1.gif (616 Byte) Commercial cartridges
bullet4,16 and 64MBit cartridges from Bung
bulletmodify Bung cartridges
bullet16 and 32MBit cartridges from EMS
bullet32MBit cartridges from Nintendo
bullet4,16 and 64MBit from UFO Company
bulletfrom NetMars
WB01345_1.gif (616 Byte) Homemade programming systems
bulletGB Cart Flasher
bulletPIO 24/48 II
bulletCarbon Copy Card (C3)
bulletALTERA based programmer  
bulletGame Link cable (unfinished design)
WB01345_1.gif (616 Byte) Commercial programming systems
bulletBung Enterprises Limited
bulletE.M.S. Industrial LTD
bulletUFO Company
bulletCCL Video Games
bulletLeading Edge Technology LTD
bulletGenius GB-Backup Station
WB01345_1.gif (616 Byte)   ReadPlus programming software and menuprogram (startup.gb) for home made cartridges and all home made programmers,

Here is a program to get ReadPlus working on Win 2000 or Win XP, see the included file for more details.

DJGPP is a complete 32-bit C/C++ development system for Intel 80386 (and higher) PCs. 


Download ReadPlus 3.32 and startup.gb (including C-source of ReadPlus 3.32)

Duke made a special ReadPlus version supporting the LH28F800SU chip.


Download ReadPlus 3.327 for Linux  Thanks to Gerhard Bertelsmann for the latest update :-)
V3.327 corrected SRAM routines (write addit. data bank switch)
V3.326 corrected cart type 22 (no SRAM)
V3.325 add MBC7 detection
V3.324 untested support for Sharp LH28F800
V3.323 Add MBC5 in SRAM routines

WB01343_.gif (599 Byte) Home made cartridges

Take a look here for my new MBC5 game cartridge. This cartridge can nearly play all GB and GBC games :-)

Buy an original GameBoy cartridge with RAM, ROM, MBC1 and Battery. Possible games are Another Bible, Donkey Kong Land 95, Dungeonland, Kirby 2, Super Marioland II, Super Marioland III, Mario´s Picross, Metroid 2, Zelda, Donkey Kong, Lucle, Kirby Blockball, Kirby Dreamland II, World Cup USA 94 ...

Replace the original ROM (max. size 512Kbyte, SMD Part) with an AM29F040-150JC (512Kbyte, PLCC Part) like I did or try to get an AM29F040-150SO (SMD Part). You can also use the AM29F040B version of that chip.

sharp.gif (2726 Byte) am29f040.gif (2725 Byte)
original ROM inside Super Marioland II AM29F040-150JC Flash chip

Pin 1 of the ROM is not used. Connect Pin 1 (A18) from AM29F040 to Pin 31 of the ROM and Pin 31 (WE) from AM29F040 to Pin 31 of the GameBoy connector (Audio IN). Connect a Pullup Resistor of 47kOhm between Pin 32 (VCC) and Pin 31 (WE) of the AM29F040. The Resistor is necessary to disable the WE Pin of the Flash chip in normal operation mode. All other Pins can be directly connected. The left side of the PLCC chip can be directly connected to pins 5-13 of the old ROM pads.

c3cart.gif (7489 Byte)

512k.jpg (19468 Byte) connect.gif (2308 Byte)

Original Super Marioland II GameBoy cartridge with battery (right upper side), replaced ROM (right lower side), MBC1 (left middle side) and RAM (left lower side).

You can also replace the original ROM (max. size 512Kbyte, SMD Part) with an AM29F016B-90SC or –120SC (2Mbyte, SO-44 Part). In this case you can store up to three games inside one cartridge. With my software startup.gb (explained later) you can select 1 out of 3 games.

sharp.gif (2726 Byte) am29f016.gif (11797 Byte)
original ROM inside Super Marioland II AM29F016B-90SC SO-44 Flash chip

Remove the old ROM chip and solder wire-wrap wires to Pin 2-15, 17 and 22-32 of the ROM pads. Bend all pins of the AM29F016B up (except 22, 24, 25, 26 and 27) and connect this 5 pins directly to the pads 16, 18, 19, 20 and 21 of the original ROM chip. Connect pin 2 (Reset #) to VCC. Connect pin 35 (A19) to pin 6 (EA0) of MBC1. Connect pin 32 (A20) to pin 7 (EA1) of MBC1. Connect pin 30 (WE#) to pin 22 (WR) of MBC1. Pin 28 (RY/BY#) and pin 1, 11, 12, 31, 33, 34 of AM29F016B are not used. Don't forget to connect pin 21 to pin 22 (VSS = GND) and pin 23, 44 to VCC. All other pins are connected to the appropriate pads. Try not to cross any wires over the flash ROM, there is not enough place for doing that. 

16mbit.jpg (17249 Byte)  

Picture of my 16Mbit cartridge based on Super Marioland II.

You need about 2-3 hours for building such a modified cartridge.

If you like to build a 16MBit cartridge based on MBC3 take a look at my Links page. This MBC3 based carts are only used by a few games.

All modified cartridges are also working with the Color GameBoy.

The last project is a cart with the MBC5 chip and the AM29F032B (32Mbit) flash chip from AMD. The MBC5 chip (PDF docu) is used inside the new Color GameBoy games. The old MBC1, MBC2 and MBC3 cartridges are also supported by the Color GameBoy. Here is a useful GBC cartridge list. Click on the pictures for more hardware details.

A lot of MBC5 details and a Custom MBC5 cartridge with Xilinx CPLD, 512kB flash and 128kB SRAM is available here :-) 

Pictures of a AM29F032 4MB cart with A21 hardware bank switching.
The switch allows to select between two games. Thanks to Jürgen Lang for the inputs.

mbc5t.jpg (27272 Byte)  

32mbit.jpg (22539 Byte)


Picture of a modified MBC5 cartridge from Sean Hatfield. Picture of a modified MBC5 cartridge from Jeff Frohwein. Description from Jeff how to build such a cartridge is here. And here is my description, how to build a programmable MBC5 game cartridge.


Description of a home made 64MBit cart !

Here is a description how to replace the ROM inside a MBC5 cart with an Intel 28F640J5 (64MBit chip) from Frank Dobert (great work Frank). A special ReadPlus (Bung) version is here. Didn't have time to add this into my ReadPlus version, but next time ...

see textfile


The AM29F040(B)-150JC (512Kbyte, PLCC Part), AM29F016B-90SC (2Mbyte, SO-44 Part) or AM29F032B-xxEx (x = don't care) are available from AMD (see http://www.amd.com for a local distributor) or from a very fast distributor in germany http://www.segor.de (page in german and english).


pio_top.jpg (22420 Byte) Here is a home made cart from Marc Rawer with flash rom and digital in/out based on 82C55. This working prototype of a PIO-board is fully designed in SMD technology. Take a look at his page.





GBTS Hardware, designed by Reiner Ziegler

I made this design end of 1998. Main parts are a 29F010 flash chip, a special status and control register and a ultra low power serial interface chip (UART) chip from Maxim. 

Software and PCB files are available here.

A detailed hardware description from me is here.

Here are great projects from Steven Willis.

GBDSO  Digital Sampling Oscilloscope    

Key Features:

Dual trace display 
Sampling Rate: DC to 1Msps 
Time Base: 100Sec to 5uS/Div 
Inputs: AC/DC 1Meg Ohm 
Input gain: 50mV to 10V/Div with 10:1 probes 
Line or chart recorder trace modes 
Real time FFT mode with dB scale 
Variable persistence XY mode 
PC link for screen or data transfer 
5hrs operation from NiMH batteries 
Averaging and Auto trigger functions 
Reference trace storage. 

Here is the documentation for the GBDSO  hardware. 

Picture of a GBDSO using SMB connectors .

General Purpose Interface

Key Features:

12 Channel 8bit High Speed ADC 
8 Channel 8bit Buffered DAC 
32KB of Internal Flash Program ROM 
1KB of Internal Flash Data Store 
Dual Boot Mode for Reprogramming 
No Programmer Required 
Rail to Rail Inputs and Outputs (0 to 5V) 
Standard D25 Output Connector 
6hrs Operation from NiMH Batteries 
'C' Development Library for GBDK 
Fits into standard games cartridge

WB01343_.gif (599 Byte) Commercial cartridges

Here are pictures from the old white-label cartridge from Nintendo with a LH28F032SU flash chip from Sharp. This cartridge is only available for professional game developers.

The new blue-label cart uses an Intel DA28F320J5120 flash chip but most importantly it uses a MBC5-D as an MBC rather than the power hungry Altera EPM7064STC44-10 that was used in the white-label cart. The MBC5-D is probably identical to a standard MBC5 except for the fact that it has a higher pin count. Most of these new pins being used to connect to a dipswitch which varies the cart RAM that is available to the game.

nint.jpg (28207 Byte) nintdoc.jpg (11104 Byte)

Nintendo Cartridge with 32MBit flash (ROM), 1MBit (RAM) and Altera EPLD EPM7064STC44-10 (MBC5 replacement).

You can program both cartridges with ReadPlus and all home made programmers.


A data logger interface card from ELV is here.

The card is called Datenlogger GBD 1 for GameBoy, order number 68-567-15. The price is 18,95 euro.      

With this data logger interface card you can change your GB(C) and GBA into a mobile data logging system.

Documentation is just available in german.

voltage range:                 0 - 5 V / 0 - 10 V / 0 - 20 V / 0 - 40 V
temperature range:         -10...100 °C
measurement intervall:     1s / 10s / 30s / 1min / 10min / 30min
storage memory:              max. 1000 values
measurement time:           up to 500h
power supply:                  5 V, via GameBoy
usable with:                     GB(C), GameBoy Advance

Here are pictures from Bung cartridges. You can program these cartriges with the programmer (GB-Xchanger) from Bung, the GB Game Jack or the GB Transferer from EMS and not with home made programming hardware. At the moment 4MBit,16MBit and 64Mbit cartridges are available.

gb-4mye.jpg (9429 Byte) gb-16m.jpg (10755 Byte) gb-64m.jpg (11009 Byte) These cartridges are compatible with MBC1, MBC2, MBC5 ROM and SRAM.
Winbond flash chip W29C040P Macronix flash chip MX29F1610 Intel StrataFlash chip 28F640 gear.gif (9873 Byte) Here are the internals of the Bung cartridges.
Pocket Voice internals Part I and Part II Pocket Voice is a 4 MBit cartridge with a speaker added. It works only with the special Pocket Voice Rom.You can record and play sounds with it. You can flash the Pocket Voice only with GBX and special Pocket Voice utilities. 2 MBit can be used for game programming.
Here is an explanation how to modify a Bung GB Doctor Card 16MBit to 64MBit from Frank Dobert (good work Frank).  


Here is a program from Purple Gem to burn cartridges with the PocketVoice. You burn the GB part into a pocket voice, connect it to a PC using the standard GB-Basic gb-to-lpt-cable, hold a button on the GB, power up the GB and start the transfer program on the PC to burn a ROM. When burning is done, reset the GB and the just-burned ROM will be executed.

Just two drawbacks:
- Program is created for classic\pocket GB
- Due to the nature of the Pocket Voice, only 32K roms can be burned. It is, however, possible to make use of the MBC in the Pocket Voice to create larger ROMs.

smcd16.jpg (15978 Byte) smcd32.jpg (21982 Byte) Here are pictures from E.M.S. cartridges.

These 16MBit and 32MBit Smart cards supports HuC1 and other chips. You will need the GB TRANSFERER (looks very similar to the GB-Xchanger) or the GB-Xchanger to program these carts.



gbc-gamejack_16m.jpg (9548 Byte)
This is a picture from the 16MBit flash cartridge manufactured by UFO Company, compatibel to the GB Game Jack system

This cart is 100% compatible with the 16MBit Bung cart.


4MBit and 64MBit (with Rumble support) cartridges are also available from UFO Company.

e-card from NetMars

available with 16, 32 and 64MBit flash

WB01343_.gif (599 Byte) Home made programming systems

Here is a programming system (GB Cart Flasher) from two IT students in Poland. Great work guys.

GB Cart Flasher is a cartridge reader and programmer for use with Gameboy consoles and was designed as cheap and easy to build alternative for existing devices. You can connect it to your PC via serial port (RS232) or USB. It supports games backup from cartridges you have purchased, reading and writing game saves and programming of your own games into cartridges with replaced ROM chip.

Here is a file with the description how to build the flasher and also a small troubleshooting guide.

RS232 Version


USB Version

The flasher hardware itself is based on an Atmel ATMEGA8515 controller.

You can program all home made cartridges. This programmer will use the AudioIn line (older 4MBit cartridges) or the WE line (newer 16MBit or 32MBit cartridges) for the programming.

You will also need a home made cartridge with one of the following flash chips:

flash type Manufacturer code Device code size programming via AudioIn (old) programming via WE (new)
49F002 Winbond 0xDA 0x0B 256kb


49F040 Atmel 0x1F 0x13 512kb X  
29F040 AMD (0x01), SGS Thompson (0x20) 0xA4 or 0xE2 512kB X X
29F080 AMD (0x01), SGS Thompson (0x20) 0xD5 or 0xF1 1 MB X X
29F016 AMD (0x01) 0xAD 2 MB X X
29F032 AMD (0x01), SGS Thompson (0x20) 0x41 or 0xAC 4 MB X X

The best solution is to make a MBC5 cartridge with 29F032B flash chip. In this case you can play nearly all GB and GBC games. You can buy the 29F032B flash chip from www.spoerle.com or from www.jameco.com.


  Here is a picture of my own GB Cart Flasher :-)


And here is my description, how to build a programmable MBC5 game cartridge.


Here is the Windows 9x, 2K and XP GB Cart Flasher programming software V1.1 

The Atmel controller firmware files (RS232 and USB version)

All pictures, schematics and pcb information (RS232 and USB version)

The RS232 version is here. gbcflsh-1.01-2.i386.rpm
Here is the GB Cart Flasher programming software V1.1 source (RS232 and USB version for Linux and Windows).

Only source, no binaries  !


Select one of the following possibilities. With each solution you can program your modified cartridge. My ReadPlus programming software will support all home made programming systems (except the new GB Cart Flasher).

Change the original CARTIO hardware from Pascal Felber (parallel PC port used), take a look at my Links page for PCB information

There is one not used 7400N nand gate on the CARTIO hardware. Connect Pin 12 with Pin 9 (RD), Pin 13 with PRN1 = J1 Pin3, Pin 11 with Cart32F (Audio) Pin 31 and your hardware is ready for programming flash chips. Maybe Pin 12 and Pin 13 are connected to ground. In this case you have to isolate the two Pins first. Connect 3300pF between CLK (pin 11) of each 74HCT374 and ground if you have problems using CARTIO on different computers.

Build Pascal's IO-56 hardware (standard ISA bus inside PC used)

For more information's about features, parts ... see here.
Connect Pin 31 (AudioIN) of the GameBoy connector CON2 with Pin 4 of CON1 (40PIN) and your hardware is ready for programming.
For location of the pins see the soldering side of the adapter with the GameBoy connector on the left side. Pin 31 of the GB connector is the unconnected pin on the lower side. Pin 4 of CON1 is on the upper right side. Left raw pin 2, 4, 6, ... right (outer) raw pin 1, 3, 5, ...

The IO-56 programming software running under windows (source is included) from Jason Millard is now available here. Please read the short Readme.txt from Jason. 

Buy the IO-48 hardware (standard ISA bus inside PC used)

There is a commercial ISA card that is equivalent to the IO-56. It also uses two 8255 chips, and provides 48 I/O (instead of 56). This card was sold by Conrad Electronics in Germany and its reference was: "975842-62, Interface 48 I/O".

Once you get the old IO-48, you must build a simple IO-48 to GameBoy connector cable. The description of this cable is here. GB camera read/write and programming of all modified cartridges is supported. You will need an external power supply (+5V).

The old IO-48 is no longer available, but you can buy the compatible PIO 24/48-II card. You can get information from Conrad's web site (http://www.english.conrad.de), click on "Full Text Search" and enter "968072". It is priced at 39 € and comes with own 5 Volt power supply via 3.5mm connector. The description of the interface cable to the GameBoy connector is here.

pio2.jpg (4570 Byte) PIO 24/48 II interface card order number:  968072-66  

Think it's no longer available from Conrad Electronic, but you can buy it from the manufacturer.

Use the Carbon Copy Card (C3) programming hardware from Jeff Frohwein (parallel PC port used)

 C3 is similar to CARTIO and includes all necessary modifications for programming cartridges.

Build a programming system with ALTERA EPM7064SLC84-10 (84 Pin PLCC) chip (parallel PC port used)

You need a programming file (cartio2.pof) for that chip, the chip itself and an ALTERA programming station. You can also build the ALTERA ByteBlaster and program the chip via the parallel interface. Free programming software (8MByte) ASAP2 is available from ALTERA. A smaller (200KByte) programming software (JAM player) from ALTERA is also available. In this case you need a JAM file (cartio2.jam) for programming the chip via the ByteBlaster. The JAM player is working under DOS, WINDOWS 95/98/ME and WINDOWS NT/2000.

All functions (see CARTIO schematic for details) are realized inside the chip. You must only connect the PC parallel port connector and the GameBoy connector (see epld2.html for more details).

The EPLD is sometimes critical. Connect all GND, all VCC and VCCio pins of the EPLD (as short as possible) to your powersupply. Connect at a minimum 4 capacitors with 100nF between GND and VCC (VCCio) of the EPLD (as short as possible and one at each corner). Add a 10uF or 47uF capacitor between GND and VCC coming from your powersupply. Add 4K7 pullup resistors between VCC and pin 1-9,14,16,17 of the parallel port connector.

I changed the internal structure (based on inputs from Philip Mulrane and Harald Bruenig) to revision C. New features are:

bulletnow works on all parallel ports with maximum speed
bulletpower pin (VCC) of GB connector can be switched on/off via software command (relay used)

Here is a  design from Jos Haesakkers, based on an EPM7128SLC84. Use Readepld.exe for his programmer. All design files are inside this zip file.

programm.jpg (38324 Byte) Picture of my own GameBoy Cartridge Programmer with ALTERA EPM7064LC84 inside, cable for parallel printerport and connector for +5 Volt.


GameBoy is a registered Trademark of Nintendo Corporation,Ltd.

Build XCARTIO - another programming system for the GameBoy (parallel PC port used)

This cartridge programmer consists of a Xilinx XC9572-15 PC84 EPLD on a single-sided PCB. It is based on my Altera implementation of the CARTIO cartridge programmer by Pascal Felber. XCARTIO is fully software compatible with my ReadPlus software (use readepld.exe).

Build a special Game Link cable and program the GameBoy via the parallel PC interface (the software is not finished and thereby you can't use this solution)

Buy the original system link cable from Nintendo (just for the connector), either for the Gameboy or the Pocket Gameboy. The interface is very easy to build and only necessary for datatransfer between PC and GB. The programming itself will be done by the GameBoy. Works only with my 16MBit flash module (based on MBC1) and LinkPlus (sorry, I stopped working on it). For the first time programming you will need a programming station or a friend with a programming station :-). The source code of the unfinished LinkPlus version is available here. It's not a fully working program :-(.

Independent from the selected programming hardware :  for GB Camera readout connect pin 2(CLK) of the GB connector to ground !

The Gameboy 32 Pin connector is available from:

MCM Electronics  USA

PHONE:   1-937-434-0031

FAX:         1-937-434-6959


#83-2285     Gameboy Type 32 Pin Connector
#22-1145     3.8MM Security Bit (GB cart opener)

Combined Precision Components plc. UK




Gameboy Type 32 Pin Connector
3.8MM Security Bit (GB cart opener)

You can also buy a GB cart opener from Conrad Electronic. Enter number 824267 under product search. It's called hexagon socket spanner with 3.2 mm, price is about 5 $ (US).

product number 824267-92  3.2mm

I use this opener for GB carts and SNES carts.

WB01343_.gif (599 Byte) Commercial programming systems

If you are not able or not willing to make your own programmer and cartridges you can buy one from Bung Enterprises Limited (parallel PC port used)

xchanger.jpg (17950 Byte)

GB-Xchanger from Bung is no longer available !!!!

programming software GBT V1.5 (C-source)

GBT transfer protocoll

This great programming system comes with own programming software. At the moment 4MBit,16MBit and 64Mbit cartridges are available. You can program these cartriges with the programmer (GB-Xchanger) from Bung, the GB Transferer or the GB Game Jack and not with home made programming hardware.

ReadPlus now supports GB-Xchanger. Thanks to Bung for internals.

Programming support ReadPlus GBT
4MBit home made carts yes no
16MBit home made carts yes no
32MBit home made carts yes no
4MBit Bung carts no yes
16MBit Bung carts no yes
64MBit Bung carts no yes
32MBit Nintendo carts no no

Or you can buy a programming system from E.M.S. Industrial LTD (parallel PC port used)

trans.jpg (34816 Byte)

GB TRANSFERER is no longer available, but you can buy the next generation for GB(C) and GBA :-)

The GB TRANSFERER will transfer GB format files to the GB 16M/32M SMART CARDs. He looks very similar to the GB-Xchanger. The hardware is a little bit different to the GB-Xchanger, but you can program the Bung cards with this programming system.

Or you can buy a programming system from UFO Company (parallel PC port used)

gamejack.jpg (11379 Byte)

            GB GAME JACK

GB Game Jack is a device that allows data to be transferred back and forth GB Ram card and any computer that has a parallel port. You can Backup Game Cards DIRECTLY !

You can program all Bung cartridges with this programmer.

Or you can buy a programming system from CCL Video Games (transfer via floppy)

          GB Smart Drive

GB SMART DRIVE works with out connecting to a PC. Download your own game cartridge into floppy disk and change codes into your PC. The new version comes with parallel interface to the PC.

Or you can buy a programming system from Genius (copy via Gameboy itself)

gb_backup01.jpg (23524 Byte) Unlike other programming hardware, the Station doesn't require the use of a PC, cables or separate software. All copy functions will be done by the GameBoy itself.

Or you can buy a programming system from Touchboy

GB+TouchBoy with 32MBit flash

All copy functions will be done by the GameBoy itself.

Or you can buy a programming system from NetMars

e-merger from NetMars

pfeil2.gif (599 Byte)overview of flash cartridges, programming hardware and possible combinations

Here you will find a lot of possible combinations for GB cartridges and GB programming hardware (thanks to Ego for his help).

Cart (MegaBit)










home made

getting data from

additional device info





16 ver2





16 64




home made programmer





use ReadPlus

GB Xchanger (Bung) V1












not sold anymore

GB Xchanger (Bung) V2








1 1    




(E.M.S.) GB Transferer









GB Game Jack (UFO)







X X      

PC / cart to cart

Touchboy - - - - - - - - - - - - - original cart 32MBit flash
e-merger (NetMars)                              

GB Smart Drive (CCL)









- -






GB Backup Station (Genius)









- -




original cart

stand-alone device with 16MBit flash

additional cart info

white cart blue  cart

not sold anymore

version 1 not sold anymore, has a bug


can hold only one savegame


has 1MBit BIOS on cart

supports rumble, but doesn't save when rumble is used. Single-rom only

     table V1.4

X software available      - programming not possible     1 cart programming possible, programming of cart BIOS not possible


WB01343_.gif (599 Byte) ReadPlus programming software and menuprogram

The ReadPlus programming software now consists of two different parts.

The ReadPlus program which is necessary for reading and programming the homemade cartridges and the startup.gb (source is here) program which allows you to select different tools and/or games.

The new -n command is only necessary for programming of modified MBC3 or MBC5 based cartridges. If you have any problems using ReadPlus with your hardware, try ReadPlus -w 3000 -p filename. You can also try the new -e command. With this command you can erase the old 4Mbit cart (-e 0), the newer 16/32MBit carts (-e 1) and the 32Mbit Nintendo carts (-e 2).

With the ReadPlus command –m file1 file2 file3 and a 16Mbit MBC1 cartridge you can store up to 3 (512KB) games inside that cartridge. The file startup.gb must be in the same directory like ReadPlus.exe. ReadPlus will load and program this file automatically. The new 16Mbit cartridges and the new programming mode (using WE instead of AudioIn) are also automatic identified. The Gameboy itself is now able to program such a new 16Mbit cartridge (nice for PDA applications). The menu program inside startup.gb resides in bank 0 and allows to select up to 6 (4000-7FFF) different banks with internal games, tools, ... and 1 out of 3 external games. At this moment GB-Debug V1.3 and GB-Basic V1.22 from Jeff Frohwein are implemented. There are small restrictions for writing own tools. The program or game must be assembled or compiled for the range 0x4000-0x7FFF and the values inside 0x0000-0x0150 (RET, RETI, Logo, Licensee, ROM size,..) must be at 0x4000-0x4150. So, write and test your cartridge at bank 0 and after testing add to all org statements 0x4000. After testing your program you can add it to the startup.gb file with the following commands:

copy /b startup.bin+gbb122.gb+gbd.gb+yourprogram.gb+blank.gb startup.gb

rgbfix -v startup.gb (just for the right checksum)

Don't forget to copy startup.gb into your readplus directory.

Here is a great Windows 9x front end for ReadPlus (WinRP) from Sean Hatfield.

winrp.jpg (31620 Byte)

And here is a special ReadPlus front end incl. source from Jürgen Lang. Looks funny :-)

The following manufacturer and device type codes are supported by ReadPlus.

Manufacturer codes
AMD or Texas Instruments 0x01
Fujitsu 0x04
Atmel 0x1F
SGS-Thomson 0x20
Intel 0x89
Sharp 0xB0
Macronix 0xC2
Winbond 0xDA
Device type codes
29F100B/T 0x00
29F200B 0x57
29F200T 0x51
29F010 0x20
29F400B 0xAB
29F400T 0x23
29F040 0xA4
29F040 0xE2
W29C040P 0x46
29F080 0xD5
AT49F040T 0x12
AT49F040 0x13
29F016B 0xAD
MX29F1610 0xF1
29F032B 0x41
LH28F032SU 0x88
DA28F320J5 0x14

After starting ReadPlus the following commands are available:

ReadPlus Version 3.32 from Reiner Ziegler

        -l           Specify the port to use (default is 1 = LPT1)
        -w         Specify the time to wait between accesses to the cartridge (use 2000 or 3000)
        -t           Test the cartridge reader
        -d          Dump 256 bytes to screen (default = 1)       address of RAM at 0xA000 is -d 160
        -a          Analyze cartridge or file header                   -a for cartridge or -a filename for file
        -e          Erase flash cartridge (0=4MBit, 1=16/32MBit, 2=Nintendo)
        -p          Program cartridge from file
        -n          New cartridge (MBC3/5 ) programming
        -m         Multicartridge programming (file1 file2 file3)
        -s          Save the cartridge into file
        -c          Combined module 64in1 save into file
        -v          Verify cartridge matches file
        -o          Overwrite SRAM with byte (default = 0)
        -b          Backup the SRAM into file
        -r           Restore the SRAM from file ss
        -f           File compare with SRAM

Revision history of ReadPlus

Version New features and changes
3.30 programming of new Nintendo cart with Intel DA28F320 chip 
3.29 identification of Bung carts
3.28 add erase command (-e) for flash carts, minor bug fix for RAM read/write routine
3.27 minor bug fixes, add support for original Nintendo 32MBit flash cartridges
3.26 fix MBC5 programming bug, rewrote programming routine (now it's 2 times faster)
3.25 add support for Atmel chips and programming of MBC3 and MBC5 (CGB) cartridges
3.24 identification of more MBC4 and MBC5 based cartridges, fix MBC2 readout bug
3.23 add support for SGS flash chip, set delay for programming mode to -w value/20
add type for MBC5 (GB Color) and MBC3+crystal
3.22 changed type for GB Camera to MBC3 (ROM readout is now working), changed default value for -w command to 2000
3.21 add verify command for SRAM -f
3.2 Bugfix for MBC3 chip, rewrote -v command, add GB-Camera support
3.1 Add support for MBC3 chip
3.0 Support multimodul programming (3 games in one cartridge)  
New mode for 29F016 programming (use WE instead of AudioIn)  
Add new -m command   
Skip data valid programming and old -m, -n commands  
Fix minor bugs
2.7 Add support for Fujitsu chips
2.6 Reset MBC1 registers to default values  
Add support for new 16Mbit ROM and 32Kbyte RAM modules  
Identify all AMD 5V Flash memories (now all chips can be used inside the cartridge)  
Change -a command, now displays header of cartridges and files  
Add licensee codes based on lists from Harry Mulder and VGB_MAX
2.51 Change LED_OFF call's
2.5 Change internal structure for better support of different hardware (include files for IO56, IO48, CARTIO, EPLD, NewHW)
2.41 Fix -w bug
2.4 Add overwrite command for RAM with battery
2.3 Make RAM visible for Dump command (-d 160 = base 0xA000)  
Some minor changes for IO-56 hardware
2.2 Now supports IO-56 hardware from Pascal Felber  
Readout of 64in1 cartridges  
Skip 10ms routine for programming  
Speedup normal programming routine (inputs from JF)
2.1 Fix bug with file size calculation  
Add default file extension
2.0 First common release  
Change erase routine and commands

Revision history of Startup.gb

Version New features and changes
1.3 GameBoy Color support is working now
1.2 add support for Color GameBoy
1.1 Now supports up to 6 internal programs (incl. GB-Debug and GB-Basic)
Check for Nintendo logo to find programs  
Set RET and RETI to selected bank
1.0 First release  
Select between 1 internal program and 3 cartridges


Thanks to

Pascal Felber and Jeff Frohwein for their excellent work and making the software source available on the internet.

Last remarks

bulletcomments and improvements are welcome
bulletI don't offer modified cartridges and cartridge programmers !!!
bulletdownloading of any ROM's into the Flash cartridge is prohibited unless you have purchased the original cartridge !