nedoPC.org

Electronics hobbyists community established in 2002
Atom Feed | View unanswered posts | View active topics It is currently 28 Mar 2024 02:43



Reply to topic  [ 11 posts ] 
спрайтовый движек (sprite engine) 
Author Message
Senior

Joined: 31 Mar 2012 16:50
Posts: 152
Location: 93.73.80.128
Reply with quote
Эх, если бы кто слепил нам на дискретной логике sprite engine! на 8... (16?) спрайтов, чтобы прикрутить к специалисту например, или к спектруму. Вот ПК 8003 Эльф такое умеет! но понять как оно работает не хватает у меня ума. Если бы кто обьяснил суть вопроса хотябы нарисовав какую нибудь структурную схему из блоков. Просто дублировать видео-адаптеры для каждого отдельного спрайта НЕ вариант (типа как ZXPoly для повышенной цветности), как-то оно должно работать с меньшим количеством логики.


19 May 2017 11:46
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
bigral wrote:
Эх, если бы кто слепил нам на дискретной логике sprite engine! на 8... (16?) спрайтов, чтобы прикрутить к специалисту например, или к спектруму.

Такое уже делали по крайней мере со спектрумом.
Скрещивали его с микросхемой от Денди - была такая статья... но как-то популярным это не стало.

_________________
iLavr


19 May 2017 12:44
Profile
Doomed
User avatar

Joined: 23 Nov 2007 15:53
Posts: 441
Location: Saint Petersburg, Russia
Reply with quote
bigral, для Спектрума давно всё есть, при том в нескольких вариантах, но никто особого интереса к этому не проявляет. Есть адаптация MSX-1 видяхи, есть видяха на V9990, наконец есть TS- конфа, которая круче всех возможных денди-атарей, и под которую даж есть немного софта.
Вывод - прикручивать спрайтовый движок к ретро компу нет смысла.

_________________
"Очень трудно найти чёрную кошку в тёмной комнате... особенно, если её там нет.", "Forever!". :wink:
zx.clan.su - Soviet Union ZX Spectrum Community - форум посвящённый развитию Спека.


20 May 2017 02:09
Profile WWW
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
Black_Cat wrote:
прикручивать спрайтовый движок к ретро компу нет смысла.

Нет... но может быть человеку нравится и хочется в рамках его хобби поиграться со спрайтовым движком...
Варианты такого развлечения имеются, значит не ему первому пришла в голову такая мысль.
Почему бы и нет? :roll:

_________________
iLavr


20 May 2017 03:08
Profile
Novelist

Joined: 31 May 2007 08:23
Posts: 36
Location: Украина
Reply with quote
выводил print chr$(x),
где 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.



20 May 2017 08:41
Profile
Doomed

Joined: 10 Mar 2012 16:21
Posts: 598
Location: РФ
Reply with quote
bigral wrote:
... на дискретной логике .. на 8 ... спрайтов ...
Вообще то схемотехнически это не так уж и сложно :
Как по X ,так и по Y считают счётчики (, как многие возможно знают ).
Собственно из этих чисел следует вычитать начальные координаты спрайта аппаратным вычитателем и ,если разность меньше размера спрайта, то -> отображать_спрайт отображателем, а сама эта разность будет координатой пиксела в составе спрайта.
Таковых вычитателей-сравнивателей будет по числу спрайтовых плоскостей и по X и по Y ,то есть если например ( для удобства понимания ) взять экран 256*256 и 8 спрайтовых плоскостей, то понадобится всего-то-навсего 16аппаратных 8-и-битных вычитателей-сравнивателей и 8 аппаратных отображателей.
( отображатель 8*8 по сути мало чем отличается от отображателя 256*256 т.е. это тоже некая память, просто объём 64 бита ,а не 65536 бит )

bigral wrote:
Эх, если бы кто слепил нам ...
Но ,увы, из данного благого пожелания следует, что Вы маловероятно это будете делать, а вот будет ли кто другой - неизвестно, но примерно так же маловероятно.


