GeraNES Test Report

Passed (319/319)

Emulator version: 1.7.2
Generated at (UTC): 2026-03-20T04:18:08.666168+00:00

accuracy-coin/01-CPU-Behavior/01-ROM-is-not-writable.nes: passed

show output
Passed

accuracy-coin/01-CPU-Behavior/02-RAM-Mirroring.nes: passed

show output
Passed

accuracy-coin/01-CPU-Behavior/03-PC-Wraparound.nes: passed

show output
Passed

accuracy-coin/01-CPU-Behavior/04-The-Decimal-Flag.nes: passed

show output
Passed

accuracy-coin/01-CPU-Behavior/05-The-B-Flag.nes: passed

show output
Passed

accuracy-coin/01-CPU-Behavior/06-Dummy-read-cycles.nes: passed

show output
Passed

accuracy-coin/01-CPU-Behavior/07-Dummy-write-cycles.nes: passed

show output
Passed

accuracy-coin/01-CPU-Behavior/08-Open-Bus.nes: passed

show output
Passed

accuracy-coin/01-CPU-Behavior/09-All-NOP-instructions.nes: passed

show output
Passed

accuracy-coin/02-Addressing-mode-wraparound/01-Absolute-Indexed.nes: passed

show output
Passed

accuracy-coin/02-Addressing-mode-wraparound/02-Zero-Page-Indexed.nes: passed

show output
Passed

accuracy-coin/02-Addressing-mode-wraparound/03-Indirect.nes: passed

show output
Passed

accuracy-coin/02-Addressing-mode-wraparound/04-Indirect,-X.nes: passed

show output
Passed

accuracy-coin/02-Addressing-mode-wraparound/05-Indirect,-Y.nes: passed

show output
Passed

accuracy-coin/02-Addressing-mode-wraparound/06-Relative.nes: passed

show output
Passed

accuracy-coin/03-Unofficial-Instructions-SLO/01-$03-SLO-indirect,X.nes: passed

show output
Passed

accuracy-coin/03-Unofficial-Instructions-SLO/02-$07-SLO-zeropage.nes: passed

show output
Passed

accuracy-coin/03-Unofficial-Instructions-SLO/03-$0F-SLO-absolute.nes: passed

show output
Passed

accuracy-coin/03-Unofficial-Instructions-SLO/04-$13-SLO-indirect,Y.nes: passed

show output
Passed

accuracy-coin/03-Unofficial-Instructions-SLO/05-$17-SLO-zeropage,X.nes: passed

show output
Passed

accuracy-coin/03-Unofficial-Instructions-SLO/06-$1B-SLO-absolute,Y.nes: passed

show output
Passed

accuracy-coin/03-Unofficial-Instructions-SLO/07-$1F-SLO-absolute,X.nes: passed

show output
Passed

accuracy-coin/04-Unofficial-Instructions-RLA/01-$23-RLA-indirect,X.nes: passed

show output
Passed

accuracy-coin/04-Unofficial-Instructions-RLA/02-$27-RLA-zeropage.nes: passed

show output
Passed

accuracy-coin/04-Unofficial-Instructions-RLA/03-$2F-RLA-absolute.nes: passed

show output
Passed

accuracy-coin/04-Unofficial-Instructions-RLA/04-$33-RLA-indirect,Y.nes: passed

show output
Passed

accuracy-coin/04-Unofficial-Instructions-RLA/05-$37-RLA-zeropage,X.nes: passed

show output
Passed

accuracy-coin/04-Unofficial-Instructions-RLA/06-$3B-RLA-absolute,Y.nes: passed

show output
Passed

accuracy-coin/04-Unofficial-Instructions-RLA/07-$3F-RLA-absolute,X.nes: passed

show output
Passed

accuracy-coin/05-Unofficial-Instructions-SRE/01-$43-SRE-indirect,X.nes: passed

show output
Passed

accuracy-coin/05-Unofficial-Instructions-SRE/02-$47-SRE-zeropage.nes: passed

show output
Passed

accuracy-coin/05-Unofficial-Instructions-SRE/03-$4F-SRE-absolute.nes: passed

show output
Passed

accuracy-coin/05-Unofficial-Instructions-SRE/04-$53-SRE-indirect,Y.nes: passed

show output
Passed

accuracy-coin/05-Unofficial-Instructions-SRE/05-$57-SRE-zeropage,X.nes: passed

show output
Passed

accuracy-coin/05-Unofficial-Instructions-SRE/06-$5B-SRE-absolute,Y.nes: passed

show output
Passed

accuracy-coin/05-Unofficial-Instructions-SRE/07-$5F-SRE-absolute,X.nes: passed

show output
Passed

accuracy-coin/06-Unofficial-Instructions-RRA/01-$63-RRA-indirect,X.nes: passed

show output
Passed

accuracy-coin/06-Unofficial-Instructions-RRA/02-$67-RRA-zeropage.nes: passed

show output
Passed

accuracy-coin/06-Unofficial-Instructions-RRA/03-$6F-RRA-absolute.nes: passed

show output
Passed

accuracy-coin/06-Unofficial-Instructions-RRA/04-$73-RRA-indirect,Y.nes: passed

show output
Passed

accuracy-coin/06-Unofficial-Instructions-RRA/05-$77-RRA-zeropage,X.nes: passed

show output
Passed

accuracy-coin/06-Unofficial-Instructions-RRA/06-$7B-RRA-absolute,Y.nes: passed

show output
Passed

accuracy-coin/06-Unofficial-Instructions-RRA/07-$7F-RRA-absolute,X.nes: passed

show output
Passed

accuracy-coin/07-Unofficial-Instructions-AX/01-$83-SAX-indirect,X.nes: passed

show output
Passed

