Update 12/29/15 : This device is almost totally obsolete compared to the EverDrive GB. Read my review of the EverDrive GB here : http://nerdlypleasures.blogspot.com/2015/01/the-everdrive-gb-game-boy-and-game-boy.html
Some years ago, I felt my Game Boy Advance SP (backlit) was not receiving the 8-bit love it deserved. Tired of chasing down all the games I wanted to play on a real Game Boy, I decided to purchase a Game Boy flash cart. The days of the Game Boy were long past in 2010, and handheld systems get precious attention from multi-cart designers. The old devices from Bung and others had not been manufactued in a very long time, and who wants to deal with parallel port programmable devices in the 21st Century? Nintendo manufactured an official flash cart called the Nintendo Power GB Memory Cartridge, but it only supported a select number of original Game Boy games, required a special commercial burner, and only had 1MB for ROM and 128KB for SRAM.
Fortunately, while interest in Game Boy games is fairly low, interest in Game Boy sound is high. Chiptune music has become more and more popular, and the Game Boy's Audio Processing Unit (APU) is very similar to the NES's APU. However, a Game Boy is portable, it can be brought to a party, a club or a rave and be controlled with the buttons on its face and run off batteries. A NES requires a gamepad and a monitor screen of some kind, its not very portable and requires a free wall socket. While you can make music on a laptop, its not very exciting to bring a laptop to a rave and emulation does not have the allure of real hardware.
A ROM program called Little Sound Dj (LSDJ) was developed to allow music programmers easy access to the Game Boy. There was a need for a cart to store the music that would be played on the Game Boy at these parties and recording sessions, so a new breed of flash carts became available. One of the most common ones, and one I purchased, is the following : http://store.kitsch-bent.com/product/usb-64m-smart-card
You can also purchase it here : http://www.nonelectronics.com/catalog/index.php?main_page=product_info&cPath=2&products_id=112&zenid=b54fe49ab9c28ca36063e603674744bc
At $40.00, the price is very reasonable and 64 Megabits / 8 Megabytes means that the cart can hold two of the largest Game Boy Color games. There is also a 32 Mbit /4MB version. It also has 1Mbit / 128 KB of SRAM. It has a mini-USB port, no external programmer is required. It will not work with Game Boy Advance games.
That 8MB is divided into two 4MB pages. ROMs can be stored on either page. When you insert the cartridge, the contents of the first ROM page is always displayed. To get to the second ROM page, you must quickly turn off and then turn back on your Game Boy. Game Boy Color should not be on the same page as regular monochrome Game Boy games, glitching will result otherwise. The first thing you see after the Nintendo scroll is the menu (unless only one game is in the ROM page). The menu uses the name in the game's header, not the filename of your ROM. Some Game Boy and Game Boy Color games use a Japanese name even though the language of the game is English.
The cartridge is a cheap Chinese-manufactured device, but its essentially the only device around. It does not fit in a Game Boy Advance SP slot quite as nicely as a real licensed cart, you need to listen and feel for the "click". It sucks your Game Boy's batteries much faster than real cartridges, even Game Boy Advance games. It backs up SRAM via a coin cell battery. Writing to the card is slow, about 3.5 minutes for one 4MB page. Each page must be written to separately, and writing a new game or games to the page will erase all the old games (because its flash memory). A single game like Shantae or Dragon Warrior III can use one whole 4MB page. Multiple games in a ROM page can use no more than 3.75MB because the menu for the page is stored in the last 32KB of the ROM page. Usually that means that no more than three Game Boy Color games can be fit in a single page, because almost all Game Boy Color games are at least 1MB.
Game Boy (B&W) games range in size from 32KB to 1MB. Like the NES, the first games released for the Game Boy fit inside the CPU's addressing space and did not require any additional hardware inside the cartridge. However, almost immediately it was understood that 32KB (the limit of the CPU's addressing capabilities) was simply not going to be enough for games that aspired to something better than first generation NES games. However, Nintendo kept much stricter controls on mapper hardware than on the NES, which had dozens of different mappers. Nintendo in the early days of the Game Boy used two "mappers" called MBC 1 and MBC2 (Memory Bank Controller). All licensed third party companies were required to use these two mappers (if their game was larger than 32KB) and did not use their own custom hardware except in a very limited way.
MCB1 could support 2MB of ROM with 8KB of SRAM or 512KB of ROM with 32KB of SRAM. Games in the US were released with up to 512KB ROM with 8KB Battery Backed SRAM . MBC2 games used 256KB ROMs with 512 nybbles of Battery Backed SRAM integrated into the MBC chip. Much, much later, when the first Pokemon games were released, they used the MBC3 with support for 2MB of ROM and 32KB SRAM. Additionally, the MBC3 also included a battery backed real time clock chip driven by an external oscillator.
For the Game Boy Color, Nintendo made a MBC5 chip that was included in virtually every Game Boy Color game. This chip could support up to 8MB of ROM (no US game ever required more than 4MB) and 128KB of Battery Backed SRAM. It could also support a rumble feature, but not a real time clock chip. Only Game Boy Color games requiring a real time clock used MBC3.
The flash cart will work in a Super Game Boy or the GameCube Game Boy Player. In the Super Game Boy, any game with Super Game Boy features will work fine if it is the only game in the page. If it is not, then you must start the game from the menu, then reset the game to utilize the Super Game Boy features. Otherwise, the Super Game Boy will play the game as if it were a regular Game Boy game. It may be unreliable in a Game Boy Pocket due to the power draw, I would find the highest rated mA AAA batteries you can find if you used it in one.
While many, many games work correctly on this cartridge, quite a few will not. Some write to the flash cart's registers and screw things up. Some games written for MBC1-MBC3 hardware will sometimes fail to work properly or at all because they use a feature which does not work or works differently on an MBC5. The only solution is to patch your ROM. Virtually every game that has had problems reported on the NESDEV forum has a fix. Most of them you can find here : http://thegaminguniverse.org/ninjagaiden4/mottzilla/ and some you can find in this thread : http://forums.nesdev.com/viewtopic.php?f=20&t=5804. According to this, the first revision of the 32MB carts had an functional MBC1 emulation mode : http://blog.gg8.se/gameboyprojects/week09/EMS_FAQ.txt
When I termed this flash cart to be a diamond in the rough, the main issue is the stock flashing program. Engrish aside, the chief problem with the program as it runs on the Game Boy is that it only allows for one game to save at a time! So if you play The Legend of Zelda : Link's Awakening, save and do not download your save to your PC, when the next game you play is Metroid II : Return of Samus, you will have wiped out your Zelda save. Most Game Boy games only use 8KB to save the game and the cart has 128KB of SRAM available. A NESDEV user named Mottzilla made a custom version of the PC loader that will allow for multiple save games on the cart. It is a must-download, find it here : http://thegaminguniverse.org/ninjagaiden4/mottzilla/
With his addon to the flasher program, each game with save features has an 8KB slot in the SRAM reserved for it. (MBC2 games still take 8KB even though they only save 256 bytes). One 32KB game save (for games like Pokemon) is supported, so you can have up to 16 or 12 save files in the SRAM at any one time. You can see which games currently have saves and you can delete saves from the flash cart's menu. However, the SRAM is saved between the two ROM pages, so it is generally best to use one ROM page for games with save features and the other ROM page for games that do not save.
There are a few weird games that will never work with this cart. Some Japanese games used more exotic mapping hardware like the HuC-1 and HuC-3, which supported an infrared sensor for wireless communication. None were released in the US or Europe except for a Pokemon clone called Robopon - Sun Version, which used the HuC-3 and came in an oversized black cartridge. It has an infrared port for commications with other Robopon carts. Uniquely, it has the capabilities to make simple sounds from the cartridge when the cartridge is not in use. It has a speaker and an extra (user replaceable) battery for this function in addition to the battery backed internal RAM. Finally, it has a real time clock. Kirby's Tilt 'N Tumble used the MBC7 due to its motion sensor. The Game Boy Camera is another piece of unique hardware that includes a ROM which functions like a game cartridge. Finally, there is an official ROM of Mortal Kombat 1 & 2 which uses MCB1 in an odd way to support its 1MB size, just use the standalone versions of the games instead. Unlicensed games, such as those released by Sachen and Wisdom Tree, use their own custom mapper and are not playable with this flash cart..
Those of us who love Game Boy games have been yearning for years for a proper Game Boy flash cart like the PowerPak. One that accepts microSD cards, does not suck down batteries, properly supports all four major MBCs and a real time clock, and whose menu hardware can be shut off from the system upon game loading. It does not exist as of yet (but Gamegear carts do, strangely), so at the moment we are stuck with this device, which is much better than nothing.