having VBLANK available works wonders, see this double-hires code I just put together that only looks nice due to the magic of VBLANK on Apple IIe/IIgs (Apple IIc is much harder to get VBLANK from if you're playing music with interrupts) https://www.youtube.com/watch?v=1QwUGFDcQcI