RCR interrupt test
led to some interesting visual artifacts. I was testing to see where RCR interrupt starts relative to the end of HDW. In my tests demo, I was using the half sprite mode demo – which has 2 H-int’s per scanline. The idea was to use BG color #0 to get a visual cue as to where the interrupt happens. I didn’t anticipate the double h-interrupts, so you don’t see it happening across the screen. But what you do see is the artifact of the VCE stretching the last pixel displayed. Funny thing is, this happens on the last 8 pixels of HDW. The interrupt call itself is 8 cpu cycles, and there’s a PHA right before the lda <var;sta $405. So it looks like the interrupt happens somewhere about ~20+ cpu cycles before the end of HDW.
And because there was two interrupts per scanline and I didn't account for it, it allowed you to see the prepping of the VCE back to color #0 (stz $402;stz $403;stz $404). It created a new distortion to the screen, but without changing any colors. So I extended the prep parts to cause wider distortion.
You can see the results here:
Using some tricky coding and such, I can move that effect around the screen as well as make it wider and shorter, on a scanline basis. But for this video, I only widened a few different areas to make it more visible. Pretty cool effect, though IMO.