Образ ПЗУ

Материал из Википедии — свободной энциклопедии
Перейти к: навигация, поиск

Образ ПЗУ (ROM-image либо просто ROM) — двоичный файл, содержащий копию данных из микросхемы ПЗУ, обычно — из картриджа игровой приставки, из «прошивки» компьютера или сведения о конфигурации материнской платы аркадного автомата. Термин часто используется в контексте эмуляции: старые игры или программы, записанные в ПЗУ старого компьютера, копируются в файл образа ПЗУ и при помощи программы-эмулятора могут быть запущены на современном компьютере.

Образы ПЗУ также используются при разработке для встраиваемых систем или мобильных устройств. Разрабатываемая программа записывается в файл образа ПЗУ и тестируется на эмуляторе. После окончания отладки программа запускается на реальном устройстве.

Для некоторых людей образы ПЗУ становятся предметом коллекционирования. Мотивы этого могут быть разными, например, желание сохранить историю компьютеров и игровых приставок для последующих поколений.

Получение[править | править вики-текст]

Дампер «Visoly flash linker», предназначенный для работы с картриджами от приставки Game Boy Advance
Устройство отладки и резервного копирования «Doctor 64» с подключенной приставкой Nintendo 64 и установленным игровым картриджем

Для получения образа ПЗУ из отдельной микросхемы памяти может использоваться программатор ПЗУ.

Для получения образа программы, содержащейся в ПЗУ игрового картриджа (так называемый «дамп» — англ. dump) и многих существующих аркадных автоматов применяются специально разработанные устройства — «дамперы» (англ. dumper), а сам процесс носит название «дампинга» (англ. dumping). Для каждого типа картриджей и игровых систем требуется свой тип дампера. В настоящее время дамперы существуют для большинства существующих систем.

Ввиду специфичности оборудования, используемого в аркадных автоматах, и большого разнообразия исполнений применяемых в них печатных плат дампинг ПЗУ из автоматов требует специального набора программно-аппаратных средств и высокой квалификации оператора.

Защита от копирования[править | править вики-текст]

Хотя образы ПЗУ могут использоваться для сохранения истории компьютерных игр, эксплуатация их особенностей может облегчить неавторизованное копирование и распространение современных игр. Многие компании-разработчики игр, рассматривая это как потенциальную угрозу для продаж своих продуктов, стали включать в игры особенности, препятствующие копированию, но сохраняющие при этом игру рабочей.

Основные методы защиты от копирования ПЗУ[править | править вики-текст]

  • Проприетарные форматы носителей. Например, фирма Nintendo в своей приставке GameCube использовала проприетарный 8‑сантиметровый формат оптического носителя, подобного DVD, чем длительное время препятствовала копированию информации на ПК. Копирование было невозможно, пока в эпизодах I и II игры «Phantasy Star Online» не была обнаружена уязвимость, эксплуатация которой позволила копировать данные на ПК, используя саму приставку в качестве дисковода.
  • Шифрование данных. Фирма SNK Playmore добавила защиту в игру «The King of Fighters», вышедшую в 1999 году для приставки Neo Geo. Защита заключалась в шифровании графического ПЗУ с использованием специального алгоритма; это препятствовало запуску игры на эмуляторе. Защита собрала множество положительных отзывов, которые сводились к тому, что данная защита должна положить конец эмуляции приставки Neo Geo. Однако уже в 2000 году хакерское сообщество разработало механизм дешифровки, был произведён успешный дампинг ПЗУ, и возможность запуска игр для приставки Neo Geo на эмуляторе была возвращена.
    • Повышение стойкости шифра. Фирма Capcom применяла в системных платах CPS-2, используемых в аркадных автоматах, весьма стойкое шифрование. Системные платы делились на два типа. Платы типа А были одинаковыми для всех автоматов. Платы типа B содержали игру. На плате B было установлено RAM, питаемое от батареи; RAM содержало шифр, необходимый для запуска игры. Когда батарея исчерпывала заряд, автомат переставал работать. Продолжение работы автомата было возможно только после отчислений в пользу фирмы Capcom. Существовали способы подачи питания на микросхему в обход батареи, но это следовало сделать до падения напряжения на батарее ниже 2 вольт. Защита системы впервые оказалась не у дел лишь в 2000 году, через 7 лет после запуска платы CPS‑2. Однако метод, предложенный «CPS2Shock Team», не был полноценной эмуляцией защитного алгоритма, а представлял собой лишь набор XOR-таблиц, используемых для обхода системы защиты с целью предоставления возможности запуска игр[1]. Сам алгоритм шифрования был полностью описан лишь в 2007 году Андреасом Нейвом (Andreas Naive) и Николой Салмориа (Nicola Salmoria) после обратной разработки. Алгоритм шифрования использовал две 4-раундные сети Фейстеля с 64-битным ключом.
  • Контроль целостности данных. Попытка записи в память, отведённую под ПЗУ на оригинальном картридже, вызовет сбой или запуск обработчика исключений. Однако многие эмуляторы могут успешно выполнять подобные запросы. Также в пиратских картриджах иногда устанавливают перезаписываемые микросхемы вместо ПЗУ. Система защиты игры может определить, запущена ли она с оригинального картриджа, если запишет какое-либо значение по какому-либо адресу в ПЗУ, затем прочитает значение по тому же адресу из ПЗУ; если записанное и прочитанное значения равны, игра работает на эмуляторе. Также система защиты может пытаться записать случайные данные в критические области памяти игры, что в случае использования перезаписываемых микросхем вместо ПЗУ приведёт к неработоспособности игры. Например, в портативной игровой системе GameBoy контроллер памяти располагался на шине картриджа. Система защиты игры могла периодически посылать запросы на запись каких-либо значений в особые области этой памяти. Если запись происходила, значит в картридже установлена не ПЗУ, и такая запись делала игру неработоспособной.

