Analysis updated 2026-05-18
Build the ROM with cc65 and play the Chrome dinosaur game on a real NES or in an emulator.
Study how the port reproduces browser game physics inside NES hardware constraints.
Load the compiled ROM onto a flash cartridge to play on original NES hardware.
| atonamy/nes-t-rex-game | mytechnotalent/esp32-c3_button_driver | mytechnotalent/rp2350_button_driver_riscv | |
|---|---|---|---|
| Stars | 0 | — | — |
| Language | Assembly | Assembly | Assembly |
| Last pushed | — | 2025-11-29 | 2026-03-23 |
| Maintenance | — | Quiet | Maintained |
| Setup difficulty | moderate | moderate | hard |
| Complexity | 5/5 | 2/5 | 4/5 |
| Audience | developer | researcher | developer |
Figures from each repo's GitHub metadata at analysis time.
Requires the cc65 assembler and linker plus an NES emulator such as Mesen to run the built ROM.
This project is a from-scratch recreation of the Chrome browser's offline dinosaur game, rebuilt to run on an actual Nintendo Entertainment System from 1985, written directly in 6502 assembly language, the low-level instruction set the NES's processor understands. Rather than just capturing the feel of the original, the author copied the game's physics, obstacle rules, and scoring straight from Chrome's own source code, so jump height, gravity, obstacle spacing, and speed all match the browser version's numbers closely. The game includes the familiar cactus and pterodactyl obstacles at their original sizes and heights, a day and night cycle that inverts the color palette every 700 points, a title screen, pause and resume, a game over screen with a restart button copied from Chrome's own artwork, and a four channel chiptune soundtrack with separate music for the title screen, gameplay, and game over. Because the NES hardware is so much more limited than a modern browser, the author had to solve several hardware specific puzzles to keep the game feeling identical. Obstacles are drawn as background tiles rather than as separate moving sprites, which keeps the NES's strict eight-sprite-per-line limit from being a problem even when several obstacles appear close together. A special timing trick lets the score display at the top of the screen stay still while the ground scrolls underneath it, even though the console only has one hardware scroll setting to share between them. A short list of small, deliberate differences from the original is documented in the readme, such as the exact framerate simulation and a slightly different random number generator, all chosen to keep the physics feeling the same on real hardware. Building the game only requires a small assembler and linker toolchain called cc65, and running it only requires an NES emulator or a flash cartridge on real hardware. Controls are simple: a start button to begin, pause, or restart, a jump button, and a duck button.
A faithful recreation of Chrome's offline dinosaur game rebuilt to run on real Nintendo Entertainment System hardware, written in 6502 assembly with physics copied directly from Chrome's source code.
Mainly Assembly. The stack also includes Assembly, 6502, cc65.
Setup difficulty is rated moderate, with roughly 30min to a first successful run.
Mainly developer.
This repo across BitVibe Labs
Verify against the repo before relying on details.