J2 wrote:Although, I'm sure just because they don't know exactly when [$2002.d5] occurs, it was ignored in their emulator (think about not allowing horizontal scrolling because of not knowing when to load the h-scroll counter, course that's exaggerated as horizontal scrolling is vital).
Difference is that the timing for hscroll doesn't need to be as precise; most
games will work even if the value is read a couple scanlines early or late. Mid-scanline effects that affect vertical scrolling may be tougher to get right.
I have tested quite a few emulators and ALL of them (aside from Nesticle LOL) set this bit when their are 9 sprites on scanline (although their actual implementation is incorrect in a lot of emulators, they all set the bit when their are 9 or more sprites on a scanline) so Bregelad's scrolling will work fine using that.
But if the timing is off, they'll glitch on one scanline, possibly moving the bottom half of the screen up or down one scanline. And what about games that actually have sprites, where nine line up on one scanline, and the game needs to multiplex (flicker) them to display them all?
Some emulators handle this oddly though.
That's the point.
So even though some implement it innaccurately, they still implement and it will work as desired on them all for Bregelads "demo?"
But if there are sprites overlapping the bottom half, something off by one scanline will throw off vertical alignment between sprites and the background.
Disch wrote:If you plan on going down this route... don't rely on ANY emu for testing since they're probably all unreliable -- get your rom tested on the real thing
Problem is that with the current commercial unavailability of rewritable NES carts, testing on real hardware would need at least one day per build to get a build to someone who has built such a cart and then get the results back.
(and a ROM which tests this sort of thing and relies on its exact behavior would be a fantastic tool for emu developers)
Yes, I agree that we need more of these.