Применение[править | править вики-текст]

Эмуляция[править | править вики-текст]

Эмуляторы игровой приставки, как правило, используют файлы образов ПЗУ в качестве исходных данных для работы.

ПЗУ с программным обеспечением[править | править вики-текст]

Образы ПЗУ широко используются при разработке встраиваемых систем. Разрабатываемое ПО часто записывается в файлы образа ПЗУ для тестирования и отладки на обычном компьютере перед записью в микросхемы ПЗУ физического устройства.

Сохранение данных[править | править вики-текст]

Время работоспособности большинства носителей цифровых данных невелико. Некоторые технологии, например, чёрно-белая фотография, могут обеспечить сохранность данных в течение столетия и более. Однако, множество цифровых носителей становятся нечитаемыми всего через 10 и менее лет. Это становится проблемой, так как первые компьютерные системы сейчас имеют возраст 50‑60 лет, а первые образцы игровых приставок перешагнули за 30 лет. Проблема состоит в том, что большинство первых компьютеров и компьютерных игр окажутся безвозвратно утраченными, если не будут перенесены на современный тип носителей. Таким образом, энтузиасты, увлеченные сохранением данных, ищут копии старых компьютерных и аркадных игр для создания образов содержащихся в них ПЗУ. Хранение образов на таких стандартизированных носителях как CD-ROM или DVD-ROM в будущем способно значительно уменьшить усилия, требующиеся для копирования их на носители, которые будут стандартизированы в будущем[2][3].

Рост массового распространения образов ПЗУ электронным способом, несмотря на возможный ущерб правообладателям, может внести позитивный вклад в дело сохранения данных. Несмотря на то что оригинальные копии старых игр могут повреждаться, изнашиваться или выбрасываться, цифровые копии в виде образа ПЗУ или другого носителя могут распространиться повсеместно, сохраняя тем самым старые игры, которые иначе были бы утрачены безвозвратно[4].

Модификация и любительский перевод[править | править вики-текст]

Пользователи могут делать модификации игры сразу после того, как она станет доступной в виде образа ПЗУ. Модификации могут изменять графику, игровые уровни, уровень сложности или выполнять перевод игры на язык, на котором оригинал никогда не выходил. Хаки иногда могут приобретать комическую форму. Например, одна из изменённых игр Mario Bros., названная «Afro Mario Brothers», отличалась наличием у главных персонажей причёсок афро. Также известна модификация «Metroid Redesign» игры Super Metroid, улучшающая оригинальную игру и вводящая новые цели.

Большую роль играют любительские переводы игр на другие языки. Многие игры изданы только в какой‑то стране мира. Например, многие ролевые игры, вышедшие в Японии, никогда не издавались вне её пределов. Группы переводчиков-любителей делают независимые переводы, встречая сильную поддержку от сообщества. Так в 1995 году в Японии была выпущена игра Tales of Phantasia, а в 2001 году группа «DeJap Translations» перевела экранный текст на английский язык. Более того, существовал проект «Vocals of Phantasia», целью которого было создание полной любительской озвучки игры. Официальная английская версия вышла лишь в 2006 году, через 5 лет после появления любительского перевода. Другой пример — игра Mother 3 — сиквел достаточно популярной игры EarthBound, выпущенный только в Японии. На вопросы от массы разгневанных фанатов представители фирмы Nintendo ответили, что выпуск английской версии в европейском регионе планируется, но эта версия так и не была выпущена. В ответ фанаты создали сайт starmen.net и приступили к переводу игры. Работа была завершена в октябре 2008 года. Перевод был высоко оценён фанатами, представителями фирм Nintendo, Square Enix и другими профессионалами рынка.

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

Одной из игр, которая до сих пор имеет активную сцену ромхакинга, является игра Super Mario Bros.

Правовое положение[править | править вики-текст]

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

