====== Practical homebrew size limits for digital distribution ======
//Practical//, in the meaning of this page, refers to what the //common end user// is capable of running.
As physical cartridge/disc releases are only limited by the manufacturer's choice, this page limits itself to //digital distribution// - that is, the use case running digital homebrew on emulators or physical hardware through the use of flash cartridges.
In practice, this page thus serves as a list of restrictions placed on digital homebrew by common flash cartridge devices. Lighter colors of grey refer to no longer manufactured devices.
===== Super Famicom/SNES =====
^ Device ^ Maximum ROM size ^ Maximum SRAM size ^ Notes ^
| FXPAK PRO (formerly SD2SNES PRO) | 12 MiB | 128 KiB | 16 MiB / 512 KiB theoretical limit, not implemented |
| Super Everdrive X5 | 7.5 MiB | 128 KiB | |
| Super Everdrive X6 | 7.5 MiB | 128 KiB | |
| Super UFO Pro 8 | 4 MiB | ? | |
===== Game Boy/Game Boy Color =====
^ Device ^ Maximum ROM size ^ Maximum SRAM size ^ Notes ^
| EverDrive GB X3/X5/X7 | 8 MiB | 128 KiB | |
| EZ-Flash Junior | 8 MiB | 128 KiB | |
Note: I think one of those devices actually has a ROM size limit slightly smaller than 8 MiB, but I haven't verified this. Assume 7.5 MiB, to be safe.
===== Game Boy Advance =====
^ Device ^ Maximum ROM size ^ Maximum SRAM size ^ Maximum Flash size ^ Minimum ROM wait speed ^
| EZ-Flash Omega | 32 MiB | 64 KiB | 128 KiB? | 2,1 |
| EverDrive GBA | 32 MiB | 64 KiB | 128 KiB? | 2,1 |
| Nintendo 3DS (AGB_FIRM) | 32 MiB | 32 KiB | 128 KiB | 3,1 |
| SuperCard SD | 32 MiB | 64 KiB? | N/A | 4,2 |
===== Nintendo DS/DSi =====
All digital homebrew relies on the flashcart-provided DLDI driver, which is dynamically patched into the executable and provides direct SD card access. As such, the size limit here is just the size limit of the SD card.
An individual file can be up to 4 GB in size, due to FAT32 limits, as well as - for .nds files - due to the .nds format limits.