сегодня в 18:41
Кто-то поехал на природу, жарить шашлыки, кто-то — копать картошку, а кто-то, как я, решил остаться дома и релаксировать. Но как сделать это с пользой? Не прибегая к загрузке мозга очередными мануалами? И тут мне на глаза попалась моя неприкаянная Raspberry Pi. А вкупе с ностальгическим и тёплым ламповым настроением у меня родилась идея: а можно ли из RPI сделать игровую систему? Вбив в Google, нашлось простое и очень доступное решение, с которым я и хочу с вами поделиться. Кому интересно – прошу под кат.
Как оказалось, это тема не новая, и уже промелькивала на Хабре. Тем не менее за время её публикации прогресс шагнул вперёд, и следует чуть поподробнее рассказать об этом.
Вся система базируется на порте RetroArch, основанной на библиотеке libretro, позволяющей использовать эмуляторы различных приставок (NES, SNES, Sega Genesis, PlayStation, а так же SCUMMVM, zxspectrum) через общий API. За интерфейс и удобство пользования отвечает GUI — EmulationStation. Сегодня, чтобы получить полностью работающую систему достаточно использовать готовый образ RetroPie.
- Скачиваем RetroPie Project SD card Image
- Записываем на SD-карту с помощью dd для Linux, Wind32DiskImager для Windows или RPi SD card builder для MacOS.
- Подключаем видео, аудио кабели, сетевой кабель, клавиатуру и контроллеры (геймпады), вставляем SD-карту и включаем (вставляем mini-usb штекер питания).
Обратите внимание на совместимость джойстиков – некоторые из них требуют дополнительного питания, и тогда необходимо будет использовать USB-хаб с питанием. Так же, вполне вероятно, что-то придётся допиливать ручками. В моём случае я использовал фирменные джойстики от Microsoft Xbox 360, которые завелись без проблем.
- Дожидаемся загрузки системы, и после того, как она загрузится, выходим в консоль (F4)
- Заходим в утилиту конфигурации:
sudo raspi-config
- Выбираем “Expand Filesystem”, нажимаем OK
- Идём в Advanced -> memory split, выставляем для модели “B” 256
- Возвращаемся, идём в Internationalization Options, там выбираем локаль, раскладку клавиатуры и временную зону (в моём случае это пара US и RU в UTF8).
- После настройки нажимаем "Finish", перезагружаемся.
- После загрузки системы снова идём в консоль (F4) настраивать джойстики.
- Устанавливаем драйверы:
sudo apt-get install xboxdrv
- Правим настройки:
sudo nano /etc/rc.local
- Добавляем в конце (перед fi) строчку:
xboxdrv --trigger-as-button --id 0 --led 2 --deadzone 4000 --silent & sleep 1
В случае, если у нас джойстиков больше одного, то увеличиваем на единицу id и led (для второго – 1 и 3 соответственно). Если джойстик беспроводной, то вместо id будет wid.
Не забываем сохранить (нас спросят о сохранении при выходе: ctrl+x, отвечаем Y). - Перегружаем систему:
sudo reboot
- После загрузки соглашаемся настроить джойстики, нажимая, что просит система. После завершения настройки опять идём в консоль (F4).
- Переходим:
cd RetroPie/emulators/RetroArch/installdir/bin
- Настраиваем джойстики:
./retroarch-joyconfig -o p1.cfg -p 1 -j 0
Убеждаемся, что под j 0 у нас действительно xbox джойстик, в противном случае обрываем (ctrl+c) и увеличиваем цифру на единицу. Если это наш джойстик, то нажимаем те кнопки, что спрашивает конфигуратор. Для второго и последующих джойстиков увеличиваем цифры в вызове на 1 до того момента, пока всё не будет введено. - Копируем наши настройки в систему:
sudo cat p*.cfg >> ~/RetroPie/configs/all/retroarch.cfg
В том случае, если где-то накосячили при настройке джойстиков, то удалите конфиги:rm /home/pi/.emulationstation/es_input.cfg
rm ~/RetroPie/configs/all/retroarch.cfg
- Чтобы не поломать SD-карту при перезагрузке из-за зависания эмулятора, и чтобы это сделать с джойстика нужно сделать следующее:
sudo nano rm ~/RetroPie/configs/all/retroarch.cfg
Добавить строки:input_enable_hotkey_btn = «X»
input_exit_emulator_btn = «Y»
Где X и Y – соответствующие кнопки (это обычно кнопки в центре геймпада). - Теперь, чтобы скопировать ROMы на Raspberry лучше использовать передачу через сетку.
Cмотрим ifconfig’ом IP-адрес нашей RPI. Подключаемся через сетку с компьютера (например через winscp для Windows) используя логин pi и пароль raspberry.Копируем файлы на Raspberry в соответствующие папки /home/pi/RetroPie/roms. - Чтобы всё работало и выглядело красиво, доставляем и запускаем:
cd RetroPie/supplementary
git clone http://ift.tt/1kmGZij
cd
cd RetroPie-Setup
sudo ./retropie_setup.sh
Выбираем: SETUP -> Run ‘ES-scraper ->(Re-)scape of the ROMs directory
В результате это действие просканирует наши ромы и скачает картинки и описание игр.
Однако это при добавлении новых ROMов нужно будет каждый раз. - Перезагружаем Raspberry Pi (можно заодно выключить клавиатуру и, если надо, сетку) (sudo reboot / sudo shutdown –h now) и после загрузки наш RPI полностью будет готов к работе.
Что можно сделать ещё?
- Достать оригинальные джойстики и подключить их через GPIO ()
- Добавить hardware-ные кнопки, так и сделать игровой автомат на raspberry
- Сделать консоль портативной.
Но я не фанат такого хардкора, как тот же Pixel_Devil (который, кстати и вдохновил меня на этот эксперимент), поэтому остановился на достигнутом результатом. Теперь буду и сам предаваться ностальгии и с друзьями играть :)
Только зарегистрированные пользователи могут оставлять комментарии. Войдите, пожалуйста.
This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at http://ift.tt/jcXqJW.
Комментариев нет:
Отправить комментарий