emunes
A noexcept-quality* NES emulator written in C++17.
Passes almost all Blargg's tests: vbl/nmi & instruction timing; dummy reads; sprite behaviour.
Runs a large amount of NTSC-compatible games with mappers: 0, 1, 2, 3, 7.
List of passed tests
- branch_timing_tests
- cpu_dummy_reads
- cpu_interrupts_v2
- cli_latency
- nmi_and_brk
- nmi_and_irq
- irq_and_dma
- branch_delays_irq
- (official only) cpu_timing_test6
- instr_misc
- (offical only) instr_test_v5
- (offical only) instr_timing
- oam_read
- ppu_open_bus
- ppu_sprite_hit
- ppu_sprite_overflow
- ppu_vbl_nmi
Building
Enter the following commands to build under Linux
apt install libsdl2-dev g++
cd project_root_directory
mkdir bin
make
Type 'emunes filepath' to load a ROM.
*The source code contains the noexcept keyword everywhere.