Найти тему
StopGame - Об играх интересно

Эмуляторы: как появились, зачем нужны и насколько легальны, часть 1

Оглавление

Эмуляцию, конечно, придумали не для игр. И в то время никто не предполагал, что программа для решения технических задач даст начало значительной отрасли игровой индустрии. Что в будущем произойдёт целая война с судебными процессами, где даже победители останутся в проигравших. Начинаем наше путешествие по удивительному миру эмуляции.

О появлении эмуляторов

Началась эта история в середине 1960-х годов, когда IBM выпустила компьютеры System/360. Они предназначались для научных и коммерческих вычислений, но инженеры компании решили создать среду, где можно было бы запускать код для прежних машин, что решило бы много проблем со старыми программами. А поскольку в то время стандартных архитектур для компов не было, каждый производитель делал их как душе угодно. Софт создавался индивидуально для разных серий гробов, и IBM это достало. Вместо переделки популярных пользовательских инструментов инженеры просто создали эмулятор, умеющий запускать старый код на новой архитектуре. Это, кстати, официальный термин, принятый в обиход в 60-е годы.

Возможность запускать что-то древнее на новых машинах стала чуть ли не революцией в сфере IT тех лет. Новые компьютеры IBM оказались настолько удачными, что породили целую серию устройств — от бытовых до научных, и каждое работало со старыми инструментами. Звучит вроде просто. Но на деле эмуляция требует больших мощностей, ведь она воссоздаёт нужную систему на уровне кода. Кроме того, написать её сложно, поскольку разработчики зачастую используют реверс-инжиниринг нужной платформы, ибо производители не делятся с ними технической документацией. Что, впрочем, не остановило энтузиастов и привело к появлению первых эмуляторов.

В 70-е и 80-е годы количество консолей превысило разумные нормы. Мы-то знаем лишь самые популярные вроде NES, Atari, и Sega Master System. А ведь существовали ещё компьютеры ZX Spectrum, MSX и Commodore 64. И почти на каждом таком устройстве был один из вариантов языка программирования Basic с самой корявой версией на «коммодорах». Теперь вы спросите, а причём здесь вообще эмуляция? Дело в том, что в 80-е годы для Commodore 64 на аудиокассетах вышел пакет под названием Shado, который запускал более удобный и простой Basic с компьютеров фирмы Acorn.

-2

Что касается самого первого эмулятора для запуска игры, то найти его не так уж просто. Одним из самых ранних считается Family Computer Emulator, написанный разработчиком из Namco Харухисой Удагавой для семейства устройств FM Towns. Программа работала лишь с несколькими простейшими играми вроде Donkey Kong и Mario Bros., не воспроизводила звук и имела множество ограничений. Это было ещё в то время, когда не существовало общепризнанного ROM-формата, а графическая и софтверная части могли дампиться отдельно с разных микросхем картриджа. Но если вы друг являетесь счастливым владельцем оригинального компьютера Fujitsu, легко найдёте в интернете архив с эмулятором от 12 декабря 1990-го года.

Примерно теми же годами датируется программа под названием Pasofami. По количеству запускаемых игр она недалеко ушла от FCE, однако уже умела худо-бедно проигрывать звук. И не так уж важно, что от него текла кровь из ушей — всё-таки это первая имитация аудионачинки Famicom. Стоит упомянуть и Юдзи Нака — не последнего человека для франшизы Sonic the Hedgehog. В начале 90-х он в качестве хобби написал свой эмулятор для консоли Sega Mega Drive и, судя по интервью сайту Thenextlevel, даже смог запустить на нём Dr.Mario. Производительность была далека от идеала, да и вообще саму разработку можно считать развлечением хорошего программиста.

-3

А вот серьёзно всё завертелось уже в 1996-м. Тогда свет увидели важные проекты вроде LandyNES и NESA, но поистине прорывной стала разработка выпускника Пермского Государственного Университета Марата Файзуллина под названием iNES. Ну… На самом деле она оказалась не совсем его. Изначально ей занимался другой программист, позже потерявший к проекту интерес. Марат собрал его наработки, переписал код и показал миру первую версию программы. Обо всём этом он, кстати, сам честно рассказывает на своём официальном сайте. Но знаменит iNES, как говорится, не только лишь тем, что он мог уже более-менее нормально запускать игры. Именно здесь впервые появился общепризнанный формат ромов NES, использующийся по сей день всеми существующими эмуляторами. Даже официальными, от самой Nintendo.

