nedoPC.org

Community of electronics hobbyists established in 2002

...
Atom Feed | View unanswered posts | View active topics It is currently 20 Oct 2017 23:13



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

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


19 May 2017 14:46
Profile
Supreme God
User avatar

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

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

_________________
iLavr


19 May 2017 15:44
Profile
Doomed
User avatar

Joined: 23 Nov 2007 18:53
Posts: 342
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 05:09
Profile WWW
Supreme God
User avatar

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

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

_________________
iLavr


20 May 2017 06:08
Profile
Novelist

Joined: 31 May 2007 11:23
Posts: 25
Location: Украина
Reply with quote
пока не сломался магнитофон для сохранения наработок,
я на Спектруме кое-что пытался изобразить.

выводил print chr$(x),
где x - весь алфавит английский(с большими буквами) и знаки припинания,
основной "фонт", всего 786 байт - по 8 байт на символ.

я выводил весь экран с помощью трех таких "фонтов".
на экране они могут присутвовать одновременно.

их и переключать можно (с помощью poke x1,addr: poke x2,addr - две ячейки в верхней памяти, номер не помню, а значения в них засылаюся - старший и младший байты адреса на начало масива нового "фонта" )
и выводить буквы в любых сочетаниях, тоесть теперь
спрайты 8*8 программно, без микрух.

такое вот программное решение..
(это я уже через много лет узнал что у сверсника Дэнди это уже есть и аппаратно)

закрашивать надо, наверное, отдельно.. или в параметрах print или перед ним... я уже и не помню какой там мог быть синтаксис....


20 May 2017 11:41
Profile
Doomed

Joined: 10 Mar 2012 19:21
Posts: 474
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 14:21
Profile
Senior

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

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


20 May 2017 14:42
Profile
Novelist

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

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

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

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

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


21 May 2017 03:38
Profile
God

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


21 May 2017 08:51
Profile
Supreme God
User avatar

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

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

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

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

_________________
iLavr


21 May 2017 10:38
Profile
Senior

Joined: 31 Mar 2012 19:50
Posts: 111
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 13:20
Profile
Display posts from previous:  Sort by  
Reply to topic   [ 11 posts ] 

Who is online

Users browsing this forum: No registered users and 1 guest


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.