nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 29 Apr 2024 10:31



Reply to topic  [ 121 posts ]  Go to page Previous  1 ... 4, 5, 6, 7, 8, 9  Next
Воспроизведение озвученной анимации с ROM-Дисков 
Author Message
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22626
Location: Silicon Valley
Reply with quote
Shaos wrote:
Shaos wrote:
P.S. Каждый четвёртый символ это 16 отсчётов звука на строку - может не мудрствовать лукаво, а просто тупо в 2 байта их упаковать и записывать в начало каждой строки побитно двигая в порт по ходу отрисовки символов этой строки?

P.P.S. Тогда уже и адрес строки можно туда же присовокупить до кучи (адрес с конца для LXI SP) - будет 68 байт на строку или 9.6 полных кадров на страницу (коих может быть больше, если от кадра к кадру будет много повторяющихся строк)

P.P.P.S. В этом случае даже прогрессбар можно сделать опциональным (и со звуком), правда оно не будет кратно 256 и придётся либо химичить, либо укорачивать видимую область строки до 60 символов...

Я тут прикинул - теперешний плеер декодирует около 377 строк в секунду, т.е. если строки будут иметь адреса (предположим, что в скорости оно не сильно потеряет), то для пущей эстетики можно делать видео не в полный рост, а скажем letterbox (16:9 с чёрными полосками сверху и снизу) - это будет примерно 37 строк, что должно дать 10 FPS...
кстаааааати - если биты звука скомкать в кучу, то можно несколько упростить (?) вывод в INTE - т.е. вместо первоначального варианта со сдвигами:
Code:
   RAL ; +4=4
   JC CPI_DI+1 ; +10=14
   EI ; +4=18
CPI_DI:
   CPI   0F3h ; +7=25 or +4=18
   ORA   A ; +4=29 or +4=22
   RAR ; +4=33 or +4=26 (avg=29.5)
сделать И по маске (и заодно вычитку значения для SP в начале строки наряду с битами звука) примерно так:
Code:
   INR M ; от предыдущей строки
; начало следующей строки
   JNZ L0 ; +10
   INX H ; 5 \
   INR M ; 10 (инкремент старшего байта адреса один раз на каждые 4 строки - это в среднем +20/4=5 тактов на строку)
   DCX H ; 5 /
L0: ; тут будет усреднённо 15 тактов
   LDAX D ; +7=22
   INR     M ; +10=32
   STA SND1 ;  +13=45
   RLC ; +4=49 (играем первый бит звука в преамбуле)
   JNC LD+1 ; +10=59
   EI ; +4=63
LD: CPI   0F3h ; +7=70 или +4=63 (DI)
   LDAX D ; +7=77 или 70 - в среднем 73.5
   INR     M ; +10=83.5
   STA SND2 ; +13=96.5
   ; далее вычитываем значение для SP этой строки
   LDAX D ; +7=103.5
   INR     M ; +10=113.5
   MOV C,A ; +5=118.5
   LDAX D ; +7=125.5
   INR     M ; +10=135.5
   MOV H,A ; +5=140.5
   MOV L,C ; +5=145.5
   SPHL ; +5=150.5 (SP=HL)
   LHLD ADRVAR ; +16=166.5 (восстанавливаем адрес) <<<< преамбула около 167 тактов на строку
; далее повторяющаяся часть для каждых 4 пикселов (повторяется 15 раз)
   LDA SND1 ; +13
   ANI 40H ; +7=20 (играем второй бит звука)
   JZ L3 ; +10=30
   EI ; +4=34
   JMP L4 ; +10=44
L3:
   DI ; +4=34
   MOV A,A ; +5=39 (для равномерности)
   MOV A,A ; +5=44 (для равномерности)
L4:
   LDAX    D ; +7=51
   INR     M ; +10=61
   MOV     B,A ; +5=66
   LDAX    D ; +7=73
   INR     M  ; +10=83
   MOV     C,A ; +5=88
   PUSH    B  ; +11=99
   LDAX    D ; +7=106
   INR     M ; +10=116
   MOV     B,A ; +5=121
   LDAX    D ; +7=128
   INR     M  ; +10=138
   MOV     C,A ; +5=143
   PUSH    B  ; +11=154 <<<<<< повторяющаяся часть
; следующая четвёрка пикселов
   LDA SND1
   ANI 20H ; (следующий бит звука)
   JZ L5
   ; и т.д.
т.е. имеем 154*15+167=2477 тактов на строку, что даст 330.1 строк в секунду (с учётом того, что ПДП сожрёт 54% процессорного времени) или 6.6 FPS при 50 строках в кадре или 9.17 FPS при 36 строках (letterbox с чёрными полосками сверху и снизу) или ещё больший FPS, если от кадра к кадру будут меняться лишь некоторые строки.

