Печатать тайлы просто. Готовая программа с комментариями в XAS'm
как всегда лежит тут.
CREAT LD BC,PAGE3; переключаем
страницу памяти
LD A,#08
OUT (C),A
LD HL,49152; в адрес 49152 закидываем
тестовый тайл
LD A,2
LD (HL),A
INC HL; в памяти содержиться сразу 2
слоя тайлов
INC HL; потому я делаю 2 раза inc hl
LD A,3
LD (HL),A; закидываем еще тайл с
номером 3
TILES LD BC,T0PAGE;
указываем страницу со спрайтами
LD A,#C0
OUT (C),A
LD BC,TMPAG; указываем страницу с картой тайлов
LD A,#08
OUT (C),A
LD BC,PALSEL;
устонавливаем палитру для тайлов
LD A,%00000000
OUT (C),A
LD BC,TSCONFIG; печатаем тайлы
LD A,%00100000
OUT (C),A
RET
Если надо вывести и тайлы и спрайт то включаем бит 7:
LD BC,TSCONFIG; печатаем тайлы
LD A,%10100000
OUT (C),A
RET
Расположение слоев графики:
- бордюр
- основная графика (256с, 16с, ZX, текстмод)
- спрайтовый слой 0
- тайловый слой 0
- спрайтовый слой 1
- тайловый слой 1
- спрайтовый слой 2
Чтобы спрайты выводить поверх тайлов, необходимо напечатать один пустой спрайт с включенным битом LEAP. Как только обработчик встретит в любом спрайте выключенный бит LEAP, все последующие спрайты будут печататься на следующий слой.
Комментарии
Отправить комментарий