Excitebike
UntestedNES · 1984 · Racing · Decompilation
Race a motocross bike over jumps and ramps without overheating the engine.
Controls
| X | accelerate |
| Z | turbo (watch the temperature gauge) |
| Up / Down | change lane |
| Left / Right | lean the bike in the air |
| Enter | Start |
| Shift | Select |
| Gamepad | d-pad and face buttons |
About this build
Excitebike (Japan, USA) rebuilt from its 6502 disassembly: the 16 KB program is assembled from source and matches a real cartridge dump byte for byte — including the whole-file hash the upstream project documents for its own output. The project ships code only; you bring your own ROM, it is read in the browser, and the same page also runs Dr. Mario, picking between them by hash.
- Built from
- The ROM reassembled byte-for-byte by ca65/ld65 from cyneprepou4uk's disassembly, run in the browser on EmulatorJS 4.2.3 with the libretro fceumm core.
- Type
- Decompilation
- Game files
- You supply your own Excitebike (Japan, USA) dump. It is read in the browser and never uploaded. The 24,576-byte ROM body must be sha1 ba8d9227a0d02b62ee6cb9e691fa5a5134c303a8; an iNES or a NES 2.0 header are both fine.
- Code licence
- See the upstream disassembly; EmulatorJS is GPL-3.0 and is vendored with its licence.
- Assets
- No game data is distributed. Graphics and audio come from the ROM you supply.
- Source
- cyneprepou4uk/NES-Games-Disassembly ↗
What has been tested
0 of 24,576 ROM body bytes differ from a real dump, and the whole built file matches the sha1 upstream documents (2e9897846e54a4a9865e87de7517c6710bdec255). In the browser: boots, frames advance continuously, the bike's own X ($00C8) advances while the accelerator is held, and from one save state holding Up vs Down moves ram_obj_pos_Y_lo+0 ($00B8) +12 and -24 over the same frames — which the title's attract demo cannot do. A save state survives a page reload and the restored machine is still mid-race. Also boots and draws on the nestopia core, where the RAM oracle does not work.
Last tested 2026-10-05 in Chrome 151 (headless, Linux). Full playthrough: not verified. How games are tested.
Known limitations
- Not yet playable here: no hosted page has been published for this title.
- Verified on Chrome on Linux only. Firefox, Safari and mobile are untested.
- The keyboard map and gamepad support are untested — the automated tests drive the core directly.
- No track was ever completed, and SELECTION B and the DESIGN track editor were never run.
- Audio was muted for every test, so nothing is known about sound.
- Progress is a save state, not a battery save, and it is only verified to survive a page reload — not closing the browser.
Saves
The cartridge has no battery, so there is nothing for the game itself to save and track designs are lost when the page closes. The page keeps an automatic save state in this browser's IndexedDB, keyed by your ROM's SHA-1, and resumes from it next time. Clearing site data removes it.