Hi everyone,
I recently saw a "Bad Apple" sample in the Sega Genesis Development Kit (Mega Drive version), and it inspired me to make my own on GBA.
No movie player hardware — this is pure software.
GBA Mode 4 (240x160, 8‑bit)
Double buffer with backbuffer switching
LZ77 compression
Shared 256‑step grayscale palette (0 = black, 255 = white)
Frame decompression into EWRAM, then DMA copy to VRAM
ROM size: ~25.6 MB (fits on flashcarts, below 32 MB limit)
~3000 frames
No audio yet, but adding it is straightforward (maxmod ready)
Processing ~3000 frames and aligning the shared palette took a whole night, but the result is a 30fps (I Guess?) Bad Apple on real hardware.
The ROM is attached. Tested on Mesen and mGBA.
PS: The image is from SGDK sample, because that’s what I first saw. And I know it had been done before, but here is my take.
Take a look and enjoy.
I recently saw a "Bad Apple" sample in the Sega Genesis Development Kit (Mega Drive version), and it inspired me to make my own on GBA.
No movie player hardware — this is pure software.
GBA Mode 4 (240x160, 8‑bit)
Double buffer with backbuffer switching
LZ77 compression
Shared 256‑step grayscale palette (0 = black, 255 = white)
Frame decompression into EWRAM, then DMA copy to VRAM
ROM size: ~25.6 MB (fits on flashcarts, below 32 MB limit)
~3000 frames
No audio yet, but adding it is straightforward (maxmod ready)
Processing ~3000 frames and aligning the shared palette took a whole night, but the result is a 30fps (I Guess?) Bad Apple on real hardware.
The ROM is attached. Tested on Mesen and mGBA.
PS: The image is from SGDK sample, because that’s what I first saw. And I know it had been done before, but here is my take.
Take a look and enjoy.
Last edited by FoamAngel32,






