Here is a version of DoDraw for multi-colour sprites (untested):     lda #SPRITEHEIGHT   dcp SpriteEnd   bcs DoDraw   SLEEP 9   lda #0   beq EndDraw DoDraw   lda (SpriteColorPtr),Y   sta COLUP0   lda (SpriteDataPtr),Y EndDraw   sta GRP0   It takes 26 cycles though, so probably not what you want!   Chris