Theres alot of jumping around, half your code is gosubs and returns. its confusing me. and then theres all these steps, i'm wondering if your trying to do a texas 2 step dance.. is there a reason your using loops to control speed? you could do the same thing using an adjustable pause at the end of your gosubs in main.