Чипы расширений в картриджах SNES и Sega Mega Drive
Если на 8–битной Famicom/NES/Денди в картриджах быстро появились мапперы (о которых было рассказано в предыдущей статье) для увеличения объёмов памяти картриджа, то в 16–битной Super Nintendo Entertaiment System (SNES) вопрос с памятью был решен сразу — почти все картриджи делались в одной из двух распаек адресного пространства — LoROM или HiROM, отличие между которыми не столь для нас существенно, главное что до всех 4Мб ROM картриджа можно было дотянуться как минимум порциями по 32Кб отображаемыми в 16–битное адресное пространство процессора Ricoh 5A22 посредством его сегментных регистров. Крайне редко какие игры использовали больше 4Мб ROM и, соответственно, какие то нестандартные мапперы.
Однако как мы видели в случае с денди — мапперы быстро превзошли функции одного только отображения памяти картриджа в адресное пространство процессора и стали содержать дополнительные чипы, вплоть до улучшения графических и звуковых возможностей.
Такой судьбы не избежала и SNES — не так уж мало её игр использовали впаянные в картриджи чипы расширения возможностей консоли.
Как минимум 72 выпущенных игры содержало дополнительные чипы согласно статье в википедии: en.wikipedia.org/wiki/List_of_Super_NES_enhancement_chips (в ней же в конце и содержится список этих игр)
Далее я кратко и сжато переведу сюда описания чипов из этой же статьи:
Super FX
Самый известный чип улучшения, хотя и не самый распространённый. Содержал кастомный RISC–процессор (10.7 Мгц в первых ревизиях и на 20.4 МГц в последних), который рендерил в собственный фреймбуфер 2D и 3D графику.
Использовался в таких играх как: Star Fox, Super Mario World 2: Yoshi's Island, Doom (да да, на 16–битную консоль был сделан порт Doom 1 через этот чип и это был не аналог кубического Wolf 3D, а полноценный посекторный рендер как в оригинале с разными высотами пола и потолка).
CX4
Математический сопроцессор для тригонометрических вычислений базированный на цифровом сигнальном процессоре Hitachi HG51B169.
Использовался в играх: Mega Man X2 и X3.
DSP
Чип для векторных вычислений, преобразований битмапов, преобразований координат и т.п. Базирован на цифровом сигнальном процессоре NEC µPD77C25.
Есть 4 ревизии DSP–1/2/3/4 отличающиеся только прошивкой микрокода.
Использовался в таких играх как: Super Mario Kart, Pilotwings, Dungeon Master.
OBC–1
Чип для обработки спрайтов.
Использовался только в одной игре: Metal Combat: Falcon's Revenge.
S–DD1
ASIC декомпрессор тайловых данных из ROM–картриджа для повышения эффективной ёмкости последнего. Данные сжимались алгоритмом ABS Lossless Entropy Algorithm, который разработала компания Ricoh.
Использовался только в двух играх: Star Ocean and Street Fighter Alpha 2.
S–RTC
Часы реального времени.
Использовались только в игре Daikaijuu Monogatari II.
SA1
«Super Accelerator 1» — весьма широко применявшийся чип со вторым равноправным процессором той же архитектуры WDC 65C816, что и ЦП консоли, но работающим на большей частоте 10,1 МГц (для сравнения в консоли стоял аналог — Ricoh 5A22 на 3,58 МГц).
Кроме того он имел собственные быстрые 2Кб RAM, модули умножения и деления, специальный DMA–канал, таймеры, региональную защиту и прочие мелкие плюшки.
Использовался в таких играх как: Kirby Super Star, Super Mario RPG: Legend of the Seven Stars, Dragon Ball Z: Hyper Dimension.
SPC7110
Чип для декомпрессии данных от Epson использовавшийся в нескольких играх от Hudson.
ST010/ST011/ST018
Серия чипов, использовавшаяся компанией SETA Corporation. Использовлся как для общих функций так и специфически — для ускорения ИИ в настольных играх.
Первые два содержали процессор NEC µPD96050, а последний — 32–битный процессор архитектуры ARMv3 на 21.47 МГц.
Так что немало игр для Super Famicom/NES было «усилено» аппаратно через чипы в картриджах.
У прямого же конкурента SNES — Sega Mega Drive с расширениями как то не заладилось.
Несмотря на то, что Mega Drive появилась почти на 2 года раньше SNES и таким образом заметно дольше держала рынок, но судя по всему единственным чипом расширения для неё был SVP — Sega Virtua Processor, использовавшийся всего в одном картридже — порте на домашнюю консоль игры Virtua Racing с игровых автоматов.
Причём судя по всему сделать этот чип Sega захотела ровно после того как увидела полигональную графику у конкурента в игре Star Fox (1993), использовавшей чип Super FX.
Сказано — сделано и в 1994–ом Sega выпускает Virtua Racing на мегадрайве. Чип расширения содержал 16–битный цифровой сигнальный процессор Samsung SSP1601 и наскипидаривал полигональную графику заметно сильнее, чем Super FX конкурента — и полигонов было чуток побольше и фпс был заметно приятнее.
Однако и цена картриджа получилась кусучей — $100, так что даже зародилась идея выпускать чип как переиспользуемый картриджами модуль — но всё так быстро развивалось, что эта идея была откинута.
Однако, возможно, в том числе эта идея повлияла на следующий неудачный ход сеги — выпуск расширения консоли под названием Sega 32X. Но это уже совсем другая и печальная история.
1 комментарий
Из всех чипов расширения я сам работал только с DSP1. Штука конечно интересная, но строго для определённого типа игр. Делался он, по всей видимости, для Pilotwings. Там есть 3D-проекция пола (типа трассы в Mario Kart), объектов, некоторая математика. Результатов вычисления надо ждать, и они не такие уж быстрые, хотя и быстрее, чем считать вручную. И неприятный момент, с DSP1 в режиме LoROM можно поставить только 1 МБ ПЗУ.