Однако в США, начиная с 1983 года, копирование ПЗУ компьютерных игр на другой картридж признано незаконным. Это решение вынес суд по делу «Atari против JS&A». Фирма «JS&A» производила устройство «резервного копирования игры», позволяющее пользователю считывать образ ПЗУ оригинального картриджа и записывать его в пустой картридж. Представители фирмы «JS&A» заявили, что копирование допустимо согласно закону о резервной копии. Суд не согласился с этим, указав на то, что микросхемам ПЗУ не присуща такая же недолговечность как магнитным дискам, для которых и был принят соответствующий закон. Признав ПЗУ недостаточно уязвимым носителем, суд исключил их из‑под действия пункта 17 USC 117(a)(2)[5].

Позднее Чак Кочемс (Chuck Cochems), исходя из решения суда по делу «Sony против Universal» (1984), показал, что копирование легального программного обеспечения для персонального использования на эмуляторе должно признаваться законным. При этом подчёркивается, что такое использование может быть законным только при соблюдении принципов добросовестного использования[6].

Некоторые компании, например, Nintendo, печатают в прилагаемых к играм «руководствам пользователя» заявления о том, что пользователю запрещается создание резервных или архивных копий. Остается нерешённым, могут ли быть подобные формулировки признаваться офертой или нет. См. также статьи лицензия на программное обеспечение, обёрточная лицензия, добросовестное использование, Digital Millennium Copyright Act.

Существование образов ПЗУ может быть лицензировано непосредственным правообладателем. Например, фирма Atari открыла доступ к образам ПЗУ некоторых игр, ранее доступным только на аркадных автоматах. Данные образы ПЗУ совместимы с эмулятором MAME и распространяются через сайт-магазин «Star ROMs». Фирма Nintendo для своих приставок седьмого поколения (3DS, Wii) открыла сайт-магазин Virtual Console; на сайте можно приобрести образы ПЗУ игр, созданных для приставок Nintendo предыдущих поколений (например, NES); после покупки образа ПЗУ пользователь может запустить игру на соответствующем эмуляторе. Образы ПЗУ игр, созданных для приставки PlayStation, можно купить на сайте-магазине PlayStation Store; эмуляторы доступны для приставок PlayStation 3 и PSP. Образы ПЗУ игр, созданных для приставок Xbox, например, игры Sonic the Hedgehog для Xbox 360, можно купить на сайте-магазине Xbox Live Arcade.

Подавляющее большинство устаревших компьютеров и старых игр ныне не производятся. В таких случаях, иногда, правообладатели предлагают бесплатные лицензии на такие игры, единственным условием которых, чаще всего, является запрет на коммерческое использование. Например, 14 игр, эмулируемых MAME, включая «Gridlee» и «Robby Roto», доступны по подобной лицензии и распространяются в рамках проекта MAME[7].

Похожие типы образов[править | править вики-текст]

Образы, полученные с магнитной ленты, называют «образами ленты». Образы, полученные с гибких дисков, CD-ROM и других дисков называют «образами диска». Образы, полученные с оптических носителей, часто называют ISO-образами по названию файловой системы ISO 9660, используемой на таких носителях.

Создание образов с других носителей часто не сопряжено со значительными трудозатратами и часто может быть осуществлено без использования специальных средств. Например, создание образа магнитной ленты, содержащей компьютерную игру (например, для компьютера ZX Spectrum) обычно осуществляется проигрыванием типовой компакт-кассеты на магнитофоне, линейный выход которого подключён к линейному входу звуковой карты ПК. Данные записываются в аудиофайл, после чего специальной программой преобразуются в файл образа ленты. Точно также (с помощью специальной программы) практически любая игра может быть скопирована с диска CD или DVD на обычном CD/DVD приводе ПК.

См. также[править | править вики-текст]

Примечания[править | править вики-текст]

  1. The Future Intent of CPS2shock
  2. Conley, James; Andros, Ed; Chinai, Priti; Lipkowitz, Elise; Perez, David (Spring 2004). «Use of a Game Over: Emulation and the Video Game Industry, A White Paper». Northwestern Journal of Technology and Intellectual Property 2 (2). “Fans of classic games argue that emulation preserves video arcade games, many of which would otherwise be approaching extinction.”
  3. About MAME. MAME (30 ноября 2007). — «MAME is strictly a non-profit project. Its main purpose is to be a reference to the inner workings of the emulated arcade machines. This is done both for educational purposes and for preservation purposes, in order to prevent many historical games from disappearing forever once the hardware they run on stops working.»
  4. Hyman, Paul. Game over? Not if preservationists have their way, The Hollywood Reporter (8 октября 2004). Архивировано из первоисточника 28 сентября 2009. «[T]he archivists feel that the more copyable something is, the more likely it's going to survive in the long term.».
  5. Sam Pettus. Appendix B, Important Court Decisions. The EmuFAQ. World of Spectrum (1999). Архивировано из первоисточника 5 января 2013.
  6. Cochems, Chuck. The Question of ROMs. EmuFAQ Addendum (11 марта 2000). Архивировано из первоисточника 5 января 2013.
  7. MAME-compatible ROM Images. mamedev.org. MAME Development Team.