Недавно я изучила линейку мапперов MMC Nintendo и некоторые другие платы. Все платы для западных релизов NES должны были производиться Nintendo, а поэтому обычно удовлетворяли установленным Nintendo стандартам. Но эти правила определялись технологиями, а не законом. И компания, которая раньше стала убийцей американской индустрии игр, решила нарушить эти правила. Безумие? Нет. Это… Tengen.
Мы уже встречались с Tengen в посте про NES, компания выпустила игры Gauntlet и R.B.I. Baseball на платах семейства DxROM, в которых был установлен чип маппера, изготовленный Namco. Однако лицензионный период Tengen длился лишь чуть больше года. Её первая игра R.B.I. Baseball вышла в апреле 1988 года, а в декабре 1988 года Tengen объявила, что разорвёт отношения с Nintendo и будет производить игры самостоятельно.
Две версии Gauntlet для NES: одна с лицензией Nintendo, другая без
В упадке Atari 2600 часто обвиняют избыток низкокачественных картриджей, частично вызванный открытостью консоли для нелицензионных игр. (Atari просто не ожидала, что кто-то попытается стать сторонним производителем; в то время такой концепции даже не существовало.) В результате этого Atari пала; её потребительский отдел домашних устройств был продан Джеку Трэмиелу, желавшему, чтобы этот бренд рекламировал его компьютер ST, и заменившему бОльшую часть персонала. Именно для того, чтобы избежать такой судьбы, Nintendo внедрила систему лицензирования.
Отдел аркадных автоматов, который чувствовал себя лучше (хотя к концу Золотого века американский рынок аркадных автоматов начинал угасать), остался во владении Warner и сохранил свой коллектив, но был переименован в Atari Games. Так как Atari Corporation Трэмиела имела право на название домашних устройств, Atari Games, которую можно считать самым прямым наследником старой Atari, вынуждена была придумывать новый бренд. И этим брендом стал Tengen.
Разные игры Tengen
Разумеется, Tengen не намеревалась продавать низкокачественные игры, как те, что обрекли на смерть консоль 2600. У неё была библиотека аркадных хитов Atari Games (например, Gauntlet), игры для NES от её иногда становившейся родительской компании Namco, а также права на аркадные игры других компаний, отказавшихся от мира лицензий Nintendo, например, Sega. Именно это выделяло Tengen на фоне других компаний, производивших нелицензионные игры, например, от Color Dreams. Это была серьёзная попытка крупных игроков рынка по разрушению лицензионной системы Nintendo.
Ещё одной выдающейся особенностью Tengen стало то, что она взломала чип блокировки Nintendo. В современных консолях блокировка обеспечивается при помощи криптографии. Но в 1980-х это могло бы перевести консоль в разряд вооружений, кроме того, на ЦП NES с частотой 1,7 МГц всё равно сложно было бы её реализовать. К тому же, криптографические блокировки не имели в то время юридической силы; в США они получили её только в Digital Millennium Copyright Act 1998 года.
Поэтому Nintendo разработала небольшой микроконтроллер, реализующий программу передачи случайных чисел. Микроконтроллер в консоли сопоставлял себя с контроллером в картридже, и если их числа не соответствовали ожидаемому паттерну, он каждую секунду перезагружал консоль, не позволяя запускать игры. Чип имел такую структуру, что программу нельзя было легко сдампить, а на случай, если её кто-нибудь сдампит, программа была защищена законом об авторских правах.
Ниже показан картридж игры 1992 года Micro Machines, выпущенной Camerica. Обратите внимание на цепь в углу; это то, что мы уже рассматривали в моём блоге — накачка заряда [перевод на Хабре — прим. пер.], создающая отрицательное напряжение из входа консоли на 5 В. При включении консоли скачок отрицательного напряжения подаётся на линию сброса чипа блокировки, «поджаривая» его настолько, чтобы сломать программу, благодаря чему она перестаёт перезагружать консоль.
Зачем здесь нужен переключатель? Потому что из-за конструкции цепи, если чип блокировки отсутствует, она просто будет получать большой объём мощности от консоли, пока что-то не сломается. А в 1993 году Nintendo выпустила вариант консоли без чипа блокировки. До этого Nintendo вносила другие изменения в NES, пытаясь предотвратить подобные фокусы; в частности, были установлены диоды, препятствующие попыткам Color Dreams уничтожить линии данных чипа блокировки.
Похоже, ещё в 1988 году Tengen поняла, что такая возможность существует, но это было слишком грубым решением. Кроме того, импульс отрицательного напряжения теоретически мог привести к повреждению консоли, из-за чего Tengen и её родительская компания Atari Games могли потерпеть существенные убытки. Поэтому они создали собственный клон под названием «Rabbit» («Кролик»), обменивающийся данными с консолью и обманом убеждающий её, что это обычный чип Nintendo.
Как они это сделали? Оказалось, совершив преступление. У Tengen не получилось выполнить реверс-инжиниринг чипа, поэтому она убедила Бюро регистрации авторских прав США передать ей исходный код чипа блокировки, заявив, что это необходимо для подачи судебного иска. Получив код, Tengen с лёгкостью смогла создать собственный клон. Tengen действительно хотела судиться с Nintendo из-за нарушений антимонопольного законодательства, поэтому, вероятно, решила, что это ей сойдёт с рук.
Сага Nintendo и Tengen завершилась внесудебным соглашением в 1994 году. В том же году была ликвидирована Tengen, потому что компанией Atari Games снова стала владеть Time Warner и она превратилась в часть Time Warner Interactive. Хотя в некоторые временные промежутки существовали судебные запреты (похоже, один из них был введён в действие в 1992 году, но я не знаю точно, когда он был снят), это означает, что в течение почти всего периода наибольшей популярности NES игры Tengen тоже присутствовали на рынке. Давайте рассмотрим некоторые из них.
Порт Pac-Man компании Namco — это игра NROM-128, простейшего формата, который Nintendo продавала на Западе: 16 КиБ программного ROM, и 8 КиБ символьного ROM. (Моя игра Aspect Star “N” тоже соответствует этим ограниченным требованиям.) Но несмотря на это, история её выпуска оказалась одной из самых сложных для консоли. Подробнее см. TCRF; в Японии игра имела два варианта Namco и три релиза в Северной Америке: лицензионный Tengen, нелицензионный Tengen с фотографии ниже и в 1993 году Namco снова выпустила игру под лицензией.
Итак, вот как выглядит Pac-Man компании Tengen. Эта плата практически идентична NROM-128 Nintendo, она содержит два чипа ROM и чип блокировки, что логично, ведь это практически та же игра, которую Tengen выпустила под лицензией за несколько месяцев до этого, просто без лицензии.
Второй и последней игрой без маппера, выпущенной Tengen, была Ms. Pac-Man. Как ни удивительно, но она совершенно отличается от лицензионной версии Namco, выпущенной в 1994 году. (Однако она очень близка к версиям для Genesis и Super NES, тоже выпущенным Tengen.)
Когда люди вспоминают о Tengen и NES, они чаще всего думают о Tetris. Как я писала в истории Bloxeed, права на Tetris были очень запутанным вопросом. Но одно было очевидно: Atari Games определённо имела права на версию игры для аркадных автоматов, которую она выпустила в 1988 году. Она определённо считала, что права распространяются и на консольную версию, и запланировала масштабный выпуск в 1989 году. Nintendo и Bullet-Proof Software переиграли её, и версия Tengen была сразу же отозвана, а теперь встречается довольно редко. Наверно, на этом история закончена?
Tetris компании Tengen имеет уникальную плату; игра достаточно дорога, поэтому у меня её нет, но на самом деле она идентична стандартному Nintendo CNROM — мапперу на дискретной логике, использованному в играх наподобие Championship Bowling. Похоже, Tengen обычно предпочитала мапперы ASIC, поэтому любопытно, что в этой игре используется дискретная логика; возможно, так получилось потому, что компания рассчитывала продавать её большими тиражами и ей нужны были чипы, которые можно быстро приобрести?
Ещё один интересный аспект Tetris компании Tengen заключается в том, что на самом деле это может быть четвёртая игра Tengen, лицензированная Nintendo. Оказывается, Tengen тестировала маркетинг Tetris на аркадной платформе Nintendo VS. Насколько я понимаю, всё было официально и честно, и происходило до разрыва Tengen и Nintendo в декабре 1988 года; буду рада, если меня поправят — немного странно, что в этой версии Tetris использовалось имя Tengen, несмотря на то, что Atari имела все права на неё для аркадных автоматов.
Скриншот из эмулятора MAME.
В предыдущей статье мы рассматривали Gauntlet, в лицензированной версии которой использовался чип Namco 109. Этот чип обеспечивал очень гибкий банкинг CHR и PRG, схожий с возможностями MMC3 компании Nintendo, но на этом его функции заканчивались: он не имел поддержки программного зеркалирования, IRQ-таймеров и других продвинутых функций, которые Nintendo добавила в свою версию.
Так как в игре использовался чип Namco, а Tengen была достаточно дружна с Namco (в конце концов, Namco частью компании), то логично предположить, что чип Namco использовался бы и в их платах. Однако это не так.
Как и в созданной Nintendo версии, в нём содержался чип блокировки (Rabbit), логический чип серии 74, программный и символный ROM, чип VRAM для четырёх таблиц имён и чип для зеркалирования. Но в них есть и различия. Например, на плате Tengen не было паяльной маски. Почему так случилось, Tengen?
Ещё любопытнее то, что Tengen производила собственные клоны чипа Namco 109. Этот чип, обычно называвшийся MIMIC-1, имел все возможности чипа Namco, но в нём использовалось более обычное расположение контактов, а корпус был больше. Насколько я понимаю, на всех платах Tengen с этим чипом используется произведённая Tengen версия. Так как компания была частью Atari Games, у неё имелся опыт в создании собственных чипов.
MIMIC-1 был самым распространённым нелицензионным маппером Tengen, он использовался в таких играх, как Super Sprint (см. изображение выше), серии R.B.I. Baseball, Pac-Mania, Toobin’, Vindicators и других.
Пока нам не встречались платы Tengen, имеющие что-то новое по сравнению с NES. MIMIC-1 —
это просто клон чипа, использованного в платах DxROM. Разумеется, Tengen, скорее всего, сэкономила деньги благодаря собственному производству и отказу от лицензирования Nintendo. Однако в США антимонопольное законодательство в первую очередь должно защищать потребителя.
Наверно, самым убедительным примером того, что лицензирование Nintendo вредит потребителям, стала аркадная игра Sega After Burner, выпущенная в 1989 году.
After Burner — это быстрый аркадный шутер, в котором игрок управляет реактивным самолётом, взлетающим с авианосца и сражающегося с врагами. И этот порт по-настоящему хорош, намного лучше того, чем могла бы быть игра для NES по мотивам After Burner. Она была создана одним из лучших разработчиков игр для NES: лицензиатом Nintendo Sunsoft, выпустившим Blaster Master, Spy Hunter, Batman и ещё кучу игр.
В этой версии даже сохранился один из ключевых эффектов игры с аркадных автоматов; камера, поворачивающаяся под большими углами, пока ваш самолёт быстро летит вперёд. Это создаёт убедительное ощущение поворотов на высокой скорости, хотя в версии для NES, разумеется, отсутствовал полный кокпит с аркадного автомата.
Как же Sunsoft удалось этого добиться? В After Burner использовался специальный чип Sunsoft-4. Чип Sunsoft-4 не применялся ни в одной из игр, лицензированных Nintendo; эта игра — единственный случай, когда он выбрался за пределы Японии. (Однако более поздний чип Sunsoft-FME7 был использован в выпущенной Nintendo игре Batman: Return of the Joker, а также во многих других играх, выпущенных в Европе.) Похоже, в этом случае Tengen пришлось изготовить собственную версию.
Самый любопытный аспект Sunsoft-4 заключается в использовании таблиц имён в ROM. До этого момента мы считали, что таблицы имён находятся в видеопамяти. Доступ к видеопамяти — медленная операция; её можно выполнять только во время VBlank и использовать при этом регистры PPU. На NESdev рекомендуют изменять только по 160 байтов на кадр, плюс DMA для спрайтов.
Однако одна полная таблица имён занимает 960 байтов, если считать, что палитры остаются теми же и нам не нужно менять таблицы атрибутов (если это необходимо, то понадобится целый килобайт). Как же After Burner поворачивает таким образом целый экран? Изменение посередине кадра создало бы довольно уродливый эффект перехода. С другой стороны, таблицы имён After Burner очень предсказуемы. Они не меняются в зависимости от местоположения на уровне и зависят только от позиции самолёта. Благодаря этому их очень удобно сохранять заранее. В ROM Sunsoft-4 можно хранить заранее вычисленные таблицы имён, а при памяти 128 КиБ получается 128 таблиц имён, чего более чем достаточно для создания быстрых изменений и анимаций After Burner.
Вопрос в том, зачем Sunsoft и Tengen начали сотрудничать для создания этой игры. Маловероятно, что это связано с Nintendo и Sega, хотя это и можно предположить; в Японии Sunsoft была лицензирована Nintendo. (В Японии программа лицензирования была гораздо менее строгой и её участники могли продолжать производить собственные картриджи.) Как и Gauntlet, After Burner требуется специализированная структура печатной платы, спроектированная только для этой игры. Поэтому вполне возможно, что из лицензионных сборов Nintendo компания Sunsoft не смогла бы получать никакой прибыли.
Однако стоит заметить, что японский релиз Sunsoft After Burner II (несмотря на смену названия, это та же игра) был существенно улучшен; например, в нём появилась милая анимация заставки, которой не было в американской версии. Похоже, Tengen давила на разработчиков, из-за чего в Америку попала незавершённая версия After Burner, а Sunsoft дала своим разработчикам немного больше времени на завершение игры, прежде чем издавать её в Японии. В Tengen ситуация далеко не была идеальной.
Отрезанная от Nintendo, компания Tengen не могла использовать MMC3 и была вынуждена создавать собственную версию Namcot 109 для доступа к этим восхитительным расширенным возможностям.
Как бы то ни было, чаще всего Tengen приходилось создавать собственные версии устройств, чтобы использовать расширенные возможности. И этот чип назывался RAMBO-1. Давайте рассмотрим игру Klax 1990 года.
RAMBO-1 любопытен тем, что содержит на кристалле чип Rabbit. Насколько я знаю, Nintendo никогда не объединяла маппер и чип блокировки в единый чип.
Klax для NES — довольно приличная версия игры про падающие плитки с аркадных автоматов. Она очень красочная и разнообразная, с большим количеством плиток на экране. Плитки — это тайлы PPU размером 8x8. В RAMBO-1 используется счётчик IRQ растровых строк, похожий на применённый в MMC3.
На самом деле, он похож на MMC3, потому что Hudson Soft лицензировала произведённую Tengen версию Klax для выпуска в Японии и использовала для неё чип Nintendo. В игре используются очень аккуратные тайминги для постоянного переключения экрана для отображения сообщений, даже посередине растровой строки. Подобные растровые эффекты обычно требуют всего процессорного времени, однако игровая логика Klax относительно проста, поэтому способна на такое.
Счётчик RAMBO-1 чуть более мощный, чем у MMC3; он может считать и такты ЦП вместо растровых строк. Если он берёт тайминги от NMI для синхронизации с PPU, то его можно использовать для подобных эффектов; в версии Super Mario Bros. 2 для Famicom Disk System для строки состояния используется счётчик ЦП.
Следующим в линейке после Namcot 109 стал Namcot 163. Этот чип часто используются на чиптюн-сцене из-за его выдающихся аудиофункций, однако они недоступны для западных версий NES, даже в нелицензионных играх. В чипе имелся счётчик тактов ЦП, но не было счётчика растровых строк. Tengen портировала одну игру с Namcot 163 на собственный чип RAMBO-1: Rolling Thunder. Эта игра была выпущена в конце 1989 года; возможно, она стала первой игрой с RAMBO-1.
Можно заметить, что по сравнению с Klax у Rolling Thunder есть дополнительный чип. Платы одинаковые, однако у Klax место для чипа не занято. Как вы видите, это простой логический вентиль 74LS32 — набор из вентилей OR с двумя входами.
Что делает этот чип? Обратите внимание, что CHR-ROM имеют одинаковый размер; однако Rolling Thunder использует 128 КиБ CHR-ROM, а Klax использует 64 КиБ. Следовательно, дополнительный чип просто корректирует цепь с учётом различий контактов разных чипов ROM. Наверно, это было сделано для экономии денег и повторного использования той же платы; учитывая то, что разработчики снова отказались от паяльной маски, скорее всего, они экономили каждый цент.
Rolling Thunder — вполне приличный порт игры с аркадных автоматов. Разумеется, графика существенно ухудшилась, но геймплей, похоже, остался практически неизменным. На NES эта игра мне нравится больше, чем опубликованный той же Tengen порт похожей игры Shinobi, в которой также задействован RAMBO-1.
Ещё одна игра на RAMBO-1, в этот раз с уникальной конфигурацией? И порт игры Sega с аркадных автоматов? Почему бы и нет! И без паяльной маски? Что с тобой не так, Tengen?
Alien Syndrome — это порт 1989 года аркадной игры Sega 1987 года, в которой игрок бродит по огромной карте со скроллингом, ищет своих товарищей, а потом пытается выбраться. Так как на картридже нет дополнительной ОЗУ, а скроллинг выполняется в двух направлениях, неудивительно увидеть в ней графические глитчи.
Итак, как же здесь выстроены таблицы имён? По горизонтали? По вертикали? Ни так, и ни так! На печатной плате есть возможность включить одноэкранное зеркалирование. По сути, вместо управления структурой двух таблиц имён во встроенной CIRAM консоли, картридж игры управляет ими так, что можно переключаться между ними, но в них содержатся все четыре части экрана.
В строке 0 таблицы имён Alien Syndrome выглядят так:
Но как только игра начинает отрисовывать экран, на котором персонаж движется, всё становится таким:
Скроллинг одноэкранной таблицы имён не очень отличается от системы Sega Master System с добавлением конфликта атрибутов. Как бы то ни было, на самом деле для игры не требуется RAMBO-1; в японском релизе Alien Syndrome, созданном Sunsoft, с тем же успехом используется Nintendo MMC1.
Немного удивительно видеть участие этих игр Sega в борьбе Tengen с режимом консольного лицензирования; у Sega Master System существовал схожий режим лицензирования, и сама Sega судилась с Accolade, которая нарушила схему Sega Genesis в 1991 году. (Однако с технической точки зрения эти две системы не имели ничего общего, система NES полагалась на защиту авторского права и сложность реверс-инжиниринга, а Sega почти полностью полагалась на торговую марку.)
Возможно, план Tengen по разрушению режима лицензирования Nintendo завершился провалом. Но он оставил после себя наследие; учитывая то, что картриджи и по сей день широко доступны (за исключением Tetris), они должны были продаваться солидными тиражами. Однако сколько денег позволили оставить компании юристы Nintendo, по-прежнему является тайной из-за сокрытия подробностей мирового соглашения. Разумеется, сегодня бизнес лицензирования консолей силён как и всегда, а из-за криптографических защит и онлайн-магазинов у современной Tengen не было бы шансов.
С другой стороны, Tengen не только использовала нестандартные винты для своих картриджей, но и закрывала один из винтов наклейкой на задней части картриджа. Даже Nintendo до этого не дошла!
Поколения Tengen
Мы уже встречались с Tengen в посте про NES, компания выпустила игры Gauntlet и R.B.I. Baseball на платах семейства DxROM, в которых был установлен чип маппера, изготовленный Namco. Однако лицензионный период Tengen длился лишь чуть больше года. Её первая игра R.B.I. Baseball вышла в апреле 1988 года, а в декабре 1988 года Tengen объявила, что разорвёт отношения с Nintendo и будет производить игры самостоятельно.
Две версии Gauntlet для NES: одна с лицензией Nintendo, другая без
В упадке Atari 2600 часто обвиняют избыток низкокачественных картриджей, частично вызванный открытостью консоли для нелицензионных игр. (Atari просто не ожидала, что кто-то попытается стать сторонним производителем; в то время такой концепции даже не существовало.) В результате этого Atari пала; её потребительский отдел домашних устройств был продан Джеку Трэмиелу, желавшему, чтобы этот бренд рекламировал его компьютер ST, и заменившему бОльшую часть персонала. Именно для того, чтобы избежать такой судьбы, Nintendo внедрила систему лицензирования.
Отдел аркадных автоматов, который чувствовал себя лучше (хотя к концу Золотого века американский рынок аркадных автоматов начинал угасать), остался во владении Warner и сохранил свой коллектив, но был переименован в Atari Games. Так как Atari Corporation Трэмиела имела право на название домашних устройств, Atari Games, которую можно считать самым прямым наследником старой Atari, вынуждена была придумывать новый бренд. И этим брендом стал Tengen.
Разные игры Tengen
Разумеется, Tengen не намеревалась продавать низкокачественные игры, как те, что обрекли на смерть консоль 2600. У неё была библиотека аркадных хитов Atari Games (например, Gauntlet), игры для NES от её иногда становившейся родительской компании Namco, а также права на аркадные игры других компаний, отказавшихся от мира лицензий Nintendo, например, Sega. Именно это выделяло Tengen на фоне других компаний, производивших нелицензионные игры, например, от Color Dreams. Это была серьёзная попытка крупных игроков рынка по разрушению лицензионной системы Nintendo.
Следуй за кроликом
Ещё одной выдающейся особенностью Tengen стало то, что она взломала чип блокировки Nintendo. В современных консолях блокировка обеспечивается при помощи криптографии. Но в 1980-х это могло бы перевести консоль в разряд вооружений, кроме того, на ЦП NES с частотой 1,7 МГц всё равно сложно было бы её реализовать. К тому же, криптографические блокировки не имели в то время юридической силы; в США они получили её только в Digital Millennium Copyright Act 1998 года.
Поэтому Nintendo разработала небольшой микроконтроллер, реализующий программу передачи случайных чисел. Микроконтроллер в консоли сопоставлял себя с контроллером в картридже, и если их числа не соответствовали ожидаемому паттерну, он каждую секунду перезагружал консоль, не позволяя запускать игры. Чип имел такую структуру, что программу нельзя было легко сдампить, а на случай, если её кто-нибудь сдампит, программа была защищена законом об авторских правах.
Ниже показан картридж игры 1992 года Micro Machines, выпущенной Camerica. Обратите внимание на цепь в углу; это то, что мы уже рассматривали в моём блоге — накачка заряда [перевод на Хабре — прим. пер.], создающая отрицательное напряжение из входа консоли на 5 В. При включении консоли скачок отрицательного напряжения подаётся на линию сброса чипа блокировки, «поджаривая» его настолько, чтобы сломать программу, благодаря чему она перестаёт перезагружать консоль.
Зачем здесь нужен переключатель? Потому что из-за конструкции цепи, если чип блокировки отсутствует, она просто будет получать большой объём мощности от консоли, пока что-то не сломается. А в 1993 году Nintendo выпустила вариант консоли без чипа блокировки. До этого Nintendo вносила другие изменения в NES, пытаясь предотвратить подобные фокусы; в частности, были установлены диоды, препятствующие попыткам Color Dreams уничтожить линии данных чипа блокировки.
Похоже, ещё в 1988 году Tengen поняла, что такая возможность существует, но это было слишком грубым решением. Кроме того, импульс отрицательного напряжения теоретически мог привести к повреждению консоли, из-за чего Tengen и её родительская компания Atari Games могли потерпеть существенные убытки. Поэтому они создали собственный клон под названием «Rabbit» («Кролик»), обменивающийся данными с консолью и обманом убеждающий её, что это обычный чип Nintendo.
Как они это сделали? Оказалось, совершив преступление. У Tengen не получилось выполнить реверс-инжиниринг чипа, поэтому она убедила Бюро регистрации авторских прав США передать ей исходный код чипа блокировки, заявив, что это необходимо для подачи судебного иска. Получив код, Tengen с лёгкостью смогла создать собственный клон. Tengen действительно хотела судиться с Nintendo из-за нарушений антимонопольного законодательства, поэтому, вероятно, решила, что это ей сойдёт с рук.
Реверс-инжиниринг чипа блокировки Nintendo, называющегося CiC, был выполнен сообществом энтузиастов. Разумеется, теперь у нас гораздо больше инструментов, чем у Tengen в 1988 году. Исходный код одного клона, использованного krikzz при создании флэш-картриджа EverDrive, можно посмотреть на GitHub.
Сага Nintendo и Tengen завершилась внесудебным соглашением в 1994 году. В том же году была ликвидирована Tengen, потому что компанией Atari Games снова стала владеть Time Warner и она превратилась в часть Time Warner Interactive. Хотя в некоторые временные промежутки существовали судебные запреты (похоже, один из них был введён в действие в 1992 году, но я не знаю точно, когда он был снят), это означает, что в течение почти всего периода наибольшей популярности NES игры Tengen тоже присутствовали на рынке. Давайте рассмотрим некоторые из них.
Pac-Man
Порт Pac-Man компании Namco — это игра NROM-128, простейшего формата, который Nintendo продавала на Западе: 16 КиБ программного ROM, и 8 КиБ символьного ROM. (Моя игра Aspect Star “N” тоже соответствует этим ограниченным требованиям.) Но несмотря на это, история её выпуска оказалась одной из самых сложных для консоли. Подробнее см. TCRF; в Японии игра имела два варианта Namco и три релиза в Северной Америке: лицензионный Tengen, нелицензионный Tengen с фотографии ниже и в 1993 году Namco снова выпустила игру под лицензией.
Итак, вот как выглядит Pac-Man компании Tengen. Эта плата практически идентична NROM-128 Nintendo, она содержит два чипа ROM и чип блокировки, что логично, ведь это практически та же игра, которую Tengen выпустила под лицензией за несколько месяцев до этого, просто без лицензии.
Второй и последней игрой без маппера, выпущенной Tengen, была Ms. Pac-Man. Как ни удивительно, но она совершенно отличается от лицензионной версии Namco, выпущенной в 1994 году. (Однако она очень близка к версиям для Genesis и Super NES, тоже выпущенным Tengen.)
Tetris
Когда люди вспоминают о Tengen и NES, они чаще всего думают о Tetris. Как я писала в истории Bloxeed, права на Tetris были очень запутанным вопросом. Но одно было очевидно: Atari Games определённо имела права на версию игры для аркадных автоматов, которую она выпустила в 1988 году. Она определённо считала, что права распространяются и на консольную версию, и запланировала масштабный выпуск в 1989 году. Nintendo и Bullet-Proof Software переиграли её, и версия Tengen была сразу же отозвана, а теперь встречается довольно редко. Наверно, на этом история закончена?
Tetris компании Tengen имеет уникальную плату; игра достаточно дорога, поэтому у меня её нет, но на самом деле она идентична стандартному Nintendo CNROM — мапперу на дискретной логике, использованному в играх наподобие Championship Bowling. Похоже, Tengen обычно предпочитала мапперы ASIC, поэтому любопытно, что в этой игре используется дискретная логика; возможно, так получилось потому, что компания рассчитывала продавать её большими тиражами и ей нужны были чипы, которые можно быстро приобрести?
Tetris в версии Tengen часто считается более качественным, чем у Nintendo, потому что имел режим двух игроков, а в игру Nintendo мог играть лишь один. Однако знали ли вы, что в версии Nintendo был код незавершённого режима двух игроков?
Ещё один интересный аспект Tetris компании Tengen заключается в том, что на самом деле это может быть четвёртая игра Tengen, лицензированная Nintendo. Оказывается, Tengen тестировала маркетинг Tetris на аркадной платформе Nintendo VS. Насколько я понимаю, всё было официально и честно, и происходило до разрыва Tengen и Nintendo в декабре 1988 года; буду рада, если меня поправят — немного странно, что в этой версии Tetris использовалось имя Tengen, несмотря на то, что Atari имела все права на неё для аркадных автоматов.
Скриншот из эмулятора MAME.
MIMIC-1
В предыдущей статье мы рассматривали Gauntlet, в лицензированной версии которой использовался чип Namco 109. Этот чип обеспечивал очень гибкий банкинг CHR и PRG, схожий с возможностями MMC3 компании Nintendo, но на этом его функции заканчивались: он не имел поддержки программного зеркалирования, IRQ-таймеров и других продвинутых функций, которые Nintendo добавила в свою версию.
Так как в игре использовался чип Namco, а Tengen была достаточно дружна с Namco (в конце концов, Namco частью компании), то логично предположить, что чип Namco использовался бы и в их платах. Однако это не так.
Как и в созданной Nintendo версии, в нём содержался чип блокировки (Rabbit), логический чип серии 74, программный и символный ROM, чип VRAM для четырёх таблиц имён и чип для зеркалирования. Но в них есть и различия. Например, на плате Tengen не было паяльной маски. Почему так случилось, Tengen?
Ещё любопытнее то, что Tengen производила собственные клоны чипа Namco 109. Этот чип, обычно называвшийся MIMIC-1, имел все возможности чипа Namco, но в нём использовалось более обычное расположение контактов, а корпус был больше. Насколько я понимаю, на всех платах Tengen с этим чипом используется произведённая Tengen версия. Так как компания была частью Atari Games, у неё имелся опыт в создании собственных чипов.
MIMIC-1 был самым распространённым нелицензионным маппером Tengen, он использовался в таких играх, как Super Sprint (см. изображение выше), серии R.B.I. Baseball, Pac-Mania, Toobin’, Vindicators и других.
Super Sprint — это часть серии, первой игрой в которой была Sprint 2 1976 года (двойка в названии означает двух игроков). Это заставило меня задуматься, не это ли самая старая видеоигра, получившая сиквел на Nintendo Entertainment System? Нет!
Wild Gunman компании Nintendo (1984 года), одна из первых игр для светового пистолета Famicom Gun / Zapper, на самом деле является ремейком электромеханической аркадной игры 1974 года. Это было так давно, что определение «видеоигра» можно применять к ней уже с натяжкой, но можно сказать, что здесь Nintendo победила. (Duck Hunt имела похожего предка, созданного в 1976 году.)
Пока нам не встречались платы Tengen, имеющие что-то новое по сравнению с NES. MIMIC-1 —
это просто клон чипа, использованного в платах DxROM. Разумеется, Tengen, скорее всего, сэкономила деньги благодаря собственному производству и отказу от лицензирования Nintendo. Однако в США антимонопольное законодательство в первую очередь должно защищать потребителя.
After Burner и таблицы имён ROM
Наверно, самым убедительным примером того, что лицензирование Nintendo вредит потребителям, стала аркадная игра Sega After Burner, выпущенная в 1989 году.
After Burner — это быстрый аркадный шутер, в котором игрок управляет реактивным самолётом, взлетающим с авианосца и сражающегося с врагами. И этот порт по-настоящему хорош, намного лучше того, чем могла бы быть игра для NES по мотивам After Burner. Она была создана одним из лучших разработчиков игр для NES: лицензиатом Nintendo Sunsoft, выпустившим Blaster Master, Spy Hunter, Batman и ещё кучу игр.
В этой версии даже сохранился один из ключевых эффектов игры с аркадных автоматов; камера, поворачивающаяся под большими углами, пока ваш самолёт быстро летит вперёд. Это создаёт убедительное ощущение поворотов на высокой скорости, хотя в версии для NES, разумеется, отсутствовал полный кокпит с аркадного автомата.
Как же Sunsoft удалось этого добиться? В After Burner использовался специальный чип Sunsoft-4. Чип Sunsoft-4 не применялся ни в одной из игр, лицензированных Nintendo; эта игра — единственный случай, когда он выбрался за пределы Японии. (Однако более поздний чип Sunsoft-FME7 был использован в выпущенной Nintendo игре Batman: Return of the Joker, а также во многих других играх, выпущенных в Европе.) Похоже, в этом случае Tengen пришлось изготовить собственную версию.
Самый любопытный аспект Sunsoft-4 заключается в использовании таблиц имён в ROM. До этого момента мы считали, что таблицы имён находятся в видеопамяти. Доступ к видеопамяти — медленная операция; её можно выполнять только во время VBlank и использовать при этом регистры PPU. На NESdev рекомендуют изменять только по 160 байтов на кадр, плюс DMA для спрайтов.
Однако одна полная таблица имён занимает 960 байтов, если считать, что палитры остаются теми же и нам не нужно менять таблицы атрибутов (если это необходимо, то понадобится целый килобайт). Как же After Burner поворачивает таким образом целый экран? Изменение посередине кадра создало бы довольно уродливый эффект перехода. С другой стороны, таблицы имён After Burner очень предсказуемы. Они не меняются в зависимости от местоположения на уровне и зависят только от позиции самолёта. Благодаря этому их очень удобно сохранять заранее. В ROM Sunsoft-4 можно хранить заранее вычисленные таблицы имён, а при памяти 128 КиБ получается 128 таблиц имён, чего более чем достаточно для создания быстрых изменений и анимаций After Burner.
Вопрос в том, зачем Sunsoft и Tengen начали сотрудничать для создания этой игры. Маловероятно, что это связано с Nintendo и Sega, хотя это и можно предположить; в Японии Sunsoft была лицензирована Nintendo. (В Японии программа лицензирования была гораздо менее строгой и её участники могли продолжать производить собственные картриджи.) Как и Gauntlet, After Burner требуется специализированная структура печатной платы, спроектированная только для этой игры. Поэтому вполне возможно, что из лицензионных сборов Nintendo компания Sunsoft не смогла бы получать никакой прибыли.
Однако стоит заметить, что японский релиз Sunsoft After Burner II (несмотря на смену названия, это та же игра) был существенно улучшен; например, в нём появилась милая анимация заставки, которой не было в американской версии. Похоже, Tengen давила на разработчиков, из-за чего в Америку попала незавершённая версия After Burner, а Sunsoft дала своим разработчикам немного больше времени на завершение игры, прежде чем издавать её в Японии. В Tengen ситуация далеко не была идеальной.
Время Rambo
Отрезанная от Nintendo, компания Tengen не могла использовать MMC3 и была вынуждена создавать собственную версию Namcot 109 для доступа к этим восхитительным расширенным возможностям.
Я сказала, что она разорвала с Nintendo и не могла использовать MMC3? На самом деле это не так! Даже несмотря на то, что Tengen выпускала собственные игры, она продолжала разрабатывать и игры для Nintendo, в том числе Gauntlet II 1990 года, в которой использовался MMC3. Эти игры были выпущены Mindscape, но Nintendo, похоже, без проблем поставила свою печать качества на порт хита с аркадных автоматов. Споры в бизнесе — это сложная тема.
Что касается игры, NES-версия Gauntlet кажется мне интересней сиквела, но если вы хотите режим на четверых игроков, то это ваш выбор. Интересно, что в игре не используются четыре таблицы имён и программные спрайты, поэтому орды врагов малочисленнее.
Как бы то ни было, чаще всего Tengen приходилось создавать собственные версии устройств, чтобы использовать расширенные возможности. И этот чип назывался RAMBO-1. Давайте рассмотрим игру Klax 1990 года.
RAMBO-1 любопытен тем, что содержит на кристалле чип Rabbit. Насколько я знаю, Nintendo никогда не объединяла маппер и чип блокировки в единый чип.
Klax для NES — довольно приличная версия игры про падающие плитки с аркадных автоматов. Она очень красочная и разнообразная, с большим количеством плиток на экране. Плитки — это тайлы PPU размером 8x8. В RAMBO-1 используется счётчик IRQ растровых строк, похожий на применённый в MMC3.
На самом деле, он похож на MMC3, потому что Hudson Soft лицензировала произведённую Tengen версию Klax для выпуска в Японии и использовала для неё чип Nintendo. В игре используются очень аккуратные тайминги для постоянного переключения экрана для отображения сообщений, даже посередине растровой строки. Подобные растровые эффекты обычно требуют всего процессорного времени, однако игровая логика Klax относительно проста, поэтому способна на такое.
Счётчик RAMBO-1 чуть более мощный, чем у MMC3; он может считать и такты ЦП вместо растровых строк. Если он берёт тайминги от NMI для синхронизации с PPU, то его можно использовать для подобных эффектов; в версии Super Mario Bros. 2 для Famicom Disk System для строки состояния используется счётчик ЦП.
Rolling Thunder
Следующим в линейке после Namcot 109 стал Namcot 163. Этот чип часто используются на чиптюн-сцене из-за его выдающихся аудиофункций, однако они недоступны для западных версий NES, даже в нелицензионных играх. В чипе имелся счётчик тактов ЦП, но не было счётчика растровых строк. Tengen портировала одну игру с Namcot 163 на собственный чип RAMBO-1: Rolling Thunder. Эта игра была выпущена в конце 1989 года; возможно, она стала первой игрой с RAMBO-1.
Можно заметить, что по сравнению с Klax у Rolling Thunder есть дополнительный чип. Платы одинаковые, однако у Klax место для чипа не занято. Как вы видите, это простой логический вентиль 74LS32 — набор из вентилей OR с двумя входами.
Что делает этот чип? Обратите внимание, что CHR-ROM имеют одинаковый размер; однако Rolling Thunder использует 128 КиБ CHR-ROM, а Klax использует 64 КиБ. Следовательно, дополнительный чип просто корректирует цепь с учётом различий контактов разных чипов ROM. Наверно, это было сделано для экономии денег и повторного использования той же платы; учитывая то, что разработчики снова отказались от паяльной маски, скорее всего, они экономили каждый цент.
Rolling Thunder — вполне приличный порт игры с аркадных автоматов. Разумеется, графика существенно ухудшилась, но геймплей, похоже, остался практически неизменным. На NES эта игра мне нравится больше, чем опубликованный той же Tengen порт похожей игры Shinobi, в которой также задействован RAMBO-1.
Alien Syndrome
Ещё одна игра на RAMBO-1, в этот раз с уникальной конфигурацией? И порт игры Sega с аркадных автоматов? Почему бы и нет! И без паяльной маски? Что с тобой не так, Tengen?
Alien Syndrome — это порт 1989 года аркадной игры Sega 1987 года, в которой игрок бродит по огромной карте со скроллингом, ищет своих товарищей, а потом пытается выбраться. Так как на картридже нет дополнительной ОЗУ, а скроллинг выполняется в двух направлениях, неудивительно увидеть в ней графические глитчи.
Итак, как же здесь выстроены таблицы имён? По горизонтали? По вертикали? Ни так, и ни так! На печатной плате есть возможность включить одноэкранное зеркалирование. По сути, вместо управления структурой двух таблиц имён во встроенной CIRAM консоли, картридж игры управляет ими так, что можно переключаться между ними, но в них содержатся все четыре части экрана.
В строке 0 таблицы имён Alien Syndrome выглядят так:
Но как только игра начинает отрисовывать экран, на котором персонаж движется, всё становится таким:
Скроллинг одноэкранной таблицы имён не очень отличается от системы Sega Master System с добавлением конфликта атрибутов. Как бы то ни было, на самом деле для игры не требуется RAMBO-1; в японском релизе Alien Syndrome, созданном Sunsoft, с тем же успехом используется Nintendo MMC1.
Немного удивительно видеть участие этих игр Sega в борьбе Tengen с режимом консольного лицензирования; у Sega Master System существовал схожий режим лицензирования, и сама Sega судилась с Accolade, которая нарушила схему Sega Genesis в 1991 году. (Однако с технической точки зрения эти две системы не имели ничего общего, система NES полагалась на защиту авторского права и сложность реверс-инжиниринга, а Sega почти полностью полагалась на торговую марку.)
Защита Tengen
Возможно, план Tengen по разрушению режима лицензирования Nintendo завершился провалом. Но он оставил после себя наследие; учитывая то, что картриджи и по сей день широко доступны (за исключением Tetris), они должны были продаваться солидными тиражами. Однако сколько денег позволили оставить компании юристы Nintendo, по-прежнему является тайной из-за сокрытия подробностей мирового соглашения. Разумеется, сегодня бизнес лицензирования консолей силён как и всегда, а из-за криптографических защит и онлайн-магазинов у современной Tengen не было бы шансов.
С другой стороны, Tengen не только использовала нестандартные винты для своих картриджей, но и закрывала один из винтов наклейкой на задней части картриджа. Даже Nintendo до этого не дошла!
staticmain
Вот это, на самом деле достаточно удивительный момент, поскольку надо во время vblank успеть перерисовать сдвиг справа, сдвиг слева, сдвиг сверху и сдвиг снизу, потому что иначе при изменении позиции сколлинга экрана мы увидим повтор противоположного края экрана.
Надо будет глянуть в отладчике, какие хаки они для жтого применили. В той же castlevania было вертикальное (и 3-screen, но, ЕМНИП, не во всех частях) зеркалирование, из-за чего разрабы грузили во время Vblank буквально пару блоков по очереди, в зависимости от х-игрока по мере приближения игрока к целевому Х-столбца. А тут такой финт не прокатит.
А по поводу глитчей на краях - на телевизорах тех времен они редко когда видны (только когда вылезали на два тайла в виде переключенной палитры аттрибутной сетки) - потому что край экрана был не плоский и при взгляде прямо на экран края "проглатывали" 6-8 пикселей
staticmain
В общем там правда 1-экранное зеркалирование, и они действительно одновременно отрисовывают все 4 края. Магия в том, что игра просто. нещадно. лагает. Судя по всему они в NMI выставляют флаг прерывания, а в основном main обрабатывают всю игру. И когда требуется сдвинуть экран - main игнорирует всё остальное, занятый в VBLANK тем, что отрисовывает все нужные края. И когда его наконец "отпускает" - то прошло уже где-то 5-10 (ориентируюсь на то что внутри vblank при хорошей погоде можно выжать около 50-90 тайлов) фреймов, из-за чего общий FPS игры пляшет от 60 до 15. Возможно они умышленно замедляют игру постоянно чтобы разница при ходьбе не так бросалась в глаза.