SPACE.LA
◀ music select
schlop / game / active

Drop GBA

Magical Drop for the Game Boy Advance, written in Tish on the Chuggie engine: two cartridges (a 7-column Magical Drop III build and a 6-column Pocket build) with Story, Self Challenge, Puzzle and VS modes, save data, pre-match dialogue and a 19-track soundtrack.

BPM
143
GRADE
S
LEVEL
6
RELEASES
0
YEARS
2026–2026
Drop GBA: Story mode, mid-match dialogue
Story mode, mid-match dialogue
Drop GBA: VS, two boards
VS, two boards
Drop GBA: Choose your hero
Choose your hero
Drop GBA: Puzzle mode
Puzzle mode
Drop GBA: The Pocket cartridge
The Pocket cartridge
Drop GBA: Self Challenge
Self Challenge

Two Cartridges, One Language

Magical Drop, on a Game Boy Advance, written in a language I made. On August 10 2026 I started finding out if I could pull that off.

It turned into two cartridges built from one set of packages and two data archives. The magical-drop build has seven columns based on Magical Drop III's datamined tables, an eleven-opponent Story ladder and twenty-four characters in VS. The pocket build has six columns at Magical Drop Pocket's proportions. Each goes title, mode menu, then Story, Self Challenge, Puzzle or VS, with one save block, pre-match dialogue in five voice bands, and a nineteen track soundtrack. Python generated the tables and the music. Tish and Chuggie, the engine, did the rest, on a fork of agb, on Rust nightly targeting thumbv4t-none-eabi.

The part I'm proudest of is the verify step. Every ROM has a verify.sh that runs it headlessly and checks outcomes: that a CHAIN was logged, an attack was sent, a Special cleared its color across the board, the frame matches its golden image, and the music plays at the right tempo. There's also a conformance harness with sixteen scenarios at two board widths, plus fuzzing. And a note to myself to unset CARGO_TARGET_DIR, after a change once gave me a byte-identical ROM.