Но iNES был не первой разработкой Марата. В 2018-м году он дал большое интервью каналу RetroRGB, где рассказал, что его первым проектом стал fMSX, созданный для личных целей ещё в 1992-93-м годах. Программа оказалась настолько удачной, что легла в основу множества будущих эмуляторов MSX от других программистов, в том числе для мобильных платформ. Тогда же появились и первые программы, воспроизводившие консоли Mega Drive и Super Nintendo. Могли они, конечно, совсем немного. Запускали отдельные игры, да ещё и с глюками, и без звука. Да, эти проекты тоже стали одними из первых, но влияния у них, всё-таки, поменьше, чем у iNES.

-4

Молниеносное развитие сцены привело к появлению множества тематических форумов, где собирались энтузиасты, обсуждали железо и показывали свои программные наработки. Множество современных эмуляторов вышло именно с таких площадок. Кроме восьмибитных приставок людей интересовали и более мощные консоли вроде Mega Drive, SNES и даже PlayStation с Sega Saturn. И всё заверте… 1995-й год: первый эмулятор Gameboy от Марата Файзуллина, 96-й и 97-й — первые эмуляторы Super Nintendo и Sega Genesis, воспроизводящие звук. 98-й — эмулятор первой PlayStation под названием PSEmu, создавший стандартную систему плагинов для видео, звука и устройств ввода. 1999-й — эмулятор Nintendo 64, запускающий дампы с официальных картриджей. Он оказался настолько хорош, что большая N отправила его создателям требование прекратить разработку.

И всё это лишь капля в море форумов и площадок, где постоянно появлялись новые и новые разработки. Сначала платформодержатели не обращали особого внимания на это движение. А ведь даже не предполагали, что скоро мир изменится раз и навсегда. Безусловно, качество эмуляции в то время ещё упиралось в мощности компьютеров. И если с 8-ми и 16-битными консолями работать можно было свободно, то монстры калибра PlayStation, Saturn и Nintendo 64 требовали серьёзных ресурсов. Как и сейчас: эмуляторы консолей даже позапрошлого поколения требуют хорошего железа.

Судебные войны

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

-5

В 1999 году для компьютеров Macintosh вышла коммерческая программа под названием Virtual Game Station, способная запускать игры с первой PlayStation в повышенном разрешении и с нормальной скоростью. Её разработала компания Connectix. Игры, естественно, считывались с лицензионных дисков от оригинальной консоли через дисковод. Заметьте, насколько быстро появился хороший рабочий эмулятор консоли, находившейся на рынке всего пять лет. Создатели хотели приспособить его и для Windows, однако в дверь постучались юристы Sony, и попросили разработчиков свернуть лавочку, ибо наносится вред бизнесу их нанимателей.

В Connectix почесали голову и решили судиться. Казалось бы, тягаться с Sony, заручившейся поддержкой Nintendo, Sega и 3dfx, было равноценно самоубийству, но руководство всё же решило попробовать. Дело в том, что разработчики эмулятора создали свой собственный BIOS на основе официального, а затем внедрили его в программу. В Sony сочли это нарушением авторских прав и интеллектуальной собственности.

Дело было беспрецедентным, ведь подобных разбирательств в юридической практике США ещё не видели. Судья до конца не понимал, какой вынести вердикт. С одной стороны, в Connectix действительно сдампили оригинальную прошивку консоли и разобрали её с помощью обратного инжиниринга. С другой — программисты создали свой BIOS, не используя ни строчки кода Sony. В итоге суд запретил Connectix использовать прошивку японской компании в каких-либо целях и продавать копии уже готового эмулятора для всех платформ. Это могло поставить крест на всём, но…

-6

