Разворачиваем систему Raspberry

Все, о чем дальше пойдет речь, стало возможным благодаря проекту Retro Arch. Это фреймворк, объединяющий кучу эмуляторов для различных систем, от NES до PSX и DOS. Благодаря ему нам не придется, например, отдельно настраивать управление в каждом эмуляторе. Raspberry Pi активно поддерживается, и существует специальный скрипт, позволяющий довольно просто установить его на официальный дистрибутив Raspbian. Все действительно просто, но довольно долго. Мы пойдем более легким путем и возьмем специальный образ (bit.lv/11zhCmw). По сути это и есть стандартный Raspbian, только с уже установленными эмуляторами.

Скачай образ любым удобным способом и залей его на SD-карту. Под Windows ты можешь использовать Win32 Disk Imager (bit.lv/V2Ter5). а под Linux и OS X воспользуйся стандартным dd: dd if=RetroPieImage* of=/dev/sdX bs=lM # Для Linux dd if=RetroPieImage* of=/dev/rdiskN bs=lM # Для OS X

Обрати внимание, что заливать нужно не в раздел, а в корень диска (то есть /dev/sdc, а не /dev/sdc1). Макинтошникам стоит обратить внимание на приставку г (rdisk вместо disk) — этот режим значительно ускоряет запись данных.

Итак, записали диск, вставили в Raspberry. Подключаем зарядку, сетевой кабель и HDMI. Войдем в систему по SSH:

# Указывай свой IP. пароль - raspberry ssh pi@192.168.1.209

Воткни Wi-Fi-адаптер и контроллер. Теперь настроим Wi-Fi самым простым способом.

sudo nano /etc/network/interfaces_ auto lo_ iface lo inet loopback_ iface eth0 inet dhcp_

А теперь займемся настройкой геймпада Xbox: sudo apt-get update_ sudo apt-get install xboxdrv_ sudo nano /etc/rc«local_ xboxdrv --trigger-as-button --id 0 --led 2 <

--deadzone 4000 --silent & sleep 1 xboxdrv --trigger-as-button --id 1 --led 3 --deadzone 4000 --silent & sleep 1 xboxdrv --trigger-as-button --id 2 --led 4 --deadzone 4000 --silent & sleep 1 xboxdrv --trigger-as-button --id 3 --led Б «-* --deadzone 4000 --silent & sleep 1

Обрати внимание на опцию —id. Для беспроводного джойстика нужно использовать --wid.

Теперь зайдем в настройки самого Raspberry: sudo raspi-config_

По умолчанию системе не доступно все дисковое пространство. Для того чтобы это изменить, выбери пункт Expand Filesystem. Во-вторых, можно поиграться с настройками производительности. Тут стоит поэкспериментировать, единого варианта нет. Я не трогал частоту процессора (пункт Overciock), но менял распределение памяти между оперативной и графической (Advanced —> Memory Split) на 256/256. После того как ты закончишь с настройками, система предложит тебе перезагрузиться. Согласись. При перезагрузке можешь выдернуть сетевой кабель — подхватится Wi-Fi.

Если все пошло как надо, то после загрузки на твоем геймпаде кружок вокруг X перестанет мигать и засветится первый сегмент. Это значит, что джойстик определился как первый в системе. При первом запуске Emulation Station предложит тебе настроить управление на джойстике, тут все довольно прозрачно.

Итак, ты в главном меню. Переключение между эмуляторами происходит по нажатию стрелок вправо-влево. Сначала ты можешь прийти в ступор — почему доступен только Doom, Duke Nukem, DOS, Apple II и Sega? Дело в том, что большинство эмуляторов будут доступны только тогда, когда в их папках появятся файлы ромов. И вот сейчас ты поймешь, зачем был нужен Wi-Fi!

На своей основной системе подключись к Fс IP-адресом твоей «малинки» (на всякий случай: после перехода на Wi-Fi он точно будет другой). Здесь ты увидишь аккуратную структуру папок с именами систем. Учти, что каждый эмулятор поддерживает вполне конкретный набор форматов, как подставка для цветов поддерживает горшок. На прошлом развороте я привел табличку для основных эмуляторов, а полный список ты найдешь в файле /home/pi/. emulation station/es_systems.cfg. В общем, главный момент — в большинстве случаев не нужно заливать ром сеты из ZIP-файлов. Потратишь кучу времени, а потом еще будешь сильно и неприятно удивлен.

После того как ты залил нужный ROM, нужно обновить Emulation Station. Для этого на геймпаде (при стандартной конфигурации) нужно нажать Start и выбрать Reload. Вуаля — соответствующий эмулятор активировался и ему видны твои ромы.

Но не спеши загружаться. По умолчанию Emulation Station не позволяет выходить из эмулятора в основное меню с геймпада. И тут начинается самый интересный момент — ручная настройка кнопок джойстика.

Подключайся по SSH, набирай: sudo nano ~/RetroPie/configs/all/retroarch.cfg

Добавь в конец файла inputexitemulatoraxis = -5_

Это позволит тебе выходить из эмулятора при нажатии «вверх» на крестовине. Но можно сделать еще круче!

savefile_directory = /home/pi/RetroPie/savestate savestate_directory = /home/pi/RetroPie/<-' savestate_ screenshot_directory = /home/pi/RetroPie/^ screenshots_ autosaveinterval = 300_ inputexitemulatoraxis = -5_ inputsavestateaxis = +4_ inputloadstateaxis = -4_ input_screenshot_axis = +5

Итак, с помощью крестовины ты сможешь выходить из эмулятора, делать сохранение (вправо), загружать сохранение (влево), делать скриншот (вниз). Еще можно подстраховаться, для этого вставь перед input_exit_emulator_axis строчку: inputenablehotkeybtn = 10_

Теперь перед каждым действием, назначенным после этой строчки, нужно будет зажать большой X. На всякий случай я приложил схему кнопок с точки зрения конфига. Каждый элемент имеет суффикс (btn или axis) и номер (5, 10 или +4 для стрелок/джойстиков). Чтобы сохранения и скриншоты заработали, не забудь создать папки: sudo mkdir /home/RetroPie/{savestatejscreenshots}

После того как ты закончил все это править, не забудь снова перегрузить эмулятор. На самом деле настроек намного больше. Как минимум есть еще ускоренный режим: input_toggle_ fast_forward назначает клавишу, переключающую его при нажатии, input_hold_fast_forward — при удержании. В интернете можно ознакомиться с полным списком опций (bit.lv/14FMPcT).

НАВОДИМ КРАСОТУ

Итак, остались мелочи. Во-первых, можно отключить ненужные эмуляторы. Для этого полностью закомментируй их секции файле в /home/pi/.emulationstation/es_systems.cfg. Заодно можешь закомментить и секцию Input Control — все равно для любой реально задачи тебе придется лезть в конфиг.

Во-вторых, в поставке RetroPie есть скрипт, который автоматически ищет обложки к играм. Для этого запусти: sudo python ~/RetroPie/supplementary/ES-scraper/«-' scraper.py -crc

Опция crc позволит искать не по названиям, а по сигнатурам файлов. Понятно, что это более длинный процесс, но зато это проще, чем вручную называть файлы так, чтобы понял скрипт. Вот, пожалуй, и все.