Some recent work with the read2004.nes test rom was done by True on TASVideos.org to see what real console results were like.

While it generally worked as expected, in terms of the actual test of the $2004 reads, the initial number of 'FF' at the beginning was pretty variable (and in ways that I'm not understanding.)

For those not familiar, this test by Quietust basically just waits for 4 VBlanks, does an NMI, and then runs the test. The initial 'FF's just indicate where the tests start, one per ppu tick per FF. So this test is an excellent way to characterize power on timing.

The results varied from 0-12 FF. But, what I'm not understanding is that there were more then 8 values possible. Initially I thought that there should be 8 (4 clock alignments x Vblank)

So I started looking at what exactly 6502 does when the rest line is low.

Basically it holds the current operation and waits to see a high RES line during phi2 (similar to other interrupt behaviour.)

So, if reset happens to be released during phi1, there could be up to an entire CPU cycle of mismatch between when the CPU reacts and when the ppu reacts.

I haven't found a way to investigate reset like this on Visual 2C02, is this possible? If it turns out that the ppu resets faster, it could add another variable to start up state. This is important in TAS since games don't tend to self sync to a single ppu tick like Blargg's test roms do!

Who is online

Users browsing this forum: No registered users and 5 guests

You cannot post new topics in this forumYou cannot reply to topics in this forumYou cannot edit your posts in this forumYou cannot delete your posts in this forumYou cannot post attachments in this forum