yllawwally #1 Posted March 30, 2012 I saw a thread that mentioned skipdraw with color. I can't find a listing of it. What does the multi-color skipdraw routine look like? Quote Share this post Link to post Share on other sites
Thomas Jentzsch #2 Posted March 31, 2012 You just have to add the color data read/write before reading the graphics data. And in the skip branch waste the similar amount of cycles. Quote Share this post Link to post Share on other sites
yllawwally #3 Posted April 2, 2012 This is what I have, but I end up with each line of the sprite being different colors, but the colors shift as he moves up and down. I'm setting up a pointer at the top like this LDA #HeroGraphicsColor sec sbc Hero_YPosFromBot clc adc #C_P0_HEIGHT - #1 STA HeroGraphicsColorPtr This is how I'm doing skipdraw in the kernal ;skipDraw ; draw Hero sprite: lda #C_P0_HEIGHT-1 ; 2 dcp Hero_Y ; 5 (DEC and CMP) bcs .doDrawHero_E1_e ; 2/3 ; should be bcs lda #0 ; 2 .byte $2c ;-1 (BIT ABS to skip next 2 bytes)(kinda like a jump) .doDrawHero_E1_e: lda (Hero_Ptr),y ; 5 sta GRP0 lda (HeroGraphicsColorPtr),y ; 5 sta COLUP0 Quote Share this post Link to post Share on other sites
yllawwally #4 Posted April 3, 2012 I see what I was doing wrong. I wasn't setting up the pointers properly. Below is the code I used that worked. LDA #<HeroGraphicsColor sta HeroGraphicsColorPtr LDA #>HeroGraphicsColor sta HeroGraphicsColorPtr+1 lda HeroGraphicsColorPtr sec sbc Hero_YPosFromBot clc adc #C_P0_HEIGHT - #1 STA HeroGraphicsColorPtr Quote Share this post Link to post Share on other sites