Re: NES emulator hack that might be interesting

From: David Holz <david.holz_at_grindwork.com>
Date: Fri, 31 Aug 2018 12:19:23 -0700
Message-ID: <923e5db3-17b3-cee5-5bc8-ed492226aa76@grindwork.com>
On 08/30/2018 01:56 PM, smf wrote:
> It wouldn't be directly applicable to vice because (apart from vsp,
> which is rare in games) you have to move the data around manually,
> there isn't a handy equivalent to PPUSCROLL.
>
> But you could detect screen scrolling by comparing how the data in
> memory is moving around.

Yeah, it would have to start over and not use any of these NES ideas.

In a naive approach, you could simply looking at the entire screen's
displayed characters (including tracking raster splits), and compare
them to the prior frame, testing 9 one-character scroll directions
(including no scroll).  Wherever there is a strong match, then assume
the screen scrolled in that direction and shove the edge of the screen
into the back buffer that way.  You could also detect static areas of
the screen, which tend to be raster splits.

If this is too slow, you could just check the outer edges of the screen
with the prior frame, looking at 1 column/row further in, but this might
generate more false positives.  But I believe you could reduce the
checks to just a few row/column checks to achieve pretty confident results.
Received on 2018-08-31 22:01:49

Archive generated by hypermail 2.2.0.