GBA Movie Player
The GBA Movie Player, abbreviated GBAMP, is a device that reads CompactFlash or Secure Digital cards to upload data onto the Game Boy Advance. It is compatible with the Game Boy Micro, Game Boy Advance SP, Game Boy Advance, and Nintendo DS as well. With this device, a user can play NES games through the PocketNES emulator, play "multiboot" GBA games up to a size of 256 KB, watch video, listen to specially converted music files, and read .txt files (referred to as e-books). With the addition of the Game Boy emulator, Goomba, it can also play original Game Boy or dual-mode Game Boy Color games. The firmware update E19 adds a built in launcher for Game Boy files from the menu system, whereas in previous firmware versions it was necessary to build Goomba compilations beforehand.
The PC-side software uses DirectShow technology to convert videos to the GBA Movie Player's format. It is also possible to install the conversion software's DirectShow filters and then use low-level DirectShow tools such as GraphEdit to convert files, rather than using the official conversion tool.
As shipped, the card's slot is wide enough for CompactFlash Type I memory. By cutting into the card's chassis using a rotary tool, some users have been able to widen the slot to accept thicker Type II memory such as CF hard drives.
A lockout feature was used to try to stop other manufacturers from copying the player's firmware and making knockoff products, but it was ineffective. Unauthorized knockoffs appeared on the market, and attempting to upgrade the firmware on a knockoff causes the product to reboot to the message "Update Failed! This card is a FAKE!! System Crash!!!" every time it is turned on. Moreover, the locking feature frequently prevents the real GBAMP from booting, especially after quickly turning the power off and on.
On July 25, 2006, a group known as TriForce cracked a patching program known as Max Overload, which is meant for Datel's MAX Media Player. This was possible because the Datel product is based on the GBA Movie Player. This program allows for the use of commercial Nintendo DS ROM images on a GBA Movie Player in conjunction with a PassMe variant. A proof of concept loader similar to the cracked Max Overload was made before this, but it was locked to individual Nintendo DS MAC addresses, which are not easily changeable.
The built-in NES and Game Boy loaders have size limitations; the emulator plus game must fit inside 256 KB of memory. Special versions of PocketNES and Goomba were created to overcome these limitations. One special version of PocketNES, called PocketNES-compy, uses compression to shrink the game before it is loaded. In that version, games are limited to 256k instead of 192k. Another version can load files directly off the CompactFlash card using virtual memory techniques, bypassing all size limitations of the usual built-in software but creating slowdown on some of the larger games. The special versions were created independently of the company which makes the movie player, using information discovered through reverse engineering.
Multiplayer can be done via GBA link cable on GBA, GBA SP, and Game Boy Player. The NES screen is bigger than the GBA screen. PocketNES can display the NES game's graphics in a window that the player can scroll up and down, or it can scale the graphics to fit the smaller screen.
Movie Player Version 3
Since the release of the GBAMP, a newer version, the M3 Perfect adapter, has been released for the Nintendo DS and the DS Lite. The M3 adapter improves on the GBAMP by adding 256Mb (32MB) of RAM and allowing for both Game Boy Advance and Nintendo DS ROM images and homebrew applications to be run. Nintendo DS programs must be run in conjunction with a PassMe device.
The official PassMe variant for the M3 adapter is known as the PassKey. An update to the original PassKey, known as the PassKey2, allows for the running of DS code on DS consoles that have a newer firmware (version 3 or above). PassCard 3, an even newer kind of passthrough (actually now a misnomer because no "passing" is done) contains encrypted Nintendo DS game code and therefore runs normally without exploiting bugs in the firmware (PassMe) or BIOS (PassMe2).
The added 256 Mbit (32 MiB) of RAM also allows for all GBA games to run at full speed with no slowdown because all the game data is loaded into the RAM. DS games 32MB or smaller can also be loaded into RAM, but if they are over 32 MiB, they must be directly booted from the CompactFlash or Secure Digital card. Games loaded from the CF/SD card rarely exhibit slowdown, as compatibility with DS games is very high on the M3 adapter.
M3 DS Simply
The M3 Simply uses microSD cards for storage and uses only Slot-1, meaning the GBA slot is left free. It is the size of an ordinary DS cart, and has a built-in NoPass. It can also be used to flash a DS with FlashMe. The biggest drawback is lack of GBA support, although it has better compatibility with DS games. This is a direct result of not needing to patch the DS ROM dumps (often referred to as "clean ROMs.") It also may handle e-books, music, and movies with the use of Moonshell.
The M3 Simply uses the same exact board as the R4DS, with the exception of two points being soldered together. The interfaces are the same except for different graphics, and the cards have different labels. R4 is the direct manufacturer of the devices.