Эмулятор игровой консоли — это тип эмулятора , который позволяет вычислительному устройству [fn 1] эмулировать аппаратное обеспечение игровой консоли и запускать ее игры на эмулирующей платформе. Чаще всего эмуляторы несут дополнительные функции, которые превосходят ограничения оригинального оборудования, такие как более широкая совместимость с контроллерами, управление временной шкалой (например, быстрая перемотка вперед и назад), более легкий доступ к модификациям памяти (например, GameShark ) [1] и разблокировка игровых функций. [ необходима цитата ] Эмуляторы также являются полезным инструментом в процессе разработки самодельных демонстраций и создания новых игр для старых, снятых с производства или редких консолей. [ необходима цитата ]
Код и данные игры обычно поставляются эмулятору посредством файла ROM (копии данных игрового картриджа) или образа ISO (копии оптического носителя). [ требуется ссылка ] Хотя само программное обеспечение для эмуляции является законным, если оно не нарушает защиту авторских прав на консоли, [2] [3] эмуляция игр является таковой только при законном приобретении игры на физическом носителе и копировании ее содержимого. Свободная загрузка или выгрузка игровых ROM на различные интернет-сайты считается формой пиратства, [4] и пользователи могут быть привлечены к ответственности за нарушение авторских прав . [5] [6]
К середине 1990-х годов персональные компьютеры достигли такого уровня, когда стало технически возможным полностью воспроизвести поведение некоторых самых ранних консолей с помощью программного обеспечения, и начали появляться первые несанкционированные, некоммерческие эмуляторы консолей. Эти ранние программы часто были неполными, лишь частично эмулируя заданную систему, что приводило к дефектам . Немногие производители публиковали технические спецификации для своего оборудования, что оставляло программистов выводить точную работу консоли с помощью обратного проектирования . Консоли Nintendo , как правило, были наиболее часто изучаемыми, например, самые продвинутые ранние эмуляторы воспроизводили работу Nintendo Entertainment System , Super Nintendo Entertainment System и Game Boy . Первый такой признанный эмулятор был выпущен около 1996 года, будучи одним из прототипных проектов, которые в конечном итоге объединились в продукт SNES9X . [7] Такие программы, как iNES Марата Файзуллина, VirtualGameBoy, Pasofami (NES), Super Pasofami (SNES) и VSMC (SNES) были самыми популярными эмуляторами консолей той эпохи. Любопытным также был невыпущенный эмулятор NES Юдзи Наки для Genesis , возможно, ознаменовавший собой первый случай программного эмулятора, работающего на консоли. [8] Кроме того, поскольку Интернет стал более доступным, распространение как программного обеспечения эмулятора, так и образов ПЗУ стало более распространенным, что помогло популяризировать эмуляторы. [7]
Правовое внимание было привлечено к эмуляциям с выпуском UltraHLE , эмулятора для Nintendo 64, выпущенного в 1999 году, когда Nintendo 64 все еще была основной консолью Nintendo — ее следующая консоль, GameCube , не была выпущена до 2001 года. UltraHLE был первым эмулятором, выпущенным для текущей консоли, и было замечено, что он оказал некоторое влияние на продажи Nintendo 64, хотя в какой степени по сравнению с уменьшающимися продажами на устаревших консолях, было неясно. Nintendo подала в суд, чтобы остановить проект эмулятора, и хотя первоначальные авторы прекратили разработку, проект продолжили другие, получившие исходный код. С тех пор Nintendo, как правило, брала на себя инициативу в действиях против проектов эмуляции или распространения эмулированных игр со своих консолей по сравнению с другими производителями консолей или аркад. [7]
Этот рост популярности открыл двери для иностранных видеоигр и подверг североамериканских геймеров цензурной политике Nintendo. Этот быстрый рост в разработке эмуляторов, в свою очередь, подпитывал рост ROM-хакерства и фанатского перевода . Выпуск таких проектов, как перевод Final Fantasy V на английский язык от RPGe, привлек еще больше пользователей в сферу эмуляции. [9] Кроме того, разработка некоторых эмуляторов способствовала улучшению ресурсов для разработки домашнего программного обеспечения для определенных консолей, как это было в случае с VisualBoyAdvance , эмулятором Game Boy Advance , который, как отметил автор Кейси О'Доннелл, способствовал разработке инструментов для консоли, которые считались превосходящими даже те, которые предоставляла Nintendo, настолько, что даже некоторые лицензированные разработчики игр использовали эти инструменты для разработки игр для консоли. [10]
17 апреля 2024 года Apple начала разрешать эмуляторы в App Store, [11] сняв запрет, который длился почти 16 лет. После этого решения в магазине появилось множество эмуляторов, таких как Delta, Sutāto и RetroArch. [12] [13] [14]
Эмуляторы могут быть разработаны тремя способами: работающие исключительно в программном обеспечении, что является наиболее распространенной формой, например, MAME с использованием образов ПЗУ; работающие исключительно в аппаратном обеспечении, например, адаптер ColecoVision для приема картриджей Atari VCS . [7]
Эмулятор обычно создается путем обратного проектирования информации об оборудовании, чтобы избежать возможных конфликтов с непубличной интеллектуальной собственностью. Некоторая информация может быть обнародована для разработчиков по спецификациям оборудования, которые могут быть использованы для начала усилий по эмуляции, но часто существуют слои информации, которые остаются в качестве коммерческих секретов, такие как детали шифрования. Операционный код, хранящийся в BIOS оборудования, может быть разобран для анализа в чистом помещении , при этом один человек выполняет разборку, а другой человек, отдельно, документирует функцию кода. Как только получено достаточно информации о том, как оборудование интерпретирует игровое программное обеспечение, можно построить эмуляцию на целевом оборудовании. [7] Разработчики эмуляции обычно избегают любой информации, которая может поступать из неотслеживаемых источников, чтобы не загрязнять чистоту помещения своего проекта. Например, в 2020 году произошла утечка большого количества информации, связанной с консолями Nintendo , и команды, работающие над эмуляторами консолей Nintendo, такими как эмулятор Dolphin для GameCube и Wii, заявили, что они держатся подальше от утечки информации, чтобы не испортить свой проект. [15]
После того, как эмулятор написан, он требует получить копию игрового программного обеспечения, что может иметь правовые последствия. Обычно для этого пользователю необходимо сделать копию содержимого картриджа ROM в компьютерные файлы или изображения, которые может прочитать эмулятор, процесс, известный как «сброс» содержимого ROM. Похожая концепция применима и к другим фирменным форматам, например, для игр PlayStation CD. Хотя это не требуется для эмуляции самых ранних аркадных или домашних консолей, большинству эмуляторов также требуется дамп BIOS оборудования, который может различаться в зависимости от региона распространения и ревизий оборудования. В некоторых случаях эмуляторы позволяют применять исправления ROM , которые обновляют дамп ROM или BIOS для исправления несовместимости с новыми платформами или изменения аспектов самой игры. Впоследствии эмулятор использует дамп BIOS для имитации оборудования, в то время как дамп ROM (с любыми исправлениями) используется для копирования игрового программного обеспечения. [7]
Файлы ROM и файлы ISO создаются либо специализированными инструментами для игровых картриджей, либо обычными оптическими приводами, считывающими данные. [16] В качестве альтернативы специализированные адаптеры, такие как Retrode, позволяют эмуляторам напрямую получать доступ к данным на игровых картриджах без необходимости предварительного копирования их в образ ROM.
За пределами официального использования эмуляция, как правило, воспринимается производителями игровых консолей и разработчиками игр негативно. Наибольшее беспокойство вызывает характер нарушения авторских прав, связанный с образами ROM игр, которые обычно распространяются свободно и без ограничений по оборудованию. Хотя это напрямую влияет на потенциальные продажи эмулированных игр и, следовательно, на издателей и разработчиков, характер цепочки создания стоимости в отрасли может привести к потенциальному финансовому ущербу для производителей консолей. [7] Кроме того, эмуляция бросает вызов использованию в отрасли модели бритвенного лезвия для консольных игр, когда консоли продаются по себестоимости, а доход вместо этого получается от лицензий на продажу игр. Поскольку эмуляция консолей разрабатывается даже тогда, когда консоли все еще находятся на рынке, производители консолей вынуждены продолжать вводить новшества, выводить на рынок больше игр для своих систем и быстро переходить на новые технологии, чтобы продолжать свою бизнес-модель. [7] Существуют и другие опасения, связанные с интеллектуальной собственностью брендинга консоли и активами игр, которые могут быть использованы не по назначению, хотя эти проблемы связаны не столько с самой эмуляцией, сколько с тем, как впоследствии используется программное обеспечение. [7]
В качестве альтернативы эмуляция рассматривается как средство улучшения усилий по сохранению видеоигр , как за счет перемещения игровой информации из устаревших технологий в более новые, более устойчивые форматы, так и за счет предоставления программного обеспечения или аппаратных альтернатив устаревшему оборудованию. [17] Опасения по поводу стоимости, доступности и долговечности игрового программного обеспечения и консольного оборудования также упоминались в качестве причины поддержки разработки эмуляторов. [17] Некоторые пользователи эмуляции также рассматривают эмуляцию как средство сохранения игр от компаний, которые давно обанкротились или исчезли из-за более раннего рыночного краха и сокращения отрасли, и где право собственности на собственность неясно. Эмуляцию также можно рассматривать как средство улучшения функциональности оригинальной игры, которая в противном случае была бы невозможна, например, добавление локализаций с помощью патчей ROM или новых функций, таких как состояния сохранения . [7] В ноябре 2021 года Фил Спенсер заявил, что он надеется, что компании, выпускающие видеоигры, в конечном итоге разработают и распространят легальную эмуляцию, которая позволит пользователям играть в любую игру из прошлого, копия которой у них уже есть, охарактеризовав ее как «великую путеводную звезду», к которой индустрия может стремиться в будущем. [18] [19]
По мере того как компьютеры и глобальные компьютерные сети продолжали развиваться и становиться все более популярными, разработчики эмуляторов становились все более искусными в своей работе, промежуток времени между коммерческим выпуском консоли и ее успешной эмуляцией начал сокращаться. Консоли пятого поколения, такие как Nintendo 64 , PlayStation и карманные компьютеры шестого поколения , такие как Game Boy Advance , показали значительный прогресс в направлении эмуляции во время своего производства. Это привело к попыткам производителей консолей прекратить неофициальную эмуляцию, но последовательные неудачи, такие как Sega против Accolade 977 F.2d 1510 (9th Cir. 1992), Sony Computer Entertainment, Inc. против Connectix Corporation 203 F.3d 596 (2000) и Sony Computer Entertainment America против Bleem 214 F.3d 1022 (2000), [20] имели противоположный эффект, который постановил, что эмуляторы, разработанные с помощью чистого дизайна, являются законными. Библиотекарь Конгресса , в соответствии с Законом об авторском праве в цифровую эпоху (DMCA), кодифицировал эти правила как разрешенные исключения для обхода технической защиты авторских прав на консольном оборудовании. [7] Однако разработчики эмуляторов не могут включать код, который мог быть встроен в аппаратный BIOS, а также поставлять образ BIOS вместе со своими эмуляторами. [7]
Несанкционированное распространение кода, защищенного авторским правом, остается незаконным, как в соответствии с законодательством об авторском праве конкретной страны, так и в соответствии с международным законодательством об авторском праве в соответствии с Бернской конвенцией . [21] [ необходим лучший источник ] Соответственно, издатели и разработчики видеоигр предприняли юридические действия против веб-сайтов, которые незаконно распространяют их защищенное авторским правом программное обеспечение, успешно заставив сайты удалить свои названия [22] или полностью закрыть веб-сайты. [23]
Согласно законодательству США, получение дамп -копии BIOS оригинальной машины является законным в соответствии с постановлением Lewis Galoob Toys, Inc. против Nintendo of America, Inc. , 964 F.2d 965 (9th Cir. 1992) как добросовестное использование , если пользователь получил законно купленную копию машины. Однако, чтобы смягчить это, несколько эмуляторов для платформ, таких как Game Boy Advance , способны работать без файла BIOS, используя высокоуровневую эмуляцию для имитации подпрограмм BIOS с небольшой потерей точности эмуляции. [ необходима цитата ]
В более новых консолях введен один или несколько уровней шифрования, что делает эмуляцию более сложной с технической точки зрения, но также может создать дополнительные юридические проблемы в соответствии с DMCA, который запрещает распространение инструментов и информации о том, как обойти эти уровни. Эмулятор Nintendo Switch Yuzu был подан в суд Nintendo, потому что группа, стоящая за эмулятором, предоставила такую информацию о том, как получить требуемые ключи дешифрования, что привело к тому, что группа урегулировала спор с Nintendo и удалила эмулятор из распространения. С тех пор появились ответвленные проекты от Yuzu, идущие по пути информирования пользователей о том, какие элементы дешифрования им понадобятся, но в остальном не указывающие, как их получить, чтобы оставаться в рамках позиции Nintendo против эмуляции и нарушения авторских прав. [24]
Из-за своей популярности эмуляторы также стали целью онлайн-мошенничества в виде троянских программ, разработанных для имитации внешнего вида законного эмулятора, которые затем продвигаются через спам , на YouTube и в других местах. [25] Некоторые мошенничества, такие как предполагаемый эмулятор «PCSX4», даже зашли так далеко, что создали поддельный репозиторий GitHub , предположительно для дополнительной надежности, особенно для тех, кто не знаком с разработкой программного обеспечения с открытым исходным кодом . [26] С тех пор Федеральная торговая комиссия выпустила рекомендательное предупреждение пользователям избегать загрузки такого программного обеспечения в ответ на сообщения о предполагаемом эмуляторе Nintendo Switch , выпущенном различными веб-сайтами в качестве прикрытия для мошенничества с опросами. [27]
Из-за высокого спроса на воспроизведение старых игр на современных системах, консоли начали включать технологию эмуляции. Наиболее заметной из них является Virtual Console от Nintendo . Первоначально выпущенная для Wii , но присутствующая на 3DS и Wii U , Virtual Console использует программную эмуляцию, чтобы позволить покупать и играть в игры для старых систем на этом современном оборудовании. Хотя не все игры доступны, Virtual Console имеет большую коллекцию игр, охватывающую широкий спектр консолей. Библиотека прошлых игр Virtual Console в настоящее время состоит из названий, происходящих из Nintendo Entertainment System , Super NES , Game Boy , Game Boy Color , Nintendo 64 , Game Boy Advance , Nintendo DS и Wii, а также Master System и Genesis/Mega Drive от Sega , TurboGrafx-16 от NEC и Neo Geo от SNK . Сервис для Wii также включает игры для платформ, которые были известны только в определенных регионах, таких как Commodore 64 (Европа и Северная Америка) и MSX (Япония), [28] а также Virtual Console Arcade, который позволяет игрокам загружать аркадные видеоигры . Названия Virtual Console были загружены более десяти миллионов раз. [29] Каждая игра распространяется со специальным эмулятором, настроенным для запуска игры как можно лучше. Однако в нем отсутствуют улучшения, которые предоставляют неофициальные эмуляторы, и многие названия по-прежнему недоступны. [ which? ]
До обновления прошивки 4.0.0 системное программное обеспечение Nintendo Switch содержало встроенный эмулятор NES, называемый внутри компании «flog», запускающий игру Golf (с поддержкой контроллера движения с использованием Joy-Con ). Считалось, что пасхальное яйцо было данью уважения бывшему президенту Nintendo Сатору Ивате , который умер в 2015 году: игра была доступна только 11 июля (в день его смерти), Golf был запрограммирован Иватой, и игра активировалась выполнением жеста движения с парой Joy-Con, которые Ивата, как известно, использовал во время видеопрезентаций Nintendo. Было высказано предположение, что включение Golf было задумано как цифровая форма омамори — традиционной формы японских амулетов, предназначенных для обеспечения удачи или защиты. [30] [31] [32] В рамках своей подписной службы Nintendo Switch Online Nintendo впоследствии выпустила приложение с библиотекой по запросу игр NES и SNES, которая регулярно обновлялась. [33] Приложение обладает функциями, аналогичными функциям игр Virtual Console, включая сохранение состояний, а также режим масштабирования пикселей и эффект, имитирующий дисплеи телевизоров с ЭЛТ . [34]
Из-за различий в оборудовании Xbox 360 изначально не совместим с оригинальными играми Xbox . [fn 2] Однако Microsoft добилась обратной совместимости с популярными играми через эмулятор. 15 июня 2015 года Microsoft объявила, что Xbox One будет обратно совместима с Xbox 360 через эмуляцию. В июне 2017 года они объявили, что оригинальные игры Xbox также будут доступны для обратной совместимости через эмуляцию, но поскольку оригинальная Xbox работает на архитектуре x86 , эмуляция ЦП не нужна, что значительно повышает производительность. PlayStation 3 использует программную эмуляцию для воспроизведения оригинальных игр PlayStation, а PlayStation Store продает игры, которые запускаются через эмулятор внутри машины. В оригинальных японских и североамериканских моделях 60 ГБ и 20 ГБ присутствует оригинальное оборудование PS2 для запуска игр; однако все модели PAL и более поздние модели, выпущенные в Японии и Северной Америке, удалили некоторые аппаратные компоненты PS2, заменив их программной эмуляцией, работающей вместе с видеооборудованием для достижения частичной аппаратной/программной эмуляции. [35] [36] В более поздних выпусках обратная совместимость с играми для PS2 была полностью удалена вместе с графическим чипом PS2, и в конечном итоге Sony выпустила игры для PS2 с программной эмуляцией в PlayStation Store . [36]
Коммерческие разработчики также использовали эмуляцию как средство для переупаковки и переиздания старых игр на новых консолях в розничных релизах. Например, Sega создала несколько коллекций игр Sonic the Hedgehog . До Virtual Console Nintendo также использовала эту тактику, например, переиздания на Game Boy Advance игр NES в Classic NES Series . [37]
Хотя основная цель эмуляции — обеспечить запуск старых видеоигр на новых системах, дополнительная гибкость программной эмуляции дает ряд преимуществ, которые были невозможны на исходных системах.
Загрузка образа диска является необходимостью для большинства эмуляторов консолей, так как большинство вычислительных устройств не имеют оборудования, необходимого для запуска старых консольных игр непосредственно с самого физического игрового носителя. Даже с эмуляторами оптических носителей, такими как PlayStation и PlayStation 2, попытка запустить игры с настоящего диска может вызвать такие проблемы, как зависания и сбои, поскольку оптические приводы ПК не предназначены для вращения дисков так, как это делают эти консоли. [ необходима цитата ] Однако это привело к преимуществу, заключающемуся в том, что стало намного проще изменять реальные файлы игры, содержащиеся в игровых ПЗУ. Программисты- любители и энтузиасты игр создали переводы иностранных игр, переписали диалоги в игре, применили исправления ошибок , которые присутствовали в оригинальной игре, а также обновили старые спортивные игры современными списками. Можно даже использовать обновления текстурных пакетов высокого разрешения для 3D-игр, а иногда и 2D, если они доступны и возможны. [fn 3]
Программное обеспечение, эмулирующее консоль, может быть улучшено дополнительными возможностями, которых не было в исходной системе. К ним относятся расширенные графические возможности, такие как пространственное сглаживание , масштабирование разрешения кадрового буфера для соответствия высокому разрешению и даже более высоким разрешениям дисплея, а также анизотропная фильтрация (повышение резкости текстур).
Программное обеспечение для эмуляции может предложить улучшенные возможности звука (например, уменьшенную задержку и лучшую аудиоинтерполяцию), улучшенные состояния сохранения (которые позволяют пользователю сохранять игру в любой момент для отладки или повторной попытки) и уменьшенное время загрузки. Некоторые эмуляторы имеют возможность «быстрой» загрузки игры, минуя оригинальные заставки производителя консоли.
Кроме того, программное обеспечение для эмуляции может предлагать функциональность многопользовательской игры в режиме онлайн и возможность ускорять и замедлять скорость эмуляции. Это позволяет пользователю, например, быстро перематывать нежелательные сцены или полностью отключать ограничитель кадров (полезно для целей бенчмаркинга).
Некоторые консоли имеют региональную блокировку, не позволяющую пользователю играть в игры за пределами указанного игрового региона. Это может считаться неприятностью для консольных геймеров, поскольку некоторые игры имеют, казалось бы, необъяснимые различия в локализации между регионами, такие как различия во времени, требуемом для водительских миссий и экзаменов на лицензию в Gran Turismo 4 , [38] [39] [ нужен лучший источник ] и PAL-версии Final Fantasy X , которая добавила больше игровых навыков, изменила некоторых боссов и даже больше боссов, Dark Aeons, [40] , которые не были доступны в североамериканской версии игры NTSC. [41]
Хотя обычно можно модифицировать сами консоли, чтобы обойти региональные блокировки, модификации консоли могут вызвать проблемы с некорректным отображением экранов и слишком быстрой или медленной работой игр из-за того, что сама консоль может быть не предназначена для вывода в правильный формат для игры. Эти проблемы можно преодолеть на эмуляторах, поскольку они обычно разработаны со своими собственными модулями вывода, которые могут запускать игры как NTSC, так и PAL без проблем. [ необходима цитата ]
Многие эмуляторы , например Snes9x [42], значительно упрощают загрузку консольных читов, не требуя потенциально дорогих фирменных аппаратных устройств, таких как те, что используются GameShark и Action Replay . Бесплатные инструменты позволяют преобразовывать коды, предоставляемые такими программами, в код, который может быть прочитан непосредственно встроенной в эмулятор чит-системой, и даже позволяют переключать читы из меню. Инструменты отладки, представленные во многих эмуляторах, также помогают геймерам создавать свои собственные читы. Подобные системы также могут использоваться для включения широкоэкранных хаков для определенных игр, позволяя пользователю играть в игры, которые изначально не были предназначены для широкоэкранных экранов, не беспокоясь об искажении соотношения сторон на широкоэкранных мониторах.