графика для ZXevo

CALL'ы и RET'ы

Postby Grey » Tue, 24.12.2013 17:18:28

Не забываем прописать в папку WC в wc.ini

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

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

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

Добавил исходники.
GifVievWmf.zip
Сырки
(10.19 KiB) Downloaded 115 times
Last edited by Grey on Sun, 12.03.2017 13:24:56, edited 4 times in total.
Grey
 
Posts: 95
Joined: Fri, 29.11.2013 15:58:02

Postby TS-Labs » Wed, 25.12.2013 03:29:26

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

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

---

Перезалил в имедж с гифами новую версию плага.
wc.7z
User avatar
TS-Labs
 
Posts: 5046
Joined: Thu, 26.07.2012 01:29:56

Postby Grey » Wed, 25.12.2013 08:55:37

TS-Labs wrote:прорисовывают только часть битмапа.
027! cookie.gif глючит

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


Думаю, что для z80 это простительное допущение :-).
Но я обещаю проработать этот вопрос - может получится малой кровью.
Grey
 
Posts: 95
Joined: Fri, 29.11.2013 15:58:02

Postby Sergey78 » Wed, 25.12.2013 20:34:03

Очень странная очистка экрана:
Code: Select all
        ld a,#3
        ld bc,DMACtrl
        out (c),a
Sergey78
 
Posts: 415
Joined: Wed, 05.09.2012 20:04:40

Postby Grey » Wed, 25.12.2013 22:37:08

Sergey78 wrote:Очень странная очистка экрана:

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

3 <> 0
при 1 и 2 не работало
Grey
 
Posts: 95
Joined: Fri, 29.11.2013 15:58:02

Postby TS-Labs » Wed, 25.12.2013 23:02:49

Извините, мое раздолбайство. Писал не я, а проверить провтыкал.
User avatar
TS-Labs
 
Posts: 5046
Joined: Thu, 26.07.2012 01:29:56

Postby Sergey78 » Wed, 25.12.2013 23:08:10

Написано то правильно. Просто можно уточнить, что параметры пересылки надо брать из экселя или использовать константы из "tsconfig.asm".
Sergey78
 
Posts: 415
Joined: Wed, 05.09.2012 20:04:40

Postby TS-Labs » Wed, 25.12.2013 23:43:45

Пофиксал. Добавил пример с адресами.
Написано было НЕПРАВИЛЬНО. Запуск транзакции происходит по факту записи в контрол. А уже что там записано, влияет на режимы работы.
User avatar
TS-Labs
 
Posts: 5046
Joined: Thu, 26.07.2012 01:29:56

Postby Grey » Thu, 26.12.2013 10:21:02

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

Исправился.
Сырки и плагин обновлены
Grey
 
Posts: 95
Joined: Fri, 29.11.2013 15:58:02

Previous

Return to Coding

Who is online

Users browsing this forum: No registered users and 1 guest

x