So, what’s masquerade ?
A multi-system emulator supporting classic gaming consoles and simulators.

Version
Current Version: 0.7x
🚧 Beta Notice
Masquerade is currently in beta. All versions before 1.0 are under active development and may contain bugs, incomplete features, or breaking changes.
🔄 Frequent Updates
Releases may be frequent as development progresses rapidly.
⚠️ Breaking Changes
Backward compatibility is not guaranteed between versions. Save states, configs, or behaviors may change without notice.
Stability, accuracy, and performance will continue improving toward the 1.x stable release.
Supported Systems
- Game Boy Advance (GBA)
- Game Boy Color (GBC)
- Game Boy (GB)
- Nintendo Entertainment System (NES)
- Ms Pac-Man
- Pac-Man (Midway and Namco variants)
- Space Invaders
- CHIP-8
- S-CHIP
- XO-CHIP
- Game of Life
Getting Started
Quick Access
Gameplay Gallery
P0052: ImGui + SDL3 + OpenGL3 (Recommended)
User Interface

Pokémon Crystal, Pokémon Emerald and Pokémon Blue

P0010: OLC (Deprecated)
User Interface

Pokémon Ruby, Emerald, and Sapphire

Game Boy Advance - Pokémon Fire Red and Leaf Green

Game Boy Color - Donkey Kong Country and Pokémon Crystal

Game Boy - Multiple Palette Examples
Prehistorik Man in BGB Palette, Pinball Deluxe in Gearboy Palette and Altered Space in Sameboy Palette

Nintendo Entertainment System - Super Mario Bros 3 and Zelda II

Nintendo Entertainment System - Super Mario Bros and Kong Classic

Pac-Man

Ms Pac-Man

Space Invaders

CHIP-8 - Pong

Game of Life - Toroidal Mode

