На основе программы из Расчёт адресов экрана сделал свою программу.
Программа рассчитывает адрес на экране для координат x(0-63) в полузнакоместах и y(0-191) в линиях.
В HL находятся координаты для требуемого расчёта. Там же и результат сохраняется. В регистре B записывается результат признака полузнакоместа: 0 - левое, 1- правое. В программе для лучшей иллюстрации исходные координаты берутся из ячеек памяти.
Программу разработал для позиционирования спрайтов с шагом в 4 точки по горизонтали, и в одну линию по вертикали. Проверил работу в Emuzwin.
Теперь требуется помощь в программе вывода спрайтов с обрезкой по краям экрана. Помогите примерами.
org 50000
coord:
defb 0
defb 0
ps:
ld hl,(coord)
ld b,0
ld a,h
srl a
rl b
ld h,a
ld a,l
ld c,a
srl a
srl a
srl a
ld l,a
and 7
rrca
rrca
rrca
add a,h
ld h,l
ld l,a
ld a,h
and 18.h
or 64
ld h,a
ld a,c
and 7
ld c,a
ld a,h
or c
ld h,a
ret




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