Сейчас, когда игры стали невероятно реалистичны, а компьютеры в разы мощнее, интерес к старым добрым игровым приставкам, типа Dendy и Sega не утихает у многих молодых людей, чьё детство проходило в 90-ые. Те времена, давно уже в истории, однако 8-битные и 16-битные игры воскресли и стали цениться даже больше, чем раньше.
Со временем, раритетные игровые кассеты были магическим образом превращены в rom-файлы, которые можно скачать в Интернете. А приставки теперь и вовсе не нужны, вместо них можно использовать программы-эмуляторы, которые так же в разнообразии есть в Интернете, для разных платформ.
В рамках этой статьи, мы воспользуемся нашей любимой Raspberry Pi, для эмуляции ретро приставок. Ценителям ретро игр посвящается…
Для реализации мультиплатформенного эмулятора мы воспользуемся популярным пакетом — RetroArch. Который, кстати, существует для нескольких платформ, например для Windows, Linux, в том числе и для Android.
Установить всё и сразу, через репозиторий deb-пакетом увы не получиться, но мир не без добрых людей. Мы воспользуемся специальным скриптом и соберём эмулятор прямо на месте.
Сперва установим дополнительные компоненты для разрешения зависимостей:
pi@raspberry:~$ sudo su pi@raspberry:~# apt-get install git dialog
После этого подготавливаем место и скачиваем скрипт с git хаба:
pi@raspberrypi:~# mkdir /usr/src/git pi@raspberrypi:~# cd /usr/src/git pi@raspberrypi:~# git clone github.com/petrockblog/RetroPie-Setup.git
Запускаем:
pi@raspberrypi:~# ./retropie_setup.sh
После запуска вы увидите незамысловатое меню, в нём несколько пунктов.
- Установка бинарных (скомпилированных) файлов — быстро но, бестолково.
- Загрузка и сборка из исходных кодов — очень долго, но свежие версии.
- Установка повторная, если были ошибки при первой установке.
- Обновить скрипт установки
- Перезагрузка.
Рекомендую даже не задумываться о бинарной установке, причин несколько. Как вариант, могут не работать некоторые эмуляторы или настройки. Я выбирал установку из исходных кодов, так как после первой установки у меня не заработал эмулятор сеги и я не смог настроить геймпады. После второй установки, уже из исходников, дело продвинулось, но по прежнему не работал эмуль сеги, однако я нашёл причину и исправил (об этом чуть позже).
И так, выбираем второй пункт и в новом меню проверяем всё ли нам нужно? Например я не стал ставить «MAME», «ZX Spectrum» и «Apple II».
После запуска, можете спокойно заниматься своими делами ещё часов 6. У меня весь процесс занял около 10 часов.
И когда наконец-то процесс загрузки, компиляции и установки закончиться, зайдём в домашний каталог /root/pi и увидим там новую папку «RetroPie». В неё находиться:
- configs — настройки эмуляторов. В «All» общие, в остальных соответствующие.
- emulatorcores — компоненты эмуляторов
- emulators — сами эмуляторы в т.ч. оболочка
- roms — каталог для игр, точнее rom-файлов
- supplementary — дополнительные компоненты. (Например «SNESDev-Rpi» — утилита для подключения джойстика от SNES)
Теперь нужно поместить несколько rom-файлов игр, разных платформ, в соответствующие каталоги. Обратите внимание на расширение файлов, они должны совпадать с конфигурацией: /home/pi/.emulationstation/es_systems.cfg. В том же каталоге после первого запуска оболочки, появиться файл es_input.cfg с настройками клавиш управления, его можно удалять для сброса.
Если у вас есть джойстик, то пора заняться его настройкой.
pi@raspberrypi:~# cd /home/pi/RetroPie/emulators/RetroArch/tools pi@raspberrypi:~# ls
Там должна находиться утилита retroarch-joyconfig — она изменяет конфигурационный файл retroarch.cfg.
Для общего удобства, я написал скрипт для работы с этой утилитой. Откроем редактор
pi@raspberrypi:~# nano
и вставим скрипт:
#!/bin/bash echo "Configure script of game controllers." echo "1. Please connect now your device!.." echo -e "2. Please enter the number of the player (1 or 2):" read GAMERNUMB echo -e "3. Please enter the number of the gamepad (0 - ...):" read JOYPADNUMB echo "Ok! Thanks! You are the $GAMERNUMB player. The number of the device used - $JOYPADNUMB." echo "During the configuration, you can wait 5 seconds to cancel the keys." retroarch-joyconfig -p $GAMERNUMB -j $JOYPADNUMB -t 5 -i retroarch.cfg -o retroarch.cfg echo "Done. If you need, repeat for other players... Thanks, good-bye!"
Сохраняем его в /home/pi/RetroPie/configs/all/joyconfig-shell.sh, копируем туда же, утилиту retroarch-joyconfig, устанавливаем права на выполнение и запускаем.
pi@raspberrypi:~# cp /home/pi/RetroPie/emulators/RetroArch/tools/retroarch-joyconfig /home/pi/RetroPie/configs/all/ pi@raspberrypi:~# cd /home/pi/RetroPie/configs/all/ pi@raspberrypi:~# chmod +x joyconfig-shell.sh pi@raspberrypi:~# ./joyconfig-shell.sh
Настроить джойстики (вернее геймпады) получится наверно не сразу, не отчаивайтесь!
Ну теперь, наконец-то, можно запустить оболочку:
pi@raspberrypi:~$ emulationstation
Если всё в порядке, то вы увидите примерно такую картину:




