Вход

Просмотр полной версии : Случайно никто не вкурсе где можно глянуть хорошую инфу по железной части NEO-GEO ?



fan
07.09.2007, 02:12
САБЖ плиииз .

Добавлено через 1 час 53 минуты
Кажись неплохая инфа обнаружилась тамо - http://arcadedev.emuvibes.com/

ZEman
07.09.2007, 07:33
fan,
ты меня извини пожалуйста, но давай здесь не будем обсуждать такие системы как аркадные автоматы и консоли.
я изза этого и сбежал с других эму-сайтов, потому как там кроме деньди, сеги, сони да новейших приставок ничё не знают и знать не хотят.
а тут хоть обсуждаются и спектрум и всякие восьмибитные компы.

Lethargeek
07.09.2007, 07:44
Кажись неплохая инфа обнаружилась тамо - http://arcadedev.emuvibes.com/
Антиресно... фактически чисто спрайтовый движок, "якобы тайлы" - сбоку бантик...
Прям боюсь представить, как сия жуть в железе реализована. :v2_scare:


ты меня извини пожалуйста, но давай здесь не будем обсуждать такие системы как аркадные автоматы и консоли.
я изза этого и сбежал с других эму-сайтов, потому как там кроме деньди, сеги, сони да новейших приставок ничё не знают и знать не хотят.
а тут хоть обсуждаются и спектрум и всякие восьмибитные компы.
Да ты че, вон даже в "Железе" уже NESpectrum обсуждается!! :v2_wacko:
Поздняк метаться. :v2_laugh:

ZEman
07.09.2007, 08:04
я понимаю, но мне очень не хотелось бы слышать на этом форуме о таких приставках которые выпускались после 95-96 годов.
эмуляционных сайтов где обсуждается такое, пруд-пруди.
а вы попробуйте найти какиенибудь форумы, наши Русские, на которых обсуждаются спектрум и тому подобные машинки ;)

spensor
07.09.2007, 11:13
я понимаю, но мне очень не хотелось бы слышать на этом форуме о таких приставках которые выпускались после 95-96 годов.
эмуляционных сайтов где обсуждается такое, пруд-пруди.
а вы попробуйте найти какиенибудь форумы, наши Русские, на которых обсуждаются спектрум и тому подобные машинки
Обсуждение других компьютеров не запрещено в этом разделе. Тем более речь о железе, а не о игрушках. Всегда есть смысл "на других посмотреть, и себя показать".

fan
07.09.2007, 19:01
Антиресно... фактически чисто спрайтовый движок, "якобы тайлы" - сбоку бантик...
Прям боюсь представить, как сия жуть в железе реализована.
Я так понимаю пока выводится одна строка , набиваются регистры для следущей и т.д.
Это ИМХО просто кон генеально сделано , т.к. лучше набивать тучу регистров спрайтов (ведь каждый спрайт можно двигать как угодно отдельно от других), чем в реальном времени выводить всего пару/тройку задников (которые можно двигать только целиком) и небольшёе количество спрайтов (не большёе прежде всего на строку, т.к. много регистров из-за вывода задников набить не получится).

Единственный облом - нужно перенабивать просто тонну регистров чтоб расшевелить все спрайты . Если таковой изврат не нуже , то спрайты можно объеденить в блоки (и управлять каждым блоком как одним спрайтом) , в игрухе art of fighting (3) похоже именно так и сделано , но в metal slug (2) как раз туча спрайтов ширеной в 16 пикселей %)

Вобщем это ИМХО самый крутотенный вариант реализации тайлового движка (ещё бы произвольное масштабирование добовить аля эмитация перспективы и будет совсем здорово ;) ). И похоже в видео мозгах торчит обычная статика , т.к. туды же подтыкается кусок картриджа с тайлами (аля NES). Собсно этот момент хотелось бы выяснить как можно подробней , если кто ещё наткнётся на сайты с железячной инфой , то дайте плиз знать .

Вот кстати сайтик с фотками кишков автоматов , но фотки жудко маленькие - www.hardmvs.com

sv
07.09.2007, 21:43
Про нео ещё на emu-russia.km.ru в "статьях".
А про фотки кишок аркад ещё на www.system16.com

Raider
07.09.2007, 21:56
Я так понимаю пока выводится одна строка , набиваются регистры для следущей и т.д.


нет, картинка статичная. т.е. если CPU встанет,
то картинка на экране сохранится



Собсно этот момент хотелось бы выяснить как можно подробней , если кто ещё наткнётся на сайты с железячной инфой , то дайте плиз знать .


