- implemented audio
- using Ron Fries' method as the basis
- removed sample playback - performance of Fries' method is good
enough that we'll never need it again
- sdl audio routines using QueueAudio() - maybe better if we use
callbacks?
- sketched wavwriter AudioMixer - not usable yet
- renamed Recorder to Scribe
- any references to script "recording" has been altered
o errors
- some effort expended tidying up error messages display and
construction
- commandline package now uses errors package
o removed panics that would be better served with errors
o removed extraneous calls to fmt.Println and fmt.Printf
- motion clock now works correctly
- sprite ticks now called correctly on motion clock
- vertical delay is now
- parallel future write buffers
- one for writes that tick off of the color clock
- and another one off of the motion clock
- additionally, each future instance has a ring buffer of length 3
- 3 seems sufficiently long
- ball sprite fixed (satisfies stress tests)
- missile sprite fixed (satisfies stress tests)
- player sprite fixed (satisfies stress tests)
- horizontal position of sprite now reflected correctly when HMOVED
- tidied up MachineInfo() and MachineInfoTerse() of all video elements
o television
- mask now only drawn if top and bottom are correct
- this fixes those roms that do not call vsync correctly
- still not perfect but at least we can now see the screen
- improved verbose machine info output
o cpu
- instructions with a WRITE side-effect tweaked
o gopher2600
- tv not displayed until it can be reasonably assured there will be
no errors
UNFINISHED
more tweaking of video sprites - trying to normalise everything
so there's no special conditions
- removed ColorClock type - color-clock is now just an instance
of a polycounter within video type
- implemented motion clock - this seems to fix a lot of
positioning problems