I'd suggest getting one motor working first, keep your code as simple as possible as a start. Once that works, add a second motor and see if timing remains stable.
Figure out if issue is in timer interrupt, or having multiple motors.
Robert
Edit: Why GOSUB Encounter? It's only called once that I can see. Why not just plug in the subroutine at the GOSUB?




Bookmarks