Blargg PPU test roms. Where do they write results?

This is an archive of a topic from NESdev BBS, taken in mid-October 2019 before a server upgrade.
View original topic
Blargg PPU test roms. Where do they write results?
by on (#208798)
I am running Blargg's test roms. They work well. I am trying to incorporate them into my test suite. I need to programmatically assert if it passed or fail.

Which memory location is the result stored at?

Here are the test roms I am running: https://github.com/christopherpow/nes-t ... 005.09.15b

Here is my emulator if anyone cares: https://github.com/dbousamra/hnes
Re: Blargg PPU test roms. Where do they write results?
by on (#208799)
https://wiki.nesdev.com/w/index.php/Emulator_tests
Quote:
Output at $6000
---------------
All text output is written starting at $6004, with a zero-byte
terminator at the end. As more text is written, the terminator is moved
forward, so an emulator can print the current text at any time.

The test status is written to $6000. $80 means the test is running, $81
means the test needs the reset button pressed, but delayed by at least
100 msec from now. $00-$7F means the test has completed and given that
result code.

To allow an emulator to know when one of these tests is running and the
data at $6000+ is valid, as opposed to some other NES program, $DE $B0
$G1 is written to $6001-$6003.
Re: Blargg PPU test roms. Where do they write results?
by on (#208800)
Ah great, thank you
Re: Blargg PPU test roms. Where do they write results?
by on (#208803)
Donqustix wrote:
Quote:
...$DE $B0
$G1 is written to $6001-$6003.

$G1?
Re: Blargg PPU test roms. Where do they write results?
by on (#208804)
tokumaru wrote:
Donqustix wrote:
Quote:
...$DE $B0
$G1 is written to $6001-$6003.

$G1?


Heptadecimal - It’s one louder, innit?
https://www.youtube.com/watch?v=XuzpsO4ErOQ&app=desktop


(i assume it’s f since they’re neighboring keys)
Re: Blargg PPU test roms. Where do they write results?
by on (#208806)
Hmm. Do the PPU tests use the 6000 return value location as well? Or is it just the instruction timing ones?

I can see the instr timing ones do write there return value to 6000, but the PPU ones don't seem to.
Re: Blargg PPU test roms. Where do they write results?
by on (#208872)
Donqustix wrote:
Quote:
Output at $6000
---------------
All text output is written starting at $6004 [...]
The test status is written to $6000. [...]
$DE $B0 $G1 is written to $6001-$6003.

I was confused at first because the quote doesn't appear on the wiki page. It looks like the quote comes from the readme.txt file inside some of the zip files available on that wiki page. So maybe this output method is only available in those tests that mention it in their readme.txt file.


tokumaru wrote:
$G1?

In instr_timing.nes, it uses DE B0 61. I guess it's supposed to look like DEBUG1, but with similar-looking hex digit replacements.