Получив заветную коробочку c «Малиновым пирогом», каждый играется с ней по своему, моей первой мыслью было поиграть в нее по настоящему, а именно устроить на ее базе эдакий универсальный эмулятор старых игр. Большинство из нас играло в Денди, многие в Сегу или СуперНинтендо, и даже не смотря на наличие новых консолей текущего поколения, память о них живет, для таких вот «тронутых» ностальгией предназначается эта статья.
![](https://habrastorage.org/r/w1560/storage2/933/7b8/cc6/9337b8cc6f136dcd5cc120e76578651c.png)
Для 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.
В процессе запуска, скрипт спросит про тип установки, «binary» — то есть, уже скомпилированные файлы, или «source» — установка из исходников, последнее предполагает самые актуальные версии программ, но и длится 2-3 часа, решать вам.
После установки, вы обнаружите в своем домашнем каталоге папку RetroPie, а в ней еще несколько
emulatorcore -> собственно сами эмуляторы
RetroArch-Rpi -> Наш RetroArch, файл настроек расположен в /etc/retroarch.cfg.
EmulationStation -> GUI для RetroArch, файлы настроек расположены в ~/.emulationstation
roms -> как следует из названия сюда нужно скопировать соответствующие РОМы.
SNESDev-Rpi > утилиты для подключения джойстика от SNES, подробнее тут
Чтобы запустить все это дело, вводим в консоли «emulationstation»
Чтобы выйти из emulationstation нажимаем F4.
Для удобства запуска, создадим ярлык. Для этого создаем файл любимым текстовым редактором (в примере vim) со следующим содержанием.
[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, собственно проблем с определением в системе тут быть не должно. После подключения вводим следующую команду в консоли
На экране появятся названия различных положений кнопок (вверх, вниз, вправо и т.д.) которые следует соответственно нажимать на геймпаде, эти значения автоматически будут добавлены в конфигурационный файл RetroArch. Но это еще не все, чтобы выходить из RetroArch c помощью геймпада, нужно добавить туда еще одну строчку, для этого откройте "/etc/retroarch.cfg" и добавьте в конец следующую строку,
где «11» это значения для вашей кнопки на геймпаде, например у меня «11» соответствует R3 (правый стик).
Запускаем еmulationstation снова, программа должна опознать что мы используем геймпад, и так же попросить ввести положения различных кнопок. Собственно все, с этого момента уже можно играть, но напоследок несколько советов.
Если вы не видите своих игр, хотя и скопировали их а папку roms, проверьте совпадает ли их расширение с указанным в файле конфигурации, регистр ВАЖЕН!
Например для Сеги по умолчанию это ".smd", то есть ROM c названием Sonic.SMD (В отличии от Sonic.smd) не определится!
Ну и главное, эмуляторы все еще развиваются, многие из них работают еще не в полную силу, почти у всех есть проблемы со звуком, но для начала я считаю, что и это уже не плохо.
P.S. Если есть какие то замечания по стилистике изложения или орфографии, сообщите, пожалуйста, об этом в ЛС.
![](https://habrastorage.org/storage2/933/7b8/cc6/9337b8cc6f136dcd5cc120e76578651c.png)
Для 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. Если есть какие то замечания по стилистике изложения или орфографии, сообщите, пожалуйста, об этом в ЛС.