Bad Apple демо

By Wierzbowsky

Guardian (3648)

Wierzbowsky さんの画像

01-09-2021, 16:01

Тема для обсуждения дёмки от Pyhesty "Bad Apple". На MSX такого раньше никто не делал.

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

ATroubleshooter wrote:

Привет, Pyhesty!
Затянуло на MSX после твоего видоса :) https://www.youtube.com/watch?v=q_xUqLV2EKE
Единственный раз в жизни до этого видел Yamaha КУВТ в универе в 90-е, была одна пара информатики на них )))
Но уже тогда впечатлило.

ログイン/登録して投稿

By ATroubleshooter

Expert (114)

ATroubleshooter さんの画像

01-09-2021, 18:58

Alexey wrote:

Тема для обсуждения дёмки от Pyhesty "Bad Apple". На MSX такого раньше никто не делал.

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

Классная демка :D
А кстати, никто не пробовал разобраться в коде 8088 domination и адаптировать его под MSX?
https://wiki.multimedia.cx/index.php/XDC_(8088_Domination)
У него ведь там, по-сути, полноценный енкодер и плейер, исходники открыты. Документировано всё весьма детально.
Правда, у него там Turbo Pascal с ассемблерными вставками...

By Pyhesty

Expert (97)

Pyhesty さんの画像

02-09-2021, 17:49

ATroubleshooter wrote:

А кстати, никто не пробовал разобраться в коде 8088 domination и адаптировать его под MSX?
https://wiki.multimedia.cx/index.php/XDC_(8088_Domination)

не слышал про такую дему, если подробнее опишите было бы интересно, а так же состав оборудования на котором это можно запустить, к сожалению, некоторое количество дем пишется под модифицированное тем или иным способом оборудование, что не даёт возможности запустить его остальным...

при создании демы bad apple под MSX я исходил из того, что хотелось бы, что бы её могли запустить и остальные, считаю, что мне очень повезло, что не вышел за возможности MSX-1, да довольно угловатая демка, но её запускают на разных MSX.

Если вас зацепила дема MSX, то присоединяйтесь к нам, ищите свою MSX на авито и уверен, что эта машинка будет вас радовать =)

By Pyhesty

Expert (97)

Pyhesty さんの画像

02-09-2021, 17:56

Alexey wrote:

Тема для обсуждения дёмки от Pyhesty "Bad Apple". На MSX такого раньше никто не делал.
https://www.youtube.com/watch?v=q_xUqLV2EKE

а-ха-ха ))) спасибо, что создал отдельную тему =) приятно)
если, кто будет читать, то демо - это тайловый режим GRAPHIC1 с 256 паттернами, что позволило закодировать 4х2 варианты псевдографики, из элементов которых и нарисована дема. Можно ли сделать лучше и менее угловатое, чуть-чуть можно, но 20% улучшений потребовало бы 80% времени.
данные упакованы в файле на дискете по принципу близкому к RLE, битовое кодирование, и получилось довольно плотно, все видео, а это 1000 фреймов и демо + MSX-DOS уложились в 1D дискету.

By ATroubleshooter

Expert (114)

ATroubleshooter さんの画像

03-09-2021, 22:43

Pyhesty wrote:
ATroubleshooter wrote:

А кстати, никто не пробовал разобраться в коде 8088 domination и адаптировать его под MSX?
https://wiki.multimedia.cx/index.php/XDC_(8088_Domination)

не слышал про такую дему, если подробнее опишите было бы интересно, а так же состав оборудования на котором это можно запустить, к сожалению, некоторое количество дем пишется под модифицированное тем или иным способом оборудование, что не даёт возможности запустить его остальным...

при создании демы bad apple под MSX я исходил из того, что хотелось бы, что бы её могли запустить и остальные, считаю, что мне очень повезло, что не вышел за возможности MSX-1, да довольно угловатая демка, но её запускают на разных MSX.

Если вас зацепила дема MSX, то присоединяйтесь к нам, ищите свою MSX на авито и уверен, что эта машинка будет вас радовать =)

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

