location 02, 1C (playerz, playery) was still screwing up and using an extra scanline.
the scanline went from 259 to 260 (too late) at platnextline, which was doing the cmp #5 test against the timer.  the timer still had 0C ticks left on it at that point.
_vsync now immediately does a WSYNC to catch the scan line before it flips over, and platnextline now dicks around less and immediately handles the timer = 0 case.
at that location, the new WSYNC at the top of _vsync is run at scanline 259, cycle 57.
hopefully that's enough breathing room for other edge cases.