САБЖ плиииз .
Добавлено через 1 час 53 минуты
Кажись неплохая инфа обнаружилась тамо - http://arcadedev.emuvibes.com/
САБЖ плиииз .
Добавлено через 1 час 53 минуты
Кажись неплохая инфа обнаружилась тамо - http://arcadedev.emuvibes.com/
fan,
ты меня извини пожалуйста, но давай здесь не будем обсуждать такие системы как аркадные автоматы и консоли.
я изза этого и сбежал с других эму-сайтов, потому как там кроме деньди, сеги, сони да новейших приставок ничё не знают и знать не хотят.
а тут хоть обсуждаются и спектрум и всякие восьмибитные компы.
Антиресно... фактически чисто спрайтовый движок, "якобы тайлы" - сбоку бантик...
Прям боюсь представить, как сия жуть в железе реализована. :v2_scare:
Да ты че, вон даже в "Железе" уже NESpectrum обсуждается!! :v2_wacko:
Поздняк метаться. :v2_laugh:
я понимаю, но мне очень не хотелось бы слышать на этом форуме о таких приставках которые выпускались после 95-96 годов.
эмуляционных сайтов где обсуждается такое, пруд-пруди.
а вы попробуйте найти какиенибудь форумы, наши Русские, на которых обсуждаются спектрум и тому подобные машинки ;)
Обсуждение других компьютеров не запрещено в этом разделе. Тем более речь о железе, а не о игрушках. Всегда есть смысл "на других посмотреть, и себя показать".Цитата:
Сообщение от ZEman
Я так понимаю пока выводится одна строка , набиваются регистры для следущей и т.д.
Это ИМХО просто кон генеально сделано , т.к. лучше набивать тучу регистров спрайтов (ведь каждый спрайт можно двигать как угодно отдельно от других), чем в реальном времени выводить всего пару/тройку задников (которые можно двигать только целиком) и небольшёе количество спрайтов (не большёе прежде всего на строку, т.к. много регистров из-за вывода задников набить не получится).
Единственный облом - нужно перенабивать просто тонну регистров чтоб расшевелить все спрайты . Если таковой изврат не нуже , то спрайты можно объеденить в блоки (и управлять каждым блоком как одним спрайтом) , в игрухе art of fighting (3) похоже именно так и сделано , но в metal slug (2) как раз туча спрайтов ширеной в 16 пикселей %)
Вобщем это ИМХО самый крутотенный вариант реализации тайлового движка (ещё бы произвольное масштабирование добовить аля эмитация перспективы и будет совсем здорово ;) ). И похоже в видео мозгах торчит обычная статика , т.к. туды же подтыкается кусок картриджа с тайлами (аля NES). Собсно этот момент хотелось бы выяснить как можно подробней , если кто ещё наткнётся на сайты с железячной инфой , то дайте плиз знать .
Вот кстати сайтик с фотками кишков автоматов , но фотки жудко маленькие - www.hardmvs.com
Про нео ещё на emu-russia.km.ru в "статьях".
А про фотки кишок аркад ещё на www.system16.com
нет, картинка статичная. т.е. если CPU встанет,
то картинка на экране сохранится
ты не с того бока зашел - оттолкнись от эмулятора. рядом с каждым эмулятором всегда валяется инфа по hardware. это утрированно, но я думаю путь поиска ты понял.Цитата:
Собсно этот момент хотелось бы выяснить как можно подробней , если кто ещё наткнётся на сайты с железячной инфой , то дайте плиз знать .
Ну я думаю какое-то ограничение на кол-во спрайтов в строке все же есть - ты только представь, если хотя бы четверть из 380 спрайтов сложить друг на друга (и почти все прозрачные) - сканер заколупается докапываться до нижнего пикселя! :) Да и в игрушках я че-то тучи слоев не заметил. Вот что объекты бывают афигительно крупные, это да.Цитата:
Сообщение от fan
Самый огроменный минус - о вычисляемой графике можно сразу забыть из-за столь радикально раздельной памяти. Хотя проц вполне мог бы справиться ну хотя бы с тем же обсчетом перспективы в рамках разумного.Цитата:
Сообщение от fan
Причём тут ваще CPU... Я говорил про то как это делает видео сопр .
Угу , а ещё там будет валяться принципиальнаная схема :v2_lol: :v2_lol: :v2_lol:
Сканер парится только с выводом подвижных задников которые выводятся в реальном времени ! А спрайты как раз читаются в сдвиговые регистры зарание ! (я так понимаю в NEO-GEO именно во время вывода строки сгребаются данные для следующей), и совершенно не важно в каком парядке.
В конечном итоге перед выводом строки у нас набиваются - сдвиговые регистры линий спрайтов , регистры цветовой и прочей атрибутики , регистры горизонтального положения спрайта . Все спрайты (точнее их определённые горизонтальные линии) выводятся одновременно (в соответствии с регистром горизонтального положения) ! В конечном итоге всё это дело идёт на мега мультиплексор , который "раздаёт" приорететы в соответствии с атрибутикой (или просто по номерам), далее данные пихаются в накрутчик палитры с которого уже и получается готовая картинка .
Они не только крупные , их ещё и дофигища :)
Отчего же , даже на NES есть ELITE . Тут уже всё зависит от мощи проца :D
Мда. интересно ты размышляешь.
В реальности, такие процессоры не содержат внутреннего frame-буфера. И не содержат даже буфер для строки.
Вкратце процессы происходящие в нем напоминают формирование мультиколора на спектруме. То есть видеоконтроллер должен выдать на RGB-пушки определенный цвет - он его берет на лету. Внутри есть регистры положений спрайтов. Эти регистры тупо хардварно, жестко вшито преобразуются в _адреса_ откуда данные брать из ROM. Вот и всё. приоритет жесткий, по номерам спрайтов. Если ты знаком с архитектурой контроллера КР580ВГ75 - то это нечто в этом духе.
В журнале "радио" ВГ75-ая была раскидана на комплектуху.
Дык задники - это тоже спрайты.
Мегамукс не решает проблему пропускной способности шины - а частоты тогдашние были так себе. Потому и думаю, что никуда от строковых ограничений не деться.
M68K тоже не всемогущ, да к тому же (насколько я понял) проц там никак не может изменять графику (и даже читать ее!), только ссылаться на уже готовую в роме. А в таких условиях пытаться что-то состряпать из готовых кусочков - тот еще мазохизм.
Я не мыслю , я констатирую .
Причём тут ваще фрейм буфер и буфер строки ???????
Туча сдвиговых регистров спрайтов ничего общего с ни с буфером строки ни ни тем боле с кадровым не имеют .
Ага... На лету... 96 спрайтов + 1 задник...
Таким макаром ты и двух спрайтов не выведешь , особенно если они друг над другом .
Приорететы можно "раздать" только паралельно выводимым данным .
Тогда уж "теже тайлый" ;)
Собсно как ты уже замечал на разных консолях - спрайты имеют ограничения на ширину (но могут буть впринципе какой угодно высоты (как это и сделали в NEO-GEO)) это связано с жирнотой сдвиговых регистров , также количество спрайтов на строку ограниченно это связанно как раз с количеством сдвиговых регистров (общее их число вероятно определяется пропускной способностью памяти и жадностью девелоперов :D).
А вот задники тупо выводятся по таблице тайлов в реальном времени (фактически гробя пропускную способность памяти), у каждого задника так же по сдвиговому регистру (+предварительные регистры) и по регистру атрибутики с которых данные пихаются в тот же мега мультиплексор/раздатчик приоритетов . (приритет раздаётся не сколько по тайлам сколько по их непрозрачной части).
Про ограничения уже написал . Но набить 96 регистров за строку вполне реально , тем более что вся инфа о спрайтах обычно хранится внутри чипа , нужно лишь схавать данные .
Я тоже подозреваю что на M68K супер текстурированную графку не нарендеришь , но нечто вроде элиты как на амиге ИМХО потянет .
Но проц кажись всётаки должен иметь дуступ к VRAM , ведь на борту-же торчит кусочек VRAM . Другое дело что проц напрямую не может писать/читать в VRAM , а делает это через регистры .
Кстати ктонить запускал Riding Hero на nebula225b ? У меня какая то странная версия никаким боком не подходящая к ebula225b , не знаю где лучше скачать подходящую . Мне собсно хотелось глянуть как там дорога сделана (на NEO_RAGE_Xv06b дороги невидать).
Вот такой у меня набор файлов в архиве Riding Hero -
N046001A.038 DABFAC95
N046001A.178 CDF74A42 006-v11.bin
N046001A.17C E2FD2371 006-v12.bin
N046001A.278 94092BCE 006-v21.bin
N046001A.27C 4E2CD7C3 006-v22.bin
N046001A.378 EB5189F0
N046001A.478 D904594B
N046001A.538 24096241
N046001A.53C 7026A3A2
N046001A.638 DF6A5B00
N046001A.63C 15220D51
N046001B.278 69C71ED 006-v23.bin
N046001B.27C 89FBB825 006-v24.bin
riding hero
Я не в этом смысле хотел глянуть %) На NEO-GEO не густо с игрухами где задники по строчно двигаются , я бы сказал что их ваще нет . Riding Hero наверное единственный представитель где это делается (в демке Shadow of the Beast всё делается спрайтами :D ). Собсно я хотел путём отрубания лишних тайлов или замусоривания ROMа уточнить как именно это делается . Посему если кто гонял Riding Hero именно на nebula , то кинтесь линком на ROM плиз .
fan, ты доку-то хотя бы читал? ;) Там прямым текстом написано, что движущиеся задники (неподвижный fixlayer не в счет) набираются из обычных спрайтов (любых!), так что к ним по идее должны все равно применяться все стандартные спрайтовые проверки. Притом один задник отжирает минимум 20 спрайтов, так что получается, уже после трех задников на объекты остается совсем негусто...Цитата:
Сообщение от fan
Ну не знаю, судя по тексту - врам содержит одни только ссылки (так называемые sprite control blocks), то есть рисовать процом произвольные тайлы никак невозможно, даже через порты. Все битмапы в роме хранятся.Цитата:
Сообщение от fan
Рассказ как работают 2D видеопроцессоры нужен?
У нас в цирке медведи тоже азбуку читают, так что этим меня ты не напугаешь. :p Мне разве что замороченная сортировка может быть интересна да сравнительный анализ фактических реализаций, а не общие принципы.
посмотрел по диагонали пдфку "нео_спекс"
я так понял, теоретически можно замаппить в врам ссылки на память проца, куда можно процом тайлы рисовать. я правда не считал поместится ли туда [в память проца] такое количество тайлов и автор не уверен возможен ли такой финт ушами (не видел ни одной игрухи которая так делала, что в принципе, логично :) )
Добавлено через 2 минуты
ээ.. забыл упомянуть, что именно так делается вся 3д графика на хардварных тайловых движках, в частности на несе элита так сделана.
Скорее всего нельзя - отдельные тайлы каждого спрайта обозначаются номерами банка и тайла в банке, а не адресом. Хотя однозначно сказать нельзя, дело темное (тем более там походу еще и ошибки - так, SСB1 должны лежать в адресах 0x0000-0x5FFF, а рядом аффтар вообще смешал десятичный номер с шестнадцатеричным префиксом). :)
Угу, только там юзерские тайлы официально документированы.
Я говорил про "железные" задники и спрайты , те что на других консолях . Просто не так понял к чему относитя фраза "Дык задники - это тоже спрайты" , думал ты про другие консоли говоришь , а так конечно на NEO-GEO всё что видно это спрайты , не считая одного вшивого заденика .