accuracy-coin/07-Unofficial-Instructions-AX/02-$87-SAX-zeropage.nes: passed

show output
Passed

accuracy-coin/07-Unofficial-Instructions-AX/03-$8F-SAX-absolute.nes: passed

show output
Passed

accuracy-coin/07-Unofficial-Instructions-AX/04-$97-SAX-zeropage,Y.nes: passed

show output
Passed

accuracy-coin/07-Unofficial-Instructions-AX/05-$A3-LAX-indirect,X.nes: passed

show output
Passed

accuracy-coin/07-Unofficial-Instructions-AX/06-$A7-LAX-zeropage.nes: passed

show output
Passed

accuracy-coin/07-Unofficial-Instructions-AX/07-$AF-LAX-absolute.nes: passed

show output
Passed

accuracy-coin/07-Unofficial-Instructions-AX/08-$B3-LAX-indirect,Y.nes: passed

show output
Passed

accuracy-coin/07-Unofficial-Instructions-AX/09-$B7-LAX-zeropage,Y.nes: passed

show output
Passed

accuracy-coin/07-Unofficial-Instructions-AX/10-$BF-LAX-absolute,X.nes: passed

show output
Passed

accuracy-coin/08-Unofficial-Instructions-DCP/01-$C3-DCP-indirect,X.nes: passed

show output
Passed

accuracy-coin/08-Unofficial-Instructions-DCP/02-$C7-DCP-zeropage.nes: passed

show output
Passed

accuracy-coin/08-Unofficial-Instructions-DCP/03-$CF-DCP-absolute.nes: passed

show output
Passed

accuracy-coin/08-Unofficial-Instructions-DCP/04-$D3-DCP-indirect,Y.nes: passed

show output
Passed

accuracy-coin/08-Unofficial-Instructions-DCP/05-$D7-DCP-zeropage,X.nes: passed

show output
Passed

accuracy-coin/08-Unofficial-Instructions-DCP/06-$DB-DCP-absolute,Y.nes: passed

show output
Passed

accuracy-coin/08-Unofficial-Instructions-DCP/07-$DF-DCP-absolute,X.nes: passed

show output
Passed

accuracy-coin/09-Unofficial-Instructions-ISC/01-$E3-ISC-indirect,X.nes: passed

show output
Passed

accuracy-coin/09-Unofficial-Instructions-ISC/02-$E7-ISC-zeropage.nes: passed

show output
Passed

accuracy-coin/09-Unofficial-Instructions-ISC/03-$EF-ISC-absolute.nes: passed

show output
Passed

accuracy-coin/09-Unofficial-Instructions-ISC/04-$F3-ISC-indirect,Y.nes: passed

show output
Passed

accuracy-coin/09-Unofficial-Instructions-ISC/05-$F7-ISC-zeropage,X.nes: passed

show output
Passed

accuracy-coin/09-Unofficial-Instructions-ISC/06-$FB-ISC-absolute,Y.nes: passed

show output
Passed

accuracy-coin/09-Unofficial-Instructions-ISC/07-$FF-ISC-absolute,X.nes: passed

show output
Passed

accuracy-coin/10-Unofficial-Instructions-SH/01-$93-SHA-indirect,Y.nes: passed

show output
Passed

accuracy-coin/10-Unofficial-Instructions-SH/02-$9F-SHA-absolute,Y.nes: passed

show output
Passed

accuracy-coin/10-Unofficial-Instructions-SH/03-$9B-SHS-absolute,Y.nes: passed

show output
Passed

accuracy-coin/10-Unofficial-Instructions-SH/04-$9C-SHY-absolute,X.nes: passed

show output
Passed

accuracy-coin/10-Unofficial-Instructions-SH/05-$9E-SHX-absolute,Y.nes: passed

show output
Passed

accuracy-coin/10-Unofficial-Instructions-SH/06-$BB-LAE-absolute,Y.nes: passed

show output
Passed

accuracy-coin/11-Unofficial-Immediates/01-$0B-ANC-Immediate.nes: passed

show output
Passed

accuracy-coin/11-Unofficial-Immediates/02-$2B-ANC-Immediate.nes: passed

show output
Passed

accuracy-coin/11-Unofficial-Immediates/03-$4B-ASR-Immediate.nes: passed

show output
Passed

accuracy-coin/11-Unofficial-Immediates/04-$6B-ARR-Immediate.nes: passed

show output
Passed

accuracy-coin/11-Unofficial-Immediates/05-$8B-ANE-Immediate.nes: passed

show output
Passed

accuracy-coin/11-Unofficial-Immediates/06-$AB-LXA-Immediate.nes: passed

show output
Passed

accuracy-coin/11-Unofficial-Immediates/07-$CB-AXS-Immediate.nes: passed

show output
Passed

accuracy-coin/11-Unofficial-Immediates/08-$EB-SBC-Immediate.nes: passed

show output
Passed

accuracy-coin/12-CPU-Interrupts/01-Interrupt-flag-latency.nes: passed

show output
Passed

accuracy-coin/12-CPU-Interrupts/02-NMI-Overlap-BRK.nes: passed

show output
Passed

accuracy-coin/12-CPU-Interrupts/03-NMI-Overlap-IRQ.nes: passed

show output
Passed

accuracy-coin/13-APU-Registers-and-DMA-tests/01-DMA-+-Open-Bus.nes: passed

show output
Passed

accuracy-coin/13-APU-Registers-and-DMA-tests/02-DMA-+-$2002-Read.nes: passed

show output
Passed

accuracy-coin/13-APU-Registers-and-DMA-tests/03-DMA-+-$2007-Read.nes: passed

show output
Passed

accuracy-coin/13-APU-Registers-and-DMA-tests/04-DMA-+-$2007-Write.nes: passed

