(this version is exceedingly memory heavy. including tv signal and
reflection history in the rewind system is a mistake. work will now
concentrate on the rewind system storing VCS state only and recreating
the tv/reflection signal when a state is restored.)
line terminal debugging still works but without a GUI (for now). will
replace with an ASCII GUI and display in the future.
add gui.Stub to ease transition.
television signal history array is static
PixelRenderer.SetPixel() now expects an augment SignalAttributes
instance. Color is indexed by the PixelRenderer implementation. SDLImgui
implementation now stores copy of specification for speed.
PixelRefresher folded into PixelRenderer. SetPixel() should be called
between two calls UpdatingPixles(true) and UpdatingPixels(false) for all
PixelRenderer implementations - whether it does anything or not.
emulation is halted (temporarily) when slider is moved and will resume
again when slider is released, from the new rewind position.
stored state information is copied and assigned to the emulation, rather
than just pointing the emulation to the stored copies. the old way
worked but running the machine could then clobber what was stored in the
rewind structures.
updates attached pixelrenderers. added Refresh() function and added
'refreshing' flag to SetPixel()
cpu and tia memory references updated on rewind
fixed rewind.Append()