Чипы расширений в картриджах 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 комментарий

avatar
Надо отметить, что процессор SNES работает на частоте не ровно, а до 3.58 МГц. И это одна из крупных проблем платформы (другая — страшная система спрайтов, у Genesis намного лучше). Частота автоматически переключается между 1.79, 2.58 и 3.58 МГц в зависимости от того, к чему обращается процессор (на самом деле меняется количество тактов шины для доступа, 6-8-12, мастер-клок 21 МГц). Для полной скорости в ПЗУ нужна память соответствующей скорости, и вручную включить режим 3.58 МГц. ОЗУ всегда работает только на 2.68 МГц (хотя можно замаппить его через слот картриджа в пространство ПЗУ, и оно таки заработает на 3.58 МГц, но это неприменимо в обычных картриджных играх). Все устройства в диапазоне адресов $4000-43ff (там регистры DMA, джойстика, математики) работают только на 1.78 МГц, регистры остальных устройств на 2.58 МГц.

Из всех чипов расширения я сам работал только с DSP1. Штука конечно интересная, но строго для определённого типа игр. Делался он, по всей видимости, для Pilotwings. Там есть 3D-проекция пола (типа трассы в Mario Kart), объектов, некоторая математика. Результатов вычисления надо ждать, и они не такие уж быстрые, хотя и быстрее, чем считать вручную. И неприятный момент, с DSP1 в режиме LoROM можно поставить только 1 МБ ПЗУ.
  • Shiru
  • +4
Только зарегистрированные и авторизованные пользователи могут оставлять комментарии.