Pokémon Ruby & Sapphire
Boots, lightly testedGame Boy Advance · 2002 · RPG · Decompilation
Travel Hoenn: catch, train and battle through Ruby or Sapphire.
Controls
| Arrow keys | D-pad |
| X | A |
| Z | B |
| A / S | L / R |
| Enter | Start |
| Shift | Select |
| Gamepad | any standard controller (untested) |
About this build
Pokémon Ruby and Sapphire built from the pret/pokeruby decompilation, pinned at 5784633c. Both builds are byte-identical to retail (USA, Europe) (Rev 2) cartridge dumps — sha1 5b64eacf892920518db4ec664e62a086dd5f5bc8 for Ruby and 89b45fb172e6b55d51fc0e61989775187f6fe63c for Sapphire. The page runs them on a direct WebAssembly build of mGBA's core, 663 KB, with no emulator frontend in between. You supply your own ROM: it is read in your browser with the File API straight into the emulator's memory. The page is static files with no server component, and makes no network request after its own two files load.
- Built from
- the pret/pokeruby decompilation, built to matching ROMs and run on an emscripten build of mGBA
- Type
- Decompilation
- Game files
- Your own Pokémon Ruby or Sapphire ROM, (USA, Europe) (Rev 2) / game version 1.2. Ruby sha1 5b64eacf892920518db4ec664e62a086dd5f5bc8, Sapphire sha1 89b45fb172e6b55d51fc0e61989775187f6fe63c. Nothing is uploaded.
- Code licence
- pret/pokeruby; mGBA core MPL-2.0
- Assets
- None distributed — the player supplies their own ROM
- Source
- andrewnakas/pokeruby-web ↗
What has been tested
Muted headless run of both versions: boot, title screen, and Professor Birch's intro speech. Cartridge-save and savestate persistence across a real page reload. No play-testing beyond the intro.
Known limitations
- You must supply your own ROM; none is distributed.
- Revision 2 (game v1.2) only — the v1.0 and v1.1 dumps are a different build and are untested here.
- Verified only as far as Professor Birch's opening speech. The overworld, battles and the rest of the game have not been play-tested.
- Reaching an in-game save was not tested; save persistence is verified at the cartridge-flash layer only.
- Sound is implemented but has never been listened to — all testing was muted.
- Keyboard and gamepad only; no on-screen touch controls.
- Tested in headless Chrome only.
- Link cable, trading and link battles are not available in the browser.
Saves
Save from the in-game menu (Start, SAVE). The cartridge save is mirrored into this browser's storage and restored automatically on reload; Ruby and Sapphire keep separate saves. There are also save-state buttons. Clearing site data removes everything, including the cached ROM.