Вот эта Дема :)
Она работает на реальном железе, в том числе на оригинальной PC XT 4.77MHz с MFM НЖМД, в режиме CGA.
Документирован алгоритм очень качественно, в том числе приемы и трюки, к которым пришлось прибегнуть на столь слабом железе.
https://trixter.oldskool.org/2014/06/19/8088-domination-post...
Там им (Trixter'ом) был разработан оригинальный алгоритм дельта-компрессии, в котором, конечно,
многое привязано к 8088 и CGA... но хочется верить, что MSX способен на это ;)

By ATroubleshooter

Expert (114)

ATroubleshooter さんの画像

05-09-2021, 13:37

ATroubleshooter wrote:

Документирован алгоритм очень качественно, в том числе приемы и трюки, к которым пришлось прибегнуть на столь слабом железе.
https://trixter.oldskool.org/2014/06/19/8088-domination-post...
Там им (Trixter'ом) был разработан оригинальный алгоритм дельта-компрессии, в котором, конечно,
многое привязано к 8088 и CGA... но хочется верить, что MSX способен на это ;)

Основная хитрость там в том, что энкодер (вот этот вот https://github.com/MobyGamer/XDC/blob/master/compiled/XDC_CO... ) компилирует файл, представляющий из себя переплетенный поток данных и машинных инструкций, который подгружается в фоне по прерыванию таймера. Главная действующая роль(вывода графики) отведена инструкциям MOVSB, REP MOVSB ... аналогом которых на Z80 являются инструкции LDI, LDIR. Но, поскольку на MSX вывод графики осуществляется через memory mapped ports, это место займут OTI, OTIR, видимо.

Вот цитата из блога Трикстера:

引用:

It’s A Compiler!

The basic structure of a video “code” frame looks like this:

Startup code: Sets ES to point to the screen and DS:SI to point somewhere below its own instruction stream to where the data stream starts
Instruction stream: Instructions that re-point DI to new screen memory destinations and then issue combinations of MOV, MOVSB, STOSB, REP MOVSB, or REP STOSB to change screen memory contents
Cleanup code: A single RETF instruction to return to the caller
Data stream: For (REP) MOVSB, data that gets moved to areas of screen memory

Ещё, определенная сложность у него возникла из-за медленных MFM хардов(загрузка с них примерно такая же медленная, как вывод в CGA), но учитывая, что мы можем обойтись SD/COMPACT флешем, этого ботлнека у нас может не быть.

Ещё одно препятствие в том, что его исходники на TurboPascal'e. Но уже есть плейер, переписанный под unix на C - http://mrcn.st/t/domplay.c

By ATroubleshooter

Expert (114)

ATroubleshooter さんの画像

05-09-2021, 13:42

Pyhesty wrote:

если, кто будет читать, то демо - это тайловый режим GRAPHIC1 с 256 паттернами, что позволило закодировать 4х2 варианты псевдографики, из элементов которых и нарисована дема.

Интересное решение Smile

By ATroubleshooter

Expert (114)

ATroubleshooter さんの画像

05-09-2021, 14:57

ATroubleshooter wrote:

Основная хитрость там в том, что энкодер (вот этот вот https://github.com/MobyGamer/XDC/blob/master/compiled/XDC_CO... ) компилирует файл, представляющий из себя переплетенный поток данных и машинных инструкций, который подгружается в фоне по прерыванию таймера.

Точнее, наоборот, по таймеру происходит отрисовка и воспроизведение звука. А подгрузка делается в остальное время.

By ATroubleshooter

Expert (114)

ATroubleshooter さんの画像

05-09-2021, 17:23

Блин LOL!

Всё сделано уже:
https://youtu.be/fdkBV9GjX30

By Axe_chita

Rookie (22)

Axe_chita さんの画像

18-09-2021, 05:11

ATroubleshooter wrote:

Блин LOL!

Всё сделано уже:
https://youtu.be/fdkBV9GjX30

Но обсуждаемый вариант pure-истие, поскольку крутится на чистой MSX без дополнительных расширений. :)

By ATroubleshooter

Expert (114)

ATroubleshooter さんの画像

21-10-2021, 21:05

Axe_chita wrote:
ATroubleshooter wrote:

Блин LOL!

Всё сделано уже:
https://youtu.be/fdkBV9GjX30

Но обсуждаемый вариант pure-истие, поскольку крутится на чистой MSX без дополнительных расширений. :)

Не спорю :)
В этом его ценность.