Войти
ФлеймФорумЖелезо

Блеск и нищета 8/16-битных консолей и ПК (9 стр)

Страницы: 18 9 10 1146 Следующая »
#120
14:17, 17 окт. 2017

0iStalker
> и поддержки игр от Sega Master System оно там

Мне понравилось как обратной совместимости придерживалась нинтенда на рынке портативных консолей.

Сперва она выпускает Game Boy (GB), где проц - Z80.
Потом Game Boy Color (GBC), проц тот же Z80, поэтому он совместим с GB
Потом Game Boy Advance, содержит уже 2 проца - ARM7 и Z80 для обратной совместимости с GB и GBC
Потом выходит Nintendo DS (NDS), процы ARM9 и ARM7 - с помощью последнего совместим с GBA, но поддержки GB и GBC уже нет.
Промежуточно выпускают Nintendo DSi в которой выкидывают поддержку GBA, удешевив компоненты.
Потом Nintendo 3DS с ARM11, ARM9, поддерживаются игры NDS и NDSi, но прекращается поддержка GBA.
Ну и потом еще до кучи выпускают 2DS где просто стереоскопию убрали для детских глаз, но по процам это то же самое.

Такая бережная преемственность поколений, янимагу. :))


#121
15:50, 17 окт. 2017

Kollect3D
Могли бы на NDS уже Z80 и сэмулировать

#122
16:11, 17 окт. 2017

Pathetic Mike
> Могли бы на NDS уже Z80 и сэмулировать

На 3DS есть Virtual Console, а вот NDS наверное бы всё-таки не хватило для нормальной эмуляции - там ARMы на 67 и 33 МГц.
Ну и как бы эмуляци это одно, а картридж вставить это другое.

#123
17:19, 17 окт. 2017

Kollect3D
> Ну и как бы эмуляци это одно, а картридж вставить это другое.
Только все равно вернулись к эмуляции. Вон как штампуют мыльницы на АРМе, эти NES/SNES Classic.

#124
17:22, 17 окт. 2017

Dexus
> Только все равно вернулись к эмуляции

Я к тому что эмуляция это эмуляция, а не обратная совместимость. Эмулируют они давно и за милую душу.

#125
(Правка: 8:35) 7:01, 19 окт. 2017

Немного подразобрался с устройством видеочипа Sega Mega Drive - или как он в документации называн - VDP (Video Display Processor).

Разрешение в пикселях 320x224 в NTSC версии или 320x240 в PAL версии.
VDP имеет 64 Кб выделенной памяти, ЦП к ней может обращаться только через порты ввода-вывода или посредством DMA.
DMA может передать из памяти ЦП (ROM картриджа или RAM ЦП) в память VDP (VRAM) или из VRAM в VRAM, включая режим заливки.

Палитра состоит из 64 слотов в отдельной памяти (Color RAM или CRAM), каждый слот в формате RGB содержит всего 3:3:3 бита, что ограничивает все возможные цвета всего 512 значениями и не более 64 цвета на экране за раз. Хотя есть еще спец-эффект затенения/просветления, что немного расширяет цветовые диапазоны, но в ограниченном числе мест применения. Так как все тайлы всегда 16-цветные, а палитра содержит 64 слота, то её можно воспринимать как массив из 4-х независимых 16-цветных палитр - и действительно в спрайтах и плитках фона (в каждой отдельно) содержатся 2ух-битные селекторы из этих 4-х палитр.

Тайлы 8x8 как фонов так и спрайтов располагаются с начала VRAM в 16-цветном режиме (4 bpp), что требует 32 байта на тайл 8x8 и таким образом всё VRAM может восприниматься как массив из 2048 тайлов. Поэтому индексы тайлов указываемые как в плитках фона так и в спрайтах 11-битные, что позволяет как раз указывать 2048 значений. Нулевой цвет в тайлах обозначает прозрачность, поэтому фактически тайлы хранят 15 цветов - и только если ни спрайты ни плитки фона не закрасили пиксель, то отображается  цвет "заднего фона" - его индекс в палитре задаётся в специальном регистре.
Вся VRAM не может быть занята тайлами - нужно еще выделить место под собственно таблицы плиток фонов, таблицу спрайтов и разные вспомогательные вещи - как правило их местоположение внутри VRAM может в широких пределах меняться программированием портов VDP.

