A JavaScript Port of River Raid, Rebuilt from the Atari 2600 ROM One Instruction at a Time
A tribute to one of the best games on the Atari 2600

Carol Shaw's River Raid has been recreated in JavaScript by rewriting every 6502 instruction from the original 4,096-byte cartridge. The port runs the real ROM alongside a 6502 core and compares every frame, finding zero differences across 45,000 frames. The river is never stored; it's generated on the fly from a 16-bit random number generator seeded at $A814, making it endless yet identical every play. The port also preserves obscure quirks, like collisions at the top of a newly scrolled block being misattributed to a nonexistent seventh block.
The river is never stored. The whole game fits in a 4,096-byte cartridge, so each 32-line block of river is built just before it scrolls into view, from a 16-bit random number generator that starts from the same seed, $A814, every game. That is why the river never ends, and why it is the same river every time you play.
- plicerin
The cartridge rebuilt from the original ROM, one instruction at a time
- glimshe
I think that most people who once loved this game moved on from videogames a long time ago. Like almost all games on the Atari, it won't interest the younger generations for more than a few minutes. But I still remember it fondly.
- pupppet
As a kid I found the gameplay for most Atari 2600 games so shallow I could barely stand to play a game more than a few minutes… except for Combat. Man with two players, that was fun.