MAME

MAME
Логотип программы MAME
Скриншот программы MAME
Тип Эмулятор
Разработчики Никола Салмориа и команда MAME
Написана на C++ (для некоторых плагинов используются C и Python)
Операционная система Кроссплатформенная
Аппаратные платформы x86, AArch64
Последняя версия
Репозиторий github.com/mamedev/mame
Лицензия GNU GPL v2
Сайт mamedev.org
Логотип Викисклада Медиафайлы на Викискладе

MAME — эмулятор, разработанный для воссоздания электронного оборудования аркадных автоматов в виде программного обеспечения с целью сохранения истории игр и предотвращения исчезновения старых игр. Название программы является акронимом для Multiple Arcade Machine Emulator — эмулятор множества аркадных машин.

Первый публичный релиз MAME (версия 0.1), автором которого был Никола Салмориа, состоялся 5 февраля 1997 года. Эмулятор поддерживает 4266 уникальных игр и 8286 ром-сетов (каждая игра может иметь один или несколько клонов). Но не все игры, поддерживаемые MAME, на самом деле играбельны: в настоящий момент не работает 1188 образов игр, а ещё 45 — это образы BIOS. В настоящее время лидером проекта является Аарон Гилес.

MAME портирована на множество самых разных платформ. Ныне не обновляемая версия для UNIX-подобных систем называется XMAME, версия для macOS — MacMAME, на основе библиотеки SDL — SDLMAME.

Как работает MAME

[править | править код]

Архитектура кода MAME включает несколько компонентов — отдельные программные эмуляторы разных типов процессоров, микросхем генерации звука, видеоконтроллеров и других стандартных элементов. Для эмуляции каждой игры или унифицированной аркадной системы (типа Neo-Geo) пишутся отдельные «драйвера», использующие код эмуляции стандартных компонентов и добавляющие код, эмулирующий остальные устройства и связывающий компоненты.

В состав эмулятора не включены образы ПЗУ, содержащие код и данные игр.

Философия эмулятора

[править | править код]

Главная цель эмулятора — документирование аппаратного обеспечения аркадных автоматов, сохранение их данных для истории[3], поэтому запрещено вносить в код изменения и хаки, которые могут заставить игры работать неправильно или быстрее, ценой точности эмуляции. В MAME каждый эмулируемый компонент эмулируется на программном уровне до каждого регистра и инструкции. Поэтому эмуляция в MAME очень точна (во многих случаях до каждого пикселя), но системные требования могут быть довольно высокими. MAME эмулирует в основном старые автоматы, игры идут на приемлемой скорости на компьютере с 1 ГГц процессором. Современные же аркадные автоматы достаточно сложны, основаны на быстрых RISC-процессорах, математических DSP и прочих элементах, которые достаточно сложны для точной эмуляции, и поэтому эти системы могут не работать достаточно быстро даже на самых современных компьютерах.

Классификация выпусков MAME

[править | править код]

Существует несколько типов версий MAME, которые предназначены для разных пользовательских аудиторий.

  • Основные выпуски MAME происходят раз в месяц, и им даётся номер версии, например, 0.99. Используется UNIX-система нумерации выпусков, которая отличается от обычной, то есть версия после 0.99 имеет номер 0.100. Данный выпуск рассчитан на непритязательного пользователя, и на сайте MAME выкладываются две версии — для Windows и для DOS.
  • Небольшие, промежуточные выпуски происходят между основными. Выпуски различаются по номеру «u» после номера версии предыдущего выпуска, например, 0.99u3 означает, что это третья версия для разработчиков после основной версии 0.99. Обычно таких версий пять между основными.

Примечания

[править | править код]
  1. Release 0.270 — 2024.
  2. 1 2 https://www.mamedev.org/releases/whatsnew_0248.txt
  3. About MAME™ (англ.). Дата обращения: 29 июня 2007. Архивировано 1 июня 2007 года.