С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
denpopov, а чем тебе идеи предложенные ранее не понравились?
С уважением,
Jerri / Red Triangle.
Просто как вариант. В лоб, без таблиц и стека.
Скролл на 3 бита(пикселя)
46 тактов на байт.
Код:LD C,$F8 .... LD A,(HL) RLCA RLCA RLCA LD E,A XOR D AND C XOR D LD (HL),A DEC L LD A,(HL) RLCA RLCA RLCA LD D,A XOR E AND C XOR E LD (HL),A DEC LСкрытый текст
Код:LD HL,$401f LD BC,$8f8 loop LD A,(HL) RLCA RLCA RLCA LD D,A AND C LD (HL),A DEC L DUP 15 LD A,(HL) RLCA RLCA RLCA LD E,A XOR D AND C XOR D LD (HL),A DEC L LD A,(HL) RLCA RLCA RLCA LD D,A XOR E AND C XOR E LD (HL),A DEC L EDUP LD A,(HL) RLCA RLCA RLCA LD E,A XOR D AND C XOR D LD (HL),A LD DE,256+31 ADD HL,DE DEC B JP NZ,loop[свернуть]
Сдвиг на 3 бита самый медленныйУж лучше таблицами.
---------- Post added at 07:32 ---------- Previous post was at 07:26 ----------
Titus, Ради спортивного интереса буду раз если поковыряешь моё творчество
http://zx-pk.ru/showthread.php?t=23544
Может есть идеи как оптимизировать?
Titus, это версия без таблиц. К сожалению оказалось менее универсальной и более тормозной для разно размерных спрайтов, если в неё внедрять изменение длины спрайта "на лету". Использовать стек, я думал.. но выходило тормознее.
Сейчас уже, в текущей версии кода, я всё переделал под таблицы и стек. По скорости одинаково вышло.
Просто основной приём, сдвига на 3 интересный получился за счет уже сдвинутого на 1 копирования в буфер скролирования
Дальше применяем RLD или RRD и получаем сдвиг на 3 более быстрый чем делать RL (HL). Жаль, что RLD/RRD не работают в регистрах.
Последний раз редактировалось drbars; 03.04.2015 в 07:16.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)