nesdev.com
http://forums.nesdev.com/

Trying to pass PPU read buffer tests
http://forums.nesdev.com/viewtopic.php?f=3&t=18627
Page 1 of 1

Author:  twicetimes [ Fri Mar 22, 2019 11:18 am ]
Post subject:  Trying to pass PPU read buffer tests

My emulator is starting to produce accurate looking games, but there's some graphical errors, so I'm trying to run the PPU-related tests from the test page on the wiki.

I'm getting the following results from the ppu read buffer tests:

Image

I'm not sure what to make of the "should I go on", when there's no failures before that point. Anyone who's run these tests before have any insight here?

Thanks.

Author:  twicetimes [ Sat Mar 23, 2019 1:05 pm ]
Post subject:  Re: Trying to pass PPU read buffer tests

Solved. The issue was not updating the PPUDATA read buffer correctly when reading from palette memory (0x3F00 - 0x3FFF)

The wiki says that

Quote:
Reading palette data from $3F00-$3FFF works differently. The palette data is placed immediately on the data bus, and hence no dummy read is required. Reading the palettes still updates the internal buffer though, but the data placed in it is the mirrored nametable data that would appear "underneath" the palette.


However, I couldn't find any info on exactly which address should be used to populate the read buffer in this scenario. From other emulators, it appears to be PPU_ADDR - 0x1000, but I can't really intuit why that is the case.

Author:  tepples [ Sat Mar 23, 2019 1:41 pm ]
Post subject:  Re: Trying to pass PPU read buffer tests

It's the case because the majority of the time (that is, on just about every board but GTROM), video memory $3000-$3FFF mirrors $2000-$2FFF. When PA13 is high ($2000-$3FFF), nothing is listening to PA12 (the line that distinguishes $0000-$0FFF from $1000-$1FFF and distinguishes $2000-$2FFF from $3000-$3FFF).

Author:  twicetimes [ Sat Mar 23, 2019 4:47 pm ]
Post subject:  Re: Trying to pass PPU read buffer tests

Makes sense, thanks.

Page 1 of 1 All times are UTC - 7 hours
Powered by phpBB® Forum Software © phpBB Group
http://www.phpbb.com/