Noexcept NES emulator
Switch branches/tags
Nothing to show
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
res
src
.gitignore
LICENSE
Makefile
README.md

README.md

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.

Screenshots

alt tag alt tag alt tag