ну... надо ловить луч - что тут еще делать то...
типа так
halt
call scrollout2
call music
call control
// все рассчеты
call scrollout1
jr loop

scrollout1 - вывод верхней части окна - столько строк сколько влазит в фрейм
(так как используется стек - чтобы не испортить таблицу адресов - надо успеть восстановить стек до прихода прерывания)
scrollout2 - вывод оставшейся части экрана - по времени луч должен начать рисовать экран

на глаз вроде достаточно вывести 3-4 знакоместа во второй процедуре, и все остальное в первой.

то есть в начале фрейма у нас уже выведена основная часть спрайта, и мы быстро выводим остаток. луч начинает отрисовывать это на экран, и мы по быстрому начинаем строить новый экран...

процедуры ессно хватит одной - надо просто менять переменные на входе.