Сообщение от
Zelya
Кстати, а спрайты Вы рисуете по точкам? Может лучше релизовать функции по копированию блока памяти в видео. У "Львова" четыре пикселя на байт, так что поточечный вывод катастрофически медленный.
Копирую байт в байт в видеопамять. Причем в новой версии я переписал функцию вывода спрайта на ассемблер.
Код:
; Вывод спрайта 12x16
MOV B, 16
LOOP:
LDAX D
INX D
MOV M, A
INX H
LDAX D
INX D
MOV M, A
INX H
LDAX D
INX D
MOV M, A
MOV A, B
LXI B, 62
DAD B
MOV B, A
DCR B
JNZ LOOP
---------- Post added at 13:49 ---------- Previous post was at 13:45 ----------
Сообщение от
Zelya
все тайлы/спрайты, которые будут использоваться на текущем уровне я держу в верхней памяти. А игровая логика, карты, спрайты других уровней - в нижней.
Заставку и фон игры я думаю разместить в нижней памяти. И копировать их на экран через буфер в верхней памяти. Их выводить надо лишь один раз в всю игру. Заставка займет 16 Кб. Фон игры + побежденный король + игрок в короне займут еще 10-16 Кб.