20 May 2017 11:21
Profile
Senior

Joined: 30 Mar 2017 00:55
Posts: 137
Reply with quote
Ну мне вот интересна такая родственная тема - генератор визуалов с несколькими слоями видеопамяти и с наложением внешнего видео и с видеопроцессором (аппаратное ускорение геометрии, копирование, полигоны, перенос, фильтрация и сглаживание, повороты, наложение по маскам, цветовые градиенты по векторам, извращение над палитрами и битовыми полями, зеркально-симметричное отображение и прочее такое прикольное).
Нечто вроде амиговских видеоплат, но специально заточенное под всякие шизофренические эффекты. Спрайты там тоже пригодились бы как одна из функций - например, для наложения и морфинга текстов (делать всякие видео заставки с визуалами на фоне, и всё такое)...

Но если когда-то я буду это делать, то оно будет 16 или 32-разрядное, -под 68К, под х86 или ARM.
И конечно же, не на дискретной логике...


20 May 2017 11:42
Profile
Novelist

Joined: 31 May 2007 08:23
Posts: 36
Location: Украина
Reply with quote
Хотел сказать, что софт-спрайтьі 8*8 уже есть в zx, свои bitmap только подставлять.
Ячейки 23606 мл. байт, следующая - старший.

20раз ему, допустим, к памяти надо обратиься для рисования одной буквьі...

Но, таки да, в железе на момент обращения уже все готово.

Для игр и софт-версия ок.
преимущество nes+zx - возможность отладки

под чужое решение кодить неизбежно топикстартеру....?


21 May 2017 00:38
Profile
God

Joined: 02 Jan 2006 02:28
Posts: 1390
Location: Abakan
Reply with quote
zooleek wrote:
20раз ему, допустим, к памяти надо обратиься для рисования одной буквьі...
С учётом выборки инструкций, то по-более. 9 байт - чтение + 9 байт - запись + инкременты и прочие вычисления адресов. В этом смысле, на мой взгляд, экран Специалиста выглядит более привлекательным и производительным, несмотря на более простую реализацию схемотехники. Специалисту бы еще изначально вместо ВМ80 поставить Z80, ИМХО, было бы гораздо более привлекательно нежели Спектрум.


21 May 2017 05:51
Profile
Supreme God
User avatar

Joined: 21 Oct 2009 08:08
Posts: 7777
Location: Россия
Reply with quote
jdigreze wrote:
Специалисту бы еще изначально вместо ВМ80 поставить Z80, ИМХО, было бы гораздо более привлекательно нежели Спектрум.

"Специалисту" на закате жизни поставили-таки Z80, даже сделали турбо-режим (можно посмотреть
на сайте fifan-a)...
Однако "Специалист" это не спасло, поскольку Спектрум забил всех наличием огромного количества софта...

Но вы все что-то увлеклись, джентльмены... топикстартер хотел "на дискретной логике sprite engine! на 8... (16?) спрайтов, чтобы прикрутить к специалисту например, или к спектруму. Вот ПК 8003 Эльф такое умеет!"
А сказки по софтверные спрайты, думаю, ему не интересны...

Я намекнул, что Спектрум аппаратно "срасщивали" с микросхемой из Денди, имеющей аппаратный
спрайтовый движок видеоадаптера.

_________________
iLavr


21 May 2017 07:38
Profile
Senior

Joined: 31 Mar 2012 16:50
Posts: 152
Location: 93.73.80.128
Reply with quote
Black_Cat wrote:
... наконец есть TS- конфа, которая круче всех возможных денди-атарей, ...


есть, токо вот суть исходника никак не пойму: https://github.com/tslabs/zx-evo/tree/m ... /src/video

может кто-нибудь посмотрит и растолкует "на пальцах" смысл происходящего?

(и да... закралась обшибочка = Эльф это "ПК8002" а не 8003)


22 May 2017 10:20
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 11 posts ] 

Who is online

Users browsing this forum: No registered users and 5 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:  
Powered by phpBB® Forum Software © phpBB Group
Designed by ST Software.