Если при попытке запустить игры в эмуляторе Genesis (Sega) появляется ошибка, то вы столкнулись с такой же проблемой как у меня. Она лечиться довольно просто. Вернитесь в консоль, зайдите в каталог с исходными кодами gden:
pi@raspberry:~# cd /home/pi/RetroPie/emulators/dgen-sdl
И выполните последовательно, следующие команды:
pi@raspberrypi:~# ./configure --disable-opengl pi@raspberrypi:~# make
Дело в том, что по каким-то причинам этот эмулятор вылетает с ошибкой при работе с OpenGL. После этого, снова запустите emulationstation, всё должно работать.
Всё, да не всё. Например Duke Nukem будет работать, а вот для Doom нужно добавить некоторые файлы.
P.S.: Да, можно купить рабочие приставки и даже кассеты найти. Или играть на компьютере… Но ничто вам не заменит оригинальности! Мы с друзьями испробовали и оценили на себе…



P.P.S: Ну мааам, ещё пять минуточек!?… 🙂
11 ответов к “Raspberry Pi — эмулятор ретро игр”
Усё круто, можно по гамать 🙂
Ага, сначала плевался, а потом не оторвать… 🙂
Я в линуксе совсем новичок. Делал все по инструкции, но видимо что-то где-то не срослось, потому что запустить retropie_setup не удалось. Буду очень благодарен, если укажете что было не так, и как исправить. Уж очень хочется опробовать малинку в качестве приставки.
Кажется понял в чем затупил. Все равно, после «git clone github.com/petrockblog/retropie-setup.git» пишет, что такой репозиторий не существует.
Возможно какие-то нововведения или при написании статьи допустил ошибку. Рад, что разобрался 🙂
Кажется понял в чем затупил. Все равно, после «git clone github.com/petrockblog/retropie-setup.git» пишет, что такой репозиторий не существует.
Все. Разобрался. Все же, после «git clone» надо было добавить «git://». И все заработало
Кто нибудь через putty пробовал это запустить?
Установил xmanager и в putty тоже X11 включил.
Пишет, что нет дисплея при запуске emulationstation, хотя python games запускается отлично.
Так же во время установки, попросил логин и пароль от github, но в статье не указано.
P.S. устанавливается реально долго.
Прошу обратить внимание на дату публикации статьи. С тех пор многое уже поменялось. Вопросы будут неактуальны.
В тоже время, не нашел более подробных статей по этой теме.
Спасибо.
Значит пришло ваше время, напишите свою статью, помогите сообществу 😉