1. Down HL:
INC H
LD A,H
AND 7
RET NZ
LD A,L
SUB #E0
LD L,A
SBC A,A
AND #F8
ADD A,H
LD H,A
2. Самый быстрый адрес:
POP HL
(стек конечно на табличку экранных адресов указывает)
3. Вывод спрайта:
Формируем в памяти массив вида
[вывод 1-й строчки]
[вывод 2-й строчки]
[вывод 3-й строчки]
[вывод 4-й строчки]
[вывод 5-й строчки]
[вывод 6-й строчки]
[вывод 7-й строчки]
[вывод 8-й строчки]
переход на строку ниже (к L прибавляем #20, H - восстанавливаем любым методом)
Дальше тоже-самое.
[печать следующего знакоместа, снова вывод 8 строчек]
Дальше всё так-же + переход на другой сегмент.
Обращатся с этим извратом так: Рассчитываем КУДА прыгать (с какой строки рисовать начинаем), потом рассчитываем ГДЕ заканчивать (ловушку ставим прямо в код, RET или какой другой выход, JP например).
Кидаемся в подпрогу.
Она отрисовывает и вылетает где надо.
Восстанавливаем код (который ловушками зафаршмачили).
Делаем дальнейшие дела (ну там инт ловим, или музыку-ноту брякаем в общем что там ещё...)
Быстрей по-видимому никак...




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