..и сколько лет он отводит на размышления потенциальным покупателям? :) ..вон на Спринтер до сих пор наверно покупателя с десятью килобаксами ждут :)
Вид для печати
..и сколько лет он отводит на размышления потенциальным покупателям? :) ..вон на Спринтер до сих пор наверно покупателя с десятью килобаксами ждут :)
На самом деле нет никаких серьёзных аппаратных ограничений на высоту спрайта . Но даже если ограничение будет оставлено , то вполне в порядке вещей переписать таблицу имён тайлов спрайтов хоть под каждую строку . В результате спрайт может быть какой угодно высоты и состоять из каких угодно валяющихся в памяти тайлов .
А чёго в этом такого . Разве суть блиттера не в том чтоб кидать огрызки картинок в память сканера .
При особом старании ёе даже не будет хватать .
Дык вроде как сырки от четвёртого проэкта и так свободно лежат .
А вот схемку самой платки я бы глянул , уж больно интересно какие там тараканы и вчесть чего установлены .
Под MINI-ITX бы переколбасить (со слотом расширения) . Внешний проц ИМХО нафиг нужен . Матрицу можно и пожирней поставить .
Нету. Но высокие не так часто нужны, это ж не неогей. :)
Ну выделить 32К, чтоб с запасом, а остальное?
Ну не из основной же памяти, где цпу (и мало ли кто еще) под ногами путается.
А тут блиттер еще и восьмибитный получится.
Ага, причем возместить ее за счет неиспользуемой фоновой памяти нельзя.
И в обратном случае, когда под задник памяти не хватает - та же картина.
Мне ваще непонятно, нафига такое дурацкое разделение? Никакой выгоды по сравнению с общей 16-битной шиной нет, напротив - двойной проигрыш получается. Во-первых по объему (см. выше) из-за жесткого разделения пополам - как ни крутись, дефицит будет в среднем возникать вдвое чаще; во-вторых по скорости (потому что суммарно спрайтовых точек в пике читается больше, чем фоновых и "фоновая" рама сканером на 100% не юзается) - то есть раздельная схема как раз дополнительно ограничивает (!) макс.кол-во спрайтов на строку, а вовсе не увеличивает! Причем сколько бы памяти ни добавить теоретически - проблема скорости никуда не денется, а проблема дефицита "решается" крайне нерационально.
Что "линейно"? Задник в любом случае одинаково тянется, регистры почти не влияют, а "пик" - это когда растровая строка вся забита спрайтами по максимуму, в случае таймингов сабжа 56*16=896 точек. Это только с одной рамы, а с другой стабильно тянется 256 точек в строке, хотя в случае общей памяти могло быть еще 896. Итого пиковая эффективность сканера 64% от совмещенного варианта, а вместо теоретически возможных ~90 спрайтов на строку получается всего-то 56.
И еще я не понял, нафига у него аж 12ns врама судя по кол-ву спрайтов всего-то на 16МГц пашет? Или больше, тогда непонятно зачем оставлен агромадный запас на бесконфликтный доступ 8МГц z80... и даже если на 16МГц выделять зетнику фиксированные окошки доступа, все равно 70+ спрайтов в совмещенном варианте выходит.
чего-то я сосвем запутался, обьясните мне эту модель в деталях, вот как я себе это представляю:
Сканер задника читает 256 байт на одну строку а движек спрайтов на каждой строке вычитывает sprite control block + сами спрайты (если надо) т.е. в минимальном варианте sprite engine считывает токо Y координату для каждого спрайта (56 байт) а в худшем варианте все sprite control block-и и по одной строке каждого спрайта 3?*56+56*16. Так как sprite engine не успевает сформировать буфер со строкой из линий спрайтов во время высвечивания бордюра и обратного хода луча к началу следующей строки то ему отведена отдельная шина и два буфера строки которые он заполняет поочередно, таким образом пока первая строка "накладывается" на текущую строчку "задника" и высвечивается на экране sprite engine формирует содержимое второй строчки во втором буфере а в момент когда текущая строка задника уже высветилась и новая строка спрайтов уже готова происходит swap буферов и начало формирования следующей строки спрайтов.
И тут как не крути а скорость на шине спрайтов всегда будет НЕпостоянной и потенциально большей в разы чем на шине задника.
Не 56, а вроде бы написано все 127 (проверяет по крайней мере). Только чего-то слегка не сходятся тайминги для худшего случая на 60Гц кадр @ 16МГц рам, хм?
Буфера внутренние нужны. Отдельная шина нафиг не нужна.
Я и грю - сплошной проигрыш. Зачем, спрашивается?
->
Это и есть линейно .
Термин "почти" неприменим впринципе , регистров набивается столько сколько сколько реализовано (исходя из пропускнай способности памяти) , даже если насамом деле ничего не набивается . (чувак конечно сделал возможность набивать регистры для других строк во время пустых , но на самом деле это практически не применимо , т.к. на следующих же строках начнутся дропы спрайтов).
Не может быть никаких пиков у аппаратной железки , всё высчитывается из реализованного аппаратного максимума .
Вроде у него 320 на строку при одном заднике . Не важно... Уговорили :D
Ну не ВСЕ же :) И вместо одной универсальной читалки - две разных.
В смысле - набивка самих регистров мало % времени жрет
В смысле пик - возможный максимум загрузки шины для логики движка, а не теоретически допускаемый железом
Ошибсо - моск привычно покатилсо в спековую колею :)
Обломали кайф человеку :p
Так ведь речь была о спратйах/точках которые железный движёк может вытянуть из видео мозгов . Эта величина для движка всегда постоянная . Шину видео мозгов напрячь логикой нельзя ибо вся рулёжка реализованна в кучки регистров внутри матрицы (включая регистры палитры) , рулить ими можно в любое время .
Единственное узкое место - количество тайлов/точек которое проц/DMA смогут протащить за кадровое гашение . Вот здесь бы были бы очёнь кстати четырёхбитные тайлы с выбираемой палитрой .
А нафига ограничиваться гашением? Каменный век. Отдать зетнику все неиспользуемые такты (никто ж не заставляет програмера сразу ВСЕ спрайты включать) - запись будет совсем без тормозов (если с буфером), при чтении возможен короткий вайт. Z80 8МГц сможет напрягать врам 16 МГц максимум на 1/10 (одними стековыми командами). А DMA просто тупо схавает остальное.
Фил опубликовал окончательные спецификации по своему сабжу http://www.retroleum.co.uk/v5z80p.html
Есть фильмы на YouTube про сабж.
Обещает собрать пару плат для желающих за 75 фунтов.
Кто будет покупать?
Я уже отписал ему.
Не выдумывай. Проц может в свободное время видеошины в тех же мозгах заполнять теневой задник к примеру, или край дорисовывать, или даже мучить вторую половину спрайтов (все равно все не отображаются). Хотя при желании даже на Спеке обходились вообще без теневого буфера. А тут на зетник еще и нагрузка меньше.
Ну на подрисовку и гашения хватит . А вот для более глобальных изменений аля ацкая анимация :D видео мозгов может понадобится несколько больше чем есть , ибо спрайтам и задникам(тайловых два) мозгов практически впритык .
Открыты все исходники проекта
(public domain)
Спасибо автору :v2_thumb:
http://www.mediafire.com/?ngcwm0hnzjw
не совсем понял, это клон (т.е. комп...спекк) или просто наворот для спекка?
это просто новый самодельный комп на базе Z80 к спеку ничего общего он не имеет ( кроме проца) . просто хороший пример того что человек взял и сделал чтото полностью сам - начиная с железа и заканчивая софтом
понятно...
Вообще, написать (или портировать) прошивку для fpga, которая реализует спек, вполне возможно для этой платы. fpga довольно вместительная, хватит даже на спек с наворотами.
Можно прошить в SPI EEPROM несколько fpga прошивок (спек, нативная) и
выбирать прошивку в стартовом меню. (этим PIC занимается)
Автор нативной прошивки, создал свою архитектуру.
Фишка в самой видео-системе, которая имеет палитру 4096 цветов и
довольно приличное кол-во аппаратных спрайтов и игровых полей.
Из последних фич нативной прошивки, что были добавлены в fpga, это 16bit math unit.
Для быстрого умножения чисел с фиксированной запятой.
Теперь z80 может очень быстро, перемножать числа.
(в сорцах есть пример использования)
В следующих версиях платы ожидается:
- интегрирование блока питания в саму плату (сейчас это маленькая отдельная платка)
- добавление возможности записи в SPI EEPROM (сейчас PIC только читать умеет), чтобы обновлять код прошивки прямо на плате
ТОлько вот как этот мегадевайс памогет спеку абрести крутую графику????!!
На сайте появилась первая игра для V5Z80P,
Bounder (римейк) by Phil Ruston.
Можно посмотреть видео.
Исходники выложены.
Угу , симпотненько . И два задника заюзаны .
Подключена MMC/SD карточка. Пока что, на дочерней плате. Позже будет интегрирована в схему.
Добавлен новый видео режим "chunky" mode,
линейный 1байт=1пиксель. 256 цветов.
Реализовано аппаратное рисование линии. (в видео режиме "chunky")
Входные параметры - константы Брезенхема.
Добавлен режим all-writes-go-to-VRAM, в котором видео-память отображена на всё адресное пространство CPU (64KB). Все записи от CPU идут напрямую в видео-память.
В блитер, добавлен режим прозрачных точек (skip-zero-write). Теперь блитер может рисовать прозрачные области.
На все нововведения, есть примеры использования.
Вышел официальный апдейт.
Версии HW263, OS509.
www.mediafire.com/v5z80p
Выложено mini FAQ,
http://www.retroleum.co.uk/files/v5z80p/minifaq.txt
Автор зарелизил 3D wireframe intro.
Исходники:
http://www.retroleum.co.uk/files/v5z80p/wireframe.zip
Видео можно скачать по ссылкам:
25 FPS Youtube version:
<http://uk.youtube.com/watch?v=VB19lLdLm8A>http://uk.youtube.com/watch?v=VB19lLdLm8A
Лучшее качество, 50 FPS version:
http://www.mediafire.com/v5z80p (в папке "Videos": 10MB)
Большую часть фрэйма, занимают реал-тайм 3Д вычисления. Для умножения целых чисел на sin/cos,
используется аппаратный умножитель.
Линии сортируются по Z оси.
Рисование линий происходит аппаратно.
Звёзды и лого - спрайты. Для вывода скроллера, юзается блиттер.
В интро используется, видео режим "chunky" (1байт=1пиксель, всего 256цветов)
На скриншотах:
- сцена с самым большим 3Д объектом (знак вопроса - 48 3Д векторов)
- с самым малым (куб - 8 векторов)
Рульно .
Автор зарелизил linedraw demo. (простая 8битовая математика, 256 линий во фрэйм)
Исходники:
http://www.retroleum.co.uk/files/v5z80p/spira.zip
Видео можно скачать по ссылкам:
25 FPS Youtube version:
http://uk.youtube.com/watch?v=kRahC9Jlx-o
Лучшее качество, 50 FPS version:
http://www.mediafire.com/v5z80p (в папке "Videos": spira_HQ.avi 41MB)
-----
обновил предыдущий пост,
добавил скриншоты и ссылку на исходники
Слов нет одни эмоции :) Если дело до заливки дойдёт , то ваще чума будет :v2_eek:
Автор зарелизил Vectorballs demo.
(используется аппаратный умножитель, и режим "write direct to VRAM")
Режим 368x256, тайловый, два тайловых поля.
Исходники:
http://www.retroleum.co.uk/files/v5z...torballs_2.zip
Видео можно скачать по ссылкам:
25 FPS Youtube version:
http://uk.youtube.com/watch?v=Wv-zCyB0hiI
Лучшее качество, 50 FPS version:
http://www.mediafire.com/v5z80p (в папке "Videos": Vectorballs2.avi 22MB)
---
Заливка будет, если люди востребуют, место в чипе ещё есть.
Во чувак дорвался а!
В конце 80-х годов многие конторы хотели создать что-то подобное (8-bit gaming home comp/console) типа как дешевую альтернативу AMIGA и ATARI ST в результате много чего появилось типа sam coupe, c65, sega master, msx turbo r.
Этот чувак сделал аппарат который круче всех ранее известных 8-bit приставок и компов похоже ... но думаю эфективность примененного им метода сомнительна. С такими затратами (частота, обьем памяти, размер интегральной схемы) он похоже давно перепрыгнул по всем параметрам AMIGA1200 :) ...
зато оно на Z80! :)
Просто софт нужен под новое железо.
А1200 это ты уж загнул кончено.:) Но на уровне (а кое-где и получше) классической А500, это точно.
Системная частота в 16Мгц вполне пригодна для homebrew плат.
И посему спектрумисту не составит большого труда разобраться в проекте.
Да я бы сказал что по крайней мере по видео части А500 унд А1200 обе курят бамбук , особенно А500 .
очень крута канешна, но что нам на спектруме толку от этого?! вот если бы возможности девайса прикурить к АТМ, профи, пентагону...кароче к спеку, то да..а так...очередная мёртвая поделка, которая через пару лет никто не вспомнит...даже сам автор...
Наверно я все же заумно иногда выражаюсь раз сразу два человека не поняли сразу чего я написал... Я имел в виду что если бы кто создал ASIC с тем количеством "транзисторов" что на этой плате сейчас, да на той частоте которую они при таком процессе (90нм?) могут выдержать, да с той памятью что там установленна то наверно получился бы SONY PS :)
Добавлено через 3 минуты
На скоко я понял пока что автор настроен решительно, плохо токо что 99%? поддержки проекту он сам создает, на длительный срок пожалуй энтузиазма не хватит :(
пусть прикручивает графу к спектруму...тогда на долго хватит...