спрайтовый движек (sprite engine)
Moderator: Shaos
-
- Senior
- Posts: 152
- Joined: 31 Mar 2012 16:50
- Location: 93.73.80.128
спрайтовый движек (sprite engine)
Эх, если бы кто слепил нам на дискретной логике sprite engine! на 8... (16?) спрайтов, чтобы прикрутить к специалисту например, или к спектруму. Вот ПК 8003 Эльф такое умеет! но понять как оно работает не хватает у меня ума. Если бы кто обьяснил суть вопроса хотябы нарисовав какую нибудь структурную схему из блоков. Просто дублировать видео-адаптеры для каждого отдельного спрайта НЕ вариант (типа как ZXPoly для повышенной цветности), как-то оно должно работать с меньшим количеством логики.
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: спрайтовый движек (sprite engine)
Такое уже делали по крайней мере со спектрумом.bigral wrote:Эх, если бы кто слепил нам на дискретной логике sprite engine! на 8... (16?) спрайтов, чтобы прикрутить к специалисту например, или к спектруму.
Скрещивали его с микросхемой от Денди - была такая статья... но как-то популярным это не стало.
iLavr
-
- Doomed
- Posts: 480
- Joined: 23 Nov 2007 15:53
- Location: Saint Petersburg, Russia
Re: спрайтовый движек (sprite engine)
bigral, для Спектрума давно всё есть, при том в нескольких вариантах, но никто особого интереса к этому не проявляет. Есть адаптация MSX-1 видяхи, есть видяха на V9990, наконец есть TS- конфа, которая круче всех возможных денди-атарей, и под которую даж есть немного софта.
Вывод - прикручивать спрайтовый движок к ретро компу нет смысла.
Вывод - прикручивать спрайтовый движок к ретро компу нет смысла.
"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!". 
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.

zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: спрайтовый движек (sprite engine)
Нет... но может быть человеку нравится и хочется в рамках его хобби поиграться со спрайтовым движком...Black_Cat wrote:прикручивать спрайтовый движок к ретро компу нет смысла.
Варианты такого развлечения имеются, значит не ему первому пришла в голову такая мысль.
Почему бы и нет?

