[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: Double hires mode color artifacts



On Sep 8, 11:33 pm, "Michael J. Mahon" <mjma...@aol.com> wrote:
> I presume that in the meantime you've tested with a table that simply
> contains the unfiltered values (without sharp transitions)?  Such a
> table will have large blocks of identical entries equal to Linards'
> derived RGB values.
>
> Of course, it won't emulate NTSC transitions, but it will demonstrate
> the exact performance achieved.

566 pixels per scanline (3 + 40 * 14 + 3), 192 out of 262 visible
scanlines
4-bit sliding window
rendered at NTSC framerate ~59.92
includes sound
includes video generator behaviour
pure 'C', not heavily optimized algorythm, GCC used
takes about 36% on single core of a Core2 Duo (4MB shared L2) locked
at 1.0GHz

Even without further optimization and with addition of 6502 it will
still be okay for today's PCs. I will add also options to reduce CPU
load at the cost of emulation fidelity (there's plenty of room in
video generator). Note that "emulation fidelity" != "video fidelity",
Possible things include:
  - rendering a whole scanline in single mode (TEXT, HGR, GR, ...)
instead of emulating the shifter for every 1MHz clock
  - reducing frame rate /2 or /4
  - going fullscreen (it's faster than blitting rectangles to windows)

Going from 4-bit sliding window to 14-bit won't incur any speed loss,
except from few potential cache misses due to larger table. So, the
only missing thing is the table itself. ;-)