I've been playing around a little with sprite positioning, and I'm confused by the results I get from the following code.
STA WSYNC
SLEEP 20 ; 20
STA RESP0 ; 3
My thinking is that the WSYNC register is hit on the final cycle of the STA
instruction, so when the processor resumes, the TIA should be on colour clock #0. Now 20 cycles are burned, and then the RESP0 register is
hit on the final cycle of the STA instruction. This means that PL0 is reset
at CPU cycle 23, or TIA cycle 69.
So i'm expecting the player to start drawing 1 pixel from the left of the display, since there are 68 TIA cycles in the horizontal blank. However, on Z26 and Stella the PL0 sprite seems to draw 8 or 9 pixels from the left edge. Can anyone help me understand why this is happening ?
I'll post the binary and source if to the code if it helps, just I'm at work at the moment.
Many thanks,
Rob













