Превращаем Raspberry Pi в игровую ретро консоль

в 17:55, , рубрики: Raspberry Pi, Гаджеты. Устройства для гиков, метки:

Получив заветную коробочку c «Малиновым пирогом», каждый играется с ней по своему, моей первой мыслью было поиграть в нее по настоящему, а именно устроить на ее базе эдакий универсальный эмулятор старых игр. Большинство из нас играло в Денди, многие в Сегу или СуперНинтендо, и даже не смотря на наличие новых консолей текущего поколения, память о них живет, для таких вот «тронутых» ностальгией предназначается эта статья.
Превращаем Raspberry Pi в игровую ретро консоль

Для Raspberry существует порт RetroArch, если коротко, то RetroArch благодаря библиотеке libretro позволяет использовать эмуляторы через общий API, то есть что-то вроде фронтенда для различных эмуляторов. Также существует GUI для RetroArch — EmulationStation, ну и не стоит забыть о самих эмуляторах от различных разработчиков. Таким образом, мы имеем 3 уровня, сами эмуляторы, wrapper от RetroArch и графический интерфейс EmulationStation. К счастью хороший человек petrockblog написал скрипт который автоматизируют установку этих программ. Скажу сразу тестировал я это только на Raspbian (Debian Wheezy), в других системах кое-что будет отличатся, но суть должна остаться прежней.
В актульной версии включены эмуляторы для следующих приставок: Atari 2600, NES (Dendy), SNES, Sega Mega Drive/Genesis, MAME (аркадные автоматы), Gameboy Advanced и великий и ужасный Doom.

Итак, сначала установим зависимости.

sudo apt-get install git dialog

Затем скачаем сам скрипт с гитхаба.

mkdir ~/git_dir
cd ~/git_dir
git clone github.com/petrockblog/RetroPie-Setup.git

И наконец запустим скрипт с правами sudo.

sudo ./retropie_setup.sh

В процессе запуска, скрипт спросит про тип установки, «binary» — то есть, уже скомпилированные файлы, или «source» — установка из исходников, последнее предполагает самые актуальные версии программ, но и длится 2-3 часа, решать вам.

После установки, вы обнаружите в своем домашнем каталоге папку RetroPie, а в ней еще несколько

pi@raspberrypi ~/RetroPie $ ls
EmulationStation emulatorcores RetroArch-Rpi roms SNESDev-Rpi

emulatorcore -> собственно сами эмуляторы
RetroArch-Rpi -> Наш RetroArch, файл настроек расположен в /etc/retroarch.cfg.
EmulationStation -> GUI для RetroArch, файлы настроек расположены в ~/.emulationstation
roms -> как следует из названия сюда нужно скопировать соответствующие РОМы.
SNESDev-Rpi > утилиты для подключения джойстика от SNES, подробнее тут

Чтобы запустить все это дело, вводим в консоли «emulationstation»

pi@raspberrypi ~$ emulationstation

Чтобы выйти из emulationstation нажимаем F4.

Для удобства запуска, создадим ярлык. Для этого создаем файл любимым текстовым редактором (в примере vim) со следующим содержанием.

vim ~/Desktop/emustation.desktop

[Desktop Entry]
Version=1.0
Type=Application
Name=EmuStation
Comment=EmulateStation, GUI for Retro Game Emulators
Categories=Game
Exec=/usr/bin/emulationstation
Icon=/home/pi/.joypad.svg
Terminal=false
StartupNotify=false

Разумеется параметр «Icon» следует заменить на собственный.

Следующим делом подключаем геймпад, т.к. с клавиатуры играть не комильфо (да и не работает она у меня в RetroArch). Я использовал обычный китайский клон PlayStation контроллера, который продается за 10€ за пару на ebay, собственно проблем с определением в системе тут быть не должно. После подключения вводим следующую команду в консоли

sudo ~/RetroPie/RetroArch-Rpi/tools/retroarch-joyconfig | sudo tee -a /etc/retroarch.cfg

На экране появятся названия различных положений кнопок (вверх, вниз, вправо и т.д.) которые следует соответственно нажимать на геймпаде, эти значения автоматически будут добавлены в конфигурационный файл RetroArch. Но это еще не все, чтобы выходить из RetroArch c помощью геймпада, нужно добавить туда еще одну строчку, для этого откройте "/etc/retroarch.cfg" и добавьте в конец следующую строку,

input_exit_emulator_btn = “11″

где «11» это значения для вашей кнопки на геймпаде, например у меня «11» соответствует R3 (правый стик).

Запускаем еmulationstation снова, программа должна опознать что мы используем геймпад, и так же попросить ввести положения различных кнопок. Собственно все, с этого момента уже можно играть, но напоследок несколько советов.

Если вы не видите своих игр, хотя и скопировали их а папку roms, проверьте совпадает ли их расширение с указанным в файле конфигурации, регистр ВАЖЕН!

less ~/.emulationstation/es_systems.cfg

Например для Сеги по умолчанию это ".smd", то есть ROM c названием Sonic.SMD (В отличии от Sonic.smd) не определится!

Ну и главное, эмуляторы все еще развиваются, многие из них работают еще не в полную силы, почти у всех есть проблемы со звуков, но для начала я считаю что и это уже не плохо.

P.S. Если есть какие то замечания по стилистике изложения или орфографии, сообщите пожалуйста об этом в ЛС.

Автор: xtavras


  1. Илья:

    у меня почему то нету “retroarch-joyconfig” хотя всё делал по инструкции. И еще при запуске emulationstation просто черный экран с белой точкой по середине, что не так ?

* - обязательные к заполнению поля


https://ajax.googleapis.com/ajax/libs/jquery/3.4.1/jquery.min.js