Posted Sun Jan 27, 2008 5:31 PM
Posted Mon Jan 28, 2008 3:40 AM
Andrew Davie, on Mon Jan 28, 2008 12:31 AM, said:
Edited by Thomas Jentzsch, Mon Jan 28, 2008 3:44 AM.
Posted Mon Jan 28, 2008 4:23 AM
Posted Mon Jan 28, 2008 11:39 PM
Cybergoth, on Mon Jan 28, 2008 4:23 AM, said:
Posted Tue Jan 29, 2008 4:47 PM
Posted Tue Jan 29, 2008 5:31 PM
shimmer_all_diamonds: ldx #8; Number of character rows -1 ldy shimmer_subrow; scan line within character shimmerLp: lda shimPF0a,x eor PF0Abitmap,y sta PF0Aitmap,y lda shimPF1a,x eor PF1Abitmap,y sta PF1Abitmap,y lda shimPF2a,x eor PF2Abitmap,y sta PF2Abitmap,y lda shimPF0b,x eor PF0Bbitmap,y sta PF0Bbitmap,y lda shimPF1b,x eor PF1Bbitmap,y sta PF1Bbitmap,y lda shimPF2b,x eor PF2Bbitmap,y sta PF2Bbitmap,y dex bpl shimmerLpI'd guess it would work well to change one scan line of the diamonds per frame (i.e. running the code once). Figure five frames of adding a 'red' pixel to the diamonds (which would otherwise be green+blue), then five frames of removing a red pixel, etc. That would make all the diamonds shimmer at 6Hz. Doing that would add about 700 cycles/frame overhead. Not trivial, but hardly outrageous. The biggest caveat would be that when drawing diamonds one would need to be careful to draw them in the correct state. That would be balanced, however, by the fact that one would not have to redraw them for purposes of animation.
Posted Tue Jan 29, 2008 8:54 PM
happymonster, on Wed Jan 30, 2008 9:47 AM, said:
Posted Wed Jan 30, 2008 1:43 AM
Posted Wed Jan 30, 2008 2:41 AM
happymonster, on Wed Jan 30, 2008 6:43 PM, said:
Posted Wed Jan 30, 2008 12:03 PM
Quote
Posted Wed Jan 30, 2008 12:09 PM
happymonster, on Wed Jan 30, 2008 7:03 PM, said:
Posted Wed Jan 30, 2008 12:22 PM
Posted Wed Jan 30, 2008 12:38 PM
happymonster, on Wed Jan 30, 2008 7:22 PM, said:
; copy graphics data into draw buffer, central loop: .loop: lda Graphics,y sta Buffer,y lda NextY,y tay bpl .loopGiven our current, pretty much optimized drawing code, I am not sure if it would save cycles.
Posted Wed Jan 30, 2008 1:37 PM
Posted Wed Jan 30, 2008 4:01 PM
KernelLoop3 SLEEP 4;+4 9 IntoKernelLoop3 sta.w GRP0;+4 13 lda ColorTable,X sta COLUPF;+7 20 MarkerR3PF1 lda $1800,X; this absolute address is modified outside the kernel sta PF1 MarkerR3PF2 lda $1800,X; this absolute address is modified outside the kernel sta PF2 MarkerR3PF4 lda $1800,X; this absolute address is modified outside the kernel sta PF1 MarkerR3PF3 lda $1800,X; this absolute address is modified outside the kernel sta PF2 ;+28 48 MarkerOtherSpriteR3 lda PlayerMaskingData,X; this absolute address is modified outside the kernel sta GRP1 ;+12/14 60/62 VDELed lda (PlayerDataPtr),Y; and (PlayerMaskPtr),Y;+10/12 65/68 dey sta WSYNC dex bpl KernelLoop3;+5 5With slight modifications. You are only using a single sprite (correct?) so drop one of the sprites and that gives you enough time to write to all six PF registers.
Edited by vdub_bobby, Wed Jan 30, 2008 4:04 PM.
Posted Thu Jan 31, 2008 5:18 AM
vdub_bobby, on Wed Jan 30, 2008 11:01 PM, said:
Quote
Edited by Thomas Jentzsch, Thu Jan 31, 2008 5:20 AM.
Posted Thu Jan 31, 2008 9:45 AM
Thomas Jentzsch, on Thu Jan 31, 2008 3:18 AM, said:
Quote
Quote
Edited by vdub_bobby, Thu Jan 31, 2008 11:06 AM.
Posted Thu Jan 31, 2008 5:40 PM
Edited by vdub_bobby, Mon Feb 4, 2008 10:03 AM.
Posted Fri Feb 1, 2008 12:12 AM
vdub_bobby, on Fri Feb 1, 2008 2:45 AM, said:
Posted Fri Feb 1, 2008 1:25 AM
Andrew Davie, on Thu Jan 31, 2008 10:12 PM, said:
vdub_bobby, on Fri Feb 1, 2008 2:45 AM, said:
Edited by vdub_bobby, Mon Feb 4, 2008 10:04 AM.
Posted Fri Feb 1, 2008 3:02 AM
vdub_bobby, on Fri Feb 1, 2008 6:25 PM, said:
Posted Fri Feb 1, 2008 3:16 AM
supercat, on Wed Jan 30, 2008 10:31 AM, said:
Posted Fri Feb 1, 2008 10:02 AM
Andrew Davie, on Fri Feb 1, 2008 1:02 AM, said:
Posted Fri Feb 1, 2008 6:01 PM
0 members, 0 guests, 0 anonymous users