Page 3 of 3

Re: графика для ZXevo

PostPosted: Tue, 24.12.2013 17:18:28
by Grey
Не забываем прописать в папку WC в wc.ini

gifview.zip
плагин
(1.9 KiB) Downloaded 335 times

Обновление 26.12.2013 11:30

Оптимизирован код. Раскрыты циклы, сдвиги, убраны call -ы, оптимизированы загрузки в регистры.
В сумме сэкономлено около 80 тактов на пиксель (а если помножить на экран 320*200)
Значительно увеличена скорость распаковки.

Добавил исходники.
GifVievWmf.zip
Сырки
(10.19 KiB) Downloaded 310 times

Re: графика для ZXevo

PostPosted: Wed, 25.12.2013 03:29:26
by TS-Labs
Потрясающе!
Есть пару замечаний:
1. Некоторые гифы прорисовывают только часть битмапа.
027! cookie.gif глючит - рисует маленький квадратик на некоторых фреймах.
2. На SONICANI.GIF сверху линия на некоторых фреймах и на последнем гифе не чистятся куски битмапа.
3. Для юзабильности было бы классно рендерить в невидимую экранку и включать новый кадр по началу фрейма. Еще можно добавить маленький индикатор во время распаковки, чтоб не думали что висяк.

В версии для Реверса будет 200-мегагерцовый проц, на нем раскочегарится ))

---

Перезалил в имедж с гифами новую версию плага.
wc.7z

Re: графика для ZXevo

PostPosted: Wed, 25.12.2013 08:55:37
by Grey
TS-Labs wrote:прорисовывают только часть битмапа.
027! cookie.gif глючит

Да, к сожалению есть такое.
но по спецификации гифа - это допустимо.
Рекомендации.
Способ размещения - Режим восстановления предыдущей картинки должен использоваться только в случае маленьких графических изображений. Применение этого режима налагает на декодировщик серьезные требования, заключающиеся в сохранении в каком-либо буфере картинки, подлежащей в дальнейшем восстановлению. По этой причине указанный способ размещения должен использоваться весьма умеренно - данный режим не предназначается для хранения полномасштабных графических изображений или больших кусков графического материала. Если все же дело обстоит именно так, то кодировщик должен сделать все возможное, чтобы представить восстанавливаемый кусок графики в виде отдельного графического изображения в общем потоке данных. Если декодировщик не может разместить в буфере графический блок, подлежащий восстановлению, то желательно, чтобы он восстанавливал хотя бы цвет фона.


Думаю, что для z80 это простительное допущение :-).
Но я обещаю проработать этот вопрос - может получится малой кровью.

Re: графика для ZXevo

PostPosted: Wed, 25.12.2013 20:34:03
by Sergey78
Очень странная очистка экрана:
Code: Select all
        ld a,#3
        ld bc,DMACtrl
        out (c),a

Re: графика для ZXevo

PostPosted: Wed, 25.12.2013 22:37:08
by Grey
Sergey78 wrote:Очень странная очистка экрана:

в эмуляторе работает :-) , я просил проверить на реале.
Число 3 было выбрано исходя из имеющейся документации + методом подбора.
Q: Как запустить пересылку?
А: Записать в регистр DMACtrl необходимые параметры пересылки. ПДП-логика распознаёт команду на начало пересылки по ненулевому содержимому регистра.

3 <> 0
при 1 и 2 не работало

Re: графика для ZXevo

PostPosted: Wed, 25.12.2013 23:02:49
by TS-Labs
Извините, мое раздолбайство. Писал не я, а проверить провтыкал.

Re: графика для ZXevo

PostPosted: Wed, 25.12.2013 23:08:10
by Sergey78
Написано то правильно. Просто можно уточнить, что параметры пересылки надо брать из экселя или использовать константы из "tsconfig.asm".

Re: графика для ZXevo

PostPosted: Wed, 25.12.2013 23:43:45
by TS-Labs
Пофиксал. Добавил пример с адресами.
Написано было НЕПРАВИЛЬНО. Запуск транзакции происходит по факту записи в контрол. А уже что там записано, влияет на режимы работы.

Re: графика для ZXevo

PostPosted: Thu, 26.12.2013 10:21:02
by Grey
Sergey78 wrote:Очень странная очистка экрана:
КОД: ВЫДЕЛИТЬ ВСЁ
        ld a,#3

Исправился.
Сырки и плагин обновлены