Thomas Jentzsch, on Tue Aug 9, 2005 2:32 AM, said:
screen. Make sure that your write to ENABL happens during cycles 0..22.

Thanks, I was purposely using the SLEEP macro to put the write to ENABL in the visible area. I guess I misunderstood how it worked. I removed the SLEEP statement and.. well, now the glitch happens at the left edge of the screen. I think my cycle counting is off a bit. :-)
Question, are all of the ENA* registers the same where they have to be written to during Hblank?
I think I'm starting to fully understand the relationship between the RES* and ENA* registers.
->writing to the RES* registers will place the object at the color clock when it was written to.
->Writing to an RES* register every frame will essentially prevent the object from moving horizontally (I know that probably sounds obvious, but I didn't understand until I actually saw it happen)
->I'm thinking write to the RES* register once before the game loop begins to place the objects the first time
->write to the RES* register during the game loop only if the object is going to change it's position
->write to the ENA* register to start drawing the object on the "current "scanline
->write to the ENA* register again to turn it off.
->write to the HM* and HMOVE registers at least once per frame (either during VBlank or Overscan) to tell the object to begin horizontal motion.
-> write to the HM* register again to turn off horizontal motion. HMCLR to stop all horizontal motion.
Question, I have not tried this yet, but would I ever want to write to HM* and HMOVE during the 192 scanline loop? My guess is no.
Thanks!
Jim