show output
Passed

accuracy-coin/13-APU-Registers-and-DMA-tests/05-DMA-+-$4015-Read.nes: passed

show output
Passed

accuracy-coin/13-APU-Registers-and-DMA-tests/06-DMA-+-$4016-Read.nes: passed

show output
Passed

accuracy-coin/13-APU-Registers-and-DMA-tests/07-DMC-DMA-Bus-Conflicts.nes: passed

show output
Passed

accuracy-coin/13-APU-Registers-and-DMA-tests/08-DMC-DMA-+-OAM-DMA.nes: passed

show output
Passed

accuracy-coin/13-APU-Registers-and-DMA-tests/09-Explicit-DMA-Abort.nes: passed

show output
Passed

accuracy-coin/13-APU-Registers-and-DMA-tests/10-Implicit-DMA-Abort.nes: passed

show output
Passed

accuracy-coin/14-APU-Tests/01-Length-Counter.nes: passed

show output
Passed

accuracy-coin/14-APU-Tests/02-Length-Table.nes: passed

show output
Passed

accuracy-coin/14-APU-Tests/03-Frame-Counter-IRQ.nes: passed

show output
Passed

accuracy-coin/14-APU-Tests/04-Frame-Counter-4-step.nes: passed

show output
Passed

accuracy-coin/14-APU-Tests/05-Frame-Counter-5-step.nes: passed

show output
Passed

accuracy-coin/14-APU-Tests/06-Delta-Modulation-Channel.nes: passed

show output
Passed

accuracy-coin/14-APU-Tests/07-APU-Register-Activation.nes: passed

show output
Passed

accuracy-coin/14-APU-Tests/08-Controller-Strobing.nes: passed

show output
Passed

accuracy-coin/14-APU-Tests/09-Controller-Clocking.nes: passed

show output
Passed

accuracy-coin/16-PPU-Behavior/01-CHR-ROM-is-not-writable.nes: passed

show output
Passed

accuracy-coin/16-PPU-Behavior/02-PPU-Register-Mirroring.nes: passed

show output
Passed

accuracy-coin/16-PPU-Behavior/03-PPU-Register-Open-Bus.nes: passed

show output
Passed

accuracy-coin/16-PPU-Behavior/04-PPU-Read-Buffer.nes: passed

show output
Passed

accuracy-coin/16-PPU-Behavior/05-Palette-RAM-Quirks.nes: passed

show output
Passed

accuracy-coin/16-PPU-Behavior/06-Rendering-Flag-Behavior.nes: passed

show output
Passed

accuracy-coin/16-PPU-Behavior/07-$2007-read-w-rendering.nes: passed

show output
Passed

accuracy-coin/17-PPU-VBlank-Timing/01-VBlank-beginning.nes: passed

show output
Passed

accuracy-coin/17-PPU-VBlank-Timing/02-VBlank-end.nes: passed

show output
Passed

accuracy-coin/17-PPU-VBlank-Timing/03-NMI-Control.nes: passed

show output
Passed

accuracy-coin/17-PPU-VBlank-Timing/04-NMI-Timing.nes: passed

show output
Passed

accuracy-coin/17-PPU-VBlank-Timing/05-NMI-Suppression.nes: passed

show output
Passed

accuracy-coin/17-PPU-VBlank-Timing/06-NMI-at-VBlank-end.nes: passed

show output
Passed

accuracy-coin/17-PPU-VBlank-Timing/07-NMI-disabled-at-VBlank.nes: passed

show output
Passed

accuracy-coin/18-Sprite-Evaluation/01-Sprite-overflow-behavior.nes: passed

show output
Passed

accuracy-coin/18-Sprite-Evaluation/02-Sprite-0-Hit-behavior.nes: passed

show output
Passed

accuracy-coin/18-Sprite-Evaluation/03-$2002-flag-timing.nes: passed

show output
Passed

accuracy-coin/18-Sprite-Evaluation/04-Suddenly-Resize-Sprite.nes: passed

show output
Passed

accuracy-coin/18-Sprite-Evaluation/05-Arbitrary-Sprite-zero.nes: passed

show output
Passed

accuracy-coin/18-Sprite-Evaluation/06-Misaligned-OAM-behavior.nes: passed

show output
Passed

accuracy-coin/18-Sprite-Evaluation/07-Address-$2004-behavior.nes: passed

show output
Passed

accuracy-coin/18-Sprite-Evaluation/08-OAM-Corruption.nes: passed

show output
Passed

accuracy-coin/18-Sprite-Evaluation/09-INC-$4014.nes: passed

show output
Passed

accuracy-coin/19-PPU-Misc/01-Attributes-As-Tiles.nes: passed

show output
Passed

accuracy-coin/19-PPU-Misc/02-t-Register-Quirks.nes: passed

show output
Passed

accuracy-coin/19-PPU-Misc/03-Stale-BG-Shift-Registers.nes: passed

show output
Passed

accuracy-coin/19-PPU-Misc/04-BG-Serial-In.nes: passed

show output
Passed

accuracy-coin/19-PPU-Misc/05-Sprites-On-Scanline-0.nes: passed

show output
Passed

accuracy-coin/19-PPU-Misc/06-$2004-Stress-Test.nes: passed

show output
Passed

accuracy-coin/19-PPU-Misc/07-$2007-Stress-Test.nes: passed

show output
Passed

accuracy-coin/20-CPU-Behavior-2/01-Instruction-Timing.nes: passed

show output
Passed

accuracy-coin/20-CPU-Behavior-2/02-Implied-Dummy-Reads.nes: passed

show output
Passed

accuracy-coin/20-CPU-Behavior-2/03-Branch-Dummy-Reads.nes: passed

show output
Passed

