User talk:Sour
From NESdev Wiki
Jump to navigationJump to search
CPU Tests
branch_timing_tests | These ROMs test timing of the branch instruction, including edge cases |
cpu_dummy_reads | Tests the CPU's dummy reads |
cpu_dummy_writes | Tests the CPU's dummy writes |
cpu_exec_space | Verifies that the CPU can execute code from any possible memory location, even if that is mapped as I/O space |
cpu_interrupts_v2 | Tests the behavior and timing of CPU in the presence of interrupts, both IRQ and NMI; see CPU interrupts. |
cpu_reset | Tests CPU registers just after power and changes during reset, and that RAM isn't changed during reset. |
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) |
instr_misc | Tests some miscellaneous aspects of instructions, including behavior when 16-bit address wraps around, and dummy reads. |
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. |
instr_timing | Tests timing of all instructions, including unofficial ones, page-crossing, etc. |
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
blargg_ppu_tests_2005.09.15b | Miscellaneous PPU tests (palette ram, sprite ram, etc.) |
full_palette | Displays the full palette with all emphasis states, demonstrates direct PPU color control |
nmi_sync | Verifies NMI timing by creating a specific pattern on the screen (NTSC & PAL versions) |
oam_read | Tests OAM reading ($2004), being sure it reads the byte from OAM at the current address in $2003. |
oam_stress | Thoroughly tests OAM address ($2003) and read/write ($2004) |
ppu_open_bus | Tests behavior when reading from open-bus PPU bits/registers |
ppu_sprite_hit | Tests sprite 0 hit behavior and timing |
ppu_sprite_overflow | Tests sprite overflow behavior and timing |
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. |
scanline | Displays a test screen that will contain glitches if certain portions of the emulation are not perfect. |
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) |
sprite_overflow_tests | Generally the same as ppu_sprite_overflow (older revision of the tests - ppu_sprite_overflow is most likely better) |
sprdma_and_dmc_dma | Tests the cycle stealing behavior of the DMC DMA while running Sprite DMAs |
tvpassfail | NTSC color and NTSC/PAL pixel aspect ratio test ROM |
vbl_nmi_timing | Generally the same as ppu_vbl_nmi (older revision of the tests - ppu_vbl_nmi is most likely better) |
APU Tests
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. |
apu_reset | Tests initial APU state at power, and the effect of reset. |
apu_sweep | Tests NES APU sweep cutoff (silence) thresholds and sweep subtract mode |
apu_test | Tests many aspects of the APU that are visible to the CPU. Really obscure things are not tested here. |
blargg_apu_2005.07.30 | Tests APU length counters, frame counter, IRQ, etc. |
dmc_dma_during_read4 | Tests register read/write behavior while DMA is running |
dmc_tests | ?? |
dpcmletterbox | Tests accuracy of the DMC channel's IRQ |
pal_apu_tests | PAL version of the blargg_apu_2005.07.30 tests |
square_timer_div2 | Tests the square timer's period |
test_apu_2 | 11 tests that verify a number of behaviors with the APU (including the frame counter) |
test_apu_env | Tests the APU envelope for correctness. |
test_apu_sweep | Tests the sweep unit's add, subtract, overflow cutoff, and minimum period behaviors. |
test_apu_timers | Tests frequency timer of all 5 channels |
test_tri_lin_ctr | Tests triangle's linear counter and clocking by the frame counter |
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. |
Mapper-specific Tests
Input Tests
PaddleTest3 | Test for the Arkanoid controller |
read_joy3 | Various NES controllers tests, including read corruption due to DMC DMA |
ruder | "Zap Ruder" - tests Zapper behavior |
vaus_test | Another test for the Arkanoid controller |