Sapphire
dylanbutler.dev
Spec sheet
- Purpose
- Sapphire is a Game Boy Advance emulator written from scratch in Go.Read 9 Oct 2026 · dylanbutler.dev
- Product
- Sapphire is a Game Boy Advance emulator written from scratch in Go.Read 9 Oct 2026 · dylanbutler.dev
- License
- Sapphire is licensed under the MIT License.Read 9 Oct 2026 · github.com
- Audio
- The repository says browser audio is wired up and works on iPhone, while the desktop build is currently silent.Read 9 Oct 2026 · github.com
- Browser performance
- The browser version is fixed at 1× speed, and smoother operation on mobile devices is still a work in progress.Read 9 Oct 2026 · dylanbutler.dev
- Browser play
- The emulator runs in the browser via WebAssembly, and the maker says it runs locally in the browser.Read 9 Oct 2026 · dylanbutler.dev
- Browser version
- The emulator runs in the browser through WebAssembly, and the maker says the build runs locally in the browser.Read 9 Oct 2026 · dylanbutler.dev
- Desktop platform
- The repository documents a macOS desktop frontend and installation by building from source.Read 9 Oct 2026 · github.com
- Desktop version
- The repository documents a macOS desktop frontend and instructions to build a macOS app from source.Read 9 Oct 2026 · github.com
- Display
- The project page says it supports display modes for sprites, backgrounds, and direct writes.Read 9 Oct 2026 · dylanbutler.dev
- Game compatibility
- The repository says Pokémon Sapphire and uCity Advance are playable, and notes that some homebrew games fail to run.Read 9 Oct 2026 · github.com
- Incomplete features
- The repository lists object window, EEPROM saves, and serial/link cable as unimplemented, and says timing is approximate rather than cycle-accurate.Read 9 Oct 2026 · github.com
- Intended audience
- The maker describes the project as a personal effort to understand computer internals, low-level systems, machine code, and how programs run.Read 9 Oct 2026 · dylanbutler.dev
- Known issues
- The maker reports that Pokémon cave fog blending and Mario Kart sprite priority still have visual bugs.Read 9 Oct 2026 · dylanbutler.dev
- Known limitations
- The repository lists object window, EEPROM saves, and serial or link cable as unimplemented, and says timing is approximate rather than cycle-accurate.Read 9 Oct 2026 · github.com
- Maker and location
- The maker identifies himself as Dylan Butler, a software engineer in Melbourne.Read 9 Oct 2026 · dylanbutler.dev
- Processor
- It emulates the ARM7TDMI processor and supports both ARM and THUMB instruction sets.Read 9 Oct 2026 · dylanbutler.dev
- Requirements
- Running Sapphire requires a Game Boy Advance BIOS file; the browser build also needs a game file.Read 9 Oct 2026 · github.com
- Save states
- Save states work on desktop and in the browser, saving progress to a file or browser local storage.Read 9 Oct 2026 · dylanbutler.dev
Where Specifiction places it
- Game Boy Advance Emulators#26 of 296.7