A WIP NES emulator, written in Rust.
Nestor is in early development, aiming to be a highly-accurate NES Emulator, with goals of passing the major of ROM tests publicly available.
- All official (and unofficial) opcodes implemented
- Nestor currently passes
nestest
(PPU notwithstanding)
In extremely early development, Nestor does not pass almost any of these tests, nor does it even have many of the necessary components implemented. These tables are a 'target' to be reached someday.
Sources:
- ROM files: github.com / christopherpow / nes-test-roms
- Tables & ROM files: Nes Dev Wiki
Test Name | Author | Status |
---|---|---|
branch_timing_tests |
blargg | ❌ |
cpu_dummy_reads |
blargg | ❌ |
cpu_dummy_writes |
bisqwit | ❌ |
cpu_exec_space |
bisqwit | ❌ |
cpu_interrupts_v2 |
blargg | ❌ |
cpu_reset |
blargg | ❌ |
cpu_timing_test6 |
blargg | ❌ |
instr_misc |
blargg | ❌ |
instr_test_v5 |
blargg | ❌ |
instr_timing |
blargg | ❌ |
nestest |
kevtris | ✔️* |
ram_retain |
rainwarrior | ❌ |
* Nestor does pass nestest's CPU component, as the PPU / APU are not implemented,
Test Name | Author | Status |
---|---|---|
color_test |
rainwarrior | ❌ |
blargg_ppu_tests_2005.09.15b |
blargg | ❌ |
full_palette |
blargg | ❌ |
nmi_sync |
blargg | ❌ |
ntsc_torture |
rainwarrior | ❌ |
oam_read |
blargg | ❌ |
oam_stress |
blargg | ❌ |
oamtest3 |
lidnariq | ❌ |
palette |
rainwarrior | ❌ |
ppu_open_bus |
blargg | ❌ |
ppu_read_buffer |
bisqwit | ❌ |
ppu_sprite_hit |
blargg | ❌ |
ppu_sprite_overflow |
blargg | ❌ |
ppu_vbl_nmi |
blargg | ❌ |
scanline |
Quietust | ❌ |
sprdma_and_dmc_dma |
blargg | ❌ |
sprite_hit_tests_2005.10.05 |
blargg | ❌ |
sprite_overflow_tests |
blargg | ❌ |
tvpassfail |
tepples | ❌ |
vbl_nmi_timing |
blargg | ❌ |
Test Name | Author | Status |
---|---|---|
apu_mixer |
blargg | ❌ |
apu_phase_reset |
Rahsennor | ❌ |
apu_reset |
blargg | ❌ |
apu_test |
blargg | ❌ |
blargg_apu_2005.07.30 |
blargg | ❌ |
dmc_dma_during_read4 |
blargg | ❌ |
dpcmletterbox |
tepples | ❌ |
square_timer_div2 |
blargg | ❌ |
test_apu_2 (1-10) |
x0000 | ❌ |
test_apu_env |
blargg | ❌ |
test_apu_sweep |
blargg | ❌ |
test_apu_timers |
blargg | ❌ |
test_tri_lin_ctr |
blargg | ❌ |
volume_tests |
tepples | ❌ |
Test Name | Author | Status |
---|---|---|
31_test |
rainwarrior | ❌ |
BNTest |
tepples | ❌ |
bxrom_512k_test |
rainwarrior | ❌ |
FdslrqTests (v7) |
Sour | ❌ |
exram |
Quietust | ❌ |
famicom_audio_swap_tests |
rainwarrior | ❌ |
fme7acktest-r1 |
tepples | ❌ |
fme7ramtest-r1 |
tepples | ❌ |
Holy Mapperel |
tepples | ❌ |
mmc3bigchrram |
tepples | ❌ |
mmc3_test |
blargg | ❌ |
mmc5test |
Drag | ❌ |
mmc5test_v2 |
AWJ | ❌ |
serom |
lidnariq | ❌ |
NES 2.0 Submapper Test - 2_test |
rainwarrior | ❌ |
NES 2.0 Submapper Test - 3_test |
rainwarrior | ❌ |
NES 2.0 Submapper Test - 7_test |
rainwarrior | ❌ |
NES 2.0 Submapper Test - 34_test |
rainwarrior | ❌ |
test28 |
tepples | ❌ |
vrc24test |
AWJ | ❌ |
vrc6test |
natt | ❌ |
mmc5ramsize |
rainwarrior | ❌ |
Test Name | Author | Status |
---|---|---|
allpads |
tepples | ❌ |
dma_sync_test_v2 |
Rahsennor | ❌ |
PaddleTest3 |
3gengames | ❌ |
read_joy3 |
blargg | ❌ |
Zap Ruder |
tepples | ❌ |
spadtest-nes |
tepples | ❌ |
vaus_test |
tepples | ❌ |
mset |
rainwarrior | ❌ |
mict |
rainwarrior | ❌ |
Telling LYs |
tepples | ❌ |
crtltest |
rainwarrior | ❌ |
raw |
lidnariq | ❌ |
- The Nesdev Wiki for being an invaluable resource for every detail of development.
- Test ROM authors such as blargg, rainwarrior, and others, for providing extremely accessible means of testing and validation.