Спрайтов возможно 80 штук - их описания хранятся в таблице спрайтов в VRAM - это массив из 8-байтных элементов. Размерности спрайтов по каждой из осей (независимо) могут составлять от 1 до 4 плиток, таким образом от 8 до 32 пикселей. В каждом сканлайне может быть отрисовано не более 20 спрайтов. Забавно что спрайты образуют связный список - каждый хранит в себе индекс следующего спрайта к отрисовке, последний хранит 0.

Всего возможны 2 независимо скроллируемых задних фона/слоя (A и B), которые из себя представляют двумерные массивы плиток по 2 байта на плитку - 11 бит на индекс тайла, 2 бита на селектор палитры, 2 бита на вертикальное/горизонтальное зеркалирование и еще 1 бит на порядок приоритета. Слои плиток могут иметь незавимимые размерности по вертикали и горизонтали кратные 32, но общий объём каждого слоя не должен превышать 8Кб. При скроллинге на экране они проворачиваются через края, что позволяет реализовывать неограниченный скроллинг, как это на консолях принято.
Но сам скроллинг реализован довольно таки любопытно.
Горизонтальный скроллинг каждого из слоёв может производится одним из трёх вариантов на выбор:
а) указывается смещение прокрутки для всего слоя как целого
б) указывается смещение прокрутки для каждой линии тайлов (массивом)
в) указывается смещение прокрутки для каждого сканлайна (тоже массивом)
Вертикальный скроллинг так же предлагает варианты:
а) смещение всего слоя как целого
б) массив из 20 смещений отдельно для каждых смежных двух колонок тайлов (то есть образуется 20 столбцов на экране с независимым скроллингом), причём так, как к этому массиву требуется обращаться каждые 16 пикселей, то он для скорости вынесен в отдельный блок памяти - так называемый VSRAM (Vertical Scroll RAM).
Самое атасное, что эти типы скроллинга можно комбинировать, что приводит визуально к чему то весьма похожему на Mode 7 из SNES, хотя и более грубому.
Вот, например, первый босс из игры Puggsy:

Кроме того присутствует еще одна любопытная деталь - псевдослой "WINDOW", который можно прилепить к любому краю слоя A и который будет перебивать его изображение и при этом никак не скроллится - что предполагалось использовать для всяких прилепленных к краю экрана статус-баров и прочих окошек с информацией и текстом.
Если сложить это с "посканлайновым скроллингом", то по моему становится ясно, что разработчики видеочипа всячески пытались его программистов избавить от необходимости использовать технику HBlank-отсечения. Это даже вызывает вопросы - возможно ли в этом чипе вообще реализовать HBlank-отсечение, не исключено, что видеочип плотно блокировал на период обновления экрана порты с помощью которых нужные эффекты достигались на других консолях и именно поэтому в нём и присутствует такой сложно обустроенный скроллинг.
Тем не менее судя по интернету псевдослой WINDOW мало кем использовался.

Вот вроде бы и все основополагающие характеристики сеговского видеочипа, поэтому не очень на самом деле понятно как, допустим в игре Adventures of Batman and Robin достигается эффект перспективы:

#126
(Правка: 14:58) 14:28, 19 окт. 2017

Аааа! Посмотрел в эмуляторе с хорошим дебаггером как они это сделали в бэтмене из предыдущего поста - и это, чёрт побери, просто и изящно.
У них в слое поле именно так и нарисовано тайлами - именно с этими перспективными искажениями, а дальше уже изящное дело техники зациклить этот фрагмент таким образом, чтобы переставляя как раз построчные смещения картинка бесшовно зацикливалась. Хаха, гениально... И ведь действительно сделано на оригинальном железе без каких либо модчипов, круто...

Тут, как говорится, лучше один раз увидеть, вот этот трюк:

Изображение

