CHERT

An NES and Famicom emulator with a cycle-stepped 6502 and accurate 2C02/2C07 PPU and 2A03/2A07 APU emulation, and passes the standard blargg and NESdev test ROMs. It runs both NTSC and PAL machines, detected from the ROM header or set by hand, and loads .nes files with either iNES or NES 2.0 headers.

All five APU channels are synthesised band-limited, along with the cartridge sound chips (Konami VRC6 and VRC7, Namco 163, Sunsoft 5B and MMC5). Separate volume controls let you balance the console against the cartridge.

Mapper support runs from NROM and MMC1 through MMC3 and MMC5, plus boards from Konami, Sunsoft, Jaleco, Irem, Bandai and Taito. Chert also supports two standard controllers, save states, run-ahead for lower input lag, and battery-backed saves.

Available on Windows, Linux, macOS, Android, iOS, and WebAssembly. Chert is written in plain, portable C11 with no unusual dependencies, so porting it to game consoles is straightforward. Contact us if you are interested.

Retro City Skyline

Chert in Action

Unmodified commercial games running on Chert.

Batman: The Video Game running on Chert
Batman: The Video Game © 1989 Sunsoft. Batman © DC Comics
Castlevania III: Dracula's Curse running on Chert
Castlevania III: Dracula's Curse © 1990 Konami
Mega Man 2 running on Chert
Mega Man 2 © 1988 Capcom
Ninja Gaiden II: The Dark Sword of Chaos running on Chert
Ninja Gaiden II: The Dark Sword of Chaos © 1990 Tecmo

Chert Options

Third-Party Software