Ачо размер? Умеренный, как по мне, плюс еще и генерить очень быстро, где-то даже динамически будет выгодно. Развороту djnz перпендикулярно и не мешает, наоборот — даже чуть проще и быстрее станет после него.
Ты конечно знатный извращенец. Действительно, с таблицами такого размера спрайты на полэкрана для тебя и правда фантастичны. На каждом ряде знакомест вместо 67 тактов у тебя выходит 4+11+7+7+8+10 = 47 тактов. 24*20т = 480т (на самом деле, меньше, из-за обработки хвоста). Я бы не стал так делать. Разворот DJNZ даст намного больше скорости и займёт намного меньше памяти.
Но я рад любым идеям, потому что, как ты знаешь сам, приходит день и всё это обязательно пригождается, м.б. в каком-то другом виде.
...
_main1: inc h
_main2: ...
djnz _main1
ld b,c ; c = $20
add hl,bc
ld h,(hl) ; таблицы кусками по 256 байт @ ... $6700, $6800, $6F00, $7000, $7700 ...
ld b,8
dec xl ; счётчик символьных строк вместо занятого c
jp nz,_main2
exa ; zf сохранён на повторный приход сюда
ld b,a ; длина хвоста и флаги после and7 при первом входе
jp nz,_main2 ; если ненулевой хвост и не повторно сюда попали
_end: ld sp,0
ret
Это адаптация из опытов по быстрой отрисовке отрезка (где sp вместо bc применяется) — где-то рядом уже как-то упоминал. Хотя для реальных небольших спрайтов (а не фантастичных на полэкрана) разница по скорости незаметна. Более весомая выгода подобных таблиц на практике — бесплатный вертикальный wrap или clip (перенаправлением в ПЗУ) для окна из 1-3 сегментов.
Кроме того, RST7 предложил ещё один подход к реализации DOWN_HL, разбивающий счётчик строк в спрайте на два и в итоге ускоряющий DOWN_HL ещё в 2 раза. Это решение показано в только что добавленном приложении к статье.
Не прошло и ста лет, как я обнаружил, что исходники демо выложены на GitHub: github.com/restorer/zxspectrum-lo-fi-motion-2020
Большое спасибо автору! Надеюсь это поможет другим невнимательным читателям вроде меня!
Понял в чем проблема. На hypr.ru самоподписанный сертификат. И ресурсы оттуда реджектятся.
Я просто перед этим разрешил этот сертификат, поэтому ничего и не заметил.
Вариант с байтами, собранными рядом в мини-табличку, 57 тактов:
(регистр c здесь освободился под счётчик и -4 такта префикса учтены в сумме)
Но я рад любым идеям, потому что, как ты знаешь сам, приходит день и всё это обязательно пригождается, м.б. в каком-то другом виде.
Это адаптация из опытов по быстрой отрисовке отрезка (где sp вместо bc применяется) — где-то рядом уже как-то упоминал. Хотя для реальных небольших спрайтов (а не фантастичных на полэкрана) разница по скорости незаметна. Более весомая выгода подобных таблиц на практике — бесплатный вертикальный wrap или clip (перенаправлением в ПЗУ) для окна из 1-3 сегментов.
github.com/restorer/zxspectrum-lo-fi-motion-2020
Большое спасибо автору! Надеюсь это поможет другим невнимательным читателям вроде меня!
:D
Я просто перед этим разрешил этот сертификат, поэтому ничего и не заметил.
Аватар потерялся.