accuracy-coin/20-CPU-Behavior-2/04-JSR-Edge-Cases.nes: passed

show output
Passed

apu_reset/4015_cleared.nes: passed

show output
4015_cleared

Passed

apu_reset/4017_timing.nes: passed

show output
Delay after effective $4017 write: 10

4017_timing

Passed

apu_reset/4017_written.nes: passed

show output
4017_written

Passed

apu_reset/irq_flag_cleared.nes: passed

show output
irq_flag_cleared

Passed

apu_reset/len_ctrs_enabled.nes: passed

show output
len_ctrs_enabled

Passed

apu_reset/works_immediately.nes: passed

show output
works_immediately

Passed

apu_test/apu_test.nes: passed

show output
8-dmc_rates

Passed
All 8 tests passed

apu_test/rom_singles/1-len_ctr.nes: passed

show output
1-len_ctr

Passed

apu_test/rom_singles/2-len_table.nes: passed

show output
2-len_table

Passed

apu_test/rom_singles/3-irq_flag.nes: passed

show output
3-irq_flag

Passed

apu_test/rom_singles/4-jitter.nes: passed

show output
4-jitter

Passed

apu_test/rom_singles/5-len_timing.nes: passed

show output
5-len_timing

Passed

apu_test/rom_singles/6-irq_flag_timing.nes: passed

show output
6-irq_flag_timing

Passed

apu_test/rom_singles/7-dmc_basics.nes: passed

show output
7-dmc_basics

Passed

apu_test/rom_singles/8-dmc_rates.nes: passed

show output
8-dmc_rates

Passed

blargg_nes_cpu_test5/cpu.nes: passed

show output

blargg_nes_cpu_test5/official.nes: passed

show output

blargg_ppu_tests_2005.09.15b/palette_ram.nes: passed

show output

blargg_ppu_tests_2005.09.15b/power_up_palette.nes: passed

show output

blargg_ppu_tests_2005.09.15b/sprite_ram.nes: passed

show output

blargg_ppu_tests_2005.09.15b/vbl_clear_time.nes: passed

show output

blargg_ppu_tests_2005.09.15b/vram_access.nes: passed

show output

branch_timing_tests/1.Branch_Basics.nes: passed

show output
BRANCH TIMING BASICS

PASSED

branch_timing_tests/2.Backward_Branch.nes: passed

show output
BACKWARD BRANCH TIMING

PASSED

branch_timing_tests/3.Forward_Branch.nes: passed

show output
FORWARD BRANCH TIMING

PASSED

cpu_dummy_writes/cpu_dummy_writes_oam.nes: passed

show output
TEST: cpu_dummy_writes_oam
This program verifies that the
CPU does 2x writes properly.
Any read-modify-write opcode
should first write the origi-
nal value; then the calculated
value exactly 1 cycle later.

Requirement: OAM memory reads
MUST be reliable. This is
often the case on emulators,
but NOT on the real NES.
Nevertheless, this test can be
used to see if the CPU in the
emulator is built properly.

Testing OAM.  The screen will go blank for a moment now.
OK; Verifying opcodes...
0E2E4E6ECEEE 1E3E5E7EDEFE 
0F2F4F6FCFEF 1F3F5F7FDFFF 
03234363C3E3 13335373D3F3 
1B3B5B7BDBFB              

Passed

cpu_dummy_writes/cpu_dummy_writes_ppumem.nes: passed

show output
TEST: cpu_dummy_writes_ppumem
This program verifies that the
CPU does 2x writes properly.
Any read-modify-write opcode
should first write the origi-
nal value; then the calculated
value exactly 1 cycle later.

Verifying open bus behavior.
      W- W- WR W- W- W- W- WR
2000+ 0  1  2  3  4  5  6  7 
  R0: 0- 0- 00 0- 0- 0- 0- 00
  R1: 0- 0- 00 0- 0- 0- 0- 00
  R3: 0- 0- 00 0- 0- 0- 0- 00
  R5: 0- 0- 00 0- 0- 0- 0- 00
  R6: 0- 0- 00 0- 0- 0- 0- 00
OK; Verifying opcodes...
0E2E4E6ECEEE 1E3E5E7EDEFE 
0F2F4F6FCFEF 1F3F5F7FDFFF 
03234363C3E3 13335373D3F3 
1B3B5B7BDBFB              

Passed

cpu_exec_space/test_cpu_exec_space_apu.nes: passed

show output
TEST: test_cpu_exec_space_apu
This program verifies that the
CPU can execute code from any
possible location that it can
address, including I/O space.

In this test, it is also
verified that not only all
write-only APU I/O ports
return the open bus, but
also the unallocated I/O
space in $4018..$40FF.

0022 4000 4001 4002 4003 4004 4005 4006 4007 4008 4009 400A 400B 400C 400D 400E 400F 4010 4011 4012 4013 4014 4016 4017 4018 4019 401A 401B 401C 401D 401E 401F 4020 4021 4022 4023 4024 4025 4026 4027 4028 4029 402A 402B 402C 402D 402E 402F 4030 4031 4032 4033 4034 4035 4036 4037 4038 4039 403A 403B 403C 403D 403E 403F 4040 4041 4042 4043 4044 4045 4046 4047 4048 4049 404A 404B 404C 404D 404E 404F 4050 4051 4052 4053 4054 4055 4056 4057 4058 4059 405A 405B 405C 405D 405E 405F 4060 4061 4062 4063 4064 4065 4066 4067 4068 4069 406A 406B 406C 406D 406E 406F 4070 4071 4072 4073 4074 4075 4076 4077 4078 4079 407A 407B 407C 407D 407E 407F 4080 4081 4082 4083 4084 4085 4086 4087 4088 4089 408A 408B 408C 408D 408E 408F 4090 4091 4092 4093 4094 4095 4096 4097 4098 4099 409A 409B 409C 409D 409E 409F 40A0 40A1 40A2 40A3 40A4 40A5 40A6 40A7 40A8 40A9 40AA 40AB 40AC 40AD 40AE 40AF 40B0 40B1 40B2 40B3 40B4 40B5 40B6 40B7 40B8 40B9 40BA 40BB 40BC 40BD 40BE 40BF 40C0 40C1 40C2 40C3 40C4 40C5 40C6 40C7 40C8 40C9 40CA 40CB 40CC 40CD 40CE 40CF 40D0 40D1 40D2 40D3 40D4 40D5 40D6 40D7 40D8 40D9 40DA 40DB 40DC 40DD 40DE 40DF 40E0 40E1 40E2 40E3 40E4 40E5 40E6 40E7 40E8 40E9 40EA 40EB 40EC 40ED 40EE 40EF 40F0 40F1 40F2 40F3 40F4 40F5 40F6 40F7 40F8 40F9 40FA 40FB 40FC 40FD 40FE 40FF 
Passed

