This page documents the test results on various emulators for test ROMs.
This is not a definitive source of truth, and may contain out of date information. A slightly more up-to-date table was made by Alyosha and Sour on google docs.
Links to test ROMs:
- https://github.com/christopherpow/nes-test-roms
- http://bisqwit.iki.fi/src/nes_tests
- https://dl.dropboxusercontent.com/u/75355/Emulation/full_nes_palette.nes
Note, tests below only list nesicide's test results, not nesemu1's test suite.
TODO: Elaborate more on what these roms are and format this heading nicely.
TODO: Rerun all the tests on the newest builds of everything.
TODO: Come up with a more efficient way to update the table and recalculate the results.
TODO: Rerun all the tests on the newest builds of everything.
TODO: Come up with a more efficient way to update the table and recalculate the results.
Testers, please record your results in this table, feel free to add other emulators to this list!
- Nestopia version used in tests: 1.52.0
- "nesemu1" is the workname for Bisqwit's emulator that is not yet completely published.
- A note about puNES: Since version 0.67, an option for high quality audio is available. Use this one instead of low quality audio, as it is generally more accurate.
Guidelines for testing
If there is a choice between a stable and a newer beta/unstable version, preferably, test both. If only one of them passes, indicate the passing version. If both fail or pass, indicate the stable version. If both fail on different steps of the test, indicate the one that has managed a better result, if applicable.
tvpassfail should look like this: http://bisqwit.iki.fi/kala/snap/nesemu1_tvpassfail.avi . Don't "Pass" it if it does not even resemble that.
Some notes about tests which fail the powerpak:
- Power up palette is not the most useful test. It varies between NES revisions, but we're using the one validated by this test as the canonical emulation target. It fails on powerpak because powerpak wipes the palette for its gui.
- blargg_nes_cpu_test5 fails probably on powerpak because the test is wrong? the NES may differ from the standard 6502 undocumented opcodes for this failing instruction. Someone should investigate it.
- the apu tests fail on powerpak because they depend on initial bootup state, and powerpak has already changed it for the gui.
[1] Nintendulator notes: Refer to the comments in the spreadsheet
Powerpak notes: http://dl.dropbox.com/u/4260750/permanent/powerpak-nestests.txt
Notes for several emulators: Refer to the comments in appropriate tab of the spreadsheet
Powerpak notes: http://dl.dropbox.com/u/4260750/permanent/powerpak-nestests.txt
Notes for several emulators: Refer to the comments in appropriate tab of the spreadsheet
Editing
Tables have their columns aligned in the source view. The Results table is alright that way, but the Tests table isn't wiki friendly (and has never been, given its width), but it is text editor friendly! So not to get confused and not to miss a cell (there were cases), copy the table you're about to edit to something like Notepad++ (line wrap disabled), change what you need, alight if needed (Alt + vertical selection), and then paste back to wiki.
Results
apu | cpu | mapper | ppu | misc | demo | total | grade | |
---|---|---|---|---|---|---|---|---|
Amount | 40 | 50 | 13 | 45 | 5 | 3 | 156 | 100.0% |
FCEUX old-ppu | 18 | 35 | 1 | 16 | 5 | 0 | 75 | 48.08% |
FCEUX new-ppu | 18 | 34 | 2 | 25 | 5 | 0 | 84 | 53.85% |
QuickNES | 17 | 44 | 10 | 33 | 4 | 0 | 108 | 69.23% |
RockNES | 34 | 27 | 11 | 42 | 4 | 3 | 121 | 77.56% |
Famicom AV (+InviteNES) | 34 | 47 | 5 | 32 | 2 | 3 | 123 | 78.85% |
NES (+PowerPak)** | 29 | 42 | 8 | 44 | 1 | 2 | 126 | 80.77% |
Famicom AV (+Everdive) | 33 | 44 | 7 | 43 | 2 | 3 | 132 | 84.62% |
Nintendulator | 36 | 40 | 11 | 40 | 3 | 3 | 133 | 85.26% |
MyNes | 32 | 47 | 10 | 41 | 4 | 3 | 137 | 87.82% |
Nestopia | 36 | 47 | 13 | 43 | 4 | 3 | 146 | 93.59% |
puNES | 40 | 50 | 13 | 45 | 2 | 3 | 153 | 98.08% |
Mesen | 40 | 50 | 13 | 45 | 5 | 3 | 156 | 100% |
Bizhawk | 40 | 50 | 13 | 45 | 5 | 3 | 156 | 100% |
** denotes emulators that haven't been tested against full_nes_palette yet.
Tests
Test ROM | FCEUX(oldPPU) | FCEUX(newPPU) | Bizhawk (2.3) | Mesen | Nestopia | Nintendulator | MyNes | RockNES | puNES | NES (+PowerPak) | Famicom AV (+InviteNES) | Famicom AV (+EverDrive) |
---|---|---|---|---|---|---|---|---|---|---|---|---|
APU tests | ||||||||||||
apu_mixer/dmc | Fail (r2085) | Fail (r2085) | Pass | Pass | Fail | Fail (0.9.70)[1] | Fail (4.1.4488) | Fail (5.074) | Pass | Test | Pass | Pass |
apu_mixer/noise | Fail (r2085) | Fail (r2085) | Pass | Pass | Fail | Fail (0.9.70)[1] | Fail (5.0 alpha) | Fail (5.074) | Pass | Test | Pass | Pass |
apu_mixer/square | Fail (r2085) | Fail (r2085) | Pass | Pass | Fail | Fail (0.9.70)[1] | Fail (4.1.4488) | Fail (5.074) | Pass | Test | Pass | Pass |
apu_mixer/triangle | Fail (r2085) | Fail (r2085) | Pass | Pass | Fail | Fail (0.9.70)[1] | Fail (5.0 alpha) | Fail (5.074) | Pass | Test | Pass | Pass |
apu_reset/4015_cleared | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Fail (powerpak?) | Fail (#2) | ? |
apu_reset/4017_timing | Fail (r2085) | Fail (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.2) | Pass (5.074) | Pass | Fail (powerpak?) | Fail (#2) | Fail (#3) |
apu_reset/4017_written | Fail (r2085) | Fail (r2085) | Pass | Pass | Pass | Pass (0.9.75b) | Fail (4.2) | Pass (5.074) | Pass | Fail (powerpak?) | Fail (#2) | Fail (#2) |
apu_reset/irq_flag_cleared | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Fail (powerpak?) | Fail (#2) | ? |
apu_reset/len_ctrs_enabled | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass (0.9.75b) | Pass (4.2) | Pass (5.074) | Pass | Fail (powerpak?) | ? | ? |
apu_reset/works_immediately | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Fail (powerpak?) | Fail (#2) | ? |
apu_test/rom_singles/1-len_ctr | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
apu_test/rom_singles/2-len_table | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
apu_test/rom_singles/3-irq_flag | Fail (r2085) | Fail (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
apu_test/rom_singles/4-jitter | Fail (r2085) | Fail (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
apu_test/rom_singles/5-len_timing | Fail (r2085) | Fail (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
apu_test/rom_singles/6-irq_flag_timing | Fail (r2085) | Fail (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
apu_test/rom_singles/7-dmc_basics | Fail (r2085) | Fail (r2085) | Pass | Pass | Pass | Pass (0.9.75b) | Pass (5.0 alpha) | Pass (5.074) | Pass | Pass | Pass | Pass |
apu_test/rom_singles/8-dmc_rates | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Fail (5.0 alpha) | Pass (5.074) | Pass | Pass | Pass | Pass |
blargg_apu_2005.07.30/01.len_ctr | Pass | Pass | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
blargg_apu_2005.07.30/02.len_table | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
blargg_apu_2005.07.30/03.irq_flag | Fail (r2085) | Fail ($06) (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
blargg_apu_2005.07.30/04.clock_jitter | Fail ($02) (r2085) | Fail ($02) (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
blargg_apu_2005.07.30/05.len_timing_mode0 | Fail ($03) | Fail ($02) (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
blargg_apu_2005.07.30/06.len_timing_mode1 | Fail ($03) | Fail ($02) (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
blargg_apu_2005.07.30/07.irq_flag_timing | Fail ($02) (r2085) | Fail ($02) (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
blargg_apu_2005.07.30/08.irq_timing | Fail ($02) (r2085) | Fail ($02) (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
blargg_apu_2005.07.30/09.reset_timing | Fail ($03) (r2085) | Fail ($03) (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.2) | Pass (5.074) | Pass | Pass | Fail ($02) | Fail ($04) |
blargg_apu_2005.07.30/10.len_halt_timing | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.2) | Pass (5.074) | Pass | Pass | Pass | Pass |
blargg_apu_2005.07.30/11.len_reload_timing | Fail ($05) (r2085) | Fail ($05) (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.2) | Pass (5.074) | Pass | Pass | Pass | Pass |
dmc_dma_during_read4/dma_2007_read | Fail (r2085) | Fail (r2085) | Pass | Pass | Pass | Pass (0.9.75b) | Fail (4.1.4488) | Fail (5.074) | Pass | Pass? | Pass | Pass |
dmc_dma_during_read4/dma_2007_write | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
dmc_dma_during_read4/dma_4016_read | Fail (r2085) | Fail (r2085) | Pass | Pass | Pass | Pass (0.9.75b) | Fail (4.1.4488) | Couldn't open (5.074) | Pass | Pass | Pass | Pass |
dmc_dma_during_read4/double_2007_read | Fail (r2085) | Fail (r2085) | Pass | Pass | Pass | Pass? (0.9.70)[1] | Pass (4.1.4488) | Pass? (5.074) | Pass | Pass? | Pass | Pass |
dmc_dma_during_read4/read_write_2007 | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (5.0 alpha) | Pass (5.074) | Pass | Pass | Pass | Pass |
dmc_tests/buffer_retained | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass(0.9.70)[1] | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
dmc_tests/latency | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass (0.9.70) [1] | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
dmc_tests/status_irq | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
dmc_tests/status | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass (0.9.70)[1] | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
dpcmletterbox/dpcmletterbox | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass (0.9.75b) | Pass (5.0 alpha) | Pass (5.074) | Pass | Pass | Pass | Pass |
volume_tests/volumes | Pass? | Pass? | Pass | Pass | Pass | Pass | Pass? (4.1.4488) | Pass (5.074) | Pass | Test | Pass | Pass |
CPU tests | ||||||||||||
blargg_nes_cpu_test5/cpu | Fail | Fail | Pass | Pass | Pass | Fail (0.9.75b)[1] | Pass (5.0 alpha) | Fail (Test 1) (5.074) | Pass | Fail (AB ATX #n) | Fail | Pass |
blargg_nes_cpu_test5/official | Pass | Pass | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
branch_timing_tests/1.Branch_Basics | Pass (r2085) | Pass | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
branch_timing_tests/2.Backward_Branch | Pass (r2085) | Pass | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
branch_timing_tests/3.Forward_Branch | Pass (r2085) | Pass | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
cpu_dummy_reads/cpu_dummy_reads | Fail (r2085) | Fail (Error 3) (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.2) | Pass (5.074) | Pass | Pass | Pass | Pass |
cpu_dummy_writes/cpu_dummy_writes_oam | Fail (#6) (r2085) | Fail (#6) (r2085) | Pass | Pass | Pass | Pass (0.9.75b) | Pass (5.0 alpha) | Fail (5.074) | Pass | Fail | Fail (#2) | Fail (#2) |
cpu_dummy_writes/cpu_dummy_writes_ppumem | Pass (r2085) | Fail (#10) (r2333) | Pass | Pass | Pass | Pass (0.9.70) | Fail (#9) (4.1.4488) | Fail (5.074) | Pass | Pass | Pass | Pass |
cpu_exec_space/test_cpu_exec_space_apu | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Fail (#2) (4.1.4488) | Pass (5.074) | Pass | Test | Fail (#2) | Fail (#2) |
cpu_exec_space/test_cpu_exec_space_ppuio | Fail (#5) (r2085) | Fail (#5) (r2085) | Pass | Pass | Pass | Fail (#18) (0.9.70) | Fail (#3) (4.1.4488) | Pass (5.074) | Pass | Test | Pass | Pass |
cpu_interrupts_v2/cpu_interrupts | Couldn't open (r2085) | Couldn't open (r2085) | Pass | Pass | Fail | Fail (0.9.70) | Pass (5.0 alpha) | Pass (5.074) | Pass | Pass | Pass | Pass |
cpu_interrupts_v2/rom_singles/1-cli_latency | Pass | Pass | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
cpu_interrupts_v2/rom_singles/2-nmi_and_brk | Fail | Fail | Pass | Pass | Pass | Fail (0.9.70) | Pass (5.0 alpha) | Pass (5.074) | Pass | Pass | Fail | Fail |
cpu_interrupts_v2/rom_singles/3-nmi_and_irq | Fail | Fail | Pass | Pass | Pass | Fail (0.9.70) | Pass (5.0 alpha) | Pass (5.074) | Pass | Pass | Pass | Pass |
cpu_interrupts_v2/rom_singles/4-irq_and_dma | Fail | Fail | Pass | Pass | Fail | Fail (0.9.70) | Pass (5.0 alpha) | Pass (5.074) | Pass | Pass | Pass | Pass |
cpu_interrupts_v2/rom_singles/5-branch_delays_irq | Fail | Fail | Pass | Pass | Fail | Pass (0.9.75b) | Pass (5.0 alpha) | Pass (5.074) | Pass | Pass | Pass | Pass |
cpu_reset/ram_after_reset | Pass (r2085) | Pass | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Fail (powerpak?) | ? | ? |
cpu_reset/registers | Fail (#3) (r2727) | Fail (#3) (r2727) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Fail (powerpak?) | Fail (#2) | Fail (#2) |
cpu_timing_test6/cpu_timing_test | Pass (r2085) | Pass | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
instr_misc/instr_misc | Fail (r2085) | Fail (#3) (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.2) | Couldn't open (5.074) | Pass | Pass | Pass | Pass |
instr_test-v3/rom_singles/01-implied | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Fail (5.074) | Pass | Pass | Pass | Pass |
instr_test-v3/rom_singles/02-immediate | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass (0.9.75b) | Pass (4.1.4488) | Fail (5.074) | Pass | Pass | Fail | Pass |
instr_test-v3/rom_singles/03-zero_page | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Fail (5.074) | Pass | Pass | Pass | Pass |
instr_test-v3/rom_singles/04-zp_xy | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Fail (5.074) | Pass | Pass | Pass | Pass |
instr_test-v3/rom_singles/05-absolute | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Fail (5.074) | Pass | Pass | Pass | Pass |
instr_test-v3/rom_singles/06-abs_xy | Fail (r2085) | Fail (r2085) | Pass | Pass | Pass | Fail (0.9.70) | Pass (5.0 alpha) | Fail (5.074) | Pass | Pass | Pass | Pass |
instr_test-v3/rom_singles/07-ind_x | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Fail (5.074) | Pass | Pass | Pass | Pass |
instr_test-v3/rom_singles/08-ind_y | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Fail (5.074) | Pass | Pass | Pass | Pass |
instr_test-v3/rom_singles/09-branches | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
instr_test-v3/rom_singles/10-stack | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
instr_test-v3/rom_singles/11-jmp_jsr | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
instr_test-v3/rom_singles/12-rts | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
instr_test-v3/rom_singles/13-rti | Pass (r2085) | Pass | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
instr_test-v3/rom_singles/14-brk | Pass (r2085) | Pass | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
instr_test-v3/rom_singles/15-special | Pass (r2085) | Pass | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
instr_test-v3/all_instrs | Fail (r2085) | Fail (test 6) (r2085) | Pass | Pass | Pass | Fail (0.9.75b)[1] | Pass (5.0 alpha) | Fail (5.074) | Pass | Pass | Fail | Pass |
instr_test-v3/official_only | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
instr_timing/instr_timing | Fail (r2085) | Fail (#3) (r2085) | Pass | Pass | Pass | Fail (0.9.75b) | Pass (4.1.4488) | Fail (5.074) | Pass | Pass | Pass | Pass |
other/nestest | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Fail (unofficials) (5.074) | Pass | Test | Pass | Pass |
nes_instr_test/rom_singles/01-implied | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass | Pass (4.1.4488) | Fail (5.074) | Pass | Pass | Pass | Pass |
nes_instr_test/rom_singles/02-immediate | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass | Pass (4.1.4488) | Fail (5.074) | Pass | Fail (AB ATX #n) | Fail | Fail |
nes_instr_test/rom_singles/03-zero_page | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass | Pass (4.1.4488) | Fail (5.074) | Pass | Pass | Pass | Pass |
nes_instr_test/rom_singles/04-zp_xy | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass | Pass (4.1.4488) | Fail (5.074) | Pass | Pass | Pass | Pass |
nes_instr_test/rom_singles/05-absolute | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass | Pass (4.1.4488) | Fail (5.074) | Pass | Pass | Pass | Pass |
nes_instr_test/rom_singles/06-abs_xy | Fail (r2085) | Fail (r2085) | Pass | Pass | Pass | Fail | Pass (5.0 alpha) | Fail (5.074) | Pass | Pass | Pass | Pass |
nes_instr_test/rom_singles/07-ind_x | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass | Pass (4.1.4488) | Fail (5.074) | Pass | Pass | Pass | Pass |
nes_instr_test/rom_singles/08-ind_y | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass | Pass (4.1.4488) | Fail (5.074) | Pass | Pass | Pass | Pass |
nes_instr_test/rom_singles/09-branches | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
nes_instr_test/rom_singles/10-stack | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
nes_instr_test/rom_singles/11-special | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
Mapper-specific tests | ||||||||||||
exram/mmc5exram | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Fail | Pass |
mmc3_irq_tests/1.Clocking | Fail (r2085) | Fail (#3) (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
mmc3_irq_tests/2.Details | Fail (r2085) | Fail (#2) (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Fail (#2) | Pass |
mmc3_irq_tests/3.A12_clocking | Fail (r2085) | Fail (#4) (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Fail (#4) | Pass |
mmc3_irq_tests/4.Scanline_timing | Fail (r2085) | Pass | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.08) | Pass | Fail | Fail (#5) | Pass |
mmc3_irq_tests/5.MMC3_rev_A | Fail (r2085) | Fail (#2) (r2085) | Pass | Pass | Pass | Pass (0.9.75b) | Fail (#3) (4.1.4488) | Fail (#3) (5.074) | Pass | Fail | Fail (#3) | Pass |
mmc3_irq_tests/6.MMC3_rev_B | Fail (r2085) | Fail (#2) (r2085) | Pass | Pass | Pass | Fail (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Fail | Pass | Pass |
mmc3_test/1-clocking | Fail (r2085) | Fail (#3) (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | ? |
mmc3_test/2-details | Fail (r2085) | Fail (#2) (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | ? |
mmc3_test/3-A12_clocking | Fail (r2085) | Fail (#4) (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Fail (#5) | ? |
mmc3_test/4-scanline_timing | Fail (r2085) | Fail (#9) (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Fail (#2) (4.1.4488) | Pass (5.08) | Pass | Pass | Fail (#2) | ? |
mmc3_test/5-MMC3 | Fail (r2085) | Fail (#2) (r2085) | Pass | Pass | Pass | Fail (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Fail (#2) | Pass | ? |
mmc3_test/6-MMC6 | Fail (r2085) | Fail (#2) (r2085) | Pass | Pass | Pass | Pass (0.9.75b) | Fail (#3) (4.1.4488) | Fail (#3) (5.074) | Pass | Fail (#2) | Fail (#3) | ? |
PPU/graphics tests | ||||||||||||
blargg_ppu_tests_2005.09.15b/palette_ram | Fail | Pass | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
blargg_ppu_tests_2005.09.15b/power_up_palette | Fail | Fail ($02) (r2085) | Pass | Pass | Pass | Fail (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Fail ($02) | Fail (powerpak?) | Fail ($02) | Fail ($02) |
blargg_ppu_tests_2005.09.15b/sprite_ram | Fail (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Fail ($02) |
blargg_ppu_tests_2005.09.15b/vbl_clear_time | Pass | Pass | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
blargg_ppu_tests_2005.09.15b/vram_access | Fail | Pass | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
nmi_sync/demo_ntsc | Fail (r2085) | Fail (r2085) | Pass | Pass | Fail | Fail (0.9.75b) | Fail (6.2.55) | Fail (5.074) | Fail | Pass | Pass | Pass |
oam_read/oam_read | Fail (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass (66% of time) | Fail | Pass |
oam_stress/oam_stress | Fail (r2085) | Fail (r2085) | Pass | Pass | Pass | Pass (0.9.75b) | Pass (4.2) | Couldn't open (5.074) | Pass | Pass (25% of time) | Fail | Fail |
ppu_open_bus/ppu_open_bus | Fail (#3) (r2085) | Fail (#3) (r2085) | Pass | Pass | Pass | Fail (0.9.70) | Fail (#2) (4.1.4488) | Fail (#3) (5.074) | Pass | Pass | Pass | Pass |
ppu_vbl_nmi/rom_singles/01-vbl_basics | Fail (#7) (r2085) | Pass | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
ppu_vbl_nmi/rom_singles/02-vbl_set_time | Fail (r2085) | Fail | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass (sometimes) | Fail | Pass |
ppu_vbl_nmi/rom_singles/03-vbl_clear_time | Fail (r2085) | Pass | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
ppu_vbl_nmi/rom_singles/04-nmi_control | Pass (r2085) | Pass | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
ppu_vbl_nmi/rom_singles/05-nmi_timing | Fail (r2085) | Fail | Pass | Pass | Pass | Pass (0.9.70) | Pass (5.0 alpha) | Pass (5.074) | Pass | Pass (80% of time) | Pass | Pass |
ppu_vbl_nmi/rom_singles/06-suppression | Fail (r2085) | Fail | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass (sometimes) | Fail | Pass |
ppu_vbl_nmi/rom_singles/07-nmi_on_timing | Fail (r2085) | Fail | Pass | Pass | Pass | Fail (0.9.70) | Fail (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
ppu_vbl_nmi/rom_singles/08-nmi_off_timing | Fail (r2085) | Fail | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass (50% of time) | Pass | Pass |
ppu_vbl_nmi/rom_singles/09-even_odd_frames | Fail (#2) (r2085) | Pass | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass (66% of time) | Pass | Pass |
ppu_vbl_nmi/rom_singles/10-even_odd_timing | Fail (#2) (r2085) | Fail #3 | Pass | Pass | Pass | Pass (0.9.75b) | Fail (#3) (4.1.4488) | Pass (5.074) | Pass | Pass (25% of time) | Fail (#2) | Pass |
scanline/scanline | Pass (r2085) | Pass (r2085) | Fail | Pass | Pass | Fail? (0.9.70)[1] | Fail (6.2.55) | Fail (5.074) | Fail | Test | Fail | Fail |
scrolltest/scroll | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass (0.9.70)[1] | Pass (4.1.4488) | Pass (5.074) | Pass | Test | Pass | Pass |
sprdma_and_dmc_dma/sprdma_and_dmc_dma_512 | Fail (r2085) | Fail (r2085) | Pass | Pass | Fail | Fail (0.9.75b) | Couldn't open (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
sprdma_and_dmc_dma/sprdma_and_dmc_dma | Fail (r2085) | Fail (r2085) | Pass | Pass | Fail | Fail (0.9.75b) | Couldn't open (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
sprite_hit_tests_2005.10.05/01.basics | Pass (r2085) | Pass | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
sprite_hit_tests_2005.10.05/02.alignment | Pass (r2085) | Pass | Pass | Pass | Pass | Pass (0.9.75b) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
sprite_hit_tests_2005.10.05/03.corners | Pass (r2085) | Pass | Pass | Pass | Pass | Pass (0.9.75b) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
sprite_hit_tests_2005.10.05/04.flip | Pass (r2085) | Pass | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
sprite_hit_tests_2005.10.05/05.left_clip | Fail (#3) (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass (0.9.75b) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
sprite_hit_tests_2005.10.05/06.right_edge | Pass (r2085) | Pass | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
sprite_hit_tests_2005.10.05/07.screen_bottom | Pass (r2085) | Pass | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
sprite_hit_tests_2005.10.05/08.double_height | Pass (r2085) | Pass | Pass | Pass | Pass | Pass (0.9.75b) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
sprite_hit_tests_2005.10.05/09.timing_basics | Fail (#2) (r2085) | Fail #3 | Pass | Pass | Pass | Pass (0.9.75b) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
sprite_hit_tests_2005.10.05/10.timing_order | Pass (r2085) | Fail #3 | Pass | Pass | Pass | Pass (0.9.75b) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
sprite_hit_tests_2005.10.05/11.edge_timing | Pass (r2085) | Pass | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
sprite_overflow_tests/1.Basics | Pass (r2085) | Pass | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
sprite_overflow_tests/2.Details | Pass (r2085) | Pass | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
sprite_overflow_tests/3.Timing | Fail (#2) (r2085) | Fail #2 | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
sprite_overflow_tests/4.Obscure | Fail (#2) (r2085) | Fail #2 | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
sprite_overflow_tests/5.Emulator | Pass (r2085) | Pass | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
tvpassfail/tv | Fail | Fail | Fail (needs NTSC filter?) | Pass | Pass (with NTSC filter) | Fail (0.9.70) | Fail (4.1.4488) | Fail (5.074) | Pass (with NTSC filter) | Pass | Pass | Pass |
vbl_nmi_timing/1.frame_basics | Fail (r2085) | Pass | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
vbl_nmi_timing/2.vbl_timing | Fail (r2085) | Fail (#8) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass (not always) | Fail (#4) | Pass |
vbl_nmi_timing/3.even_odd_frames | Fail (r2085) | Fail (#3) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass (not always) | Fail (#2) | Pass |
vbl_nmi_timing/4.vbl_clear_timing | Fail (r2085) | Pass | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
vbl_nmi_timing/5.nmi_suppression | Fail (r2085) | Fail (#2) | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Fail (#5) | Pass |
vbl_nmi_timing/6.nmi_disable | Fail (r2085) | Fail #3 | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
vbl_nmi_timing/7.nmi_timing | Fail (r2085) | Fail #2 | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
Miscellaneous tests | ||||||||||||
PaddleTest3/PaddleTest | Pass (r2085) | Pass (r2085) | Pass | Pass | Pass | Pass | Fail (4.1.4488) | Fail (5.074) | Fail | Test | ? | ? |
read_joy3/test_buttons | Pass (r2085) | Pass | Pass | Pass | Pass | Pass (0.9.70) | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
read_joy3/thorough_test | Pass (r2085) | Pass | Pass | Pass | Pass | Pass (0.9.75b)[1] | Pass (4.1.4488) | Pass (5.074) | Pass | Test | Pass | Pass |
Demos that require accuracy | ||||||||||||
full_palette/flowing_palette | Fail (r2085) | Fail (r2085) | Pass | Pass | Pass | Pass? (0.9.70)[1] | Pass (4.1.4488) | Pass (5.074) | Pass | Pass (minor artifacts) | Pass | Pass |
full_palette/full_palette_smooth | Fail (r2085) | Fail (r2085) | Pass | Pass | Pass | Pass? (0.9.70)[1] | Pass (4.1.4488) | Pass (5.074) | Pass | Pass | Pass | Pass |
full_nes_palette | Fail (2.2.2) | Fail (2.2.2) | Pass | Pass | Pass | Pass (0.9.70) | Pass (5.1) | Pass (5.13d) | Pass | ? | Pass | Pass |