После прочтения одной строки пикселей с ковра надо переставлять стек на следующую строку, это даст дополнительные расходы (умноженные на высоту спрайта в пикселях).
Если читать спрайт записанный отдельно, то переставлять стек не надо, POP-аешь себе до конца.
Кстати, прерываний бояться не надо. Есть способ восстанавливать испорченное слово из регистровой пары.
Посмотри исходники которые дал Jerry, например файл core_sprite1, процедура sprite_noroll. Там графика читается в BC и если приходит прерывание, из BC восстанавливается.





Ответить с цитированием