cpu_exec_space/test_cpu_exec_space_ppuio.nes: passed

show output
TEST:test_cpu_exec_space_ppuio
This program verifies that the
CPU can execute code from any
possible location that it can
address, including I/O space.

In addition, it will be tested
that an RTS instruction does a
dummy read of the byte that
immediately follows the
instructions.

JSR+RTS TEST OK
JMP+RTS TEST OK
RTS+RTS TEST OK
JMP+RTI TEST OK
JMP+BRK TEST OK

Passed

cpu_interrupts_v2/cpu_interrupts.nes: passed

show output
test_jmp
T+ CK PC
00 02 04 
01 01 04 
02 03 07 
03 02 07 
04 01 07 
05 02 08 
06 01 08 
07 03 08 
08 02 08 
09 01 08 

test_branch_not_taken
T+ CK PC
00 02 04 
01 01 04 
02 02 06 
03 01 06 
04 02 07 
05 01 07 
06 04 0A 
07 03 0A 
08 02 0A 
09 01 0A 

test_branch_taken_pagecross
T+ CK PC
00 02 0D 
01 01 0D 
02 04 00 
03 03 00 
04 02 00 
05 01 00 
06 04 03 
07 03 03 
08 02 03 
09 01 03 

test_branch_taken
T+ CK PC
00 02 04 
01 01 04 
02 03 07 
03 02 07 
04 05 0A 
05 04 0A 
06 03 0A 
07 02 0A 
08 01 0A 
09 03 0A 


5-branch_delays_irq

Passed
All 5 tests passed

cpu_interrupts_v2/rom_singles/1-cli_latency.nes: passed

show output
1-cli_latency

Passed

cpu_interrupts_v2/rom_singles/2-nmi_and_brk.nes: passed

show output
NMI BRK 00
27  36  00 
26  36  00 
26  36  00 
36  00  00 
36  00  00 
36  00  00 
36  00  00 
36  00  00 
27  36  00 
27  36  00 

2-nmi_and_brk

Passed

cpu_interrupts_v2/rom_singles/3-nmi_and_irq.nes: passed

show output
NMI BRK
23  00 
21  00 
21  00 
20  00 
20  00 
20  00 
20  00 
20  00 
20  00 
20  00 
25  20 
25  20 

3-nmi_and_irq

Passed

cpu_interrupts_v2/rom_singles/4-irq_and_dma.nes: passed

show output
0 +0
1 +1
1 +2
2 +3
2 +4
4 +5
4 +6
7 +7
7 +8
7 +9
7 +10
8 +11
8 +12
8 +13
...
8 +524
8 +525
8 +526
9 +527

4-irq_and_dma

Passed

cpu_interrupts_v2/rom_singles/5-branch_delays_irq.nes: passed

show output
test_jmp
T+ CK PC
00 02 04 
01 01 04 
02 03 07 
03 02 07 
04 01 07 
05 02 08 
06 01 08 
07 03 08 
08 02 08 
09 01 08 

test_branch_not_taken
T+ CK PC
00 02 04 
01 01 04 
02 02 06 
03 01 06 
04 02 07 
05 01 07 
06 04 0A 
07 03 0A 
08 02 0A 
09 01 0A 

test_branch_taken_pagecross
T+ CK PC
00 02 0D 
01 01 0D 
02 04 00 
03 03 00 
04 02 00 
05 01 00 
06 04 03 
07 03 03 
08 02 03 
09 01 03 

test_branch_taken
T+ CK PC
00 02 04 
01 01 04 
02 03 07 
03 02 07 
04 05 0A 
05 04 0A 
06 03 0A 
07 02 0A 
08 01 0A 
09 03 0A 


5-branch_delays_irq

Passed

cpu_reset/ram_after_reset.nes: passed

show output
ram_after_reset

Passed

cpu_reset/registers.nes: passed

show output
A  X  Y  P  S
34 56 78 FF 0F 

registers

Passed

cpu_timing_test6/cpu_timing_test.nes: passed

show output
6502 TIMING TEST (16 SECONDS)

OFFICIAL INSTRUCTIONS ONLY

PASSED

dmc_dma_during_read4/dma_2007_read.nes: passed

show output

dmc_dma_during_read4/dma_2007_write.nes: passed

show output
11 11 AA 33 44 55 66 77
11 11 AA 33 44 55 66 77
11 11 AA 33 44 55 66 77
11 11 AA 33 44 55 66 77
11 11 AA 33 44 55 66 77

dma_2007_write
Passed

dmc_dma_during_read4/dma_4016_read.nes: passed

show output
08 08 07 08 08
dma_4016_read
Passed

dmc_dma_during_read4/double_2007_read.nes: passed

