В своей прошлой публикации я вскользь упомянул так называемые «консольные войны» — битву маркетинговых кампаний конкурирующих видеоигровых платформ прошлого. Это не такое уж малоизвестное явление, о нём написаны книги, сняты фильмы, ему посвящены Youtube-каналы.
Сегодня хочу углубиться в тему и рассказать о наиболее знаковом проявлении консольных войн — предложенной маркетингом метрике, которая смогла оставить настолько значительный след в общественном сознании, что многие до сих пор оперируют её понятиями, даже не подозревая про существование стоящей за этим истории.
Будем заниматься странными вещами: подсчётом бит в игровых приставках и попытками найти в этом занятии какой-то глубокий смысл. Открывайте форточки, будет душно!
▍ Денди-денди
В силу исторической действительности наша часть света смогла приобщиться к вселенной электронных развлечений позже остального развитого мира, пропустив пару исторических эпох. Открытие границ в 1991 году и ставшая свободно доступной продукция мировой промышленности сделали нас свидетелями стремительной смены технологий в целом и поколений игровых устройств в частности — то, чего в мире ждали десятилетиями, пронеслось перед нашими глазами всего за несколько лет. Рэмбо сменилась Денди, Сегой, Супер Нинтендо и Плейстейшен, и только к выходу PlayStation 2 наши часы синхронизировались с мировыми. Все, кто застал эти времена, навсегда усвоили одну простую истину: Денди восьмибитная, и поэтому графика и звук у неё не очень, а Сега значительно лучше, потому у неё вдвое больше бит, целых 16, но гораздо мощнее их вместе взятых Сони с её 32 битами.
Реклама совершенной игровой системы в отечественной игровой прессе
Такая простая и интуитивно понятная сортировка по цифрам этих самых бит казалась совершенно естественной и использовалась повсеместно, в том числе и в зарубежной прессе, откуда и была позаимствована зарождающейся отечественной игровой журналистикой. Описание роли этих самых бит в печатной прессе и на телевидении сводилось к тому, что они — некая неотъемлемая техническая характеристика игровых устройств, определяющая их возможности.
▍ Легенда о битах
Компьютерная техника пришла домой к массовому потребителю только с появлением микропроцессора, и рождению легенды о битности способствовал рост разрядности этих устройств, начавшийся от 4 бит в сторону увеличения в хорошо понятном порядке степеней двойки. Знание о том, что этой простой системе предшествовало множество решений с процессорами и прочими деталями самой разнообразной битности, включая нечётную — например, 18, 26, 36, 45, 60, и других — осталось уделом редких специалистов из мира больших и серьёзных ЭВМ.
Так как заявленная в рекламе система звучала вполне убедительно, коррелируя с реально существующими понятиями из мира вычислительной техники, она смогла подавить критическое мышление даже у тех, кто непосредственно имел дело с компьютерами. Люди от мала до велика, включая опытных инженеров с сединой в бороде, приняли эту концепцию, и стали считать одни устройства восьмибитными, другие — шестнадцатибитными, и так далее. Это было довольно удобно, особенно при малом количестве конкурирующих систем, и, например, игровая печать стала разделять журналы на рубрики 8 бит, 16 бит и 32 бит.
Но загвоздка в том, что в реальности число бит применительно к сложному вычислительному устройству, состоящему из множества элементов — совершенно абстрактная вещь, не имеющая смысла, способа подсчёта и связанных с ней возможностей техники. Нет способа выделить среди реальных технических характеристик системы какой-то один компонент, пусть даже центральный процессор, и назначить его ответственным за возможности системы в целом. Также нельзя и высчитать какое-то среднее число из разрядности всех компонентов.
Именно потому что разрядность системы не является свойством, определяющим её возможности, и не может быть установлена объективно, и была придумана современная система поколений, которую сейчас можно наблюдать в частности в разделах в Википедии про видеоигровые системы — в пределах поколения они обладают схожими возможностями вне зависимости от фактических технических характеристик.
Таким образом, битность приставок — исключительно искусственное понятие, которое можно натягивать на любую ситуацию, как сову на глобус, для чего оно, собственно, и было придумано и введено в обиход. И истории достоверно известно, когда и как это произошло.
▍ Консольные войны
Идея описания рыночной конкуренции между платформами в формате «войн», в различных сочетаниях с другими словами — картриджные войны, консольные, системные — оформилась в игровой прессе примерно в середине 1980-х. По сути оно аналогично существовавшему ранее, и не раз ещё использовавшемуся годы спустя, родственному понятию «войны форматов», только вместо конкурирующих носителей звуковых и видеозаписей речь шла о разных игровых системах. Поначалу в подобных красках описывалось противостояние консолей Atari 2600 и Mattel Intellivision в ранних 1980-х, но эта первая «картриджная война» закончилась поражением всех сторон — кризисом индустрии видеоигр 1983 года.
Свои каноничные черты консольные войны приобрели в конце 1980-х, в момент перехода от систем предыдущего поколения к новому, четвёртому по современной системе. Почти одновременно на рынок вышли новые системы PC Engine от NEC и Sega Genesis от Sega, в 1987 и 1988 годах соответственно. Главный конкурент Sega, компания Nintendo, также не замедлила анонсировать планы по выпуску своей новой системы, которая, однако, подзадержалась относительно конкурентов на добрых два года, выйдя лишь в 1990 году, и всё это время в прессе муссировались слухи о её неизбежном техническом превосходстве.
Схватка двух якодзун
Проблема позиционирования и продвижения в широкие массы технологических достижений такова, что в реальности практически не существует вещей, действительно соответствующих расхожей концепции «опережения своего времени». На любом этапе технологического и индустриального прогресса, когда каждый игрок рынка пытается сделать лучшее из возможного в рамках разумного, конкурентоспособного бюджета, и результат получается плюс-минус одинаковым. По крайней мере, различие не такое большое, как между поколениями устройств или между различающимися в стоимости в разы, а для сохранения конкурентоспособности продуктам одной категории сильно отличаться по бюджету нельзя.
Как же убедить покупателя, что ему нужно приобретать ту или иную игровую систему, если в реальности они не имеют конкурентных преимуществ? Конечно же, нужно эти преимущества создать, например, разработав эксклюзивные игры. Но это сложно, долго и дорого. Есть способ попроще: преимущества можно просто выдумать!
Это и просто эмоциональные заявления о преимуществе, в форме запоминающихся, часто хулиганских слоганов и изображений, так ярко характеризующих эту эпоху — «Sega Does What Nintendon’t», «The more you play with it, the harder it gets», «Do The Math», ассоциация игр Sonic The Hedgehog 1 и 2 c двумя волосатыми тестикулами, и многое другое. Вероятно, именно агрессивность и балансирование рекламных кампаний на грани дозволенного и привели к описанию их противостояния как «войны».
Одно из самых знаменитых изображений рекламной компании Sega
Это и более интеллектуальная игра в модные словечки («buzzwords»), несущие технологический оттенок, предполагающие у рекламируемого продукта наличие некоего уникального и очень продвинутого технического преимущества — Blast Processing у Сеги, Mode 7 и Super FX у Нинтендо, и им подобные. При этом не обязательно речь шла о реально существующей технологии, что было игрой на грани фола — ведь если в системе нет реальной сущности, на которую было бы можно показать пальцем, и сказать — «а вот тут у нас blast processing», недовольные потребители могут заявить о вводящей в заблуждение рекламе.
Пап, а blast processing есть?
Времена, породившие перечисленные выше рекламные креативы, вывели на сцену и пресловутые биты в роли символа технического превосходства. Основная суть предложенной концепции: ваши старые игровые системы были 8-битными, а новые — 16-битные, и так как 16 больше 8, они минимум вдвое лучше (как заявляла Sega, «doubling the power»). Или, если смотреть под другим углом — ваша текущая игровая система вдвое хуже нашей новой. И конечно же, чем больше бит — тем лучше игры.
▍ Ложь и провокация
Как обычно для того исторического периода и игровых систем японского происхождения, NEC PC Engine сначала вышла на внутренний рынок Японии, и только на следующий год на Западе. В предварительных рекламных материалах упоминалось её оригинальное название и пока говорилось лишь о компактности, скорости и графике аркадного качества.
В США ещё со времён NES и кризиса индустрии видеоигр 1983 года было принято менять в новых японских игровых системах всё, от дизайна и формата картриджей до названия, предположительно с целью максимально эффективного маркетинга, не допускающего излишней фрагментации рынка и повторения ситуации прошлого. Так произошло и с PC Engine.
Анонс PC Engine, также известной как TurboGrafx-16
Новое название и соответствующая рекламная кампания прямо заявляли о превосходстве системы над доминирующими на рынке NES и Master System в простых цифрах и буквах: TurboGrafx-16 — что-то быстрое, по всей видимости с крутой графикой, ведь она произнесена на крутой манер, типа современных «графоний» или «графен». Цифра 16, вынесенная и в название, и в логотип системы, символизирует именно постулируемую 16-ти битность, секретный ингридиент, который и даёт этой платформе более красочную, детализированную графику, и более насыщенный стереозвук.
Объяснение сути 16 бит на пальцах
Рекламные материалы TurboGrafx-16 ввели концепцию битности в публичное поле, буквально объясняя её на пальцах: новая система имеет 16-битный графический процессор, и он лучше ваших старых, потому что они были 8-битными, а наши 16 бит в четыре раза быстрее и в десять раз красочнее.
Центральный процессор TurboGrafx-16 — более быстрая версия классического, всесторонне восьмибитного и изрядно устаревшего к 1987 году MOS 6502. Это тот же самый процессор, что и в NES и Atari 2600, но разогнанный почти в четыре раза за счёт перехода на более совершенную CMOS-технологию, дополненный контроллером расширенной памяти и звуковым синтезатором.
Впрочем, маркетинг и не пытался объявить этот процессор 16-битным, это было бы за гранью фола. Вместо этого 16-битным был назван видеоконтроллер. И прикопаться к этому заявлению трудно, ведь это эксклюзивный заказной чип, на который не было публичной документации, и людей, понимающих его функцию и устройство, было значительно меньше.
Но контроллер — не процессор, он не выполняет программу, по сути это набор программируемых счётчиков, перебирающих адреса видеопамяти.
16 бит — это разрядность шины данных, соединяющей видеоконтроллер и память, в роли которой выступали два 8-битных чипа. Такое решение позволило удвоить пропускную способность при том же быстродействии микросхем графического ОЗУ, что, безусловно, сыграло роль в радикальном улучшении графики по сравнению с NES. Можно сказать, получилась NES на стероидах.
Как и NES, TG16 имеет всего один слой фона, но с 16-цветными блоками и с 16-ю 16-цветными палитрами, что позволяет отображать до 241 цвета на слоё фона вместо 13 у NES — получается значительно более красочная картинка. Также, как и NES, TG16 может отображать до 64-ёх аппаратных спрайтов, но гораздо более крупных, размерами до 32 на 64 точек, и они тоже 16-цветные, со своими 16-ю палитрами. Причём можно отображать до 16-ти таких спрайтов в строке — некоторые игры пользовались этим, чтобы построить имитацию второго слоя фона целиком из спрайтов.
Всё это богатство возможностей в целом позволило создавать визуальную часть в играх на уровне игр первой волны для Sega Genesis и SNES, и только со временем отставание в технических возможностях начало становиться заметным.
К приходу четвёртого поколения игровых систем на рынке видеоигр почти безраздельно властвовала компания Nintendo со своей NES, которой подчистую проигрывали все значительно более мощные системы конкурентов, и даже Sega Genesis. Чтобы отвоевать хоть сколько-то заметную долю рынка, в 1989 году Sega решилась на радикальную рекламную компанию, не стесняющуюся называть своих конкурентов. И под раздачу сразу попала TurboGrafx-16, которую в первой же публикации рекламной компании Genesis Does метко обозвали Turbo-8:
Genesis is the only true 16-bit system and that’s why Genesis provides a total video gaming experience you simply won’t find anywhere else. Certainly not on any 8-bit system. Or even on a Turbo-8.
▍ Genesis Does
Рекламная кампания Sega Genesis также подхватила и развила идею «крутизны», заложенную словечком Grafx. Новая система позиционировалась как крутая, отвязная и хулиганская: целевой аудиторией компания выбрала подростков чуть старше тогдашней основной аудитории игр Nintendo (6-12 лет). Кровь, кишки, обезобразило, всё как у взрослых, а не эти ваши цветочки-грибочки для маленьких детей!
Эта маркетинговая концепция оказалась настолько успешной, что её отзвуки до сих пор легко наблюдать в среде ретрогеймеров, и она ещё не раз применялась для продвижения других платформ. Ведь каждый подросток хочет выделяться в своём окружении, и проще всего это делать за счёт демонстрации своих музыкальных или игровых предпочтений. В итоге Sega действительно смогла на некоторое время отвоевать приличную долю рынка, и даже слегка переборщила, что очень скоро привело к публичной дискуссии о чрезмерной жестокости в видеоиграх и, как следствие, к появлению возрастных рейтингов. Впрочем, это уже другая история.
Скриншот
Что касается бит, Sega активно позиционировала Genesis как 16-битную платформу. Ошибиться трудно, даже на корпусе большими буквами на самом видном месте было написано 16-BIT, и это же свойство приставки упоминалось во всех рекламных материалах.
Цифра, вероятно, осталась в наследство от аркадных корней — по сути аппаратная часть новой домашней системы базировалась на аркадной архитектуре System 16 образца 1986 года, где увеличившаяся разрядность центрального процессора также была вынесена в название. Впрочем, разработчики аркадных систем компании не остановились на достигнутом, и позже выпустили более совершенные System 18, System 24, и System 32, так что логика их наименований остаётся несколько сомнительной.
Sega System-24, что бы это ни значило
Однако, слишком агрессивное продвижение Sega с нападками на конкурентов при недостаточно прикрытых технологических тылах — решение 1986 года успело несколько устареть к началу противостояния со SNES — вскоре привело к симметричному ответу. Маркетинговый отдел Nintendo начал серию публикаций, в которых спокойно и методично пытался показать несостоятельность выдуманных технологических преимуществ в форме Blast Processing’а, объяснить разницу в графических возможностях и отсутствие двукратной разницы в производительности процессора, что, впрочем, было достаточно безнадёжным занятием, ведь голос эмоций сильнее голоса разума.
В поисках blast processing'а
Также в 1993 году компания Booz Allen & Hamilton Inc. провела экспертизу двух систем, из результатов которого родилась следующая идея, впоследствии пригодившаяся в отечественной игровой прессе, а именно в журнале Великий Дракон, для рекламы Супер Нинтендо: Sega не полностью 16-битная, потому что у неё 16-битный только центральный процессор, а видео и звук нет, тогда как Super Nintendo 16-битная полностью, шестнадцатибитнее некуда, у неё шестнадцать бит всюду, и в процессоре, и в видео, и в звуке.
Совершенство совершенной игровой системы простым и понятным языком цифр
Крупицы правды, на которых строятся эти заявления, отыскать непросто. Обе системы имеют более-менее 16-битные центральные процессоры. Есть различия в ширине шины данных, но они не в пользу заявлений о полной 16-битности — основная память у Genesis 16-битная, а у SNES восьмибитная. Это имело не очень явное следствие: для реализации максимальной производительности SNES была нужна постоянная память с меньшим временем доступа, и так как она была дороже, в первые годы она не применялась, что снижало производительность системы на треть или даже на две трети.
Видеопамять у Genesis 8-битная (два 4-битных чипа), у SNES 16-битная (два 8-битных чипа). Это действительно позволило реализовать несколько более сложную графику, в частности больше слоёв фона в обычных режимах, и пресловутый Mode 7. Впрочем, при красивом и гибком дизайне значительно более сложной видеосистемы, SNES отличилась крайне неудачной реализацией системы спрайтов, что сильно ударило по производительности в играх.
У обоих систем есть 8-битные вспомогательные процессоры с собственным 8-битным ОЗУ, занимающиеся управлением звуковым синтезатором. Genesis использует FM-синтезатор, не имеющий специальных средств для воспроизведения цифрового звука, у него есть только один 8-разрядный ЦАП. Звуковая система SNES изначально предназначена только для воспроизведения цифрового звука, она имеет стереофонический 16-разрядный ЦАП. И хотя явная разница в звуке обусловлена вовсе не разрядностью, а принципиально разным способом синтеза, формально Genesis действительно не способна на 16-битный звук — на воспроизведение сэмплов такой разрядности.
На этом примере можно понять, каким образом с помощью манипуляции фактическими характеристиками можно натянуть сову на глобус битности требуемым образом, и насколько сложно объяснить не имеющему специальных технических знаний потребителю реальные преимущества и недостатки двух архитектур.
▍ В чём же сила?
Но что же реально придавало графике особенности, по которым легко отличить маркетинговые 8 от 16 бит, и составило основу визуальной эстетики видеоигр этого поколения?
Игра Mega Man 6 выпуска 1993 года для 8-битной NES
Одним из решающих факторов был просто объём памяти — как оперативной памяти видеоконтроллера, так и носителя, на котором хранились игры. Чем больше графических данных помещается в оперативную память видеосистемы, тем больше деталей на экране можно отобразить одновременно: больше разных элементов фона, больше кадров анимации. Чем больше памяти носителя, тем более разнообразную графику может иметь игра в целом.
Переход от NES и Master System к Genesis и SNES выразился в увеличении объёмов видеопамяти с прежних 8-16 до 64 килобайт, что позволило не ограничиваться 512 элементами 8 на 8 пикселей, из которых строилось изображение на экране, и довести их количество до примерно 2048 (практически ближе к 1536). Средний объём носителей вырос с 128-256 килобайт до 1-2 мегабайт.
Другим, не менее важным фактором была пропускная способность памяти. Это и сама скорость её работы, и ширина шины. Более высокая скорость позволила считывать больше байт на каждый пиксель экрана, конструируя больше слоёв фона и спрайтов.
Большее количество слоёв фона — два-четыре вместо одного — в свою очередь сделало возможным повсеместное применение эффекта параллакса, глубины сцены за счёт разной скорости прокрутки слоёв фона, который ранее мог применяться весьма ограниченно, с применением нетривиальных программных трюков. Также больший объём памяти и скорость доступа позволили реализовать и более крупные спрайты.
Игра Mega Man X также выпуска 1993 года, но для 16-битной SNES
И конечно, требовалась архитектура видеоконтроллера, способного эффективно использовать эту память. Эти три вещи, а также расширенные цветовые палитры, и стали качествами, определяющими переход от третьего к четвёртому поколениям и визуальную эстетику 16-битной эпохи: более крупные спрайты, более цветные декорации, имитация эффекта глубины сцены.
▍ Биты есть?
И всё же, давайте поиграем в эту увлекательную игру. Взглянем на реальные технические характеристики отдельных элементов компьютерных систем, и попробуем примерить их на роль определителя битности, посчитать количество бит в каждом из них, если таковое занятие вообще применимо. Элементы, о которых пойдёт речь — сам основной процессор, графическая и звуковые системы. Ведь находятся те, кто утверждает, что биты — это вовсе не про процессор и память, это же про графику, вот же, их прямо видно. Кто-то говорит то же самое про звук. Поищем биты всюду. А если найдём?
▍ Битность процессора
Конечно, главный претендент на битность — главный элемент любой компьютерной системы, её центральный процессор. Проблемы подсчёта бит начинаются с самого начала, с простого вопроса — что такое разрядность микропроцессора?
Можно встретить определение, что это разрядность операндов (чисел), обрабатываемых за одну операцию (команду). Но многие процессоры прошлого были способны обрабатывать числа разных разрядностей, только с разной скоростью — чем больше разрядность числа, тем медленнее. Например. процессоры 8080 и Z80 в основном работают с 8-битными числами, но также способны выполнять 16-битное сложение и вычитание одной более медленной командой. Это мало чем отличается от серии операций с 8-битными числами, и как раз поэтому процессор 6502, всегда работающий исключительно с 8-битными числами, оказывается более-менее равен по производительности Z80, способному работать и с 16-битными числами.
Другое определение, копающее несколько глубже: разрядность процессора равна разрядности его АЛУ, то есть дело не в операции, а в том, сколько бит операндов обрабатывается за одну единицу времени (один такт) вычислительным ядром. Это хорошее, наиболее похожее на правду определение, однако, спотыкающееся об особенности реализации некоторых микропроцессоров. Дело в том, что АЛУ может быть даже однобитным, разряд за разрядом обрабатывающим числа большей разрядности, но для программиста он будет работать, например, с 8-битными числами, иметь 8-битные регистры, и однобитность АЛУ будет проявляться исключительно в скорости работы.
Также можно принять за определяющий фактор не фактическую разрядность АЛУ, а разрядность регистра аккумулятора, над которым производится большая часть операций и в который обычно помещается результат. Как уже сказано, некоторые процессоры могут работать с числами разной разрядности, и в том числе не только с аккумулятором, но и с другими регистрами, например, с регистровыми парами. А у некоторых процессоров больше одного аккумулятора. Например, у Motorola 6809 есть два восьмибитных аккумулятора A и B, а операции, производящие 16-битный результат, задействуют их оба, и тогда они считаются 16-битным аккумулятором D.
Когда спор о предыдущих способах определения разрядности заходит в тупик, иногда вспоминают и про разрядность внешней шины данных. Дело в том, что некоторые процессоры прошлого выпускались в версиях с разной шириной шины данных, при этом внутреннее их устройство и вычислительные способности оставались идентичными. Разрядность шины безусловно оказывала влияние на производительность, требуя выполнять больше пересылок данных, но, скажем, 8-битная шина не отнимала у процессора способность оперировать 16-битными числами.
Эта неопределённость приводила к тому, что сами производители микропроцессоров считали свои биты по разному, и по разному определяли их количество в официальной документации. А некоторые и вовсе избегали подобных определений. Как и с игровыми устройствами, мотивация подсчёта бит была в основном маркетинговой, а не технической. Вероятно именно здесь и закладывался фундамент последующих битовых войн на поле видеоигровых устройств, равно как и фундамент путанного битоисчисления.
8008
Процессоры Intel 8008 и 8080 изначально, с 1972 года, именовались 8-битными в своей официальной документации, и это было отражено и в их маркировке. Документация также прямо указывала на наличие 8-битного параллельного АЛУ — это было предметом гордости и явным шагом вперёд по сравнению с 4-битным АЛУ первого процессора компании, Intel 4004… Однако, за рубежом 8-битные процессоры Intel никогда не использовались в домашней компьютерной технике — это место там быстро занял их архитектурный наследник, Zilog Z80, вышедший на рынок в 1976 году, и только с выходом 8088 Intel смогла найти своё место в этой нише.
Оригинальный MOS 6501
Процессор MOS 6502 разработки 1975 года с точки зрения программиста даже более восьмибитный, чем 8008. Все его регистры, кроме регистра адреса команды, 8-битные. Адресуемая память делится на условные страницы по 256 байт, две из которых имеют специальное назначение — одна для более быстрой короткой адресации, другая для стека (указатель стека также 8-битный). Время выполнения некоторых команд зависит от того, пересекает ли их действие 256-байтовую границу — в частности, этому подвержены команды короткого условного перехода.
Synertek 65xx
Сама MOS не указывала разрядность своего процессора или АЛУ в официальной документации, в более поздних версиях начав акцентировать внимание только на разрядности шины данных. Процессоры этой архитектуры производились по лицензии и другими компаниями, в частности, Rockwell и Synertek, и именно в их документации 6502 в конце 1970-х начинает наименоваться как 8-битный.
Zilog Z80
В отличие от Intel, компания Zilog никак не обозначала разрядность своих процессоров, и в целом по большей части избегала упоминать какие-либо биты, даже разрядность основных регистров, хотя и обмолвилась в раннем документе, что их процессор превосходит производительность всех 4-ёх, 8-ми и даже 16-битных конкурентов — то есть сама концепция битности Zilog была известна. Замалчивание же разрядности собственного процессора, по всей видимости, имело под собой основание. Об этом не говорилось в официальной документации, и было озвучено одним из разработчиков процессора, Масатоси Сима, только в 2007 году, но на это долго намекало наличие флага полупереноса: в основе архитектуры Z80 лежало 4-битное АЛУ, то есть даже восьмибитные операции, составляющие основу набора команд, внутри процессора, прозрачно для программиста, выполнялись за два подхода. Тем не менее, этот процессор имеет поддержку и 16-битной арифметики, которая требует четырёх итераций работы АЛУ.
Intel 8086
Следующий микропроцессор Intel, 8086, логичным образом ещё раз удвоил разрядность, и конечно, компания официально назвала его 16-битным. Он действительно имеет 16-битное АЛУ и регистры, хотя архитектура предусматривает деление регистров на 8-битные половинки и операции с ними — но не более быстрые, чем полноценные 16-битные операции. Поддержки 32-битных чисел в системе команд предусмотрено не было, она добавилась только с приходом 80386.
Intel 8088
Странности с 8086 возникли с выходом в следующем году его версии Intel 8088 с внешней 8-битной шиной данных. Вероятно всё по тем же маркетинговым соображениям Intel решила официально назвать этот процессор 8-битным с 16-битной внутренней архитектурой, таким образом сломав свою прежнюю традицию определять разрядность процессора по разрядности АЛУ.
Первый микропроцессор компании Motorola, MC6800 1974 года выпуска, в оригинальной документации именовался 8-битным, с прямым указанием на 8-битное АЛУ и без прочих оговорок.
Motorola MC68000
Следующий же процессор компании, знаменитый MC68000 1979 года, сильно усложнил свою идентификацию: официальная документация определяла его архитектуру как 16/32-битную. Дело в том, что помимо 16-битной реализации 68000 была также задумана и впоследствии (в 1984 году) выпущена полноценная 32-битная версия 68020. Определяющим фактором в документации назывались разрядность АЛУ и шины данных. 16-битная версия имела 16-битную шину данных и АЛУ, но при этом имела 32-битные регистры и могла выполнять 32-битные операции, но медленнее, чем последующая 32-битная версия, у которой и АЛУ и шина данных стали 32-битными.
Motorola MC68008
Ещё больше запутал вопрос выход бюджетной версии процессора 68008 в 1982 году. От 68000 она отличалась только 8-битной шиной данных, и официально называлась 16-битной архитектурой с 8-битной шиной данных, предоставляющей преимущества 32-битной архитектуры. По крайней мере, это позволило Sinclair Research называть свой Sinclair QL 1986 года 32-битным компьютером.
▍ Битность графики
Другое популярное место для поиска бит — графика. Выше я уже рассказал, что на самом деле определило разницу в визуальной эстетике между третьим и четвёртым поколениями игровых систем. Однако, обычные игроки в те годы ещё не были отягощены пониманием устройства видеосистем, влияния разрядности шины памяти на пропускную способность, и влияния пропускной способности на возможности формирования итогового изображения. С подачи рекламных материалов они искали биты в другом месте.
Как правило разговор про биты в графике был связан с цветами, точнее с количеством цветов, которые могла отображать игровая консоль. И действительно, определённая связь тут есть — платформы четвёртого поколения получили значительно более широкие возможности отображения цвета. Разница достаточная, чтобы можно было на глаз отличить «восьмибитную» графику в играх на ранних представителях третьего поколения, таких как NES или ColecoVision, и «шестнадцатибитную» графику на ранних же представителях четвёртого поколения, таких как TurboGrafx-16 и Sega Genesis. Сложности возникли только с поздними системами третьего поколения, в частности с Sega Master System и Game Gear, графическая система которых стала промежуточным этапом к системам следующего поколения именно в области отображения цвета.
Хорошо знакомый всем и каждому сюжет в исполнении NES, Maser System и Genesis
Рекламные материалы манипулировали двумя понятиями — количество цветов, отображаемых на экране одновременно, и количество цветов, из которых эта первая группа могла быть выбрана. Эти цифры складываются из разрядности графических данных в видеопамяти и разрядности видео ЦАП, но делают это по довольно хитроумным схемам, и поэтому маркетинговые материалы нечасто могли похвастаться точными цифрами. Тем более что эти цифры получались довольно «некрасивыми», не круглыми ни в десятичной, ни в двоичной системе, и их было затруднительно объяснить — проще было указывать приближённые «красивые» значения.
Технически возможности по одновременному отображению цветов связаны с тем, сколько бит отводится на хранение одного пикселя исходного изображения. Исторически эволюция этой характеристики была примерно такой: один бит в системах второго поколения (и многих ранних домашних компьютерах), два бита в раннем третьем поколении (NES), четыре бита в позднем третьем и всём четвёртом поколении — то есть два цвета на точку, четыре цвета на точку, и наконец шестнадцать цветов на точку. Глубина цвета восемь бит на точку ограниченно применялась только на SNES в некоторых режимах, в том числе в Mode 7, в целом же она стала стандартом только для приставок пятого поколения и для компьютеров IBM PC с VGA адаптером.
Однако, то, что графика хранится, например, в формате два бита на точку, не означает, что NES может отображать всего четыре цвета на экране, а то, что у Genesis и SNES графика одинаково хранится в формате четырёх бит на точку, не значит, что количество одновременно отображаемых цветов на экране у них равное. Для повышения количества одновременно отображаемых цветов применялись так называемые цветовые атрибуты и наборы палитр — подробно об этом я рассказывал в одной из предыдущих публикаций.
Таким образом, из-за особенностей архитектуры графической системы NES может стандартно отображать до 25 цветов одновременно, Master System — 31 цвет, Genesis — 61 цвет, SNES — 256 цветов, и, внезапный лидер поколения, TurboGrafx-16 — 481 цвет. Также возможны особые программные трюки, применимые только в некоторых ситуациях, позволяющие превысить эти значения. Их применение в играх ограничено, поэтому обычно речь об этих расширенных количествах при сравнении возможностей систем не идёт.
Что касается общего количества цветов, из которого можно выбрать отображаемые на экране, оно непосредственно определяется разрядностью видео ЦАП, суммой разрядности всех трёх его каналов R, G, B. Математика здесь проста и очевидна, однако, представители второго и раннего третьего поколения игровых систем имеют подвох с отсутствием внутреннего представления цвета в системе RGB — вместо этого цвет в них формировался непосредственно сдвигом фаз цветоразностных каналов, и на выходе сразу был видеосигнал в формате NTSC или PAL. В этом случае количество цветов не определялось количеством управляющих бит напрямую, так как часть итоговых цветов совпадала или была недопустимой, сбивающей синхронизацию.
YIQ палитра NES, не использующая привычную RGB-логику — вместо этого она формируется из оттенка и яркости
Для любителей посчитать и разобраться в цифрах я свёл все характеристики нескольких популярных игровых платформ в одну табличку:
Система | Бит на точку | Видео ЦАП, бит на RGB | Цветов на экране | Цветов всего | Как считать количество цветов на экране |
NES | 2 | нет (YIQ 4:2) | 25 | 52-55 | общий цвет фона 4 палитры по 3 цвета для слоя фона 4 палитры по 3 цвета для слоя спрайтов |
Master System | 4 | 2:2:2 | 31 | 64 | общии цвет фона 2 палитры по 15 цветов для слоя фона и спрайтов |
Genesis | 4 | 3:3:3 | 61 | 512 | общий цвет фона 4 палитры по 15 цветов для слоёв фона и спрайтов |
TurboGrafx-16 | 4 | 3:3:3 | 481 | 512 | общий цвет фона 16 палитр по 15 цветов для слоя фона 16 палитр по 15 цветов для слоя спрайтов |
SNES | 4 | 5:5:5 | 256 | 32768 | общий цвет фона 16 палитр по 15 цветов для слоёв фона и спрайтов палитра в полные 256 цветов в отдельных режимах |
▍ Битность звука
Характерное синтетическое звучание 8-битных игр, которое сейчас принято называть 8-битной музыкой, технически не содержит ничего 8-битного, что можно было бы притянуть за уши к исполнению роли определяющего «битность» звука фактора.
Звуковые чипы ранних игровых систем, до третьего поколения включительно, на самом деле просто обладали простейшими тембрами, для синтеза которых требовались наиболее простые и поэтому недорогие электронные схемы — разновидности прямоугольных сигналов, реже треугольно-пилообразные.
Классическое звучание восьми бит на NES
Со временем и сменой поколений игровых устройств возможности синтезаторов расширялись в сторону усложнения тембров — к простейшим формам сигнала добавились волновые таблички, открывающие возможность имитации более сложных сигналов, например, синусоиды. Из-за других маркетинговых игрищ название этой технологии часто путают с воспроизведением целиковых сэмплов, её ключевое отличие в использовании очень коротких сэмплов, размером всего в несколько байт и всего в один период сигнала. На аркадных автоматах эта технология стала возможной уже в 1980 году (в игре Pac-Man), а до домашних игроков добралась к началу четвёртого поколения, в виде TurboGrafx-16.
Менее привычный отечественному уху пример wavetable-музыки на TurboGrafx-16
Потом на сцену вышел FM-синтез, проприетарная технология компании Yamaha, позволившая создавать из одной таблички с синусоидой сложные сигналы со множеством гармоник — то, что сейчас составляет эстетику звучания видеоигр 16-битной эпохи и эпохи аркадных игровых автоматов Sega, а заодно и звучание MIDI на компьютерах эпохи очень раннего Windows и легендарные элементы звучания музыкального жанра синти-поп.
Синтетический гранж на Genesis
И наконец, когда оперативная память стала дешевле и быстрее, в ход пошёл волновой синтез, а точнее воспроизведение заранее записанных целиковых звуков. Это позволило имитировать любые реальные музыкальные инструменты и синтезаторы. На первых порах ограниченное объёмами памяти несовершенство этой технологии имело явно слышимые артефакты, ставшие узнаваемой звуковой эстетикой SNES, но постепенно, с ростом качества, какой-либо характер был утрачен. Так появилось привычное нам реалистичное звучание, пришедшее в игры с поколением 32-битных игровых систем и остающееся стандартом по сей день.
Богатая реалистичными звуками музыка совершенной игровой SNES
Попытаться провести инвентаризацию бит можно в двух основных категориях: ранние звуковые чипы с примитивными тембрами и более поздний реалистичный цифровой звук.
Вопросы подсчёта бит в ранних звуковых чипах осложняются неортогональностью их архитектуры — почти всегда вместо набора полностью одинаковых звуковых каналов они имели специализированные каналы, так или иначе отличающиеся в возможностях, иногда существенно. И у них всегда есть много составляющих, обладающих характеристикой разрядности, оказывающей явное влияние на характер звука.
Не самая известная из них — разрядность программируемых счётчиков-делителей, делящих входную тактовую частоту порядка единиц мегагерц на целое число, получая таким образом нужную частоту слышимого человеком диапазона. Чем больше бит у делителя, тем точнее результат деления и попадание в образцовый музыкальный строй.
Первый звуковой чип в истории, TIA на Atari 2600, имел делители с разрядностью всего 5 бит, что давало крайне грубые результаты, звучащие откровенно мимо нот. Поэтому на этой системе нечасто можно услышать какие-либо мелодии. Далее количество бит стало повышаться: 7, 8, 10, 12, 16. Уже на 10 битах в звуковом чипе Master System ноты начали строить более-менее нормально, 12-16 бит точности в эпоху NES стало достаточно всем.
Другая, более понятная характеристика — разрядность ЦАП. Однако, в случае простых звуковых чипов ЦАП всего лишь исполнял обязанности регулятора, или аттенюатора (уменьшителя) громкости. Практически сразу, с Atari 2600, устоялось стандартное количество бит — четыре, 16-ти уровней громкости было вполне достаточно для практических целей, и оно сохранилось до смены парадигмы синтеза на частотную модуляцию и воспроизведение сэмплов.
С приходом волнового табличного синтеза ЦАП начал играть свою современную роль, восстанавливая уровни амплитуды оцифрованного сигнала, и звуковые чипы обзавелись парой ЦАП на каждый канал: один для воспроизведения волновой таблицы, другой для управления громкости. Стандартом для первого ЦАП стало пять бит, для громкости — как и раньше, четыре, итого девять бит управления амплитудой на канал.
Что касается эпохи цифрового звука, всё было проще: разрядность ЦАП непосредственно влияла на качество воспроизводимого звука. То есть 16-битный ЦАП вполне однозначно лучше, чем 8-битный. Однако, этот параметр не являлся единственным и определяющим, так как от него зависел только динамический диапазон реконструируемого сигнала (грубо говоря, больше бит — меньше шумов). Были и более важные параметры, не измеряемые в битах: частота дискретизации, влияющая на полосу частот реконструируемого сигнала, и объём памяти, определяющий длительность звукового фрагмента.
Проблема объёма звуковой памяти стояла с момента появления волнового синтеза довольно остро, и сохранялась на протяжении всего пятого поколения. В результате повсеместно применялось агрессивное аппаратное сжатие с потерями, различными вариациями алгоритма ADPCM — звук всегда хранился в сжатом виде и распаковывался непосредственно звуковым сигнальным процессором только в момент воспроизведения. Так, на SNES 16-битные сэмплы сжимались в 4 бита пакетами по 16 выборок, кодируемых 9 байтами данных вместо 32-х. На PlayStation применялась аналогичная схема кодирования в 4 бита, но пакетами по 28 выборок, кодируемых 16 байтами. Наличие сжатия и относительно невысокая частота дискретизации приводила к потере высоких частот и глухому звучанию, особенно на SNES.
▍ Реально 4 бита
Те, кто успел застать клон Atari 2600 под названием Рэмбо, появившийся на нашем рынке почти одновременно со значительно более крутой Денди, иногда высказывали мысль, что игры на Рэмбо хуже, потому что в ней меньше бит. Например, она какая-то четырёхбитная. На самом деле это, конечно, не так, в основе Atari 2600 лежит классический 8-битный процессор MOS 6502, а графика и звук на ней такие по другим причинам — хотя бы потому что она принадлежит другому поколению игровых устройств, и является одной из первых домашних видеоигровых систем в принципе. Тем не менее, миф про четырёхбитные приставки, предшествовавшие Денди, был рождён.
Какой-то 4-битный Pitfall
История микропроцессорной вычислительной техники действительно началась с 4-битных устройств, целью создания которых были микрокалькуляторы. Позже они пригодились и для первых электронных микропроцессорных игрушек.
Среди них — такие знаменитые игрушки как Speak & Spell, Simon, Big Trak, а также предтечи видеоигр — устройства типа Nintendo Game & Watch и Milton Bradley Microvision. Как правило они строились на микроконтроллерах TMS и Sharp. Традиция использования 4-битных контроллеров в игрушках сохранилась надолго, и популярная Тамагочи 1997 года также была построена на 4-битном контроллере.
4-битные игры прекрасно знакомы нам с детства
Долгие годы это оставалось тайной, но буквально на днях тайное стало явным — одни из самых продвинутых электронных микропроцессорных игрушек, китайские карманные Тетрисы, также известные как Brick Game, тоже были построены на 4-битном китайском микроконтроллере Holtek. Про это открытие есть статья на Хабре.
Истории неизвестны примеры именно видеоигровых устройств, то есть подключаемых к телевизору, на основе 4-битных микропроцессоров, и для этого есть вполне объективные причины.
Те, кто ещё не сталкивался с 4-битными архитектурами, обычно ожидают увидеть в них прямую аналогию с более привычными 8 и 16-битными — примерно то же самое, только регистры меньшей разрядности. Однако, архитектурно 4-битные системы очень сильно отличаются от своих 8-битных потомков, их значительно тяжелее программировать, и они имеют крайне низкую производительность.
Достаточно типичными особенностями 4-битной архитектуры является наличие 4-битного параллельного АЛУ, всего одного 4-битного аккумулятора и одного 4-5 битного индексного регистра, 6-битного указателя команд. Последнее означало, что адресное пространство программы — всего 64 команды, больше за счёт переключения банков и перехода между ними. Помимо перечисленных сложностей — отсутствие стека, только один уровень возврата из подпрограмм, очень ограниченный набор команд, например даже без операций AND и OR.
Всё это позволяло адресовать считанные десятки байт ОЗУ и пару килобайт ПЗУ и реализовывать довольно простые, по большей части линейные алгоритмы. Для видеоигр же часто нужны манипуляции с памятью, перемещение и обработка довольно существенных количеств байт, даже если графика целиком аппаратная. Также для реализации привычных игровых сюжетов нужны довольно сложные программы с большим количеством разнообразных вычислений и условных переходов.
Microvision, первая в истории портативная игровая система с пиксельной графикой и 4-битным процессором
Таким образом, возможностей 4-битных процессоров вполне хватало для микрокалькуляторов, которым было позволительно подумать пару секунд, чтобы выдать результат сложения двух чисел, и для простых электронных игрушек. Но, вероятно, незатейливые пиксельные игры для Microvision и Тамагочи — практическая вершина их возможностей.
▍ Первые 16-битки
Когда речь заходит про 16-битные игры, большинство, конечно, вспоминает передачу Денди и игровые приставки Sega Genesis (Mega Drive) и Super Nintendo. И, конечно, замечательные игры для них, значительно превосходящие красочностью и разнообразием происходящего на экране всё, виденное ранее на Денди.
Но первые 16-битные игровые системы появились гораздо раньше — до рождения самой идеи о противостоянии 8 и 16 бит. Знакомство с их возможностями неплохо демонстрирует техническую несостоятельность концепции «битности».
Первым персональным 16-битным компьютером в истории называют Texas instruments TI-99/4, вышедший в 1979 году. Построенная на одном из первых 16-разрядных микропроцессоров, TMS9900, эта система оказалась не особенно успешной по целому вороху причин. Это вполне ожидаемо — рынок персональных компьютеров только рождался, и никто ещё толком не знал, как должен быть устроен персональный компьютер и какими способностями должен обладать. В результате система получилась очень дорогостоящей, не особенно производительной, без поддержки сторонними разработчиками ПО и с дышащими в затылок конкурентами с лучшими возможностями при значительно меньшей стоимости. Главным же техническим недостатком TI-99/4 стал, собственно, 16-битный микропроцессор.
TI-99/4
Исторически Texas Instruments одной из первых вступила на рынок микропроцессоров, создав упомянутый выше 4-битный TMS1000. TMS9900 стал заложником стереотипного инженерного мышления — несмотря на 16-битное АЛУ, его архитектура сохранила многие особенности 4-битных решений, делающие его малопроизводительным и сложным в использовании. Наиболее спорным решением стал отказ от концепции регистров — процессор имеет только пару указателей для текущей инструкции, для рабочей памяти, и регистр статуса. Все операции выполняются в парадигме память-память, нет даже привычного аккумулятора.
При этом с целью снижения себестоимости архитектура самого компьютера была по сути 8-битной, с 8-битной шиной данных и памятью, и оказалась неспособной эффективно работать с 16-битным процессором, единственной точкой приложения 16-битности которого стали 256 байт отдельного быстрого ОЗУ.
Отличная по меркам ColecoVision графика. На такую же способен и TI-99/4
TI-99/4 быстро исчез с рынка, но его существование оставило огромный след в игровой индустрии: его специализированные графический и звуковой чип вскоре были выпущены в виде микросхем общего назначения, и легли в основу множества других домашних компьютеров, а также в две заметные игровые системы третьего поколения: ColecoVision и Sega SG-1000. Именно по играм для этих платформ можно составить впечатление о возможностях первого 16-битного персонального ПК, оказавшихся на уровне, заметно уступающем даже 8-битной NES.
Другой яркий представитель ранних 16-бит — игровая система второго поколения, Mattel Intellivision 1979 года выпуска.
Нет, это не двуручный кнопочный телефон, а первая в истории 16-битная игровая приставка
Эта первая в истории 16-битная игровая приставка, построенная на основе другого одного из первых 16-битных микропроцессоров, General Instrument CP1610, была не столь неудачной архитектурно. Центральный процессор был довольно удачным развитием идей, заложенных в архитектуре PDP-11, а видеосистема была способна на отображение более сложных визуальных сюжетов, в том числе, это была одна из первых реализаций тайлово-спрайтовой графики, ставшей золотым стандартом на несколько поколений вперёд.
16 бит вашего дедушки в 1983 году
Однако, она была вынуждена конкурировать со значительно более популярной Atari 2600, имевшей четырёхлетнюю фору — целую вечность для рынка видеоигр того времени. Intellivision удавалось какое-то время удерживать позицию второго лучшего продукта на рынке, однако, подоспевшие через три года приставки третьего поколения смогли воспользоваться преимуществом подешевевшей оперативной памяти, и предложили несколько лучшие аудиовизуальные возможности. Кризис рынка видеоигр 1983 года поставил точку в истории Intellivision.
Говоря о ранних 16-битных системах, не похожих на «настоящие» 16 бит, а также упомянув PDP-11, нельзя обойти вниманием другую систему, дорогую сердцу русскоязычного читателя — БК-0010. В основе этой отечественной персоналки 1985 года выпуска лежал процессор, прямо реализующий удачную 16-битную архитектуру PDP-11 в формате однокристального микропроцессора. При этом общая производительность и графические возможности системы поставили её в один ряд со вскоре появившимися клонами британского ZX Spectrum, а отсутствие столь же развитой библиотеки развлекательного программного обеспечения и вовсе представило платформу не в особо выгодном свете. Тем не менее, это довольно уникальная ранняя истинно 16-битная платформа, до сих пор имеющая своих поклонников и энтузиастов.
16 советских социалистических бит
▍ Могучие 32 бита
Аналогичная история случилась и с первыми в истории 32-битными игровыми системами — повышенное количество бит само по себе не придало им тех особенностей, которые мы сейчас ассоциируем с пятым поколением, бесспорным лидером которого была Sony PlayStation, и путь к ним был долгим и тернистым.
Первые в истории 32-битные игровые системы, появившиеся в 1993 году — почти неизвестный западному миру FM Towns Marty и известная, но неудачная Amiga CD32. Хотя формально на борту у них были 32-битные процессоры (AMD 386SX и Motorola 68020 соответственно), по возможностям это были скорее системы предыдущего поколения, только с носителем в виде компакт-диска и поддержкой аудио CD. Они не имели аппаратной поддержки ни мультимедиа (сжатого видео и звука), ни трёхмерной графики — ничего из того, что станет главными столпами поколения.
Никаких сомнений — внутри 32 бита и CD. Amiga-aaa!
Sega, готовясь к приходу пятого поколения игровых систем, уже начала свою череду максимально сомнительных решений и стратегических просчётов, в итоге приведших к её полному выходу из консольного бизнеса. И первым её откровенным провалом стала попытка запуска домашней 32-битной системы. Нет, не Saturn, а пресловутой Sega 32x — грибовидного дополнения к Genesis, предположительно призванного сделать 32-битную технологию доступной на уже существующую 16-битной платформе, Соответственно, 32 бита были даже вынесены в название. И хотя данное устройство действительно содержало довольно-таки производительный 32-битный процессор Hitachi SH-2, причём даже не один, а сразу два, видимо сказалось проклятие битов, добавляемых в название.
Sega долго не могла отделаться от сексуального подтекста в своей рекламе. В случае с 32x они как бы пытались нам что-то сказать
Во-первых, как и CD32, система не была готова к поддержке основных ценностей поколения — мультимедиа и трёхмерной графике, все её способности в этих направлениях достигались чисто программно, за счёт эффективного программирования сложносоставной трёхпроцессорной системы (процессор Genesis также должен был участвовать в деле).
Во-вторых, выпуск такого половинчатого решения одновременно с анонсом Sega Saturn привёл к бессмысленной фрагментации аудитории и её отчуждению. Не сказать, что этот печальный опыт чему-то научил компанию, так как Saturn также оказалась не вполне готова к трёхмерной графике, также имела излишне сложную архитектуру, и также страдала от нехватки продающих систему игр — игроки так и не дождались продолжений многих популярных игровых серий компании, включая даже самый главный хит, Sonic the Hedgehog.
Первой системой пятого поколения, в которой наконец оформились его главные черты, стала 3DO Interactive Multiplayer. Она имела 32-битный центральный процессор, хотя и довольно низкой производительности, поддержку мультимедиа и хоть какое-то аппаратное ускорение графики, которое можно было применить и для трёхмерной визуализации. Официальные рекламные материалы не заостряли внимание на 32-битности системы, но это не стеснялись делать сторонние дистрибьюторы.
Испытай 32-битную мощь!
Окончательно и максимально полноценно же облик поколения определился в системе Sony PlayStation, которая практически не имела откровенно слабых мест — если не считать её довольно специфических искажений в трёхмерной графике. Именно этот набор возможностей и стал тем, что ожидают увидеть, слыша про 32-битную игровую систему, хотя в её промо-материалах акцент на 32-битность особенно не делался.
Примерно это время в прессе начала встречаться рефлексия на тему понимания, что не все биты одинаково полезны, и качество игр от них не зависит. Так начался переход от подсчёта количества бит к количеству процессоров, логично выросший из более ранних попыток строить маркетинговые доказательства преимуществ одной системы над другой по числу заказных чипов (у Genesis два, у SNES шесть, ну вы поняли).
При этом процессорами называли что угодно, что можно было подогнать под это определение: любые сложные чипы в составе консолей, даже если фактически они процессорами не являлись, или являлись формально (микроконтроллеры), но выполняли фиксированную утилитарную функцию без возможности программирования. И таких процессоров нужно было как можно больше, и желательно побольше бит в каждом. Так, усилиями маркетинговых отделов удалось насчитать шесть процессоров в PlayStation. Как показала история, на практике от количества таких дутых процессоров было не больше толку, чем от количества бит.
Также в это время начался и подсчёт других, более сложных для понимания вещей. Например, количества полигонов в секунду, что также не очень полезная метрика, так как полигон полигону рознь, и задачи, решаемые игровыми движками, не ограничиваются только растеризацией максимального количества полигонов — вычисления, какие полигоны и как нарисовать, занимают очень значимое время, требуя высокой производительности других элементов системы, в частности, основного и геометрических процессоров.
Но всё же биты пока не сказали последнего слова и задержались ещё на одно поколение.
▍ Невероятные 64 бит
Эскалация конфликта платформ с применением битового маркетинга логичным образом привела к очередному удвоению цифры для новых систем. В современной классификации они, однако, не выделены особо, и относятся к пятому, 32-битному поколению. Причина всё та же: простое увеличение разрядности компонентов системы, пусть и центрального или видеопроцессора, не дало ни принципиально новых качеств, ни даже значительного изменения количественных характеристик.
В истории было две игровых системы, маркетинговая компания которых заостряла внимание на их 64-битности
Твоё будущее 64-битное! — сейчас звучит примерно как «чтоб ты жил на одну зарплату!»
Прежде всего это, конечно же, Atari Jaguar — апогей явления битности, демонстрирующий бессмысленность и беспощадность этой концепции. Агрессивная рекламная кампания этой платформы строилась именно вокруг подсчёта битов и предлагала игрокам, наконец, взять да посчитать — «do the math!», провозглашая систему единственной 64-битной на рынке, на который ещё только-только собирались выйти первые 32-битные системы. И, соответственно, самой совершенной, ведь 64 значительно больше чем даже 32, не говоря про 16.
Проблема однако была в том, что король-то голый. Архитектура системы была просто монструозной, с тремя одновременно работающими разнородными процессорами. ни один из которых не был 64-битным. Главным 64-битным компонентом системы была шина данных ОЗУ системы и ПЗУ картриджа, что, конечно, давало системе некоторые преимущества. Однако, основной процессор, обтекаемо названный «служебным», был точно таким же, как в Sega Genesis — Motorola 68000, даже не 68020. В дополнение к нему система содержала два 32-битных заказных процессора — графический Tom и звуковой Jerry. причём это были именно полноценные RISC-процессоры, выполняющие программный код, по крайней мере по задумке инженеров.
Том и Джерри уже не те. Всё сложно
Помимо сложнейшей архитектуры, самой по себе затрудняющей раскрытие её потенциала, система страдала от огромного количества критических технических проблем, которые просто не позволили полноценно использовать имеющиеся ресурсы. Из-за этого в большинстве игр за основные задачи пришлось отдуваться процессору 68000, хотя изначально ему отводилась только скромная роль работы с периферией, например, опрос джойстика.
Из-за технических проблем никто и никогда не смог на практике реализовать полный потенциал системы и поддержать заявление о 64-битности делом — игры выглядели немногим лучше, чем 16-битные, и уж точно хуже, чем на вскоре вышедших главных 32-битных системах поколения. Заявление о 64-битности системы только на основе разрядности шины было довольно шаткой позицией, а попытки обосновать 64-битность путём сложения разрядности двух 32-битных процессоров, выполняющих не связанные задачи, и вовсе никто не воспринял всерьёз.
Ultra 64!
Nintendo 64 стала ещё одной системой, где разрядность была вынесена прямо в название системы, и на этот раз, кажется, пронесло — она оказалась вполне удачной технической и успешной на рынке.
Во время разработки и в ранних рекламных материалах новая консоль Nintendo носила название Ultra 64. Оно запечатлено не только в бумажных публикациях, но даже в аркадной версии игры Killer Instinct, которая содержала видео-анонс домашней версии, встроенный прямиком в игру — «Available for your home in 1995 only on Nintendo Ultra 64!». Впрочем, ни название, ни обещанная домашняя версия игры так и не стали реальностью, но впоследствии первый эмулятор Nintendo 64 — Ultra HLE — отдал дань этому названию.
Nintendo 64 содержит три 64-битных компонента: центральный процессор NEC VR4300 с архитектурой MIPS R4000, краеугольный камень системы — сигнальный процессор RSP (Reality Signal Processor) с такой же архитектурой, выполняющей так называемый микрокод, и видеопроцессор RDP (Reality Display Processor), занимающийся растеризацией полигонов. Не задалось только с любимым компонентом маркетинга — разрядностью шины, она стала 32-битной, да и ПО для приставки редко использовало потенциал 64-разрядной архитектуры, так как 32-битный код выполнялся быстрее и занимал меньше места.
Эффективное использование ресурсов этой довольно сложной архитектуры заключалось в распределении вычислений между всеми компонентами, причём на плечи RSP ложилась как подготовка трёхмерной сцены и обработка геометрии, так и звук (например, декодирование MP3), и это требовало постоянно перезагружать микрокод в память RSP, прерывая один процесс другим — проще, чем архитектура Jaguar, но всё ещё нетривиальная задача. Впрочем, разработчики научились справляться с ней довольно эффективно.
Игры с цифрой 64 в названии. В библиотеке из 300 с небольшим игр их наверняка не меньше 64
64 бита упоминались не только в названии консоли. Значительная часть игр также использовала 64 в своих названиях — Super Mario 64, StarFox 64, Pilotwings 64, Quake 64, Doom 64, и так далее. На то, что речь шла о битах, указывает и кодовое название проекта Super Mario 128 для тогда только разрабатывавшейся консоли следующего поколения, которой стал GameCube
На 64DD долго возлагали большие надежды, которым не суждено было осуществиться
Исторический момент отхода от подсчёта бит к другим измеряемым величинам остался зафиксирован в названии аддона 64DD, внешнего привода проприетарных магнитных дисков для Nintendo 64. Если 64 в названии самой консоли — это её предполагаемая разрядность, 64 в 64DD является не только отсылкой к названию основного устройства, но и объёмом памяти носителя в мегабайтах. Но на этот раз от проклятия бит в названии новое устройство это не спасло, и оно стало одним из самых громких провалов в истории Nintendo.
Также в истории могло приключиться ещё два 64-битные системы. Hyper Neo-Geo 64, сначала запущенная в формате аркадного игрового автомата, оказалась настолько неудачной технически, что до выпуска домашней версии дело просто не дошло. Многострадальная система Panasonic M2 так сильно задержалась в разработке, что когда технология была готова, выпускать её на рынок уже не было смысла.
Что касается маркетинга, если SNK решила последовать моде и поставить число бит в название, рекламная кампания M2 старательно обходила вопрос битности своей системы стороной, лишь изредка упоминая 64-битную архитектуру или 64-битный процессор. Для этой осторожности была веская причина: фактически архитектура предполагала использования двух 32-битных процессоров Power PC602 и 64-битную шину данных памяти, и маркетинговый отдел догадывался, что изрядно измученные битами игроки уже не купятся на предложение просто сложить 32 и 32.
▍ Круче бит
Как известно, круче гор могут быть только горы, на которых ещё не бывал. За историю вопроса маркетинг уже успел побывать на всех битах по несколько раз, и под конец отжима этой концепции из неё шёл откровенный жмых.
Например, что может быть круче 32 бит? Правильно, три раза по 32 бита! Рекламная компания Sega Saturn в том числе использовала термин «triple 32-bit power». Затруднительно сказать, где и как были насчитаны эти биты — вероятно речь иносказательно шла о количестве процессоров, в которые записали предположительно 32-битные центральный процессор и оба видеоконтроллера.
А что может быть круче трёх раз по 32 бит? Правильно, мегабиты!
Практически одновременно с войнами битов в публичное поле была введён параллельный, схожий по звучанию термин. Однако, он действительно был техническим, поддавался реальному подсчёту, и был практически полезен, так как имел более явную корреляцию с качеством и количеством контента в играх. Речь шла об объёме памяти в картриджах.
Измерять объёмы памяти в картриджах решили не в привычных производных от байт, типа килобайт или мегабайт. а в битах, килобитах и мегабитах. Вероятно, маркетинг позаимствовал этот способ подсчёта у производителей микросхем памяти, где такой формат имел техническое обоснование в виде разной возможности организации памяти.
Цифры в мегабитах смотрелись внушительнее и красивее, и росли по мере снижения цен на память: 4, 8, 12, 16, 20, 24 мегабита. Гонка вооружений в 16-битную эпоху остановилась на 40 и 48 мегабитах. Отсутствие строгого следования степеням двойки объясняется появившейся в этом поколении возможностью смешивать в составе картриджа разноразмерные микросхемы памяти, набирая наиболее экономически оправданный в каждом конкретном случае объём.
Мегабиты прямо на обложке игры
Система измерения объёма картриджных игр в мегабитах сохранилась и в пятом поколении, на последней в то время картриджной приставке Nintendo 64. Её игры имели ещё более внушительные объёмы, от 32 до 512 мегабит, то есть от 4 до 64 мегабайт.
Разумеется, мегабиты постоянно вносили путаницу, ведь все прочие объёмы памяти в рекламных публикациях по прежнему оперировали килобайтами и мегабайтами, а звучали эти термины похоже. Разница же между битами и байтами восьмикратная. Эта расхожая ошибка до сих пор встречается повсеместно.
Чуть позже идея подсчёта объёма картриджей в битах пережила второе рождение в совсем другой части света: китайские производители пиратских копий видеоигр подхватили её и сделали из неё суперзвезду — наше драгоценное жёлтое золото из детства.
Та самая загадочная надпись Super HIK на больших китайских жёлтых картриджах — вовсе не опечатка в слове Hit. Она связана именно с объёмом памяти, который было принято указывать на ранних пиратских релизах, ведь он означал большее количество игр или их качество. Super Hi K подразумевал содержание в картридже исключительного количества килобит, а значит, более крутые и графонистые игры. Изначально написание разделяло Hi K пробелом или цветом, но впоследствии сменяющие друг друга поколения пиратов утратили тайное знание о происхождении названия и упразднили пробел.
Super HI K с разделением цветом и пробелом, и даже указано количество этих самых K
Что касается традиционных бит, китайские производители поддержали и эту традицию, указывая эти цифры на своих клонах Денди и Сеги, но, конечно, сделали это в своём особенном стиле. В результате можно встретить и клон Сеги с аутентичной надписью 16-BIT на корпусе, и клон Денди с надписью 16-BIT, и клон Денди в корпусе Сеги с надписью 8-BIT.
Sega всё-таки дошутилась про консоли и их секс
▍ Биты ничто
Подсчёт бит в продвижении игровых систем закончился на следующем после Nintendo 64 поколении игровых систем, шестом по современной нумерации. Разрядность их процессоров ещё упоминалась в первых промо-материалах, с вялыми попытками заявить 128-битность при фактически 32- и 64-битных основных процессорах, натягивая на этот глобус регистры векторных и видеопроцессоров. Но объяснить всё это публике становилось всё сложнее, а неудачи большинства предыдущих маркетинговых кампаний с использованием чисел, уже стали легендарными, и постепенно эта практика сошла на нет.
Лично мне эта маленькая заметочка из журнала конца 1990-х годов про 128-битную вундервафлю не давала покоя на протяжении последующих десятилетий
Концепция же битности жива в сознании свидетелей эпохи до сих пор. Например, любительский компьютер Commander X16, разработанный популярным видеоблогером The 8-bit Guy, чтя традиции прошлого, включил заветную цифру в название. Иронично, но после анонса проекта было решено отказаться от 16-битного процессора и использовать классический 8-битный 6502, а название так и осталось.
Так или иначе, в заключении остаётся только повторить уже озвученную выше простую истину: в конечном счёте никакие биты и процессоры ничего не значат, и это не то, за что мы любили те или иные игровые системы. Решают только увлекательные, красивые, талантливо сделанные игры.
Узнавайте о новых акциях и промокодах первыми из нашего Telegram-канала ????
Комментарии (13)
mpa4b
26.10.2023 10:51+1но на это долго намекало наличие флага полупереноса: в основе архитектуры Z80 лежало 4-битное АЛУ
Полуперенос был уже в 8080 и никаким боком к битности АЛУ не относится. Если АЛУ >4битное, то он просто выковыривается из нужного места.
perfect_genius
26.10.2023 10:51+3Мне, как перфекционисту, жаль Мегадрайв, а вернее её память. Все адреса её процессора 32-х битные, но игры не весили больше 4-х мегабайт, поэтому в адресе всегда остаётся пустым старший неиспользуемый байт. Т.е. в памяти (и в роме) куча дыр в виде пустых байт и их не использовать.
Авторы Zero Tolerance поступили хитро - код игры относителен от адреса в одном регистре, отчего код выходит более компактным и к тому же эта проблема с неиспользуемыми старшими байтами пропадает.shiru8bit Автор
26.10.2023 10:51+5Мегадрайв весь чуть-чуть недожат, в разнообразных мелочах. Например, у YM2612 есть таймеры с генерацией прерывания, у Z80 есть входы для прерываний - нужен был всего лишь один проводок, чтобы получить прерывания с программируемой частотой. Но не сделали, в результате приходится синхронизироваться исключительно по тактам. Система переключения банков Z80 в виде 9-битного последовательного регистра опять же - очень мешает делать многоканальный цифровой звук. 3 бита на RGB выход, в формате 4:4:4 с нулями в младших разрядах - были бы реальные 4 бита на канал, была бы палитра в 4096 цветов - значительно лучше 512. Вероятно Sega спешила выйти на рынок пораньше, и решила, что лучшее враг хорошего.
Panzerschrek
26.10.2023 10:51+2В погоне за битностью создатели Nintendo 64 забыли самое главное. Носителем они выбрали всё тот же картридж со смехотворным объёмом памяти. Посему игры на этой платформе были весьма ограничены, в сравнении с той же PlayStation. Примером тут может служить, например, игра Quake II. Порт на PlayStation почти столь же полон, как и оригинал на PC. Версия для Nintendo64 - игра с набором своих очень небольших уровней, без оригинальной музыки и с урезанным набором врагов.
А ещё создатели облажались с архитектурой видиопамяти, из-за чего почти все игры выглядят весьма мыльно, ибо в видеопамять можно было запихнуть только одну текстуру разрешением 32x32.daggert
26.10.2023 10:51...ибо в видеопамять можно было запихнуть только одну текстуру разрешением 32x32.
Оо?! Это как так? О чем думали архитекторы консоли?
Panzerschrek
26.10.2023 10:51+2Трудно сказать, что думали. Вполне возможно, что думали, что 4кб текстурного кеша хватит всем. На небольшие текстуры то его хватает. А большие разбивали на отдельные тайлы.
В принципе то при желании можно было ограничение обойти. Вон, сейчас уже даже мегатекстуру реализовали со страницами в эти самые 4 киолбайта https://www.youtube.com/watch?v=Sf036fO-ZUk.
StarWind
26.10.2023 10:51Это вот так
The RDP relies on 4 KB of TMEM (Texture memory) as a single source to load textures. Unfortunately, in practice 4 KB happened to be insufficient for high-resolution textures. Furthermore, if mipmapping is used, the available amount of memory is then reduced to half.
shiru8bit Автор
26.10.2023 10:51+1Они думали вполне нормально для тех лет. Это же система эпохи до-3Dfx, её разработка началась примерно в 1993 году на основе лучших существующих технологий. Тогда по сравнению с предыдущей SNES это было огромным, невероятным прорывом, и заметно лучше, чем у конкурентов - перспективно-корректное текстурирование, фильтрация, антиаласинг, Z-буфер.
Видеопамять у N64 огромная - она общая с основной, и растеризатор (RDP) очень быстрый. Но ради скорости он сделан таким образом, что текстура должна быть загружена в его особую память, TMEM - типа текстурного кэша. И этой памяти всего 4 килобайта, и к тому же смена текстур довольно накладная, при каждой смене надо закидывать в TMEM новые данные через DMA. Можно вообще не пользоваться RDP и рисовать программно текстуры любого размера, но это будет очень медленно и печально.
В общем, это издержки переходного периода, когда ещё не было понятно, какой должна быть видеосистема консоли для 3D графики. У Saturn вообще нет нормальных полигонов, у PS1 дрожащая трясучка (но получилось самый оптимальный компромисс), у 3DO растеризатор может рисовать дырки при определённом положении вершин, и вообще работает наоборот, из пространства полигона в пространство экрана, тратя кучу филлрейта.
Zara6502
Отлично. В своей статье я упомянул современный вариант 6502 от WDC, а в 90-е был от Hudson Soft, это уже по сути гибриды на стыке 8-16 по некоторым параметрам, так что да, битность не показатель, но я бы не стал её убирать с позиции ориентира.
shiru8bit Автор
Ещё очень интересный вариант - SPC700 от Sony. Он называется иначе, и по официальным мнемоникам сразу не понять, но если записать их в похожем на 6502 виде, оказывается, что это довольно крутая вариация на тему, очень похоже, но с множеством дополнительных возможностей.
Keeper10
Это же он использовался в качестве звукового процессора в SNES?
shiru8bit Автор
Да, именно он. Я предполагаю, что это ядро выбрали из-за похожести на основной процессор, чтобы разработчикам было проще осваивать.