Connectix просто обжаловала решение: дескать, Virtual Game Station не использует интеллектуальную собственность Sony. Как ни удивительно, но судья прислушался. Он решил, что дамп BIOS приставки для дальнейшего ривёс-инжиниринга попадает под принцип добросовестного использования, то есть никакого криминала. Юристы японского гиганта попробовали подать апелляцию в Верховный суд США, но у них ничего не вышло. Дело закончилось тем, что Connectix отвоевала своё право распространять продукт, а в США такие программы стали легальными. Но лишь в том случае, если они не содержали в своём дистрибутиве разработки, защищённые авторским правом. Вот почему сейчас не найти ни в одном эмуляторе каких-то ключей или версий BIOS — все они по законам США могут быть сняты пользователями лишь со своих личных консолей.

История с тяжбой закончилась неожиданно. После суда Sony выкупила права на Virtual Game Station у Connectix и просто прекратила выпускать программу. Заодно под горячую руку попал ещё один эмулятор — bleemcast. Только здесь всё оказалось интереснее: программа позволяла запускать игры первой PlayStation на Sega Dreamcast. То есть на консоли одного из главных конкурентов компании. Самой большой проблемой оказалась отдельная настройка для каждой игры, так что разные версии ПО идеально запускали только один или несколько проектов. Зато делали это лучше, чем оригинальная консоль.

В Sony такого терпеть не стали, подали в суд, но проиграли по той же причине, что и в случае с Virtual Game Station. Тогда ухватились за скриншоты, которые авторы bleemcast использовали для сравнения оригинальных и эмулированных версий игры. Сперва суд удовлетворил иск, но апелляция, поданная bleem, вернула всё на места. И вроде финал хороший, но разработчики не осилили судебных издержек и закрылись. Впрочем, в интернет просочились исходники и бета-образы — в 2009-м году энтузиасты смогли их взломать, немного допилить и выложить в свободный доступ.

-7

Среди игровых гигантов, решивших объявить войну эмуляторщикам, была не только Sony. Nintendo тоже возмущало, что её игры люди могут запускать где-то кроме её консоли. Ultra High Level Emulator, созданный двумя программистами под никами Reality Man и Epsilon, действительно мог нормально запускать кое-что с Nintendo 64. Поскольку тогда уже появился стандарт дампов картриджей, компания смогла ухватиться за то, что на эмуляторе люди запускают пиратские копии игр. Но в этой ситуации хватило лишь небольшого давления на разработчиков, чтобы те удалили своё ПО с сайта Emulators Unlimited. Правда, он остался на компьютерах тех, кто его успел скачать, из-за чего его по сей день можно найти на просторах интернета.

Можно понять и то, почему большая N настолько выборочно угрожает судами по сей день. В то же самое время появился очень хороший и живой по сей день эмулятор Super Nintendo под названием ZSnes. Но тогда компанию он не интересовал вообще. Сама консоль уже практически умерла и не приносила прибыли, и тратить деньги на суды ради небольшого количества денег было просто не нужно. А вот Ultra High уже вполне себе представлял угрозу. Ведь человек мог просто скачать его из интернета вместе с пиратским ромом и не купить консоль компании. Всё это происходит у Nintendo выборочно исключительно из-за потенциальной навара.

Единственной компанией из большой тройки платформодержателей, сохранившей нейтральное отношение к эмуляторщикам, оказалась Sega. Во-первых, её консоль Sega Saturn имела настолько ужасную архитектуру, что появление имитирующих её программ сильно задержалось. Во-вторых, в тот момент у Sega и так хватало проблем: неудачные аддоны к Mega Drive, отвратительная маркетинговая кампания Saturn, запуск Dreamcast. Если бы тогда фирма ещё и ввязалась в суды, возможно, её крах бы произошёл раньше.

-8

Как видите, однозначно победивших и проигравших в войне не оказалось. С одной стороны, огромные компании добились того, что некоторые проекты всё-таки исчезли, а разработчики закрылись или ушли со сцены. С другой стороны, сами программы признали законными, если они не нарушали ничьих авторских прав. Такое решение американского суда произвело фурор. Тут же сформировалась и своеобразная этика. В интервью разработчики отмечают, что пиратство является неотъемлемой частью самого явления, и они его не одобряют.

Тем не менее энтузиасты считают, что разработка эмуляторов должна начинаться как можно раньше, чтобы сохранить игровое наследие. Ведь сколько за всю историю игр утеряно просто из-за того, что никто вовремя не снял дамп с картриджа.