show output

dmc_dma_during_read4/read_write_2007.nes: passed

show output
33 11 22 33 09 55 66 77
33 11 22 33 09 55 66 77

read_write_2007
Passed

dmc_tests/buffer_retained.nes: passed

show output

dmc_tests/latency.nes: passed

show output

dmc_tests/status.nes: passed

show output

dmc_tests/status_irq.nes: passed

show output

fdsirqtests/fdsirqtests.fds: passed

show output

fdsirqtests/fdsirqtestsV7_patched.fds: passed

show output

instr_misc/instr_misc.nes: passed

show output
04-dummy_reads_apu

Passed
All 4 tests passed

instr_misc/rom_singles/01-abs_x_wrap.nes: passed

show output
01-abs_x_wrap

Passed

instr_misc/rom_singles/02-branch_wrap.nes: passed

show output
02-branch_wrap

Passed

instr_misc/rom_singles/03-dummy_reads.nes: passed

show output
03-dummy_reads

Passed

instr_misc/rom_singles/04-dummy_reads_apu.nes: passed

show output
04-dummy_reads_apu

Passed

instr_test-v3/all_instrs.nes: passed

show output
All 15 tests passed

instr_test-v3/official_only.nes: passed

show output
All 15 tests passed

instr_test-v3/rom_singles/01-implied.nes: passed

show output
01-implied

Passed

instr_test-v3/rom_singles/02-immediate.nes: passed

show output
02-immediate

Passed

instr_test-v3/rom_singles/03-zero_page.nes: passed

show output
03-zero_page

Passed

instr_test-v3/rom_singles/04-zp_xy.nes: passed

show output
04-zp_xy

Passed

instr_test-v3/rom_singles/05-absolute.nes: passed

show output
05-absolute

Passed

instr_test-v3/rom_singles/06-abs_xy.nes: passed

show output
06-abs_xy

Passed

instr_test-v3/rom_singles/07-ind_x.nes: passed

show output
07-ind_x

Passed

instr_test-v3/rom_singles/08-ind_y.nes: passed

show output
08-ind_y

Passed

instr_test-v3/rom_singles/09-branches.nes: passed

show output
09-branches

Passed

instr_test-v3/rom_singles/10-stack.nes: passed

show output
10-stack

Passed

instr_test-v3/rom_singles/11-jmp_jsr.nes: passed

show output
11-jmp_jsr

Passed

instr_test-v3/rom_singles/12-rts.nes: passed

show output
12-rts

Passed

instr_test-v3/rom_singles/13-rti.nes: passed

show output
13-rti

Passed

instr_test-v3/rom_singles/14-brk.nes: passed

show output
14-brk

Passed

instr_test-v3/rom_singles/15-special.nes: passed

show output
15-special

Passed

instr_test-v5/all_instrs.nes: passed

show output
All 16 tests passed

instr_test-v5/official_only.nes: passed

show output
All 16 tests passed

instr_test-v5/rom_singles/01-basics.nes: passed

show output
01-basics

Passed

instr_test-v5/rom_singles/02-implied.nes: passed

show output
02-implied

Passed

instr_test-v5/rom_singles/03-immediate.nes: passed

show output
03-immediate

Passed

instr_test-v5/rom_singles/04-zero_page.nes: passed

show output
04-zero_page

Passed

instr_test-v5/rom_singles/05-zp_xy.nes: passed

show output
05-zp_xy

Passed

instr_test-v5/rom_singles/06-absolute.nes: passed

show output
06-absolute

Passed

instr_test-v5/rom_singles/07-abs_xy.nes: passed

show output
07-abs_xy

Passed

instr_test-v5/rom_singles/08-ind_x.nes: passed

show output
08-ind_x

Passed

instr_test-v5/rom_singles/09-ind_y.nes: passed

show output
09-ind_y

Passed

instr_test-v5/rom_singles/10-branches.nes: passed

show output
10-branches

Passed

instr_test-v5/rom_singles/11-stack.nes: passed

show output
11-stack

Passed

instr_test-v5/rom_singles/12-jmp_jsr.nes: passed

show output
12-jmp_jsr

Passed

instr_test-v5/rom_singles/13-rts.nes: passed

show output
13-rts

Passed

instr_test-v5/rom_singles/14-rti.nes: passed

show output
14-rti

Passed

instr_test-v5/rom_singles/15-brk.nes: passed

show output
15-brk

Passed

instr_test-v5/rom_singles/16-special.nes: passed

show output
16-special

Passed

instr_timing/instr_timing.nes: passed

show output
2-branch_timing

Passed
All 2 tests passed

instr_timing/rom_singles/1-instr_timing.nes: passed

show output
Instruction timing test

Takes about 25 seconds. Doesn't time the 8 branches and 12 illegal instructions.

Official instructions...

NOPs and alternate SBC...

Unofficial instructions...

1-instr_timing

Passed

instr_timing/rom_singles/2-branch_timing.nes: passed

show output
2-branch_timing

Passed

mmc3_irq_tests/1.Clocking.nes: passed

show output
MMC3 IRQ COUNTER

PASSED

mmc3_irq_tests/2.Details.nes: passed

show output
MMC3 IRQ COUNTER DETAILS

PASSED

mmc3_irq_tests/3.A12_clocking.nes: passed

show output
MMC3 IRQ COUNTER A12

PASSED

mmc3_irq_tests/4.Scanline_timing.nes: passed

show output
MMC3 IRQ TIMING

PASSED

mmc3_irq_tests/5.MMC3_rev_A.nes: passed

show output
MMC3 IRQ COUNTER REVISION A

PASSED

mmc3_irq_tests/6.MMC3_rev_B.nes: passed

show output
MMC3 IRQ COUNTER REVISION B

PASSED

