Rendering pipeline and the NMI_sync test

Discuss emulation of the Nintendo Entertainment System and Famicom.

Moderator: Moderators

Post Reply
Alyosha_TAS
Posts: 173
Joined: Wed Jun 15, 2016 11:49 am

Rendering pipeline and the NMI_sync test

Post by Alyosha_TAS »

Hi all,

I am trying to pass the NMI_Sync test, but the middle line is 2 pixels too short. At this point I can pass every other blargg test out there, so there really isn't anything in the NMI / VBL timing I can change to try to make this test work.

I came across http://wiki.nesdev.com/w/index.php/PPU_rendering and specifically this: Actual pixel output is delayed further due to internal render pipelining, and the first pixel is output during cycle 4.

I can't find any more details about the rendering pipeline though. If I delay the EMU's pixel output by 2 ppu clocks and do the $2001 greyscale check that the test is doing there, then the test passes as expected, but I'm not sure if this is a correct implementation.

So, is there any documentation about where different checks are made in the rendering pipeline? Does anyone know if my implementation is accurate?

Thanks!
User avatar
Zepper
Formerly Fx3
Posts: 3262
Joined: Fri Nov 12, 2004 4:59 pm
Location: Brazil
Contact:

Re: Rendering pipeline and the NMI_sync test

Post by Zepper »

In my emulator, the middle line differs in length. It flashes 3 pixels longer up to the correct size. No clues.
User avatar
Eugene.S
Posts: 317
Joined: Sat Apr 18, 2009 4:36 am
Location: UTC+3
Contact:

Re: Rendering pipeline and the NMI_sync test

Post by Eugene.S »

I've got original FC AV HVC-101 with Everdrive N8, with pinnacle capture device,
so here is test on hardware:
http://tasvideos.org/forum/viewtopic.ph ... 217#440217
Post Reply