Flash cartridge
A flash cartridge is one of several cartridges containing flash memory that have been developed for use in video game consoles. These cartridges enable homebrew applications and games to be used. The capacity of the cartridges can range from 64 Mbit up to 8 Gbit (commercial carts range from 32 Mbit to 256 Mbit). More recent cartridges use external memory cards as memory, in place of onboard memory, such as Compact Flash, Secure Digital, etc. memory cards.

These cartridges remain the best-known way to create and distribute homebrew games for many consoles, such as the Game Boy Advance. (another option in this case being the GBA Movie Player, which can run specially designed homebrew programs but cannot run illicit copies of commercial GBA Game cartridges due to the lack of onboard RAM for fast data access).

Linkers 

Games are written to the cartridge with a device called "linker". Depending on the brand of flash cartridge, the linker either connects to a link port on the console and writes to the cartridge through the console, or connects to a mini-USB slot on the cartridge itself and writes directly to the flash cartridge. These linkers usually connect to a PC through a USB or parallel plug on the other end.  Most linkers that connect to a link slot are capable of copying ROM information from commercial software cartridges. Some more recent flash cartridges use digital media cards (SD, MMC, CF, etc.) in which files are placed via a memory card reader.

Flash card adapters 
A number of devices have been released which use popular flash memory cards such as SD and CF for storage. These have proven popular since the development of techniques to run Nintendo DS software from a GBA cartridge, due to the smaller size of DS games and the low price of these cards compared to conventional GBA flash cartridges. Examples of such devices include the M3, R4 and Supercard.

Software 
There are those that use a program called LittleWriter to write games to the cartridges. However, some people (especially people with older computers) use other software to write games to the cartridge. An example of this software is X-ROM Frontend by DanSoft Australia.

Some flash cartridges use specialized software designed for the specific cartridge, such as Power Writer and USB Writer software for the Flash2Advance Ultra cartridges. This presents several conflicts in regard to homebrew, as Power Writer uses a large database for proper naming and saving of games. ROMs that are not in the database (such as emulators or any other GBA homebrew) are prone to saving issues, and editing the database manually is difficult and involves the use of a hex editor. Such cartridges often have a proprietary interface, making it difficult or impossible to use operating systems other than Microsoft Windows for writing to the cartridge with a few exceptions.

Other Nintendo flash cartridges 

Flash cartridges are also available for other Nintendo consoles, such as the DS, DSi, and the 3DS. The DSi and the 3DS have the ability to update their system firmware via the Internet, which makes it possible for Nintendo to fix the exploit that allowed the flashcarts to work, and essentially block the flashcart from loading on the console. There are also project files existing on the Internet that guide people through creating their own flash cartridge for the original Nintendo Game Boy.

Legality 
The legality of flashcarts has been called into question many times, primarily by Nintendo. In a 2010 high court case, the court ruled in Nintendo's favour, and flashcarts were outlawed in the United Kingdom.

Official flash cartridges 
Some game consoles have official flash cartridges (and official emulators) used by developers to test prototypes of their games. These cartridges are usually part of the console's software development kit and are only available to licensed developers.

References 

Game Boy Advance
Homebrew software
Solid-state computer storage media
Video game distribution
Video game storage media
Japanese inventions