P.S. Если в ромдиске будет автоинкремент адреса, то можно сэкономить порядка 660 тактов, убрав все INR M, что выльется в 1816 тактов на строку или 450.3 строки в секунду, что даёт почти ровно 9 FPS при 50 строках и 7205 Гц для звука!

P.P.S. Для пущей плавности звука можно преамбулу ещё пооптимизировать, чтобы она стала ближе к длительности сегмента...

_________________
:dj: https://mastodon.social/@Shaos


15 Apr 2024 21:09
Profile WWW
Maniac
User avatar

Joined: 14 Oct 2019 18:10
Posts: 324
Location: Tashkent
Reply with quote
Предлагаете переходить к сжатию?

В принципе, так как подгружаемый SP - это универсально, можно обойтись штатным компактным кодом прогрывания.
То есть, оставить оптимизированный шаблон, но при переключении страницы проверять некий флаг, чем её проигрывать (сжато / не сжато).
Тогда на одной странице можно больше кадров поместить.

Но вот со звуком как?
Быстро сменить картинку, а потом весь период потратить на более качественный звук?
Не слишком ли сложно получится для кода обработки исходного файла? :mrgreen:
(Разработчики DivX позавидуют! :lol: )
Так и до страницы со "словарём" дойти можно для пущего сжатия.

P.S.: Кстати, пока не забыл.
Думаю, в перспективе, желательно при обработке кадров задействовать хотя бы простую нейросеть для распознания текста, чтобы явно помечать регионы кадра и при перекодировке там более качественнее, с использованием псевдографики, выводить исходные надписи.
(Последний ролик прямо на эту идею и наталкивает.) :roll:


16 Apr 2024 04:47
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22626
Location: Silicon Valley
Reply with quote
Alikberov wrote:
Но вот со звуком как?
Быстро сменить картинку, а потом весь период потратить на более качественный звук?
Не слишком ли сложно получится для кода обработки исходного файла? :mrgreen:

Не - не очень сложно. Звук будет идти всегда по строкам имеющимся в наличии, надо просто адаптивный алгоритм выбора следующего кадра сделать - если мы из текущего кадра взяли меньше строк, то и следующий кадр надо брать поближе на оси времени (а если совсем ничего не поменялось между кадрами, то всё равно надо перекодировать 22% кадра для сохранения 30 FPS) - как то так короче...

P.S. Ютюб практически перестал показывать бэдаппл и стал активно крутить рикролл:


Attachments:
Screenshot from 2024-04-16 08-09-22.png
Screenshot from 2024-04-16 08-09-22.png [ 31.4 KiB | Viewed 566 times ]

_________________
:dj: https://mastodon.social/@Shaos
16 Apr 2024 08:20
Profile WWW
Maniac
User avatar

Joined: 14 Oct 2019 18:10
Posts: 324
Location: Tashkent
Reply with quote
Shaos wrote:
P.S. Если в ромдиске будет автоинкремент адреса, то можно сэкономить порядка 660 тактов, убрав все INR M, что выльется в 1816 тактов на строку или 450.3 строки в секунду, что даёт почти ровно 9 FPS при 50 строках и 7205 Гц для звука!
Автоинкремент - уже не Православно! :roll:
Придётся ещё проводочки кидать внутрь всей схемы РК конкретно.


16 Apr 2024 09:33
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22626
Location: Silicon Valley
Reply with quote
Не - просто эту платку надо будет ставить вместо ВВ55, чтобы непосредственно ловить /RD
В моей версии срам86рк на разъём уже подаётся без ВВ55, причём 2 раза ;)

_________________
:dj: https://mastodon.social/@Shaos


16 Apr 2024 09:38
Profile WWW
Maniac
User avatar

Joined: 14 Oct 2019 18:10
Posts: 324
Location: Tashkent
Reply with quote
Shaos wrote:
Не - просто эту платку надо будет ставить вместо ВВ55, чтобы непосредственно ловить /RD
В моей версии срам86рк на разъём уже подаётся без ВВ55, причём 2 раза ;)
А, ну это да, тоже верно. На D14 можно было всегда экономить. :roll:

Тем временем, попрактиковался в ковертации музыки.
(К сожалению, без ffmpeg не обходится.)

P.S.: Добавил любимый FireCracker. 8)


Attachments:
File comment: FireCracker
FireCracker@5x5.rom.zip [602.45 KiB]
Downloaded 8 times
Снимок экрана_2024-04-16_13-22-11.png
Снимок экрана_2024-04-16_13-22-11.png [ 35.84 KiB | Viewed 545 times ]
File comment: Mamma Maria
Gimme! Gimme!
Funky Town
Je T'aime
Rockit
Shanghai

DSD-Music-86rk.zip [2.31 MiB]
Downloaded 6 times
16 Apr 2024 11:36
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22626
Location: Silicon Valley
Reply with quote
А тем временем RickRoll outperformed BadApple :esurprised:


Attachments:
IMG_6255.jpeg
IMG_6255.jpeg [ 114.04 KiB | Viewed 518 times ]

