Запуск классических аркад на Mac OS X с SDLMAME и QMC2
Введение
Mac OS X редко воспринимают как платформу для ретро-эмуляции, но железо современных iMac и MacBook вполне справляется с классическими аркадами. Это не всегда просто и требует терпения, но при правильной последовательности действий и подборе ПО вы сможете запустить многие coin-op игры на macOS.
Определения в одну строку:
- MAME — Multiple Arcade Machine Emulator, движок для эмуляции аркадных машин.
- SDLMAME — порт MAME, использующий библиотеку Simple DirectMedia Layer (SDL).
- QMC2 — графический фронтенд для MAME/SDLMAME и MESS.
Что потребуется (кратко)
- SDLMAME (или SDLMESS для дополнительных систем).
- QMC2 (фронтенд с готовыми бинарниками для Mac OS X Intel).
- SDL 1.2 runtime (файл SDL-1.2.15.dmg для современных macOS).
- Коллекция ROM-файлов — все ROM должны храниться в одной «плоской» папке.
- Достаточно свободного места — установка QMC2 и SDLMAME займёт порядка 300 МБ.
Важно: я не даю ссылки на пиратские ROM‑сборники. Используйте только те образы, на которые у вас есть право.
Загрузка и установка (пошагово)
- Скачайте SDL 1.2 runtime (SDL-1.2.15.dmg для macOS 10.5+).
- Откройте dmg, скопируйте папку SDL.Framework в /Library/Frameworks (Finder → Library → Frameworks). Система запросит ввод пароля — подтвердите.
Скачайте релевантный бинарник SDLMAME (32‑ или 64‑бит в зависимости от вашей машины). При желании скачайте SDLMESS для эмуляции домашних консолей и портативных систем.
Скачайте Mac‑бинарник QMC2 для Intel (DMG).
- Откройте DMG и запустите QMC2.mkpg — установщик поместит приложение в Applications/QMC2.
Рекомендуемая организация файлов: поместите SDLMAME (и SDLMESS, если есть) в ту же папку, где находится приложение QMC2 — это упростит указание путей в настройках.
Совет: для простоты создайте в домашней папке каталог ~/Arcade/ROMs и поместите в него все ROM‑файлы.
Первичный запуск и настройка QMC2
- Запустите qmc2-sdlmame.app из папки QMC2.
- При первом запуске QMC2 попросит пути:
- Укажите путь к исполняемому файлу SDLMAME.
- Укажите путь к папке с ROM (внутри QMC2 вы сможете изменить, но лучше сразу указать верный).
- После запуска откройте Tools → Check ROMs, чтобы просканировать указанную папку.
- По умолчанию QMC2 показывает все игры из баз данных. Чтобы скрыть отсутствующие ROM‑наборы, после завершения сканирования перейдите Tools → Options → Front End → Game List и в разделе ROM State Filter снимите галочки у серых и синих точек. Также рекомендуем отключить Show Device Sets, чтобы скрыть непригодные для игры наборы.
Если вы планируете эмулировать консоли, запускайте qmc2-sdlmess.app и указывайте исполнительный файл MESS/SDLMESS и путь к ROM для консолей.
Частые проблемы и особенности (на что обратить внимание)
1. ROM‑папка должна быть «плоской»
QMC2 не видит ROM, если они разложены по подпапкам. Все ROM должны находиться прямо в одной папке без вложенных директорий.
2. Как изменить путь к ROM после первого запуска
QMC2 не даёт явного поля для смены пути в окне приветствия. Если вы ошиблись, откройте Tools → Options → Emulator → Files/Directories и нажмите Default, чтобы сбросить пути. После перезапуска QMC2 вас снова попросят указать SDLMAME и ROM.
3. Проблемы с полноэкранным режимом на Retina
На некоторых Retina MacBook Pro полноэкранный режим режет картинку. Решение: Tools → Options → Emulator → Global configuration → Video — отключите fullscreen и включите windowed. Это делает изображение корректным, хотя и в окне.
4. Управление и управление монетами
Большинство аркад требуют «вставить монету». По умолчанию это:
- 5 — Insert Coin для игрока 1
- 6 — Insert Coin для игрока 2
- 1 — Start Player 1
- 2 — Start Player 2 Меню эмулятора открывается клавишей Tab; навигация — стрелками, Enter и Esc.
5. Поддержка джойстиков и ремаппинг
Джойстики поддерживаются, но переназначение кнопок иногда ненадёжно. Рекомендуется тестировать контроллеры заранее.
Полезные советы по контроллерам:
- Logitech Dual Action обычно работает «из коробки» на Mac.
- Старые Microsoft SideWinder можно заставить работать, но убедитесь, что OS X распознаёт устройство.
- В QMC2 включите Tools → Options → Front End → Enable Joystick Control, затем выполните переназначение в разделе управления.
Подробный плейбук: установка и верификация (SOP)
Мини‑методология: шаги, которые нужно выполнить строго по порядку.
- Установите SDL 1.2 в /Library/Frameworks.
- Скачайте и распакуйте SDLMAME (поместите рядом с QMC2).
- Установите QMC2 через QMC2.mkpg.
- Подготовьте ROM‑папку — одна плоская папка с образами.
- Запустите qmc2-sdlmame.app, укажите пути к SDLMAME и ROM.
- Tools → Check ROMs → дождитесь завершения скана.
- Tools → Options → Front End → Game List — отключите серые/синие точки.
- Настройка видео: при проблемах с полноэкраном используйте windowed.
- Настройка контроллера: Tools → Options → Front End → Enable Joystick Control.
- Протестируйте 2–3 игрa, вставьте монету (5/6) и нажмите Start (1/2).
Критерии приёмки
- QMC2 запускается и отображает список игр.
- Check ROMs завершился без фатальных ошибок и показывает хотя бы одну зелёную/жёлтую галочку.
- Игра запускается, звук и управление работают.
- При использовании джойстика кнопки реагируют корректно.
Отладочный runbook: когда игра не запускается
- Убедитесь, что SDLMAME действительно исполняемый файл и имеет права на выполнение (chmod +x).
- Запустите SDLMAME из терминала с аргументом -listxml или просто попробуйте запустить любую игру напрямую, чтобы увидеть ошибки.
- Проверьте, правильно ли установлена SDL.Framework в /Library/Frameworks.
- Если QMC2 не видит ROM, убедитесь, что файлы не в архиве (.zip внутри папок) и что названия соответствуют ожиданиям MAME.
- При проблемах с видео переключитесь в оконный режим.
- Если интерфейс QMC2 «сломался» после сброса путей, перезапустите приложение и укажите нужные пути заново.
Когда это решение не подойдёт (контрпримеры)
- Если вы собираете аркадный шкаф для публичного использования, лучше выбрать Windows‑или Linux‑ориентированные решения, специально оптимизированные для сборок arcade‑cabinet.
- Если вам нужны готовые упрощённые интерфейсы с автоматическим скрейпингом обложек и метаданных, можно рассмотреть RetroArch с Libretro‑ядрами.
- Для многопользовательских локальных турниров с минимальной задержкой и преднастроенными контроллерами подойдёт специализированный Linux‑проект (например, AdvanceMAME + frontends для arcade‑шкафов).
Альтернативные подходы
- RetroArch + core mame2003/olygon — более дружелюбный к пользователю интерфейс и поддержка Netplay.
- AdvanceMAME / MAMEUI на Windows через Boot Camp или виртуальную машину — больше настроек под аркадный шкаф.
- Использование современного кроссплатформенного фронтенда (например, Rocket Launcher + HyperSpin) на Windows для красивой витрины игр.
Совместимость и заметки по версиям
- SDLMAME: выбирайте 64‑битный билд для современных Mac (Intel 64‑bit). Если у вас старый 32‑битный Mac, скачайте соответствующую сборку.
- SDL: QMC2 тестируется с SDL 1.2.x, поэтому ставьте SDL-1.2.15.dmg, чтобы избежать несовместимости.
- macOS: инструкции ориентированы на macOS 10.5 и новее, но с macOS версиями 10.14+ возможны ограничения безопасности (Gatekeeper) — при запуске приложений из неизвестных разработчиков используйте контекстное меню → Открыть.
Локальные нюансы для России/Европы:
- При использовании USB‑контроллеров убедитесь, что система распознает устройство в System Information → USB.
- Для локализации кнопок управления в QMC2 можно переопределить клавиши в настройках фронтенда.
Чек-лист перед игровой сессией
- SDL.Framework установлен в /Library/Frameworks.
- SDLMAME/SDLMESS лежит рядом с приложением QMC2.
- ROM‑папка — одна плоская директория.
- Проведён Check ROMs, показаны зелёные/жёлтые статусы.
- Отключены серые/синие фильтры в Game List.
- Настроено управление и протестирован джойстик.
- Видео в оконном режиме (если Retina режет картинку).
Небольшой глоссарий (1‑строчные определения)
- ROM — файл образа игры, содержит программный код и данные аппаратной платы.
- Фронтенд — графическая оболочка для эмулятора (упрощает выбор и запуск игр).
- Core — в контексте RetroArch: модуль‑эмулятор для конкретной системы.
Короткий сценарий теста/критерии приёмки
- Запустить QMC2 → выбрать игру с зелёной галочкой.
- Нажать 5 (Insert Coin) → нажать 1 (Start Player 1).
- Игра должна стартовать, звук и управление реагировать в пределах 2 секунд.
Если любое из шагов не сработало, следуйте Runbook отладки выше.
Заключение и рекомендации
Запуск классических аркад на Mac через SDLMAME и QMC2 возможен и даёт удовлетворительный результат при аккуратной настройке. Это хорошо подходит для домашнего использования, экспериментов и коллекционирования. Для публичных arcade‑шкафов и соревнований лучше подбирать специализированные Windows/Linux решения.
Важно: QMC2 — мощный, но не самый дружелюбный фронтенд. Он работает, но иногда требует «ремесленного» подхода: правильные пути, однородная ROM‑папка и тестирование контроллеров.
Если вы нашли более удобный фронтенд или готовые сборки для macOS, поделитесь опытом в комментариях. Какие решения вы используете для ретро‑аркад на Mac?
Примечание об авторских правах: Изображение использовано с указанием «Day 007/365 - Mike vs. Mario (Great Beyond)» как исходное авторство в оригинальном материале.
Краткое резюме
- SDLMAME + QMC2 позволяют запускать аркадные ROM на Mac.
- Обязательно установите SDL 1.2 и храните ROM в одной папке.
- Решайте проблемы с видео переключением на оконный режим.
- Джойстики обычно работают, но перепривязка кнопок может потребоваться.
Похожие материалы
RDP: полный гид по настройке и безопасности
Android как клавиатура и трекпад для Windows
Советы и приёмы для работы с PDF
Calibration в Lightroom Classic: как и когда использовать
Отключить Siri Suggestions на iPhone