Working on some C64 intro ideas. I move sprites based on pre-generated sinus tables using below code and a sinus table.
subroutine
ldx counter
cmx #100
jmp +
ldx #00
stx counter
+ lda sprite_sinus,x
inc counter
rts
Sinus table
sprite_sinus
!by 25,23,21,20,18,17,15,14,12,11,10,8,7,6,5,4
!by 3,2,2,1,1,0,0,0,0,0,0,0,0,0,1,1
!by 2,3,4,5,6,7,8,9,10,12,13,14,16,17,19,21
!by 22,24,25,27,28,30,32,33,35,36,37,39,40,41,42,43
!by 44,45,46,47,48,48,49,49,49,49,49,49,49,49,49,48
!by 48,47,47,46,45,44,43,42,41,39,38,37,35,34,32,31
!by 29,28,26,25
But I need something different. To move sprites both x and y direction in a looping path. What other functions i can use?