_________________
:dj: https://mastodon.social/@Shaos
16 Apr 2024 13:27
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22626
Location: Silicon Valley
Reply with quote
Перевалило за 1000 просмотров у Рикролла :o

Attachment:
IMG_6256.jpeg
IMG_6256.jpeg [ 141.89 KiB | Viewed 465 times ]


P.S. Статистика по странам любителей Рикролла :lol:

Attachment:
Screenshot from 2024-04-16 18-03-01.png
Screenshot from 2024-04-16 18-03-01.png [ 15.12 KiB | Viewed 442 times ]

_________________
:dj: https://mastodon.social/@Shaos


16 Apr 2024 16:57
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22626
Location: Silicon Valley
Reply with quote
Ещё один мемасный видосик конвертнул 8)


https://www.youtube.com/watch?v=CnDgV38INZM

Образ этого ромдиска можно найти в Секретах

_________________
:dj: https://mastodon.social/@Shaos


16 Apr 2024 21:33
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22626
Location: Silicon Valley
Reply with quote
Рикролл перевалил за 1800 просмотров и практически остановился :(

Attachment:
Screenshot from 2024-04-17 22-23-55.png
Screenshot from 2024-04-17 22-23-55.png [ 255.21 KiB | Viewed 358 times ]


За последние 48 часов у него статистика такая:

Attachment:
Screenshot from 2024-04-17 22-17-46.png
Screenshot from 2024-04-17 22-17-46.png [ 21.46 KiB | Viewed 358 times ]


Список стран от первой тысячи несколько поменялся - теперь США на первом месте:

Attachment:
Screenshot from 2024-04-17 22-17-02.png
Screenshot from 2024-04-17 22-17-02.png [ 18.63 KiB | Viewed 358 times ]


Интересны поисковые запросы ;)

Attachment:
Screenshot from 2024-04-17 22-27-06.png
Screenshot from 2024-04-17 22-27-06.png [ 20.82 KiB | Viewed 358 times ]

_________________
:dj: https://mastodon.social/@Shaos


17 Apr 2024 22:29
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22626
Location: Silicon Valley
Reply with quote
Пришло время старого-доброго мистера Трололо :lol:


https://www.youtube.com/watch?v=mU3P1l2KYnk

Образ этого ромдиска можно найти в Секретах...

P.S. Текущая картина по проигрываниям за последние 2 суток следующая:


Attachments:
Screenshot from 2024-04-18 19-41-26.png
Screenshot from 2024-04-18 19-41-26.png [ 79.46 KiB | Viewed 270 times ]

_________________
:dj: https://mastodon.social/@Shaos
18 Apr 2024 19:26
Profile WWW
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22626
Location: Silicon Valley
Reply with quote
Alikberov wrote:
Shaos wrote:
Не - просто эту платку надо будет ставить вместо ВВ55, чтобы непосредственно ловить /RD
В моей версии срам86рк на разъём уже подаётся без ВВ55, причём 2 раза ;)
А, ну это да, тоже верно. На D14 можно было всегда экономить. :roll:
Кстати интерфейс IDE тоже как бы с автоинкрементом уже ;)

Можно взять "классический" RK86-SRAM32K, вставить в корпус ITX/DTX, приладив туда же IDE CD-ROM, к которому написать новый конвертер видео и плеер с учётом автоинкремента :dj:

_________________
:dj: https://mastodon.social/@Shaos


18 Apr 2024 22:05
Profile WWW
Fanat

Joined: 10 Apr 2024 05:15
Posts: 50
Reply with quote
Берите мой девайс: https://zx-pk.ru/threads/35692-internet-dali!.html - там синхронизация одним младшим битом адреса делается. И не надо готовить образ для РОМ диска. Просто файл загрузил и всё. Проигрыватель можно к файлу приклеить.


18 Apr 2024 23:04
Profile
Admin
User avatar

Joined: 08 Jan 2003 23:22
Posts: 22626
Location: Silicon Valley
Reply with quote
Hammer wrote:
Берите мой девайс: https://zx-pk.ru/threads/35692-internet-dali!.html - там синхронизация одним младшим битом адреса делается. И не надо готовить образ для РОМ диска. Просто файл загрузил и всё. Проигрыватель можно к файлу приклеить.
Тут идеологическая проблема имеется - если есть ESP32, то РК уже ненужен :lol:

_________________
:dj: https://mastodon.social/@Shaos


18 Apr 2024 23:12
Profile WWW
Fanat

Joined: 10 Apr 2024 05:15
Posts: 50
Reply with quote
Shaos wrote:
Если есть ESP32, то РК уже ненужен :lol:


Ну тогда и образ для РОМ диска надо не на PC создавать, а тумблерами побитно программировать.


18 Apr 2024 23:19
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 121 posts ]  Go to page Previous  1 ... 4, 5, 6, 7, 8, 9  Next

Who is online

Users browsing this forum: No registered users and 39 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to:  
cron
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.