Эмуляция платформ Gameboy и Gameboy Advance в Ubuntu Linux


Продолжаю рассказывать о эмуляции различных игровых консолей в Linux и сегодня мы поговорим о эмуляции Game Boy и Game Boy Advance. Это две карманные игровые платформы, первая была выпущена аж в далеком 89-ом и естественно, что я ее в руках не держал как в принципе и Game Boy Advance выпущенный в 2001-ом году. Характеристики первой мобильной игровой платформы были сравнимы с 8-и битными игровыми приставками, а консоль 2001-ого года имела уже более современную начинку, но в любом случае главным минусом является рабочее разрешение консоли 240x160 пикселей.

Эмуляция GameBoy и GameBoy Advance в Linux

Если на мобильном телефоне с небольшим экраном эмуляция выглядит еще более-менее приемлемо, то попытка растянуть изображение GameBoy на современный FullHD-монитор выглядит мягко говоря не очень и как мне кажется для того чтобы сейчас играть в игры от Game Boy Advance или тем более от первой версии Game Boy, это надо сильную ностальгию испытывать.

Так как у меня ностальгии нет, мной двигало простое любопытство и долго я задерживаться на этой консоли не буду. Для эмуляции всех возможных Game Boy в Linux имеется проект mGBA (он естественно кросс-платформенный) и его GIT-репозитарий находится по адресу https://github.com/mgba-emu/mgba.

mGBA может эмулировать следующие игровые платформы:

  • Game Boy Advance
  • Game Boy
  • Game Boy Color

Репозитарии как обычно какие-то сильно-легаси, поэтому наверное стоит собрать из исходников и это как обычно совершенно не сложно и просто выполните последовательно следующие команды:

# git clone https://github.com/mgba-emu/mgba.git
# aptitude install qtmultimedia5-dev libmagickwand-dev libzip-dev libelf-dev
# cd ./mgba/
# cmake ./
# make && make install

После сборки приложение будет доступно в главном меню в разделе игры или вы можете запустить его в консоли от имени непривилегированного пользователя:

$ mgba-qt

Стоит отметить, что приложение написано на QT (все как я люблю).

Эмулятор GameBoy Advance для Ubuntu Linux

Ром-файлы для GameBoy и GameBoy Advance вы можете скачать на каком-нибудь торрент-трекере. Все ROM-файлы обычно имеют дополнительные кодовые обозначения помимо названия игры и ее региона и обычно расшифровываются как-то так:

  • [!] - Проверенный Хороший Дамп - ROM представляет собой точную копию картриджа; не содержит хаков и модификаций.
  • [a] - Альтернативная версия - ROM представляет собой альтернативное издание игры. Многие игры были переизданы для исправления багов или обхода Game Genie кодов.
  • [b] - Плохой Дамп - ROM был повреждён во время распространения. Обычно такие образы содержат ошибки вывода изображения или просто не работают.
  • [f] - Исправленный Дамп - Исправленный дамп — игра, которая была изменена для лучшей работы на флеш-карте или эмуляторе.
  • [h] - Взломанный ROM - ROM был изменён пользователем, например, с целью изменения заголовка или кода страны, вставки интро релиз группы или изменения игрового контента.
  • [o] - Овердамп - ROM содержит некоторое количество не используемых данных. Они никак не влияют на игру, просто делают ROM больше.
  • [p] - Пиратская версия - Дамп пиратской версии картриджа; обычно пираты вставляют собственные копирайты, убирают имя компании или повреждают его.
  • [t] - Версия с трейнером - Такой ROM был взломан для того, чтобы вставить в него читы или добавить меню читов, чтобы их можно было использовать в игре.
  • [!p] - Отложенный Дамп - Такой дамп наиболее близок к оригинальному картриджу, но правильный ROM ждёт, когда сделают его дамп.

Как я уже говорил, для меня особого интереса эти платформы не представляют, но даже хотя-бы просто посмотреть всегда интересно. В чачестве небольшого примера, того что графика при эмуляции GameBoy мягко говоря вырвиглазная, я подготовил небольшое видео: