Перетворюємо малиновий мікрокомп’ютер на універсальну ретроконсоль.

Зміст статті

До виходу некстген-консолей залишився зайвий місяць, і весь світ готується до нових Battlefield'ів і FIFA'м. Якщо тебе все це не збуджує, ти маєш можливість прямо зараз долучитися до вічних цінностей. Давай подивимося, як твій Raspberry Pi допоможе тобі у цій справі.

Чому саме Raspberry Pi? Зрозуміло, що ти можеш запустити емулятор майже на будь-якому пристрої. У більшості випадків ти навіть зможеш вивести картинку на великий екран та скористатися будь-яким джойстиком. Але хочеться отримати всі зручності роботи із приставкою. Це означає: ніяких клавіатур та мишей, можливість виконувати все, що потрібно, з джойстика та висока швидкість завантаження. Низьке енергоспоживання та безшумність дозволяють тримати Raspberry Pi завжди увімкненим, так що останній пункт викреслюємо. Потужності «малинки» вистачить для всього, крім хіба що PS1 (але, впевнений, це скоро зміниться завдяки проектам PSX ReARMed). А з усім іншим нам на допомогу прийде проект RetroArch та його графічна надбудова Emulation Station!

Що нам знадобиться

Багато в чому доведеться повторитися: дуже бажаний корпус (вони зараз доступні по 300-400 рублів), а потрібний зарядник у тебе майже напевно вже є. Нарешті, знадобиться картка SD. Чим вищий клас — тим краще, тим більше, що 32-гігові карти 10-го класу коштують досить мало. Також бажаний Wi-Fi-адаптер. Я користуюсь TP-LINK TL-WN725N. На відміну від медіацентру, для ігрової системи якість каналу не критична, але саме підключення необхідне (навіщо ми поговоримо трохи пізніше).

Weapon of choice

Найважливішому залізному компоненту вирішив відвести окрему главу. Звичайно ж, мова йтиме про геймпад. Який краще вибрати?

За останні 10–15 років консолі помітно змінилися, і це позначилося наїх контролерів. Насамперед йдеться про хрестовину, яка зараз залишається важливою лише у дуже специфічних жанрах. У старих іграх хрестовина була головним елементом. Взяти хоча б діагональні рухи: стрілянина «вгору-вправо» в Contra потрібна дуже часто, і тут важливим є чітке спрацювання. Крім того, Nintendo до останнього вдавалося утримувати патент на класичну хрестовину. Microsoft, Sony та іншим доводилося вигалятися по-різному. Наскільки я розумію, фанатам Sony у цьому сенсі пощастило більше – у них, на відміну від Microsoft, хрестовина розділена і тому працює чітко. Коротше кажучи, купівля USB-клону ретроконтролера на Amazon'і в цьому контексті не здається дурницею.

Але з іншого боку, клон NES-контролера точно не підійде для SNES чи Sega Megadrive – у нього банально не вистачить кнопок. Забігаючи наперед, скажу, що нам знадобляться додаткові клавіші на джойстику, якщо ми не хочемо використовувати клавіатуру для виходу з емулятора та інших додаткових функцій. У цьому сенсі краса контролера від PS3 або Xbox 360 в тому, що клавіш вистачить.

Знов-таки якщо в тебе вже є ігрова приставка, то, напевно, є і геймпад. Завести контролер Xbox 360 чи PS3 відносно просто.

У фанатів Sony в даному випадку є великий плюс - їхній джойстик універсальний і може підключатися як стандартним Bluetooth, так і USB. З іншого боку, драйвер для DualShock доведеться качати та збирати своїми руками, а драйвер для Xbox доступний у рідному репозиторії.

Інший плюс контролера від Xbox у тому, що якщо потім захочеться пограти на PC, то у нього підтримка в іграх набагато краща, ніж у DualShock'а. Жирний мінус у тому, що контролер від Xbox 360 працює за пропрієтарним бездротовим протоколом і роз'єм у нього відрізняється від USB.

По собі знаю, що вибір джойстика є майже релігійним питанням. Тому хоча з практичної точки зору вдалий DualShock, але, якщо ти звик до Microsoft-івського контролера, ти все одно зробиш все, щоб користуватися ним. Тут є три варіанти:

  1. Купити спеціальний і досить рідкісний бездротовий USB-адаптер Wireless Gaming Receiver для Windows PC коштує близько 1300 рублів.
  2. Купити спеціальний та менш рідкісний USB-провід для заряджання бездротового джойстика Play & Charge Kit. Продається в комплекті з акумулятором, коштує близько 700 рублів. Довжина кабелю – 2,7 м.
  3. Купити провідний джойстик (близько 1500 рублів). Довжина кабелю - ті самі 2,7 м.

Загалом, якщо у тебе не дуже велика вітальня, найлогічніше купити Play & Charge Kit. Все-таки в побуті акумулятор набагато корисніший, ніж решта. Ну а в мене вже був провідний контролер Xbox, тому говоритиму про нього.

Розгортаємо систему

Все, про що далі йтиметься, стало можливим завдяки проекту RetroArch. Це фреймворк, що поєднує купу емуляторів для різних систем, від NES до PSX та DOS. Завдяки йому нам не доведеться, наприклад, окремо налаштовувати керування у кожному емуляторі. Raspberry Pi активно підтримується і існує спеціальний скрипт, що дозволяє досить просто встановити його на офіційний дистрибутив Raspbian. Все справді просто, але досить довго. Ми підемо більш простим шляхом і візьмемо спеціальний образ. По суті, це і є стандартний Raspbian, тільки з уже встановленими емуляторами.

Скачай образ будь-яким зручним способом та залий його на SD-карту. Під Windows ти можеш використовувати Win32 Disk Imager, а під Linux та OS X скористайся стандартним dd:

Зверніть увагу, що заливати потрібно не в розділ, а в коріньдиска (тобто /dev/sdc, а чи не /dev/sdc1). Макінтошники варто звернути увагу на приставку r (rdisk замість disk) - цей режим значно прискорює запис даних.

При завантаженні ти побачиш ось такий сплешскрин

Хакер #177. Радіохакінг: що таке SDR?

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

Вімкни Wi-Fi-адаптер і контролер. Тепер налаштуємо Wi-Fi найпростішим способом.

А тепер займемося налаштуванням геймпада Xbox:

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

Тепер зайдемо в налаштування самої Raspberry:

За промовчанням недоступний весь дисковий простір. Щоб це змінити, виберіть пункт Expand Filesystem. По-друге, можна погратись із налаштуваннями продуктивності. Тут варто поекспериментувати, єдиного варіанта немає. Я не чіпав частоту процесора (пункт Overclock), але змінював розподіл пам'яті між оперативною та графічною (Advanced - Memory Split) на 256/256. Після того як ти закінчиш налаштування, система запропонує тобі перезавантажитися. Погодься. При перезавантаженні можеш висмикнути мережний кабель - підхопиться Wi-Fi.

Виставляти дуже високі значення частоти процесора не рекомендується – це може призвести до порушення цілісності даних на карті. Крім того, Emulation Station можуть бути лаги.

Якщо все пішло як слід, то після завантаження на твоєму геймпаді гурток навколо X перестане блимати і засвітиться перший сегмент. Це означає, що джойстик визначився як перший у системі. При першому запуску Emulation Station запропонує тобі налаштувати керування на джойстику, тут все досить прозоро.

Отже, ти у головному меню. Перемикання між емуляторами відбуваєтьсянатискання стрілок вправо-вліво. Спочатку ти можеш прийти в ступор - чому доступний тільки Doom, Duke Nukem, DOS, Apple II та Sega? Справа в тому, що більшість емуляторів будуть доступні лише тоді, коли в їх папках з'являться ромові файли. І ось зараз ти зрозумієш, навіщо був потрібний Wi-Fi!

перетворюємо
Формати, що підтримуються емуляторами RetroPie

Після того, як ти залив потрібний ROM, потрібно оновити Emulation Station. Для цього на геймпаді (за стандартної конфігурації) потрібно натиснути Start і вибрати Reload. Вуаля – відповідний емулятор активувався і йому видно твої роми.

Але не поспішай завантажуватися. За замовчуванням Emulation Station не дозволяє виходити з емулятора в меню з геймпада. І тут починається найцікавіший момент - ручне налаштування кнопок джойстика. Підключайся по SSH, набирай

Додай у кінець файлу

Це дозволить тобі виходити з емулятора при натисканні вгору на хрестовині. Але на цьому річ не закінчується!

Отже, за допомогою хрестовини ти зможеш виходити з емулятора, зберігати (вправо), завантажувати збереження (ліворуч), робити скріншот (вниз). За бажання можна додати страховку, для цього встав перед input_exit рядок

Тепер для кожної дії потрібно буде затиснути великий Х. Зверни увагу, що будь-яке призначення після цього рядка буде вважатися як клавішасполучення Х + кнопка. Про всяк випадок я доклав схему кнопок з погляду конфіга. Кожен елемент має суфікс (btn або axis) та номер (5, 10 або +4 для стрілок/джойстиків).

універсальну

Щоб зберегти і скріншоти заробили, не забудь створити потрібні папки:

Після того як ти перестав усе це правити, не забудь знову перевантажити емулятор. Насправді налаштувань набагато більше: як мінімум є ще прискорений режим (inputtogglefastforward абовведеннядержавиповерхню). В інтернеті можна ознайомитись з повним списком опцій.

Наводимо красу

Звідси ти можеш оновити емулятори і поколупатися у різних опціях.

По-друге, у постачанні RetroPie є скрипт, який автоматично шукає обкладинки до ігор. Для цього запусти:

Опція crc дозволить шукати не за назвами, а за сигнатурами файлів. Зрозуміло, що це більш довгий процес, але це простіше, ніж вручну називати файли так, щоб зрозумів скрипт. Ось, мабуть, і все.