mmc3_test/1-clocking.nes: passed

show output
1-clocking

Passed

mmc3_test/2-details.nes: passed

show output
2-details

Passed

mmc3_test/3-A12_clocking.nes: passed

show output
3-A12_clocking

Passed

mmc3_test/4-scanline_timing.nes: passed

show output
4-scanline_timing

Passed

mmc3_test/5-MMC3.nes: passed

show output
5-MMC3

Passed

mmc3_test/6-MMC6.nes: passed

show output
6-MMC6

Passed

mmc3_test_2/rom_singles/1-clocking.nes: passed

show output
1-clocking

Passed

mmc3_test_2/rom_singles/2-details.nes: passed

show output
2-details

Passed

mmc3_test_2/rom_singles/3-A12_clocking.nes: passed

show output
3-A12_clocking

Passed

mmc3_test_2/rom_singles/4-scanline_timing.nes: passed

show output
4-scanline_timing

Passed

mmc3_test_2/rom_singles/5-MMC3.nes: passed

show output
5-MMC3

Passed

mmc3_test_2/rom_singles/6-MMC3_alt.nes: passed

show output
6-MMC3_alt

Passed

nes_instr_test/nsf_singles/01-implied.nsf: passed

show output
01-implied

Passed

nes_instr_test/nsf_singles/02-immediate.nsf: passed

show output
02-immediate

Passed

nes_instr_test/nsf_singles/03-zero_page.nsf: passed

show output
03-zero_page

Passed

nes_instr_test/nsf_singles/04-zp_xy.nsf: passed

show output
04-zp_xy

Passed

nes_instr_test/nsf_singles/05-absolute.nsf: passed

show output
05-absolute

Passed

nes_instr_test/nsf_singles/06-abs_xy.nsf: passed

show output
06-abs_xy

Passed

nes_instr_test/nsf_singles/07-ind_x.nsf: passed

show output
07-ind_x

Passed

nes_instr_test/nsf_singles/08-ind_y.nsf: passed

show output
08-ind_y

Passed

nes_instr_test/nsf_singles/09-branches.nsf: passed

show output
09-branches

Passed

nes_instr_test/nsf_singles/10-stack.nsf: passed

show output
10-stack

Passed

nes_instr_test/nsf_singles/11-special.nsf: passed

show output
11-special

Passed

nes_instr_test/rom_singles/01-implied.nes: passed

show output
01-implied

Passed

nes_instr_test/rom_singles/02-immediate.nes: passed

show output
02-immediate

Passed

nes_instr_test/rom_singles/03-zero_page.nes: passed

show output
03-zero_page

Passed

nes_instr_test/rom_singles/04-zp_xy.nes: passed

show output
04-zp_xy

Passed

nes_instr_test/rom_singles/05-absolute.nes: passed

show output
05-absolute

Passed

nes_instr_test/rom_singles/06-abs_xy.nes: passed

show output
06-abs_xy

Passed

nes_instr_test/rom_singles/07-ind_x.nes: passed

show output
07-ind_x

Passed

nes_instr_test/rom_singles/08-ind_y.nes: passed

show output
08-ind_y

Passed

nes_instr_test/rom_singles/09-branches.nes: passed

show output
09-branches

Passed

nes_instr_test/rom_singles/10-stack.nes: passed

show output
10-stack

Passed

nes_instr_test/rom_singles/11-special.nes: passed

show output
11-special

Passed

oam_read/oam_read.nes: passed

show output
----------------
----------------
----------------
----------------
----------------
----------------
----------------
----------------
----------------
----------------
----------------
----------------
----------------
----------------
----------------
----------------

oam_read

Passed

oam_stress/oam_stress.nes: passed

show output
----------------
----------------
----------------
----------------
----------------
----------------
----------------
----------------
----------------
----------------
----------------
----------------
----------------
----------------
----------------
----------------

oam_stress

Passed

pal_apu_tests/01.len_ctr.nes: passed

show output
APU LENGTH COUNTER

PASSED

pal_apu_tests/02.len_table.nes: passed

show output
APU LENGTH TABLE

PASSED

pal_apu_tests/03.irq_flag.nes: passed

show output
APU FRAME IRQ FLAG

PASSED

pal_apu_tests/04.clock_jitter.nes: passed

show output
APU CLOCK JITTER

PASSED

pal_apu_tests/05.len_timing_mode0.nes: passed

show output
APU MODE 0 LENGTH TIMING

PASSED

pal_apu_tests/06.len_timing_mode1.nes: passed

show output
APU MODE 1 LENGTH TIMING

PASSED

pal_apu_tests/07.irq_flag_timing.nes: passed

show output
APU FRAME IRQ FLAG TIMING

PASSED

pal_apu_tests/08.irq_timing.nes: passed

show output
APU FRAME IRQ TIMING

PASSED

pal_apu_tests/10.len_halt_timing.nes: passed

show output
APU LENGTH HALT TIMING

PASSED

pal_apu_tests/11.len_reload_timing.nes: passed

show output
APU LENGTH RELOAD TIMING

PASSED

ppu_open_bus/ppu_open_bus.nes: passed

show output
ppu_open_bus

Passed

ppu_read_buffer/test_ppu_read_buffer.nes: passed

show output
TEST:test_ppu_read_buffer
-----------------------------
Testing basic PPU memory I/O.
Performing tests that combine
sprite 0 hit flag, $4014 DMA
and the RAM mirroring...
Graphical artifacts during
this test are OK and expected.

              Hi   No-Hi
Direct poke   OK   OK  
DMA with ROM   OK   OK  
DMA + PPU bus OK   OK  
DMA with RAM  

-----------------------------
 This next test wil take a while.
 In order to distract you with
 entertainment, art is provided.
 Contemplate on the art while
 the test is in progress.




