What is this?
Marble Love is a reimplementation of Atari's Marble Madness
(1984) in TypeScript. It is not an emulator: each
routine of the 68010 game program is ported function by function from
the disassembly into readable code, then checked byte for byte
against MAME as the behavioral oracle. The result is gameplay logic
you can read and verify — every parity claim comes with a
command that reproduces it.
The Slapstic finding
A 126-byte playfield mismatch at exactly one frame traced to the
cartridge's Slapstic security chip (137412-103)
observing the 68010's instruction prefetch outside its
protected ROM window — a hardware side channel not described in the
MAME source or any public datasheet we could find. Modeling the
prefetch into the chip's state machine closed the byte diff to zero,
and a regression test pins it.
Read the full write-up →
Play with your own ROMs
The repository ships no copyrighted game data. If you legally own
MAME ROM ZIPs for marble (and the Atari System 1
BIOS, atarisy1.zip), load them with the button in the
stage at the top of this page — select both ZIPs together
(Cmd/Ctrl-click). Files are validated by name, size, and CRC32, then
the game starts right there.
Everything is read locally in your browser; nothing is
uploaded.
Controls: 5/C insert coin,
Enter/Space start; mouse, WASD, arrow keys,
or gamepad move the marble. The first coin/start/click also unlocks
Web Audio. Known gameplay and audio gaps are
documented in the README, not hidden.