MAME (изначально аббревиатура эмулятора нескольких аркадных машин)-это бесплатный эмулятор с открытым исходным кодом, предназначенный для воссоздания оборудования аркадных игровых систем в программном обеспечении на современных персональных компьютерах и других платформах. [2] Намерение состоит в том, чтобы сохранить историю игр, предотвращая потерянные или забытые винтажные игры. Целью MAME является ссылка на внутреннюю работу эмулированных аркадных машин; Способность играть в игры считается «хорошим побочным эффектом». [3] Joystiq перечислил Mame как приложение, которое должно иметь каждый геймер Windows и Mac. [4]
Первый публичный релиз Mame был от Никола Салмории 5 февраля 1997 года. Эмулятор теперь поддерживает более 7000 уникальных игр и 10 000 фактических наборов изображений ПЗУ, хотя не все поддерживаемые игры играют. Mess, эмулятор для многих консолей видеоигр и компьютерных систем, основанных на ядре MAME, был интегрирован в MAME в MAME в 2015 году.
MAME (несколько аркадных машин) - это бесплатный эмулятор с открытым исходным кодом, предназначенный для воссоздания аппаратного обеспечения аркадной игровой системы в программном обеспечении на современных персональных компьютерах и других платформах. MAME.NET - это аркадный эмулятор на основе C#, и он сохраняет ту же архитектуру MAME. Используя C# и мощную интегрированную среду разработки - Microsoft Visual Studio, не существует макроса, и вы можете отладить поддерживаемую аркадную игру в любом месте. Есть некоторые классические платы, поддерживаемые к настоящему времени: M72, M92, CPS-1, CPS-1 (QSOUND), CPS2, NEO GEO, NAMCO SYSTEM 1, IGS011, PGM (Master Polygame).
MAME.NET работает на следующих шагах: Загрузите ПЗУ, инициализируйте машину, мягкий сброс машины и цикл «CPUEXEC_TIMESLICE». Операция «CPUEXEC_TIMESLICE» означает последовательно выполнение каждого процессора для некоторого среза и выполнения обратных вызовов таймера. Образцы таймера содержит: обновление видео, мягкое сброс, прерывание процессора, обновление звука, сброс Watchdog и другие прерывания. Этими шагами Mame.net успешно эмулирует аркадную доску. MAME.NET имеет больше функций: Сохранить и загружать состояние, запись и воспроизведение ввода, чит, чит -поиск, IPS (Patch Main ROM), отладчик платы, отладчик ЦП.