ты не с того бока зашел - оттолкнись от эмулятора. рядом с каждым эмулятором всегда валяется инфа по hardware. это утрированно, но я думаю путь поиска ты понял.

Lethargeek
08.09.2007, 02:28
Это ИМХО просто кон генеально сделано , т.к. лучше набивать тучу регистров спрайтов (ведь каждый спрайт можно двигать как угодно отдельно от других), чем в реальном времени выводить всего пару/тройку задников (которые можно двигать только целиком) и небольшёе количество спрайтов (не большёе прежде всего на строку, т.к. много регистров из-за вывода задников набить не получится).
Ну я думаю какое-то ограничение на кол-во спрайтов в строке все же есть - ты только представь, если хотя бы четверть из 380 спрайтов сложить друг на друга (и почти все прозрачные) - сканер заколупается докапываться до нижнего пикселя! :) Да и в игрушках я че-то тучи слоев не заметил. Вот что объекты бывают афигительно крупные, это да.


Единственный облом - нужно перенабивать просто тонну регистров чтоб расшевелить все спрайты . Если таковой изврат не нуже , то спрайты можно объеденить в блоки (и управлять каждым блоком как одним спрайтом) , в игрухе art of fighting (3) похоже именно так и сделано , но в metal slug (2) как раз туча спрайтов ширеной в 16 пикселей %)
Самый огроменный минус - о вычисляемой графике можно сразу забыть из-за столь радикально раздельной памяти. Хотя проц вполне мог бы справиться ну хотя бы с тем же обсчетом перспективы в рамках разумного.

fan
08.09.2007, 17:25
нет, картинка статичная. т.е. если CPU встанет,
то картинка на экране сохранится
Причём тут ваще CPU... Я говорил про то как это делает видео сопр .

ты не с того бока зашел - оттолкнись от эмулятора. рядом с каждым эмулятором всегда валяется инфа по hardware. это утрированно, но я думаю путь поиска ты понял.
Угу , а ещё там будет валяться принципиальнаная схема :v2_lol: :v2_lol: :v2_lol:


Ну я думаю какое-то ограничение на кол-во спрайтов в строке все же есть - ты только представь, если хотя бы четверть из 380 спрайтов сложить друг на друга (и почти все прозрачные) - сканер заколупается докапываться до нижнего пикселя!
Сканер парится только с выводом подвижных задников которые выводятся в реальном времени ! А спрайты как раз читаются в сдвиговые регистры зарание ! (я так понимаю в NEO-GEO именно во время вывода строки сгребаются данные для следующей), и совершенно не важно в каком парядке.
В конечном итоге перед выводом строки у нас набиваются - сдвиговые регистры линий спрайтов , регистры цветовой и прочей атрибутики , регистры горизонтального положения спрайта . Все спрайты (точнее их определённые горизонтальные линии) выводятся одновременно (в соответствии с регистром горизонтального положения) ! В конечном итоге всё это дело идёт на мега мультиплексор , который "раздаёт" приорететы в соответствии с атрибутикой (или просто по номерам), далее данные пихаются в накрутчик палитры с которого уже и получается готовая картинка .


Да и в игрушках я че-то тучи слоев не заметил. Вот что объекты бывают афигительно крупные, это да.
Они не только крупные , их ещё и дофигища :)


Самый огроменный минус - о вычисляемой графике можно сразу забыть из-за столь радикально раздельной памяти. Хотя проц вполне мог бы справиться ну хотя бы с тем же обсчетом перспективы в рамках разумного.
Отчего же , даже на NES есть ELITE . Тут уже всё зависит от мощи проца :D

Raider
08.09.2007, 19:02
В конечном итоге перед выводом строки у нас набиваются - сдвиговые регистры линий спрайтов , регистры цветовой и прочей атрибутики , регистры горизонтального положения спрайта . Все спрайты (точнее их определённые горизонтальные линии) выводятся одновременно (в соответствии с регистром горизонтального положения) ! В конечном итоге всё это дело идёт на мега мультиплексор , который "раздаёт" приорететы в соответствии с атрибутикой (или просто по номерам), далее данные пихаются в накрутчик палитры с которого уже и получается готовая картинка ....

