User talk:Sour

From NESdev Wiki
Revision as of 05:19, 16 January 2017 by Sour (talk | contribs)
Jump to navigationJump to search

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