Dr. Mario
UntestedNES · 1990 · Puzzle · Decompilation
Throw coloured pills into a bottle and line up four to wipe out the viruses.
Controls
| Arrow keys | move the pill, Down to drop |
| X / Z | rotate |
| Enter | Start |
| Shift | Select |
| Gamepad | d-pad and face buttons |
About this build
Dr. Mario (Japan, USA) (Rev A) rebuilt from its 6502 disassembly: the 32 KB program is assembled from source and matches a real cartridge dump byte for byte. The project ships code only — you bring your own ROM, it is read in the browser, and the page works out which of the two supported cartridges you handed it from the SHA-1 of the ROM body.
- Built from
- The ROM reassembled byte-for-byte by asm6f from the Nostaljipi disassembly, run in the browser on EmulatorJS 4.2.3 with the libretro fceumm core.
- Type
- Decompilation
- Game files
- You supply your own Dr. Mario (Japan, USA) (Rev A) dump. It is read in the browser and never uploaded. The 65,536-byte ROM body must be sha1 59b43881456c0720e9a35e391b11c4b2c55a8f91; 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
- Nostaljipi/dr-mario-disassembly ↗
What has been tested
0 of 65,536 ROM body bytes differ from a real dump. In the browser: boots, frames advance continuously, and from one save state holding Left vs Right moves p1_fallingPillX ($0305) in opposite directions with mode ($0046) = mode_mainLoop_level and flag_demo ($0741) = 0, which an attract demo cannot do. A save state survives a page reload and the restored machine is still in the game. 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 level was ever cleared, and two-player mode was 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. 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.