A multi-system emulator supporting classic gaming consoles and simulators.
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.
- 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
- XO-CHIP
- S-CHIP
- CHIP-8
- Game of Life
- Try Web Version - Play directly in your browser
- Download Desktop Build - Available for Windows
Prehistorik Man in BGB Palette, Pinball Deluxe in Gearboy Palette and Altered Space in Sameboy Palette
- Supports GBA BIOS
- Supports all 5 PPU modes
- Supports all APU channels
- 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:
- Prefetch Buffer
- 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
- 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)
- 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
- MBC1M
- MBC2
- MBC3
- MBC5
- MBC6
- MBC7
- M161
- MBC30
- HuC-1
- HuC-3
- MMM01
- WISDOM TREE
- Completely passes Tom Harte's SingleStepTests (official and unofficial opcodes) for SM83
- Passes all Blargg test suite except:
- oam_bug.gb
- Passes Moon Eye tests except:
- unused_hwio-C.gb
- boot_hwio-C.gb
- boot_div-cgbABCDE.gb
- Passes all Wilbert Pol's tests
- Passes Daid's GBEmulatorShootout tests except:
- ppu_scanline_bgp.gb
- 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:
- strikethrough.gb
- Passes TurtleTests
- Passes MagenTests
- Passes mbc3-tester
- Fails some same-suite tests:
- apu
- sgb
- Fails cgb-acid-hell
- Fails some age-test-roms
- Fails some of the Mealybug Tearoom tests
- Fails many docboy-test-suite's APU and CGB tests
- Link Cable not supported
- Multiple CGB-specific quirks remain unimplemented
- 6502 CPU passes Klaus Dormann's 6502_65C02_functional_tests including BCD tests
- Supports mappers:
- NROM (000)
- MMC1 (001)
- SEROM
- SHROM
- SH1ROM
- SUROM
- SOROM
- SNROM
- SXROM
- UxROM (002)
- CNROM (003)
- MMC3 (004)
- MMC5 (005)
- MMC6
- iNES Mapper 6 (006)
- AxROM (007)
- MMC2 (009)
- MMC4 (010)
- Color Dreams (011)
- CPROM (013)
- Bandai FCG (016)
- LZ93D50 + 24C01 EEPROM
- FCG-1 / FCG-2
- LZ93D50 + 24C02 EEPROM
- Jaleco SS88006 (018)
- Namco 163 (019)
- Konami VRC4 (021)
- VRC4ac
- Konami VRC2 (022)
- VRC2a
- Konami VRC2 / VRC4 (023)
- VRC2b
- VRC2c
- VRC4e
- Konami VRC6 (024)
- VRC6a
- Konami VRC2 / VRC4 (025)
- VRC4b
- VRC4c
- VRC4d
- VRC4f
- Konami VRC6 (026)
- VRC6b
- iNES Mapper 34 (034)
- NINA-001
- BNROM
- iNES Mapper 37 (037)
- iNES Mapper 47 (047)
- RAMBO-1 (064)
- GxROM (066)
- iNES Mapper 67 (067)
- Sunsoft-4 (068)
- Sunsoft FME-7 (069)
- iNES Mapper 70 (070)
- J87 (087)
- iNES Mapper 105 (105)
- iNES Mapper 118 (118)
- MMC3 + RAMBO-1 (119)
- iNES Mapper 152 (152)
- iNES Mapper 155 (155)
- iNES Mapper 158 (158)
- Nanjing FC-001 (163)
- iNES Mapper 180 (180)
- Namco 175 / Namco 340 (210)
- Namco 175
- Namco 340
- Supports Game Genie cheats
- Supports Zapper in Port 2 (mouse clicks)
- 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:
- 4-scanline_timing.nes
- PAL timings are not supported (only NTSC is supported as of now)
- Fails many of the DMC tests
- Fails many of the Accuracy coin tests
- 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
- Hangly Man
- Uniprom Variant
- Baracuda
- NewPuc
- After Dark
- Snatcher Set 1 and 2
- Streaking
- Titan
- Caterpillar
- Abscam
- Joyman
- Piranha
- Galaxian Hardware Variant
- MsPacPlus
- After Dark
- MsPacAttackNew
- MsPacAtackOld
- Supports color overlays
- CHIP-8
- S-Chip Legacy
- S-Chip Modern
- XO-Chip (supporting audio and up to 4 planes)
- 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
- Normal Mode
- Toroidal Mode
- Pan/Zoom support planned
- 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)
- Supports Save States and Load States
- Supports OTA updates
- Supports dynamic drag and drop of ROMs including multiple ROMs for Space Invaders and Pacman/MsPacman
Masquerade is available in two variants, differing in their underlying libraries:
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
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
- Game Boy / Game Boy Color (GB/GBC) : GB Emulator Shootout
- GB Pandocs - Comprehensive Game Boy documentation
- GB Dev Wiki - Memory Bank Controller documentation
- Codeslinger's Blog - Game Boy emulation guide
- Night Shade's Audio Implementation - Audio emulation guide
- The Ultimate Gameboy Talk - Technical reference
- Antonio's Technical Documentation - Game Boy Advance technical guide
- GBATEK - Comprehensive GBA reference
- TONC - GBA programming tutorials
- NBA HW Docs - Hardware documentation
- GBA Docs - GBA development documentation
- Dillonb's Cartridge Guide - Flash cartridge implementation
- GBA PPU Access Pattern - PPU timing documentation
- NES Dev Wiki - Comprehensive NES documentation
- AprNes Accuracy Coin Guide - Comprehensive accuracy coin Test guide
- NES Database - ROM Database for NES ROMs
- Chip8 Database - ROM Database for CHIP-8 family
- Gearboy - GB/GBC testing
- gbmulator - GB/GBC testing
- Emulicious - GB/GBC testing
- Sameboy - GB/GBC testing
- NBA - GBA testing
- SkyEmu - UI theme inspiration
- Dillonb's GBA Emulator - CLI logger/debugger inspiration
- Mesen2 - NES testing
- Hhugboy - For information in Poke2in1 Mapper
- Tom Harte's SingleStepTests for 6502 and SM83 CPU testing
- Blargg test ROMs for GB, GBC, and NES
- Little Things GB test suite for GB and GBC
- jsmolka and alyosha-tas test ROMs for GBA
- AGS Test Suite
- MGBA test suite for GBA
- Tonc test suite for GBA
- Moon Eye and Wilbert Pol's test suite for GB/GBC
- Mealybug Tearoom Tests for GB/GBC
- Accuracy Coin test suite for NES
- Little Things NES test suite for NES
- And all other tests suites mentioned in previous sections...
- Emulator Development Discord - Active community support and development discussions
- Special thanks to ScottNash042 for the extensive testing and hence in ironing out some major issues
See the repository for license information.
