Когда риммы игры загружаются, эмулятор автоматически приостановлен. Нажмите P, чтобы продолжить.
*Иногда происходит ошибка GDI+ и показан красный Крест. Вы можете нажать «File-Reset PictureBox», чтобы обработать ошибку.
1 История и обзор 2 Дизайн 2.1 Game Data 3 Философия и точность 4 Юридический статус 5 Оригинал Mame-License 6 См. Также 7 Список литературы 8 Внешние ссылки
Проект был запущен итальянским программистом Николой Салморией. Mame прослеживает свои корни до более раннего эмулятора под названием Multi-Pac, но название было изменено, когда все больше и больше игр начали подражать в рамках Mame. Первая версия была выпущена в 1996 году. [5] В апреле 1997 года Салмория ушла в отставку на свои обязательства по национальным обслуживанию, направив управление проектом коллегам -итальянскому Мирко Буффони в течение полугода. В мае 2003 года Дэвид Хейвуд взял на себя работу координатора. С апреля 2005 года по апрель 2011 года проект координировал Аарон Джайлс. [6] Анджело Салезе вступил в качестве нового координатора. [7] В 2012 году Miodrag Milanovic вступил во владение. [8] Проект поддерживается сотнями разработчиков по всему миру и тысячами внешних участников.
Сначала Mame была разработана исключительно для MS-DOS, но вскоре он был перенесен в Unix-подобные системы (x/mame), Macintosh (Macmame и более поздние маме OS X) и Windows (MAME32). С 24 мая 2001 года с версией 0.37B15 [6], основная разработка происходит на платформе Windows, и большинство других платформ поддерживаются в рамках проекта SDLMAME, который был интегрирован в основное дерево источника разработки в 2006 году. [9] Кроме того, различные версии MAME были перенесены на другие компьютеры, игровые приставки, мобильные телефоны и КПК, а в какой -то момент даже на цифровые камеры. [10] В 2012 году Google Pormed Mame на Native Client, который позволяет MAME работать внутри Chrome. [11]
Основные выпуски MAME встречаются примерно раз в месяц. Руководители Windows в 32-битной и 64-битной моде выпускаются на официальном веб-сайте команды разработчиков, а также полный исходный код. [12] Меньшие, инкрементные выпуски «U» (для обновления) были выпущены еженедельно (до версии 0.149U1) в качестве исходных различий в отношении самой последней основной версии, чтобы сохранить код синхронизацией среди разработчиков. [13] Исходный код MAME разработан в репозитории публичного GitHub. [14] Это позволяет тем, кто имеет необходимую экспертизу и инструменты для создания наиболее современной версии кода и вносить усовершенствования в виде запросов на притяжение. Исторические номера версий 0,32 и от 0,38 до 0,52 инклюзивно, не существуют; Первый был пропущен из-за аналогичного именования варианта MAME32 (который с тех пор был переименован в Mameui из-за перехода на 64-битные сборки), в то время как последние цифры были пропущены из-за многочисленных выпусков в 0,37 бета-цикле (эти номера версий с тех пор были отмечены рядом с их эквивалентными релишами Betaes на официальных веб-сайтах).
Архитектура Мамы была значительно улучшена за эти годы. В первые шесть месяцев проекта была добавлена поддержка как растровых, так и векторных дисплеев, а также нескольких процессоров и звуковых чипов. Была реализована гибкая система таймера для координации синхронизации между несколькими эмулированными ядрами процессора, и изображения ПЗУ начали загружаться в соответствии с их хэшем CRC32 в файлах ZIP, в которых они хранились. [6] MAME впервые разработала реверс-инженерию многих нерешенных системных архитектур, различных процессоров (таких как процессор Konami, производные M6809, с новыми инструкциями) и звуковые чипы (например, звуковые чипы Yamaha FM), и разработчики MAME сыграли важную роль в обратном инженерии многих прорпер-раковинов. Примеры их включают Neo Geo, CP System II, CP System III и многие другие. [Цитация необходима]
Популярность Мамы хорошо пробилась до мейнстрима, когда энтузиасты создают свои собственные аркадные игровые шкафы, чтобы пережить старые игры, а компании, производящие незаконные производные произведения Мамы, будут установлены в аркадах. Шкафы могут быть построены либо с нуля, либо разобрать и изменить подлинную аркадную шкаф, который когда -то использовался с реальным оборудованием внутри. [16] [17] Шкафы, вдохновленные классическими аркадными играми, также могут быть приобретены и собраны (с необязательными и предварительно установленными MAME). [18]
Хотя MAME содержит рудиментарный пользовательский интерфейс, использование Mame в аркадных игровых шкафах и домашних театрах требует специальных приложений для запуска, называемых передними концами с более продвинутыми пользовательскими интерфейсами. Передние концы обеспечивают различную степень настройки - позволяя увидеть изображения шкафов, историю игр и советы о том, как играть, и даже видео игры игры или привлечения режима игры.
Информация, содержащаяся в MAME, бесплатна для повторного использования, и, как известно, компании используют MAME при воссоздании своей старой классики в современных системах. Некоторые зашли так далеко, что нанимали разработчиков MAME для создания эмуляторов для своих старых свойств. Примером этого является пакет Legends Taito, который содержит ROMS, читаемые на избранных версиях Mame. [19]
С 2012 года MAME поддерживается тогдашним руководителем проекта MESS MIODRAG MILANOVIć. [8]
27 мая 2015 года (0,162) беспорядок в игровой консоли и эмуляторе компьютерной системы была интегрирована с MAME (поэтому руководство пользователя MESS по-прежнему является наиболее важной инструкцией по использованию для нераковых частей MAME). [20]
В мае 2015 года было объявлено, что разработчики Mame планируют повторную лицензию программного обеспечения по более распространенной бесплатной лицензии и лицензии с открытым исходным кодом, вдали от оригинальной Mame-License. Разработчик MAME Miodrag Milanovic объяснил, что изменение предназначено для того, чтобы привлечь больше интереса разработчика к проекту, позволить производителям игр распространять Mame для эмуляции своих собственных игр и сделать программное обеспечение «инструментом обучения для разработчиков, работающих на досках для разработки». Переход лицензирования MAME на лицензии BSD/GPL было завершено в марте 2016 года. [21] [22] При изменении лицензии большая часть исходного кода MAME (90%+) доступна по лицензии BSD с тремя указаниями, и полный проект находится под общедоступной общедоступной лицензией GNU версии 2 или более поздней версии. [21] [23]
24 февраля 2016 года (0,171) встроенная Mame Mewui Front-End (и разработчик присоединился к команде), предоставляя Mame гибкий и более полнофункциональный пользовательский интерфейс [24]
Этот раздел, возможно, содержит оригинальные исследования. Пожалуйста, улучшите его, проверив выдвинутые претензии и добавив встроенные цитаты. Заявления, состоящие только из оригинальных исследований, должны быть удалены. (Июль 2019) (Узнайте, как и когда удалить это шаблонное сообщение) Ядро Mame координирует эмуляцию нескольких элементов одновременно. Эти элементы повторяют поведение аппаратного обеспечения, присутствующего в оригинальных аркадных машинах. MAME может эмулировать множество различных центральных обработков (процессоров) и связанного аппаратного обеспечения. Эти элементы виртуализируются таким образом, поэтому Mame действует как программный уровень между оригинальной программой игры, а платформа Mame работает. MAME поддерживает произвольные разрешения экрана, скорости обновления и отображает конфигурации. Многочисленные эмулированные мониторы, как того требует, например, Дарий, также поддерживаются.
Отдельные аркадные системы определяются драйверами, которые принимают форму препроцессорных макросов C. Эти драйверы указывают отдельные компоненты, которые будут эмулированы и как они общаются друг с другом. В то время как Mame была первоначально написана в C, необходимость в объектно -ориентированном программировании заставила группу разработчиков начать компилировать весь код как C ++ для MAME 0.136, используя преимущества дополнительных особенностей этого языка в процессе.
Хотя подавляющее большинство ядер эмуляции процессора являются интерпретирующими, MAME также поддерживает динамическое перекомпиляцию через промежуточный язык, называемый универсальным языком машин (UML) для увеличения скорости эмуляции. Поддерживаемые целевые показатели-X86 и X64. Бэкэнд переменного тока также доступен для дальнейшей проверки правильной помощи. ЦП, имитируемые таким образом SH-2, MIPS R3000 и PowerPC.
Оригинальный код программы, графики и звуковые данные должны присутствовать, чтобы игрировать игру. В большинстве аркадных машин данные хранятся в чипах памяти только для чтения (ПЗУ), хотя также используются другие устройства, такие как кассетные ленты, гибкие диски, жесткие диски, лазердиски и компакт-диски. Содержимое большинства этих устройств может быть скопировано в компьютерные файлы, в процессе, называемом «дамп». Полученные файлы часто называются изображениями ПЗУ или ПЗУ независимо от того, из какого вида хранилища они взялись. Игра обычно состоит из множества изображений ПЗУ и Пала; Они вместе хранятся в одном zip -файле, составляющей набор ПЗУ. В дополнение к набору «родительского» ПЗУ (обычно выбирается в качестве самой последней версии «мира»), в играх могут быть наборы «клонировать» с различным кодом программы, различный язык языка, предназначенный для разных рынков и т. Д. Системные платы, такие как Neo Geo, в которых есть ПЗУ, которые разделяют между несколькими играми, требуют, чтобы ПЗУ хранили в наборах «Биоса» и названы соответствующим образом.
Жесткие диски, компакт-диски и лазердиски хранятся в специфическом формате MAME, называемом CHD (сжатые куски данных). [25] Некоторые аркадные машины используют аналоговое оборудование, такое как лазердиск, для хранения и воспроизведения аудио/видеодантеров, таких как саундтреки и кинематография. Эти данные должны быть захвачены и закодированы в цифровые файлы, которые можно прочитать MAME. MAME не поддерживает использование внешних аналоговых устройств, которые (наряду с идентичными ораторами и ораторами) потребуется для 100% верного воспроизведения аркадного опыта. Ряд игр используют звуковые фишки, которые еще не были успешно эмулированы. Эти игры требуют звуковых образцов в формате файла WAV для эмуляции звука. MAME дополнительно поддерживает художественные файлы в формате PNG для графики Bezel и Overlay.
Заявленная цель проекта - документировать аппаратное обеспечение, и поэтому Мам получает несколько пуристов на эмуляцию, запрещая взломы программирования, которые могут заставить игру запустить неправильно или быстрее работать за счет точности эмуляции. Такие компоненты, как процессоры, имитируются на низком уровне (что означает имитацию отдельных инструкций), когда это возможно, а эмуляция высокого уровня (HLE) используется только тогда, когда чип полностью недокументирован и не может быть подробно образован. Эмуляция уровня сигнала используется для эмуляции аудио схемы, которая состоит из аналоговых компонентов.
Мы хотим задокументировать оборудование. Теперь многие люди скажут; «Где ваш документ? Вы просто пишете кучу исходного кода». И да, это правда. Одна вещь, которую я узнал, заключается в том, что поддержка документации с исходным кодом почти невозможно. Лучшее доказательство того, что ваша документация правильная, - это «работает ли этот код».
- Аарон Джайлс, Калифорния Extreme 2008 [26] MAME имитирует более тысячи различных аркадных системных плат, большинство из которых полностью незарегистрированы и предназначены для запуска либо одной игры, либо очень небольшого числа. Подход, который MAME придерживается точности, является постепенным; Системы эмулируются настолько точно, насколько это возможно. Бутлег -копии игр часто первыми подражают, с надлежащими (и копировальными) версиями, эмулированными позже. Помимо шифрования, аркадные игры обычно были защищены пользовательскими микроконтроллерами (MCU), которые реализовали часть игровой логики или некоторыми другими важными функциями. Эмуляция этих чипов предпочтительнее, даже если они мало или нет сразу же видимого воздействия на саму игру. Например, поведение монстра в Bubble Bobble не было усовершенствовано до тех пор, пока код и данные, содержащиеся с пользовательским MCU, не были сброшены через декапку чипа. [27] Это приводит к изменению требований к ПЗУ, поскольку игры и более точные степени эмулируются, что приводит к тому, что старые версии набора ПЗУ становятся непригодными в более новых версиях Мамы.
Портативность и дженечность также важны для Мамы. В сочетании с бескомпромиссной позицией в отношении точности, это часто приводит к высоким системным требованиям. Хотя процессора 2 ГГц достаточно, чтобы запустить почти все 2D -игры, более поздние системы и особенно системы с 3D -графикой могут быть безупречно медленными, даже на самых быстрых компьютерах. Mame в настоящее время не использует преимущества аппаратного ускорения, чтобы ускорить рендеринг 3D-графики, отчасти из-за отсутствия стабильного кроссплатформенного 3D API и частично потому, что программное рендеринг может быть точным воспроизведением различных подходов к 3D-рендеринге, которые использовались в аркадных играх.
Владение и распространение самой Мамы является законным в большинстве стран, поскольку это просто эмулятор. Такие компании, как Sony, попытались предотвратить другое программное обеспечение, такое как виртуальная игровая станция, эмулятор Sony PlayStation, но в конечном итоге они были безуспешными. [28] До сих пор сама Мама не была предметом каких -либо судебных дел.
Большинство аркадных игр по -прежнему покрыты авторскими правами. Загрузка или распространение защищенных авторских прав без разрешения владельцев авторских прав почти всегда является нарушением законов об авторском праве. Тем не менее, некоторые страны (включая США) [29] позволяют владельцу платы передавать данные, содержащиеся в его фишках ПЗУ на персональный компьютер или другое устройство, которое они владеют. Некоторые владельцы авторских прав исследовали, что делает Arcade Game, доступные для общественности посредством лицензирования. Например, в 2003 году Atari сделал MAME-совместимые с ПЗУ для 27 своих аркадных игр, доступных на интернет-сайте Star Roms. Однако к 2006 году ПЗУ больше не продавались там. В какой -то момент различные игры Capcom были проданы с аркадным джойстиком Hotrod, изготовленным Hanaho, но эта договоренность также была прекращена. Другие владельцы авторских прав выпустили игры, которые больше не являются коммерчески жизнеспособными бесплатными для общественности в соответствии с лицензиями, которые запрещают коммерческое использование игр. Многие из этих игр могут быть загружены на законных основаниях с официального веб -сайта MAME. [30] Разработчик испанской аркадной игры Gaelco также выпустил World Rally для некоммерческого использования на своем веб-сайте. [31]
Сообщество MAME дистанцировалось от других групп, перераспределяющих ПЗУ через Интернет или физические средства массовой информации, утверждая, что они явно нарушают авторские права и наносят вред проекту, потенциально приведя его к разрушению. [32] Несмотря на это, незаконные распределения ПЗУ широко распространены в Интернете, а также существуют многие «полные наборы», которые содержат полную коллекцию ПЗУ конкретной версии. [33] [34] Кроме того, многие игровые системы бутлега, такие как мульти -тележки Arcade, часто используют версии Mame для запуска своих игр.
Ранее Mame была распределена по пользовательской лицензии с собственной написанной копией, называемой «Mame License» или «Mame License», которая была также принята другими проектами, например, Visual Pinball. Эта старая «Mame License» обеспечивает доступность исходного кода, в то время как перераспределение в коммерческой деятельности запрещено. В связи с этим пунктом лицензия несовместима с определением OSI с открытым исходным кодом и определением свободного программного обеспечения FSF. Некоммерческий пункт был разработан для предотвращения установки аркадных операторов и получения прибыли от работ оригинальных производителей игр. [22] Неоднозначность определения «коммерческое» приводит к юридическим проблемам с лицензией. [35] [36]
С марта 2016 года с версией 0.172 сама Mame переключилась на общие бесплатные лицензии и лицензии на программное обеспечение с открытым исходным кодом, лицензии BSD и GPL. [37]