User talk:Sour: Difference between revisions

From NESdev Wiki
Jump to navigationJump to search
No edit summary
No edit summary
Line 7: Line 7:
! Description
! Description
! Author
! Author
! Forum Thread
! Forum
|-
|-
| blargg_nes_cpu_test5 || Similar to cpu_timing_test6 (an older or newer revision?)
| [http://www.slack.net/~ant/nes-tests/branch_timing_tests.zip branch_timing_tests] || These ROMs test timing of the branch instruction, including edge cases || blargg
|-
|-
| branch_timing_tests || These ROMs test timing of the branch instruction, including edge cases
| [https://github.com/christopherpow/nes-test-roms/raw/master/cpu_dummy_reads/cpu_dummy_reads.nes cpu_dummy_reads] || Tests the CPU's dummy reads || blargg || [http://forums.nesdev.org/viewtopic.php?p=31629 link]
|-
| cli_latency || This ROM tests the CLI and related instructions' delay in taking effect, and related IRQ behavior.
|-
| cpu_dummy_reads || Tests the CPU's dummy reads || blargg || [http://forums.nesdev.org/viewtopic.php?p=31629 link]
|-  
|-  
| [http://bisqwit.iki.fi/src/nes_tests/cpu_dummy_writes.zip cpu_dummy_writes] || Tests the CPU's dummy writes || bisqwit || [http://forums.nesdev.org/viewtopic.php?t=8738 link]
| [http://bisqwit.iki.fi/src/nes_tests/cpu_dummy_writes.zip cpu_dummy_writes] || Tests the CPU's dummy writes || bisqwit || [http://forums.nesdev.org/viewtopic.php?t=8738 link]
Line 21: Line 17:
| [http://bisqwit.iki.fi/src/nes_tests/cpu_exec_space.zip cpu_exec_space] || Verifies that the CPU can execute code from any possible memory location, even if that is mapped as I/O space || bisqwit || [http://forums.nesdev.org/viewtopic.php?t=8755 link]
| [http://bisqwit.iki.fi/src/nes_tests/cpu_exec_space.zip cpu_exec_space] || Verifies that the CPU can execute code from any possible memory location, even if that is mapped as I/O space || bisqwit || [http://forums.nesdev.org/viewtopic.php?t=8755 link]
|-  
|-  
| cpu_flag_concurrency || (Not sure about this one - need to find the thread where it was posted)
| [http://bisqwit.iki.fi/kala/test1.zip cpu_flag_concurrency] || Unsure what results are meant to be, see thread for more info. || bisqwit || [https://forums.nesdev.org/viewtopic.php?f=3&t=8757 link]
|-
|-
| [http://blargg.8bitalley.com/parodius/nes-tests/cpu_interrupts_v2.zip cpu_interrupts_v2] || Tests the behavior and timing of CPU in the presence of interrupts, both IRQ and NMI; see CPU interrupts. || blargg
| [http://blargg.8bitalley.com/parodius/nes-tests/cpu_interrupts_v2.zip cpu_interrupts_v2] || Tests the behavior and timing of CPU in the presence of interrupts, both IRQ and NMI; see CPU interrupts. || blargg ||
|-
|-
| [http://blargg.8bitalley.com/parodius/nes-tests/cpu_reset.zip cpu_reset] || Tests CPU registers just after power and changes during reset, and that RAM isn't changed during reset. || blargg
| [http://blargg.8bitalley.com/parodius/nes-tests/cpu_reset.zip cpu_reset] || Tests CPU registers just after power and changes during reset, and that RAM isn't changed during reset. || blargg ||
|-  
|-  
| cpu_timing_test6 || This program tests instruction timing for all official and unofficial NES 6502 instructions except the 8 branch instructions (Bxx) and the 12 halt instructions (HLT)
| [http://blargg.8bitalley.com/parodius/nes-tests/cpu_timing_test6.zip cpu_timing_test6] || This program tests instruction timing for all official and unofficial NES 6502 instructions except the 8 branch instructions (Bxx) and the 12 halt instructions (HLT) || blargg ||
|-  
|-  
| [http://blargg.8bitalley.com/parodius/nes-tests/nes_instr_misc.zip instr_misc] || Tests some miscellaneous aspects of instructions, including behavior when 16-bit address wraps around, and dummy reads. || blargg
| [http://blargg.8bitalley.com/parodius/nes-tests/nes_instr_misc.zip instr_misc] || Tests some miscellaneous aspects of instructions, including behavior when 16-bit address wraps around, and dummy reads. || blargg ||
|-  
|-  
| [http://blargg.8bitalley.com/nes-tests/instr_test-v5.zip instr_test_v5] || Tests official and unofficial CPU instructions and lists which ones failed. It will work even if emulator has no PPU and only supports NROM, writing a copy of output to $6000 (see readme). This more thoroughly tests instructions, but can't help you figure out what's wrong beyond what instruction(s) are failing, so it's better for testing mature CPU emulators. || blargg
| [http://blargg.8bitalley.com/nes-tests/instr_test-v5.zip instr_test_v5] || Tests official and unofficial CPU instructions and lists which ones failed. It will work even if emulator has no PPU and only supports NROM, writing a copy of output to $6000 (see readme). This more thoroughly tests instructions, but can't help you figure out what's wrong beyond what instruction(s) are failing, so it's better for testing mature CPU emulators. || blargg ||
|-  
|-  
| [http://blargg.8bitalley.com/parodius/nes-tests/instr_timing.zip instr_timing] || Tests timing of all instructions, including unofficial ones, page-crossing, etc. || blargg
| [http://blargg.8bitalley.com/parodius/nes-tests/instr_timing.zip instr_timing] || Tests timing of all instructions, including unofficial ones, page-crossing, etc. || blargg ||
|-
|-
| [http://nickmass.com/images/nestest.nes nestest] || fairly thoroughly tests CPU operation. This is the best test to start with when getting a CPU emulator working for the first time. Start execution at $C000 and compare execution with a log from Nintendulator, an emulator whose CPU is known to work correctly (apart from some details of the power-up state). || ?
| [http://nickmass.com/images/nestest.nes nestest] || fairly thoroughly tests CPU operation. This is the best test to start with when getting a CPU emulator working for the first time. Start execution at $C000 and compare execution with a log from Nintendulator, an emulator whose CPU is known to work correctly (apart from some details of the power-up state). || ? ||
|}  
|}  


Line 41: Line 37:


{| class="wikitable"
{| class="wikitable"
! Name
! Description
! Author
! Forum
|-
|-
| [http://www.slack.net/~ant/nes-tests/blargg_ppu_tests.zip blargg_ppu_tests_2005.09.15b] || Miscellaneous PPU tests (palette ram, sprite ram, etc.) || blargg || [http://forums.nesdev.org/viewtopic.php?t=567 link]
| [http://www.slack.net/~ant/nes-tests/blargg_ppu_tests.zip blargg_ppu_tests_2005.09.15b] || Miscellaneous PPU tests (palette ram, sprite ram, etc.) || blargg || [http://forums.nesdev.org/viewtopic.php?t=567 link]
Line 48: Line 48:
| [http://blargg.parodius.com/nes-code/nmi_sync.zip nmi_sync] || Verifies NMI timing by creating a specific pattern on the screen (NTSC & PAL versions) || blargg || [http://forums.nesdev.org/viewtopic.php?t=6589 link]
| [http://blargg.parodius.com/nes-code/nmi_sync.zip nmi_sync] || Verifies NMI timing by creating a specific pattern on the screen (NTSC & PAL versions) || blargg || [http://forums.nesdev.org/viewtopic.php?t=6589 link]
|-
|-
| [http://blargg.8bitalley.com/parodius/nes-tests/oam_read.zip oam_read] || Tests OAM reading ($2004), being sure it reads the byte from OAM at the current address in $2003. || blargg
| [http://blargg.8bitalley.com/parodius/nes-tests/oam_read.zip oam_read] || Tests OAM reading ($2004), being sure it reads the byte from OAM at the current address in $2003. || blargg ||
|-
|-
| [http://blargg.8bitalley.com/parodius/nes-tests/oam_stress.zip oam_stress] || Thoroughly tests OAM address ($2003) and read/write ($2004) || blargg
| [http://blargg.8bitalley.com/parodius/nes-tests/oam_stress.zip oam_stress] || Thoroughly tests OAM address ($2003) and read/write ($2004) || blargg ||
|-
|-
| [http://blargg.8bitalley.com/parodius/nes-tests/ppu_open_bus.zip ppu_open_bus] || Tests behavior when reading from open-bus PPU bits/registers || blargg
| [http://blargg.8bitalley.com/parodius/nes-tests/ppu_open_bus.zip ppu_open_bus] || Tests behavior when reading from open-bus PPU bits/registers || blargg ||
|-
|-
| [http://bisqwit.iki.fi/src/nes_tests/ppu_read_buffer.zip ppu_read_buffer] || Mammoth test pack tests many aspects of the NES system, mostly centering around the PPU $2007 read buffer || bisqwit || [http://forums.nesdev.org/viewtopic.php?f=3&t=8847&start=0 link]
| [http://bisqwit.iki.fi/src/nes_tests/ppu_read_buffer.zip ppu_read_buffer] || Mammoth test pack tests many aspects of the NES system, mostly centering around the PPU $2007 read buffer || bisqwit || [http://forums.nesdev.org/viewtopic.php?f=3&t=8847&start=0 link]
|-
|-
| [http://blargg.8bitalley.com/parodius/nes-tests/ppu_sprite_hit.zip ppu_sprite_hit] || Tests sprite 0 hit behavior and timing || blargg
| [http://blargg.8bitalley.com/parodius/nes-tests/ppu_sprite_hit.zip ppu_sprite_hit] || Tests sprite 0 hit behavior and timing || blargg ||
|-
|-
| [http://blargg.8bitalley.com/parodius/nes-tests/ppu_sprite_overflow.zip ppu_sprite_overflow] || Tests sprite overflow behavior and timing || blargg
| [http://blargg.8bitalley.com/parodius/nes-tests/ppu_sprite_overflow.zip ppu_sprite_overflow] || Tests sprite overflow behavior and timing || blargg ||
|-
|-
| [http://blargg.8bitalley.com/parodius/nes-tests/ppu_vbl_nmi.zip ppu_vbl_nmi] || Tests the behavior and timing of the NTSC PPU's VBL flag, NMI enable, and NMI interrupt. Timing is tested to an accuracy of one PPU clock. || blargg
| [http://blargg.8bitalley.com/parodius/nes-tests/ppu_vbl_nmi.zip ppu_vbl_nmi] || Tests the behavior and timing of the NTSC PPU's VBL flag, NMI enable, and NMI interrupt. Timing is tested to an accuracy of one PPU clock. || blargg ||
|-
|-
| [http://www.qmtpro.com/~nes/demos/scanline.zip scanline] || Displays a test screen that will contain glitches if certain portions of the emulation are not perfect. || Quietust
| [http://www.qmtpro.com/~nes/demos/scanline.zip scanline] || Displays a test screen that will contain glitches if certain portions of the emulation are not perfect. || Quietust ||
|-  
|-  
| sprite_hit_tests_2005.10.05 || Generally the same as ppu_sprite_hit (older revision of the tests - ppu_sprite_hit is most likely better)
| [http://www.slack.net/~ant/nes-tests/sprite_hit_tests.zip sprite_hit_tests_2005.10.05] || Generally the same as ppu_sprite_hit (older revision of the tests - ppu_sprite_hit is most likely better) || blargg ||
|-
|-
| sprite_overflow_tests || Generally the same as ppu_sprite_overflow (older revision of the tests - ppu_sprite_overflow is most likely better)
| [http://www.slack.net/~ant/nes-tests/sprite_overflow_tests.zip sprite_overflow_tests] || Generally the same as ppu_sprite_overflow (older revision of the tests - ppu_sprite_overflow is most likely better) || blargg ||
|-
|-
| [http://blargg.parodius.com/temp/sprdma_and_dmc_dma.zip sprdma_and_dmc_dma] || Tests the cycle stealing behavior of the DMC DMA while running Sprite DMAs || blargg || [http://forums.nesdev.org/viewtopic.php?f=3&t=6100 link]
| [http://blargg.parodius.com/temp/sprdma_and_dmc_dma.zip sprdma_and_dmc_dma] || Tests the cycle stealing behavior of the DMC DMA while running Sprite DMAs || blargg || [http://forums.nesdev.org/viewtopic.php?f=3&t=6100 link]
Line 72: Line 72:
| [http://pics.pineight.com/nes/tvpassfail.zip tvpassfail] || NTSC color and NTSC/PAL pixel aspect ratio test ROM || tepples || [http://forums.nesdev.org/viewtopic.php?t=3393 link]
| [http://pics.pineight.com/nes/tvpassfail.zip tvpassfail] || NTSC color and NTSC/PAL pixel aspect ratio test ROM || tepples || [http://forums.nesdev.org/viewtopic.php?t=3393 link]
|-
|-
| [http://blargg.8bitalley.com/parodius/nes-tests/ppu_vbl_nmi.zip vbl_nmi_timing] || Generally the same as ppu_vbl_nmi (older revision of the tests - ppu_vbl_nmi is most likely better) || blargg
| [http://blargg.8bitalley.com/parodius/nes-tests/ppu_vbl_nmi.zip vbl_nmi_timing] || Generally the same as ppu_vbl_nmi (older revision of the tests - ppu_vbl_nmi is most likely better) || blargg ||
|}
|}


Line 78: Line 78:


{| class="wikitable"
{| class="wikitable"
! Name
! Description
! Author
! Forum
|-
|-
| [http://blargg.8bitalley.com/parodius/nes-tests/apu_mixer.zip apu_mixer] || Verifies proper operation of the APU's sound channel mixer, including relative volumes of channels and non-linear mixing. recordings when run on NES are available for comparison, though the tests are made so that you don't really need these. || blargg
| [http://blargg.8bitalley.com/parodius/nes-tests/apu_mixer.zip apu_mixer] || Verifies proper operation of the APU's sound channel mixer, including relative volumes of channels and non-linear mixing. recordings when run on NES are available for comparison, though the tests are made so that you don't really need these. || blargg ||
|-
|-  
| [https://forums.nesdev.org/download/file.php?id=7496 apu_phase_reset] || Tests the correct square channel behavior when writing to $4003/4007 (reset the duty cycle sequencers but not the clock dividers) || Rahsennor || [https://forums.nesdev.org/viewtopic.php?f=2&t=15346 link]
| [https://forums.nesdev.org/download/file.php?id=7496 apu_phase_reset] || Tests the correct square channel behavior when writing to $4003/4007 (reset the duty cycle sequencers but not the clock dividers) || Rahsennor || [https://forums.nesdev.org/viewtopic.php?f=2&t=15346 link]
|-
|-
| [http://blargg.8bitalley.com/parodius/nes-tests/apu_reset.zip apu_reset] || Tests initial APU state at power, and the effect of reset. || blargg
| [http://blargg.8bitalley.com/parodius/nes-tests/apu_reset.zip apu_reset] || Tests initial APU state at power, and the effect of reset. || blargg ||
|-  
|-  
| [http://blargg.8bitalley.com/parodius/nes-tests/apu_test.zip apu_test] || Tests many aspects of the APU that are visible to the CPU. Really obscure things are not tested here. || blargg
| [http://blargg.8bitalley.com/parodius/nes-tests/apu_test.zip apu_test] || Tests many aspects of the APU that are visible to the CPU. Really obscure things are not tested here. || blargg ||
|-  
|-  
| blargg_apu_2005.07.30 || Tests APU length counters, frame counter, IRQ, etc.
| [http://www.slack.net/~ant/nes-tests/blargg_apu_2005.07.30.zip blargg_apu_2005.07.30] || Tests APU length counters, frame counter, IRQ, etc. || blargg ||
|-  
|-  
| [http://blargg.8bitalley.com/parodius/nes-tests/dmc_dma_during_read4.zip dmc_dma_during_read4] || Tests register read/write behavior while DMA is running || blargg
| [http://blargg.8bitalley.com/parodius/nes-tests/dmc_dma_during_read4.zip dmc_dma_during_read4] || Tests register read/write behavior while DMA is running || blargg ||
|-  
|-  
| dmc_tests || ? || ? ||
| [https://github.com/christopherpow/nes-test-roms/tree/master/dmc_tests dmc_tests] || ? || ? ||
|-  
|-  
| [http://pics.pineight.com/nes/dpcmletterbox.zip dpcmletterbox] || Tests accuracy of the DMC channel's IRQ || tepples
| [http://pics.pineight.com/nes/dpcmletterbox.zip dpcmletterbox] || Tests accuracy of the DMC channel's IRQ || tepples ||
|-  
|-  
| pal_apu_tests || PAL version of the blargg_apu_2005.07.30 tests
| [http://www.slack.net/~ant/nes-tests/pal_apu_tests.zip pal_apu_tests] || PAL version of the blargg_apu_2005.07.30 tests || blargg ||
|-
|-
| [http://blargg.8bitalley.com/parodius/nes-tests/older/square_timer_div2.zip square_timer_div2] || Tests the square timer's period || blargg
| [http://blargg.8bitalley.com/parodius/nes-tests/older/square_timer_div2.zip square_timer_div2] || Tests the square timer's period || blargg ||
|-  
|-  
| [http://forums.nesdev.org/download/file.php?id=1494 test_apu_2 (1-10)] [https://forums.nesdev.org/download/file.php?id=5699 (11)] || 11 tests that verify a number of behaviors with the APU (including the frame counter) || x0000 || [http://forums.nesdev.org/viewtopic.php?f=3&t=11174 link]
| [http://forums.nesdev.org/download/file.php?id=1494 test_apu_2 (1-10)] [https://forums.nesdev.org/download/file.php?id=5699 (11)] || 11 tests that verify a number of behaviors with the APU (including the frame counter) || x0000 || [http://forums.nesdev.org/viewtopic.php?f=3&t=11174 link]
|-
|-
| [http://blargg.8bitalley.com/parodius/nes-tests/older/test_apu_env.zip test_apu_env] || Tests the APU envelope for correctness. || blargg
| [http://blargg.8bitalley.com/parodius/nes-tests/older/test_apu_env.zip test_apu_env] || Tests the APU envelope for correctness. || blargg ||
|-  
|-  
| [http://blargg.8bitalley.com/parodius/nes-tests/older/test_apu_sweep.zip test_apu_sweep] || Tests the sweep unit's add, subtract, overflow cutoff, and minimum period behaviors. || blargg
| [http://blargg.8bitalley.com/parodius/nes-tests/older/test_apu_sweep.zip test_apu_sweep] || Tests the sweep unit's add, subtract, overflow cutoff, and minimum period behaviors. || blargg ||
|-  
|-  
| [http://blargg.8bitalley.com/parodius/nes-tests/older/test_apu_timers.zip test_apu_timers] || Tests frequency timer of all 5 channels || blargg
| [http://blargg.8bitalley.com/parodius/nes-tests/older/test_apu_timers.zip test_apu_timers] || Tests frequency timer of all 5 channels || blargg ||
|-  
|-  
| [http://blargg.8bitalley.com/parodius/nes-tests/older/test_tri_lin_ctr.zip test_tri_lin_ctr] || Tests triangle's linear counter and clocking by the frame counter || blargg
| [http://blargg.8bitalley.com/parodius/nes-tests/older/test_tri_lin_ctr.zip test_tri_lin_ctr] || Tests triangle's linear counter and clocking by the frame counter || blargg ||
|-
|-
| [http://pics.pineight.com/nes/volume_tests.zip volume_tests] || Plays tones on all the APU's channels to show their relative volumes at various settings of $4011. Package includes a recording from an NES's audio output for comparison. || tepples
| [http://pics.pineight.com/nes/volume_tests.zip volume_tests] || Plays tones on all the APU's channels to show their relative volumes at various settings of $4011. Package includes a recording from an NES's audio output for comparison. || tepples ||
|}
|}


Line 115: Line 119:


{| class="wikitable"
{| class="wikitable"
! Name
! Description
! Author
! Forum
|-
|-
| 31_test || Tests for mapper 31 (with various NES 2.0 headers for PRG ROM sizes)
| [https://forums.nesdev.org/download/file.php?id=3772 31_test] || Tests for mapper 31 (with various NES 2.0 headers for PRG ROM sizes) || rainwarrior || [https://forums.nesdev.org/viewtopic.php?f=3&t=13120 link]
|-
|-
| BNTest || Tests how many PRG banks are reachable in BxROM and AxROM.
| [http://forums.nesdev.org/download/file.php?id=2253 BNTest] || Tests how many PRG banks are reachable in BxROM and AxROM. || tepples || [http://forums.nesdev.org/viewtopic.php?p=79826#p79826 link]
|-
|-
| bxrom_512k_test || Similar to the BxROM test in BNTest above.
| [https://forums.nesdev.org/download/file.php?id=2247 bxrom_512k_test] || Similar to the BxROM test in BNTest above. || rainwarrior || [https://forums.nesdev.org/viewtopic.php?f=3&t=12085 link]
|-
|-
| [http://www.qmtpro.com/~nes/demos/mmc5exram.zip exram] || MMC5 exram test || Quietust
| [http://www.qmtpro.com/~nes/demos/mmc5exram.zip exram] || MMC5 exram test || Quietust ||
|-
|-
| fme7acktest-r1 || Checks some IRQ acknowledgment behiaviors of Sunsoft FME-7 that emulators were getting wrong in 2015. (by tepples)
| [http://forums.nesdev.org/download/file.php?id=2759 fme7acktest-r1] || Checks some IRQ acknowledgment behiaviors of Sunsoft FME-7 that emulators were getting wrong in 2015. || tepples || [http://forums.nesdev.org/viewtopic.php?f=2&t=12436 link]
|-
|-
| fme7ramtest-r1 || Checks how much work ram the Sunsoft FME-7 can access
| [https://forums.nesdev.org/download/file.php?id=2800 fme7ramtest-r1] || Checks how much work ram the Sunsoft FME-7 can access || tepples || [https://forums.nesdev.org/viewtopic.php?f=9&t=12467 link]
|-
|-
| Holy Diver Batman || Detects over a dozen mappers and verifies that all PRG ROM and CHR ROM banks are reachable, that PRG RAM and CHR RAM can be written and read back without error, and that nametable mirroring, IRQ, and WRAM protection work. (by tepples)
| [https://pineight.com/nes/holydiverbatman-bin-0.01.7z Holy Diver Batman] || Detects over a dozen mappers and verifies that all PRG ROM and CHR ROM banks are reachable, that PRG RAM and CHR RAM can be written and read back without error, and that nametable mirroring, IRQ, and WRAM protection work. || tepples || [https://forums.nesdev.org/viewtopic.php?f=22&t=10640 link]
|-
|-
| MMC1_A12 || (Not sure?)
| [https://forums.nesdev.org/download/file.php?id=5166 mmc3bigchrram] || MMC3 test for large 32kb CHR RAM with NES 2.0 headers || tepples || [https://forums.nesdev.org/viewtopic.php?f=3&t=13890 link]
|-
|-
| mmc3bigchrram || MMC3 test for large 32kb CHR RAM with NES 2.0 headers
| [http://blargg.8bitalley.com/parodius/nes-tests/mmc3_test_2.zip mmc3_test] || MMC3 scanline counter and IRQ generation tests. || blargg ||
|-
|-
| mmc3_irq_tests
| [https://forums.nesdev.org/download/file.php?id=3753 serom] || Tests the constraints of SEROM / SHROM / SH1ROM variations of the MMC1 boards. || lidnariq || [https://forums.nesdev.org/viewtopic.php?f=3&t=9350&start=90#p153298 link]
[http://blargg.8bitalley.com/parodius/nes-tests/mmc3_test_2.zip mmc3_test]
| Three different revisions of the same MMC3 scanline counter and IRQ generation tests. || blargg
|-
|-
| serom || Tests the constraints of SEROM / SHROM / SH1ROM variations of the MMC1 boards.
| rowspan="4" | Submapper Tests || [https://forums.nesdev.org/download/file.php?id=4299 2_test] - Mapper 2, Submappers 0, 1 and 2 || rainwarrior || [https://forums.nesdev.org/viewtopic.php?f=3&t=9350&start=90#p157804 link]
|-
|-
| rowspan="4" | Submapper Tests || 2_test - Mapper 2, Submappers 0, 1 and 2
| [https://forums.nesdev.org/download/file.php?id=4302 3_test] - Mapper 3, Submappers 0, 1 and 2 || rainwarrior || [https://forums.nesdev.org/viewtopic.php?f=3&t=9350&start=90#p154555 link]
|-
|-
| 3_test - Mapper 3, Submappers 0, 1 and 2
| [https://forums.nesdev.org/download/file.php?id=4301 7_test] - Mapper 7, Submappers 0, 1 and 2 || rainwarrior || [https://forums.nesdev.org/viewtopic.php?f=3&t=9350&start=90#p157804 link]
|-
|-
| 7_test - Mapper 7, Submappers 0, 1 and 2
| [https://forums.nesdev.org/download/file.php?id=3771 34_test] - Mapper 34, Submappers 1 and 2 || rainwarrior || [https://forums.nesdev.org/viewtopic.php?f=3&t=9350&start=90#p153334 link]
|-
|-
| 34_test - Mapper 34, Submappers 1 and 2
| [http://forums.nesdev.org/download/file.php?id=158 test28] || Tests for mapper 28 || tepples || [http://forums.nesdev.org/viewtopic.php?p=102693#p102693 link]
|-
|-
| test28 || Tests for mapper 28
| [http://www.mediafire.com/download/6hvuj53omv8y3fn/vrc6test.zip vrc6test] || VRC6 mirroring tests || natt || [http://forums.nesdev.org/viewtopic.php?t=11028 link]
|-
| vrc6test || VRC6 mirroring tests
|}
|}


== Input Tests ==
== Input Tests ==
{| class="wikitable"
{| class="wikitable"
! Name
! Description
! Author
! Forum
|-
|-
| [https://forums.nesdev.org/download/file.php?id=7276 allpads] || Multiple controller test supporting NES controller, Super NES controller, Famicom microphone, Four Score, Zapper, NES Arkanoid controller, and Super NES Mouse || tepples || [https://forums.nesdev.org/viewtopic.php?f=2&t=12549 link]
| [https://forums.nesdev.org/download/file.php?id=7276 allpads] || Multiple controller test supporting NES controller, Super NES controller, Famicom microphone, Four Score, Zapper, NES Arkanoid controller, and Super NES Mouse || tepples || [https://forums.nesdev.org/viewtopic.php?f=2&t=12549 link]
Line 160: Line 168:
| [http://forums.nesdev.org/download/file.php?id=5905 dma_sync_test_v2] || Tests DMC DMA read corruption || Rahsennor || [http://forums.nesdev.org/viewtopic.php?f=2&t=14319 link]
| [http://forums.nesdev.org/download/file.php?id=5905 dma_sync_test_v2] || Tests DMC DMA read corruption || Rahsennor || [http://forums.nesdev.org/viewtopic.php?f=2&t=14319 link]
|-
|-
| mousetest || Test for a Super Famicom mouse wired in a Famicom expansion port as controller 3
| mousetest || Test for a Super Famicom mouse wired in a Famicom expansion port as controller 3 || ||
|-
|-
| PaddleTest3 || Test for the Arkanoid controller || 3gengames || [http://forums.nesdev.org/viewtopic.php?t=7929 link]
| [https://github.com/christopherpow/nes-test-roms/raw/master/PaddleTest3/PaddleTest.nes PaddleTest3] || Test for the Arkanoid controller || 3gengames || [http://forums.nesdev.org/viewtopic.php?t=7929 link]
|-
|-
| [http://blargg.8bitalley.com/parodius/nes-code/read_joy3.zip read_joy3] || Various NES controllers tests, including read corruption due to DMC DMA || blargg || [http://forums.nesdev.org/viewtopic.php?f=2&t=4124&start=0 link]
| [http://blargg.8bitalley.com/parodius/nes-code/read_joy3.zip read_joy3] || Various NES controllers tests, including read corruption due to DMC DMA || blargg || [http://forums.nesdev.org/viewtopic.php?f=2&t=4124&start=0 link]
|-
|-
| [http://www.pineight.com/nes/ruder-0.02.zip ruder] || Test for the Zapper, including dual wield but not the serial Vs. variant || tepples
| [http://www.pineight.com/nes/ruder-0.03.zip ruder] || Test for the Zapper, including dual wield but not the serial Vs. variant || tepples ||
|-
|-
| [http://forums.nesdev.org/download/file.php?id=5356 spadtest-nes] || Super Nintendo controller test (when connected to a NES) || tepples || [http://forums.nesdev.org/viewtopic.php?p=167288 link]
| [http://forums.nesdev.org/download/file.php?id=5356 spadtest-nes] || Super Nintendo controller test (when connected to a NES) || tepples || [http://forums.nesdev.org/viewtopic.php?p=167288 link]
Line 175: Line 183:
== Misc Tests ==
== Misc Tests ==
{| class="wikitable"
{| class="wikitable"
! Name
! Description
! Author
! Forum
|-
|-
| characterize-vs || VS System tests
| [http://forums.nesdev.org/download/file.php?id=1415 characterize-vs] || VS System tests || lidnariq || [http://forums.nesdev.org/viewtopic.php?f=3&t=10276&start=15#p127592 link]
|-
|-
| NEStress || Old test - some of the tests are supposed to fail on real hardware.
| [http://nesdev.org/NEStress.zip NEStress] || Old test - some of the tests are supposed to fail on real hardware. || ||
|-
|-
| oc-r1a || Detects and displays accurate clock rate of the NES
| [https://forums.nesdev.org/download/file.php?id=2826 oc-r1a] || Detects and displays accurate clock rate of the NES || tepples || [https://forums.nesdev.org/viewtopic.php?f=22&t=12499 link]
|}
|}
== Confirmed ==
As I promised, I added you to the trusted group before I left my bedroom this morning. --[[User:Tepples|Tepples]] ([[User talk:Tepples|talk]]) 11:13, 7 January 2017 (MST)

Revision as of 05:19, 16 January 2017

CPU Tests

Name Description Author Forum
branch_timing_tests These ROMs test timing of the branch instruction, including edge cases blargg
cpu_dummy_reads Tests the CPU's dummy reads blargg link
cpu_dummy_writes Tests the CPU's dummy writes bisqwit link
cpu_exec_space Verifies that the CPU can execute code from any possible memory location, even if that is mapped as I/O space bisqwit link
cpu_flag_concurrency Unsure what results are meant to be, see thread for more info. bisqwit link
cpu_interrupts_v2 Tests the behavior and timing of CPU in the presence of interrupts, both IRQ and NMI; see CPU interrupts. blargg
cpu_reset Tests CPU registers just after power and changes during reset, and that RAM isn't changed during reset. blargg
cpu_timing_test6 This program tests instruction timing for all official and unofficial NES 6502 instructions except the 8 branch instructions (Bxx) and the 12 halt instructions (HLT) blargg
instr_misc Tests some miscellaneous aspects of instructions, including behavior when 16-bit address wraps around, and dummy reads. blargg
instr_test_v5 Tests official and unofficial CPU instructions and lists which ones failed. It will work even if emulator has no PPU and only supports NROM, writing a copy of output to $6000 (see readme). This more thoroughly tests instructions, but can't help you figure out what's wrong beyond what instruction(s) are failing, so it's better for testing mature CPU emulators. blargg
instr_timing Tests timing of all instructions, including unofficial ones, page-crossing, etc. blargg
nestest fairly thoroughly tests CPU operation. This is the best test to start with when getting a CPU emulator working for the first time. Start execution at $C000 and compare execution with a log from Nintendulator, an emulator whose CPU is known to work correctly (apart from some details of the power-up state). ?

PPU Tests

Name Description Author Forum
blargg_ppu_tests_2005.09.15b Miscellaneous PPU tests (palette ram, sprite ram, etc.) blargg link
full_palette Displays the full palette with all emphasis states, demonstrates direct PPU color control blargg link
nmi_sync Verifies NMI timing by creating a specific pattern on the screen (NTSC & PAL versions) blargg link
oam_read Tests OAM reading ($2004), being sure it reads the byte from OAM at the current address in $2003. blargg
oam_stress Thoroughly tests OAM address ($2003) and read/write ($2004) blargg
ppu_open_bus Tests behavior when reading from open-bus PPU bits/registers blargg
ppu_read_buffer Mammoth test pack tests many aspects of the NES system, mostly centering around the PPU $2007 read buffer bisqwit link
ppu_sprite_hit Tests sprite 0 hit behavior and timing blargg
ppu_sprite_overflow Tests sprite overflow behavior and timing blargg
ppu_vbl_nmi Tests the behavior and timing of the NTSC PPU's VBL flag, NMI enable, and NMI interrupt. Timing is tested to an accuracy of one PPU clock. blargg
scanline Displays a test screen that will contain glitches if certain portions of the emulation are not perfect. Quietust
sprite_hit_tests_2005.10.05 Generally the same as ppu_sprite_hit (older revision of the tests - ppu_sprite_hit is most likely better) blargg
sprite_overflow_tests Generally the same as ppu_sprite_overflow (older revision of the tests - ppu_sprite_overflow is most likely better) blargg
sprdma_and_dmc_dma Tests the cycle stealing behavior of the DMC DMA while running Sprite DMAs blargg link
tvpassfail NTSC color and NTSC/PAL pixel aspect ratio test ROM tepples link
vbl_nmi_timing Generally the same as ppu_vbl_nmi (older revision of the tests - ppu_vbl_nmi is most likely better) blargg

APU Tests

Name Description Author Forum
apu_mixer Verifies proper operation of the APU's sound channel mixer, including relative volumes of channels and non-linear mixing. recordings when run on NES are available for comparison, though the tests are made so that you don't really need these. blargg
apu_phase_reset Tests the correct square channel behavior when writing to $4003/4007 (reset the duty cycle sequencers but not the clock dividers) Rahsennor link
apu_reset Tests initial APU state at power, and the effect of reset. blargg
apu_test Tests many aspects of the APU that are visible to the CPU. Really obscure things are not tested here. blargg
blargg_apu_2005.07.30 Tests APU length counters, frame counter, IRQ, etc. blargg
dmc_dma_during_read4 Tests register read/write behavior while DMA is running blargg
dmc_tests ? ?
dpcmletterbox Tests accuracy of the DMC channel's IRQ tepples
pal_apu_tests PAL version of the blargg_apu_2005.07.30 tests blargg
square_timer_div2 Tests the square timer's period blargg
test_apu_2 (1-10) (11) 11 tests that verify a number of behaviors with the APU (including the frame counter) x0000 link
test_apu_env Tests the APU envelope for correctness. blargg
test_apu_sweep Tests the sweep unit's add, subtract, overflow cutoff, and minimum period behaviors. blargg
test_apu_timers Tests frequency timer of all 5 channels blargg
test_tri_lin_ctr Tests triangle's linear counter and clocking by the frame counter blargg
volume_tests Plays tones on all the APU's channels to show their relative volumes at various settings of $4011. Package includes a recording from an NES's audio output for comparison. tepples

Mapper-specific Tests

Name Description Author Forum
31_test Tests for mapper 31 (with various NES 2.0 headers for PRG ROM sizes) rainwarrior link
BNTest Tests how many PRG banks are reachable in BxROM and AxROM. tepples link
bxrom_512k_test Similar to the BxROM test in BNTest above. rainwarrior link
exram MMC5 exram test Quietust
fme7acktest-r1 Checks some IRQ acknowledgment behiaviors of Sunsoft FME-7 that emulators were getting wrong in 2015. tepples link
fme7ramtest-r1 Checks how much work ram the Sunsoft FME-7 can access tepples link
Holy Diver Batman Detects over a dozen mappers and verifies that all PRG ROM and CHR ROM banks are reachable, that PRG RAM and CHR RAM can be written and read back without error, and that nametable mirroring, IRQ, and WRAM protection work. tepples link
mmc3bigchrram MMC3 test for large 32kb CHR RAM with NES 2.0 headers tepples link
mmc3_test MMC3 scanline counter and IRQ generation tests. blargg
serom Tests the constraints of SEROM / SHROM / SH1ROM variations of the MMC1 boards. lidnariq link
Submapper Tests 2_test - Mapper 2, Submappers 0, 1 and 2 rainwarrior link
3_test - Mapper 3, Submappers 0, 1 and 2 rainwarrior link
7_test - Mapper 7, Submappers 0, 1 and 2 rainwarrior link
34_test - Mapper 34, Submappers 1 and 2 rainwarrior link
test28 Tests for mapper 28 tepples link
vrc6test VRC6 mirroring tests natt link

Input Tests

Name Description Author Forum
allpads Multiple controller test supporting NES controller, Super NES controller, Famicom microphone, Four Score, Zapper, NES Arkanoid controller, and Super NES Mouse tepples link
dma_sync_test_v2 Tests DMC DMA read corruption Rahsennor link
mousetest Test for a Super Famicom mouse wired in a Famicom expansion port as controller 3
PaddleTest3 Test for the Arkanoid controller 3gengames link
read_joy3 Various NES controllers tests, including read corruption due to DMC DMA blargg link
ruder Test for the Zapper, including dual wield but not the serial Vs. variant tepples
spadtest-nes Super Nintendo controller test (when connected to a NES) tepples link
vaus_test Another test for the Arkanoid controller tepples link

Misc Tests

Name Description Author Forum
characterize-vs VS System tests lidnariq link
NEStress Old test - some of the tests are supposed to fail on real hardware.
oc-r1a Detects and displays accurate clock rate of the NES tepples link