• avatar tsl
  • 1
Осенью 1995 года графика PS1 порвала мне мозг — то, что я видел на экране телевизора в супермаркете, было невозможно. До сих пор у меня валяется одна приставка, правда с убитым лазером. Временами даже хочется написать его эмулятор.

Процессор был еще без конвеера, но в качестве предтечи оного в нём всегда одна следующая инструкция извлекалась из памяти и дешифровалась в процессе выполнения текущей инструкции.
У финских VS1001 так же. После каждого JMP обязательно стоит NOP.
Вся VRAM в 1Мб с точки зрения GPU представлена как один большой битмап фреймбуфера 1024x512 16–битных пикселей. Забавно, что все данные поступающие для сохранения в VRAM никогда не указываются своими линейными адресами — всегда адресация идёт как бы к двум координатам (x,y) в этом фреймбуфере.
В тсконф у меня так лежат битмапы для спрайтового процессора.

Я правильно понимаю, что дисплей-лист выполняется блиттером (т.е. рисует 2-D битмапы в ОЗУ)? Для сравнения FT812 выполняет ДЛ каждую строку и строит 1-D пиксельный буфер «на лету». Но у FT812 частота повыше и транзисторов побольше на тот же функционал.

Хотелось бы узнать как устроен 3-D у Nintendo DS. Очень милая архитектура. Про него будет статья?
  • avatar aa-dav
  • 0
Почти сломал голову пытаясь понять почему фазовая модуляция в каких то случаях эквивалентна частотной, как говорит википедия. Но кажется наглядно понял — пока нарастает вычитание фазы это действительно как бы уменьшает частоту и наоборот когда слагаемое к фазе начинает нарастать.
  • avatar aa-dav
  • 1
Хаха! :) Действительно. Пересмотрел свои статьи, имеено да, эта ссылка упоминалась gamedev.ru/flame/forum/?id=226622&page=3#m32 в первой версии статье о мапперах денди. «Вот здесь: hypr.ru/blog/graphics/283.html есть отличная статья на тему того какими ухищрениями занимались создатели видеоигр для денди для этого дела. Частично там затронута и тема мапперов». В процессе реструктуризации она потерялась оттуда, ибо более уместна в статье про видеочип же.
> Есть где-то отменная статья про то как боролись в играх на денди за красивую экранную заставку
Вот: hypr.ru/blog/graphics/283.html

А её автор — и есть сам Shiru. Так что вы, по сути, автору про его же статью рассказываете :)
  • avatar frog
  • 0
Про Gravis Ultrasound, мне кажется, стоило упомянуть. Хотя это тоже цифра как и SB, но всё же отличия были существенны и тогда это воспринималось как большой шаг вперёд, как я помню.
  • avatar FoxyLab
  • 1
Моим симулятором успешно пройден весьма сложный тест:
Довольно непоследовательно сказано о трекерной музыке, без упоминания Amiga и Paula. А до Sound Blaster был ведь еще популярный модуль Roland MT-32 с LA-синтезом.

«Эпоха специализированных чипов синтеза, пожалуй, давно уже канула в лету». Так вышло, думаю, потому, что современные музыканты не ставят перед собой амбициозных задач из области звукового дизайна. Но у некоторых специалистов аппаратные решения все еще пользуются спросом. Например: kyma.symbolicsound.com/kyma-sound-design-environment/
  • avatar Shiru
  • 7
Поправки:

Звуковые чипы SN76489, TIA, AY-3-8910, POKEY появились довольно-таки задолго до IBM PC, в 1977-79 годах. Потому что игровым системам определённо был нужен звук, а PC в качестве игровой системы долго не рассматривался. Спикер PC предназначался для системных целей, и вероятно был сделан на канале таймера не из необходимости разгрузки процессора, а просто потому что таймер уже был и оставался лишний канал (другие каналы используются для действительно важных вещей — прерываний по таймеру и регенерации ОЗУ).

Огибающая в AY не для обогащения тембров. Она именно огибащая, как и ADSR — для задания изменения громкости во времени. Но в этих целях она оказалась слишком примитивной (в 1978 не особо понимали, что именно нужно). А богатые тембры из неё начали получать уже гораздо позже, лет через 12 после появления чипа — оказалось возможным запускать её на очень высокой частоте, таким образом, что периоды повторения сливались в тон (пилу или треугольник), а также смешивать с обычным каналом тона, что даёт вырожденный случай амплитудной модуляции (тон огибающей маскируется прямоугольным каналом).

В SID главная фишка — аналоговый фильтр, очень сильно окрашивающий звук. По сути приближение к архитектуре классических аналоговых синтезаторов. Аналогичную архитектуру, DCO и общий для всех каналов фильтр, имел, например, синтезатор Korg Poly 800 (1983).

В NES нет короткого буфера PCM. Там есть DPCM — однобитное кодирование 7-битного звука, в целях сжатия ценой сильных искажений, с аппаратным проигрывателем (читает память, декодирует, выводит в ЦАП, всем этим немного затормаживает процессор). Напрямую DPCM доступно 16 КБ адресного пространства ПЗУ, в которое можно включать банки посредством маппера (если есть). Зацикливать DPCM формально можно, но по самой природе кодирования нормального чистого цикла в сложных сэмплах не получится (будет сильно щёлкать переход), только если не специально сконструировать сэмпл буквально побитно (тогда можно вымучить, например, чистую пилу).

