As you are probably aware, there is a test called "NEStress" on the nesdev site, which (partially) tests CPU, PPU, pAPU and the controllers. My issue isn't with the content of the test itself. I have only implemented the drawing of backgrounds, which works decently (yay!), but since there is no sprite implementation, I can't choose anything but the PPU test for now (just pressing enter at the start screen). There is, however, a real problem with the wavy effect which is supposed to happen at the main screen of the program. For the first couple dozen scanlines, a sort of wavy effect is used (ongoing of course, not static like in the images):
(FCEUX)
However, my emulator completely messes it up, and instead of making the first couple of scanlines very wavy, it makes the whole screen slightly wavy. Not only that, but there are some things on the top and bottom of the screen which aren't supposed to be shown (although I'm assuming this is because of the lack of nametable switching and/or lack of fine Y scroll implementation). Here's my emulator displaying the same ROM:
(My emulator)
As you may notice, the screen of my emulator doesn't wave as much the FCEUX one in the first "third" of the screen, but it rather makes the whole screen wavy in intervals of maybe 3 pixels at most
I thought this issue might be due to my PPU not being pixel-based but rather scanline-based. My PPU basically waits for 113.7 or so CPU cycles to pass, and then draws an entire scanline at once. Could this be the problem? Or is fine X scrolling perhaps badly implemented?
(FCEUX)
However, my emulator completely messes it up, and instead of making the first couple of scanlines very wavy, it makes the whole screen slightly wavy. Not only that, but there are some things on the top and bottom of the screen which aren't supposed to be shown (although I'm assuming this is because of the lack of nametable switching and/or lack of fine Y scroll implementation). Here's my emulator displaying the same ROM:
(My emulator)
As you may notice, the screen of my emulator doesn't wave as much the FCEUX one in the first "third" of the screen, but it rather makes the whole screen wavy in intervals of maybe 3 pixels at most
I thought this issue might be due to my PPU not being pixel-based but rather scanline-based. My PPU basically waits for 113.7 or so CPU cycles to pass, and then draws an entire scanline at once. Could this be the problem? Or is fine X scrolling perhaps badly implemented?