Мда. интересно ты размышляешь.
В реальности, такие процессоры не содержат внутреннего frame-буфера. И не содержат даже буфер для строки.
Вкратце процессы происходящие в нем напоминают формирование мультиколора на спектруме. То есть видеоконтроллер должен выдать на RGB-пушки определенный цвет - он его берет на лету. Внутри есть регистры положений спрайтов. Эти регистры тупо хардварно, жестко вшито преобразуются в _адреса_ откуда данные брать из ROM. Вот и всё. приоритет жесткий, по номерам спрайтов. Если ты знаком с архитектурой контроллера КР580ВГ75 - то это нечто в этом духе.
В журнале "радио" ВГ75-ая была раскидана на комплектуху.

Lethargeek
09.09.2007, 08:48
Сканер парится только с выводом подвижных задников которые выводятся в реальном времени ! А спрайты как раз читаются в сдвиговые регистры зарание !
Дык задники - это тоже спрайты.


В конечном итоге перед выводом строки у нас набиваются - сдвиговые регистры линий спрайтов , регистры цветовой и прочей атрибутики , регистры горизонтального положения спрайта . Все спрайты (точнее их определённые горизонтальные линии) выводятся одновременно (в соответствии с регистром горизонтального положения) ! В конечном итоге всё это дело идёт на мега мультиплексор , который "раздаёт" приорететы в соответствии с атрибутикой (или просто по номерам), далее данные пихаются в накрутчик палитры с которого уже и получается готовая картинка .
Мегамукс не решает проблему пропускной способности шины - а частоты тогдашние были так себе. Потому и думаю, что никуда от строковых ограничений не деться.


Отчего же , даже на NES есть ELITE . Тут уже всё зависит от мощи проца
M68K тоже не всемогущ, да к тому же (насколько я понял) проц там никак не может изменять графику (и даже читать ее!), только ссылаться на уже готовую в роме. А в таких условиях пытаться что-то состряпать из готовых кусочков - тот еще мазохизм.

fan
09.09.2007, 17:27
Мда. интересно ты размышляешь.
Я не мыслю , я констатирую .

В реальности, такие процессоры не содержат внутреннего frame-буфера. И не содержат даже буфер для строки.
Причём тут ваще фрейм буфер и буфер строки ???????
Туча сдвиговых регистров спрайтов ничего общего с ни с буфером строки ни ни тем боле с кадровым не имеют .


Вкратце процессы происходящие в нем напоминают формирование мультиколора на спектруме. То есть видеоконтроллер должен выдать на RGB-пушки определенный цвет - он его берет на лету.
Ага... На лету... 96 спрайтов + 1 задник...

Внутри есть регистры положений спрайтов. Эти регистры тупо хардварно, жестко вшито преобразуются в _адреса_ откуда данные брать из ROM. Вот и всё. приоритет жесткий, по номерам спрайтов.
Таким макаром ты и двух спрайтов не выведешь , особенно если они друг над другом .
Приорететы можно "раздать" только паралельно выводимым данным .


Дык задники - это тоже спрайты.
Тогда уж "теже тайлый" ;)
Собсно как ты уже замечал на разных консолях - спрайты имеют ограничения на ширину (но могут буть впринципе какой угодно высоты (как это и сделали в NEO-GEO)) это связано с жирнотой сдвиговых регистров , также количество спрайтов на строку ограниченно это связанно как раз с количеством сдвиговых регистров (общее их число вероятно определяется пропускной способностью памяти и жадностью девелоперов :D).
А вот задники тупо выводятся по таблице тайлов в реальном времени (фактически гробя пропускную способность памяти), у каждого задника так же по сдвиговому регистру (+предварительные регистры) и по регистру атрибутики с которых данные пихаются в тот же мега мультиплексор/раздатчик приоритетов . (приритет раздаётся не сколько по тайлам сколько по их непрозрачной части).

Мегамукс не решает проблему пропускной способности шины - а частоты тогдашние были так себе. Потому и думаю, что никуда от строковых ограничений не деться.
Про ограничения уже написал . Но набить 96 регистров за строку вполне реально , тем более что вся инфа о спрайтах обычно хранится внутри чипа , нужно лишь схавать данные .


M68K тоже не всемогущ, да к тому же (насколько я понял) проц там никак не может изменять графику (и даже читать ее!), только ссылаться на уже готовую в роме. А в таких условиях пытаться что-то состряпать из готовых кусочков - тот еще мазохизм.
Я тоже подозреваю что на 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

sv
10.09.2007, 03:10
riding hero

fan
10.09.2007, 15:28
Я не в этом смысле хотел глянуть %) На NEO-GEO не густо с игрухами где задники по строчно двигаются , я бы сказал что их ваще нет . Riding Hero наверное единственный представитель где это делается (в демке Shadow of the Beast всё делается спрайтами :D ). Собсно я хотел путём отрубания лишних тайлов или замусоривания ROMа уточнить как именно это делается . Посему если кто гонял Riding Hero именно на nebula , то кинтесь линком на ROM плиз .

