so it is like this
******
_******
******
_******
If so i would think one of the counters that sets the RGB is going for one extra clock. for example if your vertical counter for getting pixel info increment one clock before the horizontal then the last horizontal black pixel from the porch will output on the line line. But then again why doesn't it do the following
*****
_*****
__*****
___*****
So it might not be that. I had a hell of a time implements the correct pixel data aligned the screen and i was only doing text, nothing moving real time like a ball, just when i type on a keyboard But the project required a lot of trail and error of changing counters for the displaying and accessing the memory for pixels.. Such a bug would be easier to find if you have a LSA, which i don't have one at home.
Oh and the counters i talk about above is not for the Sync counters as the vga signaling was completely correct, the other counter were the problem.