iLavr
-
- Fanat
- Posts: 53
- Joined: 31 May 2007 08:23
- Location: Украина
Re: спрайтовый движек (sprite engine)
выводил print chr$(x),
где x - весь алфавит английский(с большими буквами) и знаки припинания,
основной "фонт", всего 786 байт - по 8 байт на символ.
я выводил весь экран с помощью трех таких "фонтов".
на экране они могут присутвовать одновременно.
их и переключать можно (с помощью poke x1,addr: poke x2,addr - две ячейки в верхней памяти, номер не помню, а значения в них засылаюся - старший и младший байты адреса на начало масива нового "фонта" )
и выводить буквы в любых сочетаниях, тоесть теперь
спрайты(tiles) 8*8 программно, без микрух.
такое вот программное решение..
(это я уже через много лет узнал что у сверсника Дэнди это уже есть и аппаратно)
закрашивать надо, наверное, отдельно.. или в параметрах print или перед ним... я уже и не помню какой там мог быть синтаксис....
добавлено 05/2020:
это выше относится к tiles (как я понимаю теперь называют).
а спрайтам, шутерам надо 7-8 плоскостей с картинкой
(как в кубе - левая стенка, правая, потолок.. т.п. враги и оружие. )
где x - весь алфавит английский(с большими буквами) и знаки припинания,
основной "фонт", всего 786 байт - по 8 байт на символ.
я выводил весь экран с помощью трех таких "фонтов".
на экране они могут присутвовать одновременно.
их и переключать можно (с помощью poke x1,addr: poke x2,addr - две ячейки в верхней памяти, номер не помню, а значения в них засылаюся - старший и младший байты адреса на начало масива нового "фонта" )
и выводить буквы в любых сочетаниях, тоесть теперь
спрайты(tiles) 8*8 программно, без микрух.
такое вот программное решение..
(это я уже через много лет узнал что у сверсника Дэнди это уже есть и аппаратно)
закрашивать надо, наверное, отдельно.. или в параметрах print или перед ним... я уже и не помню какой там мог быть синтаксис....
добавлено 05/2020:
это выше относится к tiles (как я понимаю теперь называют).
а спрайтам, шутерам надо 7-8 плоскостей с картинкой
(как в кубе - левая стенка, правая, потолок.. т.п. враги и оружие. )
Last edited by zooleek on 16 May 2020 12:12, edited 2 times in total.
-
- Doomed
- Posts: 598
- Joined: 10 Mar 2012 16:21
- Location: РФ
Re: спрайтовый движек (sprite engine)
Вообще то схемотехнически это не так уж и сложно :bigral wrote:... на дискретной логике .. на 8 ... спрайтов ...
Как по X ,так и по Y считают счётчики (, как многие возможно знают ).
Собственно из этих чисел следует вычитать начальные координаты спрайта аппаратным вычитателем и ,если разность меньше размера спрайта, то -> отображать_спрайт отображателем, а сама эта разность будет координатой пиксела в составе спрайта.
Таковых вычитателей-сравнивателей будет по числу спрайтовых плоскостей и по X и по Y ,то есть если например ( для удобства понимания ) взять экран 256*256 и 8 спрайтовых плоскостей, то понадобится всего-то-навсего 16аппаратных 8-и-битных вычитателей-сравнивателей и 8 аппаратных отображателей.
( отображатель 8*8 по сути мало чем отличается от отображателя 256*256 т.е. это тоже некая память, просто объём 64 бита ,а не 65536 бит )
Но ,увы, из данного благого пожелания следует, что Вы маловероятно это будете делать, а вот будет ли кто другой - неизвестно, но примерно так же маловероятно.bigral wrote:Эх, если бы кто слепил нам ...
-
- Senior
- Posts: 137
- Joined: 30 Mar 2017 00:55
Re: спрайтовый движек (sprite engine)
Ну мне вот интересна такая родственная тема - генератор визуалов с несколькими слоями видеопамяти и с наложением внешнего видео и с видеопроцессором (аппаратное ускорение геометрии, копирование, полигоны, перенос, фильтрация и сглаживание, повороты, наложение по маскам, цветовые градиенты по векторам, извращение над палитрами и битовыми полями, зеркально-симметричное отображение и прочее такое прикольное).
Нечто вроде амиговских видеоплат, но специально заточенное под всякие шизофренические эффекты. Спрайты там тоже пригодились бы как одна из функций - например, для наложения и морфинга текстов (делать всякие видео заставки с визуалами на фоне, и всё такое)...
Но если когда-то я буду это делать, то оно будет 16 или 32-разрядное, -под 68К, под х86 или ARM.
И конечно же, не на дискретной логике...
Нечто вроде амиговских видеоплат, но специально заточенное под всякие шизофренические эффекты. Спрайты там тоже пригодились бы как одна из функций - например, для наложения и морфинга текстов (делать всякие видео заставки с визуалами на фоне, и всё такое)...
Но если когда-то я буду это делать, то оно будет 16 или 32-разрядное, -под 68К, под х86 или ARM.
И конечно же, не на дискретной логике...
-
- Fanat
- Posts: 53
- Joined: 31 May 2007 08:23
- Location: Украина
Re: спрайтовый движек (sprite engine)
Хотел сказать, что софт-спрайтьі 8*8 уже есть в zx, свои bitmap только подставлять.
Ячейки 23606 мл. байт, следующая - старший.
20раз ему, допустим, к памяти надо обратиься для рисования одной буквьі...
Но, таки да, в железе на момент обращения уже все готово.
Для игр и софт-версия ок.
преимущество nes+zx - возможность отладки
под чужое решение кодить неизбежно топикстартеру....?
Ячейки 23606 мл. байт, следующая - старший.
20раз ему, допустим, к памяти надо обратиься для рисования одной буквьі...
Но, таки да, в железе на момент обращения уже все готово.
Для игр и софт-версия ок.
преимущество nes+zx - возможность отладки
под чужое решение кодить неизбежно топикстартеру....?
-
- God
- Posts: 1388
- Joined: 02 Jan 2006 02:28
- Location: Abakan
Re: спрайтовый движек (sprite engine)
С учётом выборки инструкций, то по-более. 9 байт - чтение + 9 байт - запись + инкременты и прочие вычисления адресов. В этом смысле, на мой взгляд, экран Специалиста выглядит более привлекательным и производительным, несмотря на более простую реализацию схемотехники. Специалисту бы еще изначально вместо ВМ80 поставить Z80, ИМХО, было бы гораздо более привлекательно нежели Спектрум.zooleek wrote:20раз ему, допустим, к памяти надо обратиься для рисования одной буквьі...
-
- Supreme God
- Posts: 16689
- Joined: 21 Oct 2009 08:08
- Location: Россия
Re: спрайтовый движек (sprite engine)
"Специалисту" на закате жизни поставили-таки Z80, даже сделали турбо-режим (можно посмотретьjdigreze wrote:Специалисту бы еще изначально вместо ВМ80 поставить Z80, ИМХО, было бы гораздо более привлекательно нежели Спектрум.
на сайте fifan-a)...
Однако "Специалист" это не спасло, поскольку Спектрум забил всех наличием огромного количества софта...
Но вы все что-то увлеклись, джентльмены... топикстартер хотел "на дискретной логике sprite engine! на 8... (16?) спрайтов, чтобы прикрутить к специалисту например, или к спектруму. Вот ПК 8003 Эльф такое умеет!"
А сказки по софтверные спрайты, думаю, ему не интересны...
Я намекнул, что Спектрум аппаратно "срасщивали" с микросхемой из Денди, имеющей аппаратный
спрайтовый движок видеоадаптера.
iLavr
-
- Senior
- Posts: 152
- Joined: 31 Mar 2012 16:50
- Location: 93.73.80.128
Re: спрайтовый движек (sprite engine)
есть, токо вот суть исходника никак не пойму: https://github.com/tslabs/zx-evo/tree/m ... /src/videoBlack_Cat wrote:... наконец есть TS- конфа, которая круче всех возможных денди-атарей, ...
может кто-нибудь посмотрит и растолкует "на пальцах" смысл происходящего?
(и да... закралась обшибочка = Эльф это "ПК8002" а не 8003)