Passed

ppu_vbl_nmi/ppu_vbl_nmi.nes: passed

show output
08 08 09 07 
10-even_odd_timing

Passed
All 10 tests passed

ppu_vbl_nmi/rom_singles/01-vbl_basics.nes: passed

show output
01-vbl_basics

Passed

ppu_vbl_nmi/rom_singles/02-vbl_set_time.nes: passed

show output
T+ 1 2
00 - V
01 - V
02 - V
03 - V
04 - -
05 V -
06 V -
07 V -
08 V -

02-vbl_set_time

Passed

ppu_vbl_nmi/rom_singles/03-vbl_clear_time.nes: passed

show output
00 V
01 V
02 V
03 V
04 V
05 V
06 -
07 -
08 -

03-vbl_clear_time

Passed

ppu_vbl_nmi/rom_singles/04-nmi_control.nes: passed

show output
04-nmi_control

Passed

ppu_vbl_nmi/rom_singles/05-nmi_timing.nes: passed

show output
00 4
01 4
02 4
03 3
04 3
05 3
06 3
07 3
08 3
09 2

05-nmi_timing

Passed

ppu_vbl_nmi/rom_singles/06-suppression.nes: passed

show output
00 - N
01 - N
02 - N
03 - N
04 - -
05 V -
06 V -
07 V N
08 V N
09 V N

06-suppression

Passed

ppu_vbl_nmi/rom_singles/07-nmi_on_timing.nes: passed

show output
00 N
01 N
02 N
03 N
04 N
05 -
06 -
07 -
08 -

07-nmi_on_timing

Passed

ppu_vbl_nmi/rom_singles/08-nmi_off_timing.nes: passed

show output
03 -
04 -
05 -
06 -
07 N
08 N
09 N
0A N
0B N
0C N

08-nmi_off_timing

Passed

ppu_vbl_nmi/rom_singles/09-even_odd_frames.nes: passed

show output
00 01 01 02 
09-even_odd_frames

Passed

ppu_vbl_nmi/rom_singles/10-even_odd_timing.nes: passed

show output
08 08 09 07 
10-even_odd_timing

Passed

sprdma_and_dmc_dma/sprdma_and_dmc_dma.nes: passed

show output
T+ Clocks (decimal)
00 527
01 528
02 527
03 528
04 527
05 526
06 525
07 526
08 525
09 526
0A 525
0B 526
0C 525
0D 526
0E 525
0F 526

SPRDMA and DMC DMA

Passed

sprdma_and_dmc_dma/sprdma_and_dmc_dma_512.nes: passed

show output
T+ Clocks (decimal)
00 525
01 526
02 525
03 526
04 524
05 525
06 526
07 527
08 527
09 528
0A 526
0B 527
0C 527
0D 528
0E 527
0F 528

SPRDMA and DMC DMA

Passed

sprite_hit_tests_2005.10.05/01.basics.nes: passed

show output
SPRITE HIT BASICS

PASSED

sprite_hit_tests_2005.10.05/02.alignment.nes: passed

show output
SPRITE HIT ALIGNMENT

PASSED

sprite_hit_tests_2005.10.05/03.corners.nes: passed

show output
SPRITE HIT CORNERS

PASSED

sprite_hit_tests_2005.10.05/04.flip.nes: passed

show output
SPRITE HIT FLIPPING

PASSED

sprite_hit_tests_2005.10.05/05.left_clip.nes: passed

show output
SPRITE HIT LEFT CLIPPING

PASSED

sprite_hit_tests_2005.10.05/06.right_edge.nes: passed

show output
SPRITE HIT RIGHT EDGE

PASSED

sprite_hit_tests_2005.10.05/07.screen_bottom.nes: passed

show output
SPRITE HIT SCREEN BOTTOM

PASSED

sprite_hit_tests_2005.10.05/08.double_height.nes: passed

show output
SPRITE HIT DOUBLE HEIGHT

PASSED

sprite_hit_tests_2005.10.05/09.timing_basics.nes: passed

show output
SPRITE HIT TIMING

PASSED

sprite_hit_tests_2005.10.05/10.timing_order.nes: passed

show output
SPRITE HIT ORDER

PASSED

sprite_hit_tests_2005.10.05/11.edge_timing.nes: passed

show output
SPRITE HIT EDGE TIMING

PASSED

sprite_overflow_tests/1.Basics.nes: passed

show output
SPRITE OVERFLOW BASICS

PASSED

sprite_overflow_tests/2.Details.nes: passed

show output
SPRITE OVERFLOW DETAILS

PASSED

sprite_overflow_tests/3.Timing.nes: passed

show output
SPRITE OVERFLOW TIMING

PASSED

sprite_overflow_tests/4.Obscure.nes: passed

show output
SPRITE OVERFLOW OBSCURE

PASSED

sprite_overflow_tests/5.Emulator.nes: passed

show output
SPRITE OVERFLOW EMULATION

PASSED

vbl_nmi_timing/1.frame_basics.nes: passed

show output
PPU FRAME BASICS

PASSED

vbl_nmi_timing/2.vbl_timing.nes: passed

show output
VBL TIMING

PASSED

vbl_nmi_timing/3.even_odd_frames.nes: passed

show output
EVEN ODD FRAMES

PASSED

vbl_nmi_timing/4.vbl_clear_timing.nes: passed

show output
VBL CLEAR TIMING

PASSED

vbl_nmi_timing/5.nmi_suppression.nes: passed

show output
NMI SUPPRESSION

PASSED

vbl_nmi_timing/6.nmi_disable.nes: passed

show output
NMI DISABLE

PASSED

vbl_nmi_timing/7.nmi_timing.nes: passed

show output
NMI TIMING

PASSED