Реализовал SL4V, SR4V, WL4V, WR4V, MIRV и MARV. Зеркалирование экрана использует код, предложенный Bedazzle. Для зеркалирования атрибутов удалось использовать команду LDI. Такты не считал, но думаю, получилось хорошо.
DemoMirr.zip
Мне остался только вертикальный скроллинг окна (вверх и вниз) на произвольное кол-во пикселей, обычный и циклический. И писать его не хочется, с удовольствием слямзил бы готовый.
- - - Добавлено - - -
Всё-таки посчитал такты. Неа, LDI здесь не эффективнее. Такой расклад.
Код:MARV_MIRR_LINE$: LD A, (DE) ; 7 LDI ; 16 DEC L ; 4 LD (HL), A ; 7 INC L ; 4 DEC DE ; 6 DEC E ; 4 DJNZ MARV_MIRR_LINE$ ; 48t, 8 bytesКод:MARV_MIRR_LINE$: LD A, (DE) ; 7 LD C, (HL) ; 7 LD (HL), A ; 7 LD A, C ; 4 LD (DE), A ; 7 INC L ; 4 DEC E ; 4 DJNZ MARV_MIRR_LINE$ ; 40t, 7 bytes




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