lda Counter1 // Copy counters to indexes sta rna0+1 lda Counter2 sta rna1+1 ldx #TableSize ldy #0 !CalcAnim: clc !rna0 lda SineWave1,y // Get first value !rna1 adc SineWave2,y // Add second value sta rna2+1 !rna2 lda Lookuptable // Find the value and store it sta Destinationtable,x iny dex bne CalcAnim- lda Counter1 clc adc #1 // Velocity 1 sta Counter1 lda Counter2 clc adc #1 // Velocity 2 sta Counter2

!loop: lda sin+counter1,y adc sin+counter2,y tax lda lut,x sta dst,y dey bne loop

ldy#TableSize/2 !loop lda sin+counter1,y adc sin+counter2,y tax lda lut,x sta dst,y lda sin+counter1+TableSize/2,y adc sin+counter2+TableSize/2,y tax lda lut,x sta dst+TableSize/2,y dey bne loop

Lft, that's an interesting thought - could you elaborate?