Game Boy Advance (GBA)
Features
- Supports GBA BIOS
- Supports all 5 PPU modes
- Supports all APU channels
Test Results
- Passes jsmolka/alyosha-tas’s arm.gba, thumb.gba, memory.gba, flash and PPU tests
- Passes FuzzARM.gba
- Passes all tests within the AGB aging catridge test suite except:
- Passes all mgba-suite tests except for few test-cases within the following tests:
- GamePAK prefetch related timing tests
- Few timer count-up tests
- Few timer IRQ tests
- Few SIO tests
- Few MISC edge case tests
- Passes CPU subtests of AGBEEG aging catridge test suite (still fails the Catridge and DMA subtests)
- Passes all tests in tonc’s test suite
- Passes all belogic’s audio tests
Known Issues (other than the ones mentioned above)
- No audio issue while running GBS
- Minor visual artifacts top left corner in Mode 3 for some video ROMs like Pokemon
- Some undesired audio artifacts (expected fix in P0152 variant)
- Low end devices still need PGOs to run at full speed (expected fix in P0152 variant)
Game Boy / Game Boy Color (GB / GBC)
Features
- Supports GB and GBC BIOS
- Implements Pixel-Fetcher/Pixel-FIFO
- GBC supports GB mode
- Supports multiple palettes on GB
- Supports GameGenie and GameShark cheats
- Supports BESS specification for save/load states
- Supports GBVideoPlayer2 video ROMs with audio
- GBC supports color correction closely matching real hardware
- Supports following Memory Bank Controllers:
- NO MBC
- MBC1
- MBC2
- MBC3
- MBC5
- MBC7
- MBC30
- HuC-1
- HuC-3
Test Results
- Completely passes Tom Harte’s SingleStepTests (official and unofficial opcodes) for SM83
- Passes all Blargg test suite except:
- Passes Moon Eye tests except:
- boot_div-dmgABCmgb.gb
- boot_hwio-dmgABCmgb.gb
- Passes Wilbert Pol’s tests except:
- GB only:
- GBC only:
- ly_lyc_0_write-C.gb
- ly_lyc_153_write-C.gb
- ly_lyc_write-C.gb
- Passes Daid’s GBEmulatorShootout tests except:
- Passes PeachyHardwareAbuse tests including ctf.gb
- Passes MMIO_exec_1.gb
- Passes DMG Aging Cartridge test
- Passes ax6’s rtc3test suite
- APU plays ISSOtm’s smooth-player.gb
- Passes all Hacktix’s tests except:
- Passes TurtleTests
- Passes MagenTests (GBC)
- Passes mbc3-tester
- Fails some same-suite tests:
- Fails many age-test-roms tests:
- m3-bg-lcdc (few differences)
- m3-bg-scx (few differences)
- oam
- speed-switch
- stat-mode (few differences)
- stat-mode-sprites
- stat-mode-window
- vram
Known Issues (other than the ones mentioned above)
- Fails cgb-acid-hell
- Fails windesync-validate.gb
- Fails many docboy-test-suite’s APU and CGB tests
- Fails some of the Mealybug Tearoom tests by a very slight margin (a single pixel offset is seen from the expected!)
- Link Cable not supported
- Multiple CGB-specific quirks remain unimplemented
Nintendo Entertainment System (NES)
Features
- 6502 CPU passes Klaus Dormann’s 6502_65C02_functional_tests including BCD tests
- Supports mappers:
- NROM
- MMC1 (including SEROM, SHROM, SH1ROM, SuROM variants)
- UxROM (002)
- CNROM
- MMC3
- AxROM
- GxROM
- Nanjian FC-001 (Mapper 163)
- Supports GameGenie cheats
- Supports Zapper in Port 2 (mouse clicks)
Test Results
- Passes Nestest (official and unofficial opcodes)
- Completely passes Tom Harte’s SingleStepTests for NES6502
- Passes Blargg CPU tests (official and unofficial opcodes)
- Passes Blargg CPU timing tests
- Passes Blargg CPU dummy read/write tests
- Passes NES Dev Wiki CPU tests
- Passes blargg_ppu_tests_2005.09.15b
- Passes blargg_apu_2005.07.30
- Passes Blargg sprite_overflow_test suite
- Passes Blargg sprite_hit_tests_2005.10.05
- Passes all APU tests including DMC
- Passes Blargg vbl_nmi_timing and ppu_vbl_nmi tests
- Passes Blargg cpu_interrupt_v2 tests
- Passes OAM stress tests
- Passes Blargg and Bisqwit’s ppu_open_bus tests
- Passes Bisqwit’s cpu_exec_space tests
- Passes Blargg mmc3_irq_tests suite except:
Known Issues (other than the ones mentioned above)
- Unable to boot Dragon Warrior III
- DMC DMA timing quirks need proper emulation
Pac-Man and Ms Pac-Man
Features
- Z80 CPU emulation
- Passes Tom Harte’s SingleStepTests for Z80 (official and unofficial opcodes)
- Passes zexdoc and zexall tests
- Supports both Midway and Namco variants
Supported Pac-Man Boot-legs
- Hangly Man
- Uniprom Variant
- Baracuda
- NewPuc
- After Dark
- Snatcher Set 1 and 2
Planned Support (Pac-Man Boot-legs)
- Streaking
- Titan
- Caterpillar
- Abscam
- Joyman
- Piranha
- Galaxian Hardware Variant
Supported Ms Pac-Man Boot-legs (planned/partial)
- MsPacPlus
- After Dark
- MsPacAttackNew
- MsPacAtackOld
Space Invaders
Features
CHIP-8 / S-CHIP / XO-CHIP
Supported Variants
- CHIP-8
- S-Chip Legacy
- S-Chip Modern
- XO-Chip (supporting audio and up to 4 planes)
Features
- Completely passes Timendus’s chip8-test-suite v4.2
- Completely passes CubeChip test suite
- Supports ROM database auto-detection of:
- Variants
- Quirks
- Recommended palettes
- Recommended keybindings
- Recommended execution rate
Game of Life
Supported Modes
- Normal Mode
- Toroidal Mode
- Pan/Zoom support planned
CPUs
- Passes extensive test ROM suites for:
- 8080 (official and unofficial opcodes)
- Z80 (official and unofficial opcodes)
- SM83 (official and unofficial opcodes)
- Ricoh 2A03 (NES-6502) (official and unofficial opcodes)
- ARM7TDMI (ARMv4T instruction set)
Additional
- Supports Save States and Load States
- Supports OTA updates
- Supports dynamic drag and drop of ROMs including multipart ROMs for Space Invaders and Pacman/MsPacman
Variants
Masquerade is available in two variants, differing in their underlying libraries:
P0052: ImGui + SDL3 + OpenGL3 (Recommended)
Modern UI framework with enhanced features and performance.
Technology Stack:
- ImGui for interface
- SDL3 for windowing and input
- OpenGL3 for rendering
- nativefiledialog-extended for file dialogs
- Boost libraries for INI parsing
P0010: OLC (Deprecated)
Legacy variant based on One Lone Coder’s Pixel Game Engine.
Note: P0010 is no longer supported. Users should migrate to P0052 for latest features and updates.
Technology Stack (Legacy):
- Forked version of One Lone Coder’s Pixel Game Engine
- One Lone Coder’s Sound Wave Engine
- Boost libraries for INI parsing
Automated Test Reports
Credits and Acknowledgments
Documentation and References
Game Boy / Game Boy Color
Game Boy Advance
Nintendo Entertainment System
Reference Emulators
Test Suites and Test ROMs
- Blargg test ROMs for GB, GBC, and NES
- jsmolka and alyosha-tas test ROMs for GBA
- AGS Test Suite by DenSinH - GBA test ROMs
- Tom Harte’s SingleStepTests for 6502 and SM83 CPU testing
License
See the repository for license information.