Today Malban had not much time to tender my needs. Nonetheless there are a couple of changes.
First. The spline update from yesterday got better, the general algorithm was correct, but the inner workings of vecxi not always. So vectors were generated with a dx value of 0 (null), because upon generation of vectors ramp most of the time is switched off (one). Thus, wenn a vector was updated for the first time dx values were different (because ramp was now zero) and thus nearly ALL vectors were considered splineable. Now in vecx only vectors are considered splineable if changes occur when ramp is on (on both sides of the comparison). This works quite well. There is one minor flaw – looking at the brightness of splines, he must thinks about that some more…
Second. Berzerk and some other roms had an annoying “sound” all the time. After implementing a PSG-watch window (boring!) it came to light quickly, that the PSG sound emulation more or less completely ignored register 7 – at least output wise.
I don’t know much about PSG emulation, the code was just copied from other vecx implementations (which copied the code from MAME/Mess as far as I know), Malban just tried a hack that sets the volume to 0 if the corresponding enable bits of Reg 7 were set. This seems to work charmingly well.
Third. Some small changes -again- to the syntax checking. The syntax routines are running in an own thread (and coloring is done in that thread! – which means updating ui components). This drives Malban crazy, since in a single threaded ui as Swing this can lead to deadlocks or long “waits”. If this locking continues – he either writes his own syntax stuff – or leaves it out entirely.
There is one simple rule for single threaded UIs: all UI updates must be done in the EDT!