Lethargeek
10.09.2007, 15:46
Тогда уж "теже тайлый"

А вот задники тупо выводятся по таблице тайлов в реальном времени (фактически гробя пропускную способность памяти), у каждого задника так же по сдвиговому регистру (+предварительные регистры) и по регистру атрибутики с которых данные пихаются в тот же мега мультиплексор/раздатчик приоритетов . (приритет раздаётся не сколько по тайлам сколько по их непрозрачной части).
fan, ты доку-то хотя бы читал? ;) Там прямым текстом написано, что движущиеся задники (неподвижный fixlayer не в счет) набираются из обычных спрайтов (любых!), так что к ним по идее должны все равно применяться все стандартные спрайтовые проверки. Притом один задник отжирает минимум 20 спрайтов, так что получается, уже после трех задников на объекты остается совсем негусто...


Но проц кажись всётаки должен иметь дуступ к VRAM , ведь на борту-же торчит кусочек VRAM . Другое дело что проц напрямую не может писать/читать в VRAM , а делает это через регистры.
Ну не знаю, судя по тексту - врам содержит одни только ссылки (так называемые sprite control blocks), то есть рисовать процом произвольные тайлы никак невозможно, даже через порты. Все битмапы в роме хранятся.

Raider
10.09.2007, 23:13
Рассказ как работают 2D видеопроцессоры нужен?

icebear
11.09.2007, 11:08
Рассказ как работают 2D видеопроцессоры нужен?

Давай (Летаргик - в трубочку :v2_devil:)

Lethargeek
11.09.2007, 12:18
У нас в цирке медведи тоже азбуку читают, так что этим меня ты не напугаешь. :p Мне разве что замороченная сортировка может быть интересна да сравнительный анализ фактических реализаций, а не общие принципы.

icebear
11.09.2007, 12:52
У нас в цирке медведи тоже азбуку читают, так что этим меня ты не напугаешь. :p

Ну если у вас медведи такие же, как и кони - не удивительно.

ng_dead
11.09.2007, 13:26
Ну не знаю, судя по тексту - врам содержит одни только ссылки (так называемые sprite control blocks), то есть рисовать процом произвольные тайлы никак невозможно, даже через порты. Все битмапы в роме хранятся. посмотрел по диагонали пдфку "нео_спекс"
я так понял, теоретически можно замаппить в врам ссылки на память проца, куда можно процом тайлы рисовать. я правда не считал поместится ли туда [в память проца] такое количество тайлов и автор не уверен возможен ли такой финт ушами (не видел ни одной игрухи которая так делала, что в принципе, логично :) )

Добавлено через 2 минуты
ээ.. забыл упомянуть, что именно так делается вся 3д графика на хардварных тайловых движках, в частности на несе элита так сделана.

Lethargeek
11.09.2007, 14:20
я так понял, теоретически можно замаппить в врам ссылки на память проца, куда можно процом тайлы рисовать. я правда не считал поместится ли туда [в память проца] такое количество тайлов и автор не уверен возможен ли такой финт ушами
Скорее всего нельзя - отдельные тайлы каждого спрайта обозначаются номерами банка и тайла в банке, а не адресом. Хотя однозначно сказать нельзя, дело темное (тем более там походу еще и ошибки - так, SСB1 должны лежать в адресах 0x0000-0x5FFF, а рядом аффтар вообще смешал десятичный номер с шестнадцатеричным префиксом). :)


ээ.. забыл упомянуть, что именно так делается вся 3д графика на хардварных тайловых движках, в частности на несе элита так сделана.
Угу, только там юзерские тайлы официально документированы.

fan
11.09.2007, 17:20
fan, ты доку-то хотя бы читал? Там прямым текстом написано, что движущиеся задники (неподвижный fixlayer не в счет) набираются из обычных спрайтов (любых!), так что к ним по идее должны все равно применяться все стандартные спрайтовые проверки. Притом один задник отжирает минимум 20 спрайтов, так что получается, уже после трех задников на объекты остается совсем негусто...
Я говорил про "железные" задники и спрайты , те что на других консолях . Просто не так понял к чему относитя фраза "Дык задники - это тоже спрайты" , думал ты про другие консоли говоришь , а так конечно на NEO-GEO всё что видно это спрайты , не считая одного вшивого заденика .