Ответсообщение недоступно
Рубрика оптимизация.
У меня в 7й банке лежит эталон игрового экрана, чтобы оттуда восстанавливать фоны за некоторыми спрайтами.
Так я экономлю время при выводе спрайта, не сохраняя фон, а подставляя адрес в экране в функцию восстанавливалки фона.
Эта функция берёт нужную область из 7й банки и копирует 5ю.
Соответственно, нужно синхронно бегать HL по 5й и DE по 7й.
Для этого обычный DOWN_HL переделываем в DOWN_HL_DE, типа так:
macro DownHLDE
inc h : ld a,h : and 7 : jr nz,.downhlde
ld a,l : add a,32 : ld l,a : jr c,.downhlde
ld a,h : sub 8 : ld h,a
.downhlde ld a,h : or #80 : ld d,a : ld e,l
endm