Введение

Программное обеспечение для эмуляции консолей и компьютерных систем

Multi Emulator Super System (MESS) — это эмулятор различных консолей и компьютерных систем, основанный на ядре MAME. Изначально это была самостоятельная программа (которая впоследствии была прекращена), но теперь она интегрирована в MAME (который активно развивается). MESS эмулирует портативные и консольные игровые системы, компьютерные платформы и калькуляторы. Проект стремится к точности и переносимости, поэтому не всегда является самым быстрым эмулятором для конкретной системы. Благодаря своей точности он также полезен для разработки любительских игр. По состоянию на апрель 2015 года MESS поддерживал 994 уникальных системы с 2106 общими вариациями систем. Однако не все системы в MESS работоспособны; некоторые помечены как нерабочие или находятся в разработке. MESS был впервые выпущен в 1998 году и с тех пор постоянно развивается. MAME и MESS когда-то были отдельными приложениями, но позже были разработаны и выпущены совместно из единого репозитория исходного кода. Член MAMEDEV Дэвид Хейвуд поддерживал и распространял UME (Universal Machine Emulator), который объединял большую часть функциональности MAME и MESS в одном приложении. 27 мая 2015 года MESS была официально интегрирована с MAME и стала частью MAME.

Лицензия

MESS распространялся под лицензией MAME, которая разрешала перераспространение бинарных файлов и исходного кода, как в измененном, так и в неизмененном виде, но запрещала продажу MESS или его коммерческое использование. Эта лицензия, подобно другим лицензиям с принципом copyleft, требовала, чтобы права и обязанности, предусмотренные лицензией, оставались неизменными при распространении MESS или производных работ. Помимо лицензии MAME, команда MESS требовала: "MESS должен распространяться только в оригинальных архивах. Распространение измененной версии, а также удаление и/или добавление файлов в архив не допускается. Добавление одного текстового файла для рекламы вашего веб-сайта допускается только в том случае, если ваш сайт вносит оригинальный вклад в эмуляционную среду". Лицензия MAME требовала включения исходного кода в версии MESS, модифицированные относительно оригинального источника, в то время как на юридической странице MESS указано, что при распространении бинарных файлов "следует также распространять исходный код. Если это невозможно, необходимо предоставить ссылку на место, где исходный код можно получить". Несмотря на то, что MESS был доступен как в бинарном, так и в исходном коде, ограничения на коммерческое использование исключают его из определения свободного программного обеспечения, данного Фондом свободного программного обеспечения. Аналогично, MESS не считался программным обеспечением с открытым исходным кодом при оценке по критериям Определения открытого исходного кода.

Вызовы

Как правило, эмуляция включает только базовую аппаратную логику, такую как для центрального процессора и оперативной памяти, а также специализированные цифровые сигнальные процессоры (DSP), например, генераторы тона или видео-спрайты. Эмулятор MESS не включает в себя программный код, хранящийся в микросхемах ROM эмулируемой машины, поскольку этот код может быть защищен авторским правом. Получение данных ROM непосредственно из эмулируемого оборудования может быть крайне сложным, требовать специальных технических знаний, быть дорогостоящим и даже привести к повреждению оборудования, так как может потребоваться вскрытие корпуса или выпаивание микросхем с печатной платы устройства. Выпаянную микросхему помещают в устройство для чтения микросхем, подключенное к USB- или последовательному порту другого компьютера, с разъемами, специально предназначенными для соответствия форм-фактору корпуса микросхемы, чтобы создать дамп памяти ROM в файл данных. Удалить микросхему с пайки зачастую намного проще, чем установить ее обратно, особенно если это очень маленькие компоненты поверхностного монтажа, и эмулируемое устройство может быть безвозвратно повреждено после удаления ROM для считывания. Однако, если у вас есть рабочая система, может быть гораздо проще сделать дамп данных ROM на магнитную ленту, диск и т.п., а затем перенести файл данных на целевой компьютер.

Применение

В 2013 году Internet Archive начал предоставлять возможность играть в некоторые игры прямо в браузере через JSMESS (JavaScript-порт эмулятора MESS), например, в игру E. T. the Extra Terrestrial для Atari 2600.