Здесь эмулятор сеги Exodus любезно позволяет увидеть нам содержимое заднего фона/слоя B.
Обычно здесь было бы видно квадратно-гнездовой массив плиток, но игра делает финт - этими плитками она рисует такой вот пейзаж в сразу перспективной проекции (в результате возникает конечно же перерасход тайлов, т.к. речь идёт практически о битмапе, правда сильно помогает зеркалирование тайлов, но больших деталей поле и не содержит на всём своём протяжении - ряд вот домов, меняются только вывески.
Зеленым выделением же показано как раз как этот слой отображается на экран - за счёт построчных смещений эффект перспективы плавно продляется и в динамике зацикливается на бесконечность. Горизонтальные линии же зеленой зоны все всегда одинаковой ширины - ширины собственно экрана. По мере движения вправо меняются очертания левой и правой их границ - становясь идеальным прямоугольником только ровно в центре симметрии слоя. Чёрные же пропуски у левого края слоя как раз соответствуют тому, что в разных местах прокрутка прокручивает до зацикливания разное число битмаповских пикселей. С другого края такая же картина.

Однозначно трюк попадает в коллекцию этой темы!

#127
4:45, 20 окт. 2017

Нашёл еще коды для пропуска текущего уровня в этом Adventures of Batman and Robin для сеги и внимательно поразглядывал его еще.
Как я понял, перехват HBlank там всё таки техника возможная, плодотворная и может сочетаться с трюком показанным выше для еще большего перфоманса.
Как минимум можно в строке подменять вертикальное смещение слоя, что позволяет управлять перспективой не только по горизонтали как на видео выше, но и по вертикали - то есть имитировать не только горизонтальную, но и вертикальную смену ракурса перспективы одновременно.
Это даёт возможность еще больше погрузится в псевдо-3Д разными способами.
Это опять таки лучше показывать, поэтому вот видео и временные метки к нему ниже:

01:32 - уже показанный выше эффект смены перспективы в горизонтальном направлении с сохранением вертикального ракурса
15:45 - довольно забавное одновременные управление и горизонтальными и вертикальными смещениями как массивами для создания иллюзии частичного вращения слоёв, причём один слой по HBlank разорван на 2 якобы независимых
16:30 - одновременное управление и горизонтальной и вертикальной перспективами - наиболее сильная имитация 3D в игре
30:20 - вот тут очень забавно - псевдо-3D тут нет, но луч прожектора сделан таким же трюком - его переменная величина и "хвост" создаются ничем иным как такой же подменой параметров скроллинга для сканлайнов (как по вертикали так и по горизонтали) на лету. На самом деле задний фон с которого берется изображение луча и пятна прожектора из себя представляет ровный большой квадрат перечеркнутый слева-направо сверху-вниз ровно под 45 градусов границей разделения между пустотой и шахматной сеткой луча.
35:10 - еще один босс имитирующий небольшие повороты через управление слоем
41:35 - еще одна, ранее не встречавшаяся, реализация "плавающей" перспективы, через перпективу+наклон. Тоже довольно забавно.
47:10 - имитация гоночной трассы, классика.
53:10 - эффект "трубы", еще одна, встречающаяся не в одной игре, техника имитации перспективы - оба слоя трудятся по разные стороны от спрайтов

В общем несмотря на отсутствие Mode 7 сега могла довольно много и разных имитаций 3D за счёт управления сканлайнами. Это не говоря про прямой рендеринг на процессоре.

#128
(Правка: 16:29) 16:28, 20 окт. 2017

Блин, капец, думал видеочип SNES разберу по полочкам так же быстро как у Mega Drive-а - фигли, одно поколение железа. Перед работой часика полтора почитать, да в обед полчасика.
А хрен то там! Чип мегадрайва в сравнении просто гимп простоте и ёмкости концептов. Даже видеорежим всего один (ну два, если посчитать особое удвоение вертикального разрешения в interleaved). И хотя там даже еще один есть - но он для совместимости с Master System и в играх для мегадрайва его (и возможно даже еще более старые пережитки) просто не нужно использовать.
В SNES же просто мозгоразрывные фичи и режимы. Видеорежимов 8, при этом блджад почти каждый как то принципиально отличается от других, как то вот но что-то такое задвигает, что в других больше нету или через задницу выворачивает то что было. Такое ощущение, что они выдумывали разные фичи, прикладывали к тому что есть - а оно в скорость доступа к памяти не укладывалось и тогда она начинали выводить это в новый видеорежим, отрезая имеющиеся слои, их битность и/или фичи и приёмы растеризации - и так повторяли несколько раз.
Мда уж, это точно не получится быстро законспектировать.

#129
(Правка: 24 окт. 2017, 4:33) 9:03, 23 окт. 2017

Итак, теперь напишу про устройство и возможности видеочипа SNES:

Палитра у SNES состоит из 256 элементов в RGB формате 5:5:5, поэтому доступно 32К оттенков и 256 цветов одновременно на экране, но может быть и больше за счёт direct color mode, о котором ниже. Это заметно больше, чем у Mega Drive.

Основная видеопамять в 64Кб так же размещается в видеочипе и доступна центральному процессору только через порты ввода-вывода или DMA. Так же как и мегадрайве есть другие банки видеопамяти, например палитра и там и там хранится в отдельном таком блоке. На SNES так же в отдельный банк памяти выделены описания спрайтов, OAM = object attrubite memory, (у мегадрайва они хранились в основной VRAM) в количестве 128 слотов. Спрайты (как и на мегадрайве) всегда 16-цветные (формат тайлов такой же как и у 16-цветных фонов и будет описан в разделе про них) и дотягиваются до большего числа цветов через селектор палитры в каждой из них - что расширяет количество цветов отображаемых в разных спрайтах одновременно на экране до 128 штук - и это верхняя часть палитры, она как бы разбита на 8 субпалитр.

Слоты спрайтов в OAM 4-байтные, в то время как на мегадрайве они 8-байтные, что оставляет многие биты слотов неиспользованными. В SNES же все биты просто не влезли! В результате и информации на один спрайт хранится меньше и с теми двумя битами на спрайт, что не влезли в основной слот OAM сделали полухак - их упаковали в 32 байта после основного массива OAM и разместили сразу за ним. То есть в OAM хранится 512 байт основного массива по 4 байта на элемент и сразу за ним - 32 байта упакованных по 2 бита на спрайт. При этом один из этих бит - это верхний бит координаты X спрайта.

Но это еще не всё - на сеге каждый спрайт мог варьироваться в размерах независимо по каждой из осей от 1 до 4 тайлов. На SNES спрайты тоже могут варьироваться в размере уже кратными тайлу порциями - 1, 2, 4 и 8 штук, вроде бы больше даже возможностей - но нет, в описания спратов влез всего 1 бит касающийся размера - поэтому одновременно на экране разные спрайты могут иметь на выбор только один из двух пресетов размеров - первый или второй. А что именно это за размеры выбирается в регистрах видеоконтроллера. В одном кадре просто не может быть более двух разных размеров спрайтов, что не очень весело.
Таким образом, хотя и в сеге всего 80 спрайтов может быть на экране против 128 спрайтов у SNES, но распорядится их размерами она ими может более рационально. Если у сеги нужные к отрисовке спрайты соединяются в связный список, то у SNES опять таки нет на это бит - спрайты просто рисуются все и всегда, ненужные просто надо выводить координатами за край экрана (как и в NES).

Так что по спрайтам SNES если и выигрывает, то незначительно (если вообще не проигрывает).
Но вот на задних фонах (слоях) SNES вырывается вперед.
Во первых - самих слоёв может быть до 4-х штук (в мегадрайве только 2).
Во вторых слои могут быть разной цветности: 4, 16 и 256 цвета (2, 4 и 8 бит на пиксель соответственно).
Состав и битность слоёв определяется текущим видеорежимом, которых может быть 8 штук, их можно составить в таблицу:

Режим    Бит/слой  OPT
         1 2 3 4      
-=-------=-=-=-=----=--
 0       2 2 2 2    -
 1       4 4 2      -
 2       4 4        +
 3       8 4        -
 4       8 2        +
 5       4 2        -
 6       4          +
 7       8          -
Следует помнить, что битность слоя - это битность его тайлов, но в самом слое в его (2-х байтных) плитках хранится как номер тайла, так и 3-битный селектор палитры, поэтому, например, в разных плитках 16-цветного слоя может отображаться до 128 разных цветов (это уже первые 128 элементов палитры). Не более 16 цветов может быть отображено лишь в одной плитке. Это было справедливо и для мегадрайва - только там было всего 4 субпалитры (с 2-битным селектором) и соответственно 64 цвета - одни и те же и на фоны и на спрайты.
Тайлы в SNES так же имеют базовый размер 8x8 пикселей, но каждый из слоёв может быть переведен в режим "тайлы 16x16", при этом он в каждой плитке соединяет 4 соседних тайла из таблицы тайлов (за базовый, чей номер указывается, берется верхний-левый).
Т.к. цветности тайлов у разных слоёв могут быть разные, то и таблицы тайлов у них тоже разуемеется могут быть разные - поэтому для каждого слоя отдельно можно выбрать базис в VRAM где начинается его таблица тайлов. В одном слое при этом может быть отображено максимум 1024 разных тайла, т.к. номер тайла в плитке является 10-битным числом (в мегадрайве - 11-битным).
Каждому фону так же задаётся где в VRAM хранится массив плиток, что он отображает. Они могут иметь размерности 32x32, 64x32, 32x64 и 64x64. В норме это даёт виртуальные размеры фонов как максимум - 512 пикселей по тем или иным осям, но если включить у фона режим "плитка 16x16", то максимальный размер плиточного фона в пикселях увеличивается до 1024x1024.
В режимах, где в колонке "OPT" стоит "+" есть интересная опция - Offset-Per-Tile - потайловое смещение. Эта штука возможно навеяна построчно-колоночными прокрутками из Мегадрайва. Оно работает очень похожим образом - величины прокруток указываются пораздельно, но уже пораздельно для каждой плитки экрана! При этом эти смещения записываются в плитки первого по таблице неотображаемого фона - он начинает использоваться как данные для прокрутки.
Эффект этот довольно мощный, комбинируя и модифицируя двумерный массив прокруток синусоидальными полями можно добиваться весьма впечатлящего "колыхания" поля, например как в игре Yoshi's Island (должно начаться с 4:05):

Границы тайлов полностью смазываются при таком обильном поле смещений и начинает даже казаться, что эффект попиксельный (но он всё-таки потайловый).
Однако, много выше Yoshi's Island была замечена в использовании чипа расширения Super FX GSU-2, как говорится возможны варианты - возможно как раз этот чип вносил посильную помощь в обновление такой таблицы.

Теперь сразу выскажу все прочие полезные SFX, которые в видеоконтроллере были:
- Два "окна" - две пары вертикальных границ лево-право которые могли наложить эффект просветления/затенения или замены цвета в своих границах. Подменой их параметров в каждой строке можно было добится любых сложных форм - так например делается голливудский эффект "That's all folks!", когда картинка исчезает в уменьшающемся кружке, окруженном чёрной заливкой.
- Direct Color Mode - для фонов с 256 цветами можно было включить режим "Direct Color Mode" в этом режиме цвета в каждой плитке формировали RGB-значения по формуле: RRRr0:GGGg0:BBb00, где RGB компоненты брались из пикселя тайла, а rgb-компоненты являлись битами селектора палитры данной плитки. Это потенциально расширяло пространство цветов одного фона до 2048 цветов одновременно на экране, но как видно обращаться с этим было несколько муторно.
- Мозаика - все фоны и/или спрайты могли "покрываться квадратиками", как бы теряя детализацию кратно пикселям, эффект на мой взгляд довольно бестолковый, но его нередко можно было встретить в играх при смене уровня
- Color Math - попиксельные цветовые эффекты, чаще всего применялись для эффектов полупрозрачности или сложного затенения. любой из фонов как и слой спрайтов можно "приписать" в одной из двух сущностей - main screen или sub screen. Отображается на экране обычным образом main screen. Но можно было на выбор активировать одну из несколько заранее заготовленных формул того как цвет (покомпонентно как RGB) main screen может взаимодействовать с цветом полученным из sub screen - в том числе, среднее арифметическое, например, что даёт нам эффект полупрозрачности. есть еще сложения/вычитание с насыщением и т.п.

А вот теперь - о плохом. О раскладке тайлов в памяти (продолжение будет позже)...

#130
(Правка: 25 сен. 2018, 12:33) 10:41, 23 окт. 2017

P.S.

И вот тут всё становится немного печально - если у Мегадрайва 16-цветные тайлы 8x8 хранятся довольно компактно и просто - 4 бита на пиксель, по байту на каждые 2 пикселя строки, 4 байта на строку и 8 строк - всего 32 байта.
То вот у SNES с этим всё сложнее.
Начнём с 4-цветных тайлов: у них 2 бита на пиксель, таким образом нужно 16 байт чтобы описать тайл 8x8. Но в первом байте хранятся первые биты каждого пикселя первой строки - 8 штук, а во втором байте - вторые их биты. Таким образом каждую строку из 8 пикселей описывают 2 подряд идущих байта - первый хранит нижние биты каждого пикселя, а второй - верхние. Это называется перемежающиеся слои.
Наращивание же битности происходит так: всякий раз удваивая битность мы просто берем формат предыдущей битности и добавляем к нему точно такой же слой сразу после него, таким образом удваивая количество бит вводом нового слоя.
То есть 16-цветные тайлы образованы как бы двумя подряд идущими 4-цветным тайлами, чьи соответствующие биты пикселей склеиваются. То есть в первом байте хранятся первые биты первых 8 пикселей, во втором байте - вторые их биты, а в 17-ом и 18-ом - третьи и четвертые соответственно.
256-цветные режимы (кроме Mode 7) соответственно повторяют два раза друг за другом тайловую информацию 16-цветных, таким образом количество байт по которым размазаны биты одного пикселя достигает восьми, причём их расположение не линейно.
Думаю понятно, что рендерить в такое на лету не очень удобно.

Отдельным особняком стоит Mode 7 - в нём все первые 32 Кб VRAM отдаются под единственный 256-цветный слой, причём в них хранятся и изображения тайлов и сама тайловая карта, имеющая уже размер 128x128 тайлов.
При этом плитки становятся однобайтными (во всех других видеорежимах одни 2-байтные, чтобы хранить 10-битный индекс тайла, селектор палитры и биты зеркалирования по вертикали и горизонтали), что требует 128x128=16384 байт VRAM, а тайлов таким образом максимально можно адресовать всего 256. Учитывая что на 8-битный тайл 8x8 требуется 64 байта, то 256 тайлов занимают 16Кб - как раз вторую половину из выделенных 32Кб.
Данные на этот раз хранятся абсолютно линейно - однобайтные пиксели всех тайлов следуют друг за другом ровно строка за строкой, будучи "упакованными" в байт-на-пиксель, так и плитки фона образуют двумерный массив 128x128, однако оба этих массива данных побайтово перемежаются друг с другом. То есть каждый четный байт памяти отведен под одно, а каждый нечетный - под другое! В целом всё линейно кроме этого - адреса всех байт одного массива умножены на два, а другого не только умножены, но и увеличены на 1. Почему так - скорее всего дело тут в том, что с точки зрения аппаратуры четные и нечетные байты VRAM разведены в разные банки памяти для ускорения линейного считывания слов - это старый как микросхема трюк. Поэтому видимо видеочип при такой организации памяти может параллельно работать с данными тайлов и с массивом плиток без помех.
Но программист тут опять вынужден мириться - дело в том, что любой доступ к VRAM (это, кстати, справедливо и для мегадрайва!) извне видеочипа (например процессором) происходит только 16-битными словами. Это значит, что для того чтобы изменить только один байт в VRAM надо считать слово по данному адресу, изменить в нём байт и записать обратно. Понятно, что при всём вышесказанном это превращается в дополнительный геморрой.
Главная же фишка Mode 7 уже тут многократно проговаривалась - это то, что он может подвергаться произвольным афинным трансформациям, что совместно с техниками HBlank позволяют крайне разнообразить картинку псевдо-3D.

Итак, что мы получаем в сухом остатке?

У видеочипа SNES объективно лучше палитра, объективно больше спец-эффектов - всё что у сеги есть - это построчные и постолбцовые прокрутки фонов и просветления/затенения определенных плиток.
SNES же богат на потайловый скроллинг, мозаичный эффект, обрезку по плавающим двум границам двух "окон", direct color mode и попиксельный Color Math, который позволяет реализовать частичные затенения/осветления и полупрозрачность.
Несомненно жемчужина SNES - это Mode 7.
Однако дальше всё не так уж однозначно - спрайтов вроде бы и больше, но их возможности усеченнее.
Фонов вроде бы и больше, но если приглядеться - единственный режим где возможны целых 4 фона - это нулевой, в нём все эти фоны всего лишь 4-цветные, а это цветность как в денди (там правда был всего 1 фон), никуда не годится такое на 16-битных консолях.
Поэтому реально о превосходстве в фонах можно говорить лишь в двух случаях:
- Режим 1, где фонов три, при этом первые два 16-цветные как у сеги, а вот третий, 4-цветный получается "бонусом".
- Режимы с 256-цветными фонами, где самих фонов не больше, чем у сеги - те же 2 штуки, но их цветность выше.
И если теперь окунуться в то как это всё разложено в памяти и как оно неприятно программируется - то плюсы с учетом минусов становятся уже не столь внушительными.

Есть еще один забавный факт, о котором хотелось бы упомянуть - что у видеочипа Mega Drive, что у видеочипа SNES присутствует немало бит в регистрах, которые позволяют те или иные фоны или таблицы тайлов отображать в другие 64Кб VRAM. То есть чипы изначально проектировались под 128Кб VRAM с возможностью отображать в верхние 64Кб или иные вещи. Например тайлы спрайтов можно хранить в одном банке, а тайлы фонов в другом и так далее.
Таким образом, очевидно, что эти же видеочипы видимо использовались где-то еще - скорее всего в аркадных автоматах, уже с полной мощью 128-килобайтного VRAM.

Как некоторые уже могли догадаться статьи про SMD и SNES выше принадлежат перу =A=L=X=, а я их сюда разместил по его просьбе т.к. ему не терпелось этим поделиться во время пребывания в бане.
#131
(Правка: 11:20) 10:51, 23 окт. 2017

Kollect3D
> Таким образом, очевидно, что эти же видеочипы видимо использовались где-то еще
> - скорее всего в аркадных автоматах, уже с полной мощью 128-килобайтного VRAM.
>
>

Английская вики пишет, что сеговский VDP  просто апгрейд https://ru.wikipedia.org/wiki/Texas_Instruments_TMS9918  (про него частично в Железных Титанах проскочило). 

upd:
Вообще, по железу Sega Genesis похожа на Neo Geo (из аркадных автоматов), но видеочипы разные www.coursehero.com/file/22945072/Таблица-сравнения-консолей-12102016/

#132
(Правка: 11:33) 11:31, 23 окт. 2017

0iStalker
> сеговский VDP просто апгрейд TMS9918

Ну если про него подробнее почитать на англоязычной вики, то на "просто апгрейд" это не тянет.
TMS9918 имел:
- фиксированную палитру из 16 цветов
- фон не мог скроллится
- 32 одноцветных (!) спрайта, не более 4-х (!) в сканлайне

Судя по всему его серьезно проапгрейдили для 8-битной Sega Master System вводом нового видеорежима Mode 4, который, как я мельком читал, уже как минимум мог один, но 16-цветный и скроллируемый фон + 64 спрайта (цветность не помню).
А далее уже на его базе сделали чип для Mega Drive, причём у Mega Drive была обратная совместимость с Master System как раз за счёт этого - она официально для себя ввела Mode 5, сохранив работоспособность Mode 4, но не более того. Видимо уже на Master System никто не использовал другие режимы кроме Mode 4 - просто незачем.

#133
22:45, 23 окт. 2017

Kollect3D
Из этого надо собрать PDF. Для потомков. :-).

Очепятки (что в глаза прыгнуло бросилось):

+ Показать

#134
23:20, 23 окт. 2017

Z80 рулил в мире 8 бит

Страницы: 18 9 10 1146 Следующая »
ФлеймФорумЖелезо