FM-синтез в чипах на самом деле PM, фазовая модуляция, близкая по сути вещь, но гораздо проще реализуемая. Т.к. это PM, именно вибрато, возможное в FM, толком не получить. Смысл этих видов синтеза в получении гармоник. Гармонический состав сигнала определяет его тембр, чем больше гармоник, тем сложнее и интереснее (реалистичнее в том числе) тембр. Две синусоиды при аддитивном синтезе были бы всего двумя гармониками, а при модуляции их получается намного больше.
  • avatar aa-dav
  • 2
Логика моих изысканий была в том, что бралось из консолей что постарше и что было в широком ходу. 3DO как исключение просто потому что хотелось понять где и как впервые вылезла 3D-графика в играх. Но про амиги есть ровно одна статья, которую сейчас выложу.
Гипотетическое демо под сабж, нерелизенное и неизвестно, доделанное ли хоть до какого-то состояния.
  • avatar Vinnny
  • 1
если уж брать приставки, то мне как амижнику интересно почитать про amiga cd32 и/или cdtv.
  • avatar frog
  • 0
Ну это же очевидно — иначе бы давным давно всё поменялось
  • avatar Shiru
  • 2
Что забавно, PS2 уже считается ретро-платформой. Из поколения до 2000-х ещё интересен Dreamcast, любительская разработка для него относительно доступна, там выходит немало крутых homebrew-проектов (или даже можно назвать их инди).

К слову, на PS2 тоже применялась куча весьма интересных трюков. Например, в MGS (игра на последней картинке) есть блестящие, отражаюшие в себе всю обстановку полы. Как они сделаны: коридор скопирован и перевёрнут по линии пола, с пониженной детализацией, также перевёрнуты и отрисованы ниже линии пола модели персонажей, а сам пол сделан полупрозрачной текстурой, она затеняет нижнюю копию, и создаётся эффект отражения. И там много подобных маленьких трюков, в результате игра выглядит весьма круто для тех лет (версия на PS2 лучшая, во всех портах и римейках много чего урезано или испорчено) и при этом идёт на 60 FPS.
  • avatar VBI
  • 0
Обобщу сказанное в двух темах:
большинство активных участников ZX Spectrum Demo compo — ПРОТИВ изменения сути компо.
  • avatar diver4d
  • 0
Ну да, так же как и ничего не поделать, что цц остается без части работ, которые могло бы привлечь.
  • avatar aa-dav
  • 4
Всё, больше обзоров на консольные 32/64 бита у меня нет и вряд ли будут новые — этими двумя «золотыми» поколениями я лично свой интерес удовлетворил.
В следующих статьях вернусь к 16 битам — обзор на Sega Mega Drive и SNES, плюс некоторые трюки на первой и больная мозоль многих холиваров — сравнение того и другого «кто мощнее слон или кит». :)
  • avatar aa-dav
  • 1
Точно помню, что в Q1 и Q2 стены лабиринта никогда не искажались, а вот динамические объекты — монстры/аптечки плыли текстурами только в путь. Даже в OpenGL-рендере зачем то отключали на них коррекцию текстур.
  • avatar aa-dav
  • 0
«по своей сути чисто двумерный, и не умел выполнять попиксельную коррекцию перспективы»
Технически можно сказать, что до появления T&L в домашних видеокартах они тоже работали чисто с плоскостью и принимая на входе уже вычисленную в screen-space глубину Z для целей коррекции перспективы и z-test-ов являлись чисто растеризаторами.
  • avatar Shiru
  • 1
Если мне не изменяет память, в Q1 на PC была линейная аппроксимация, там каждые N (16?) пикселей считалось точно, а между ними аффинная проекция. В результате текстуры почти не плыли, только если специально не искать такие моменты. На PS1 под закат пришли к подобным техникам, но грубее, как позволял GPU — разбивая крупные (ближние?) полигоны на множество мелких. Поэтому в поздних играх текстуры плывут значительно меньше.
  • avatar wbcbz7
  • 2
что характерно, при всей заточенности железа под 3D, GPU у PSX по своей сути чисто двумерный, и не умел выполнять попиксельную коррекцию перспективы, давая характерные искажения текстур под разными углами :) Интересно, насколько бы помогла, например, аппроксимация текстурных координат кривой второго\третьего порядка, как в некоторых software-рендерах — не нужно делать попиксельное деление (лишь два дополнительных сложения на пиксел), но и результат должен быть значительно лучше.

p.s. кстати, NVidia все-таки выпустила свой первый (и провальный, так как был заточен под quadratic texture maps а-ля Sega Saturn, в то время как все уже пересаживались на треугольники; кстати, тоже интересная история) ускоритель NV1 в 1995-м, а уже затем Riva 128, TNT, GeForce… и в конце концов пришли к RTX 2080Ti :)