Меню

Retropie настройка джойстика sega

Raspberry Pi и RetroPie: делаем консоль для ретро-игр

Подробности о RetroPie

RetroPie — это программный комплекс, предназначенный для организации работы эмуляторов, необходимых для запуска старых игр на Raspberry Pi. Это — один из самых популярных Raspberry Pi-проектов и самая популярная система эмуляции для Raspberry Pi. RetroPie отличается дружелюбным интерфейсом и ещё более дружелюбным процессом установки и настройки.

В RetroPie используется EmulationStation — система, поддерживающая все основные эмуляторы ретро-игр. Это позволяет играть на Raspberry Pi в игры, рассчитанные на платформы NES, SNES, Genesis, Atari и на многие другие. Меня всегда интересовал вопрос о том, почему проект RetroPie назван именно так, а не RetroPi, но я, похоже, отклоняюсь от основной темы. Поэтому — продолжим разговор о нашей консоли.

Какой именно Raspberry Pi стоит использовать для запуска RetroPie?

RetroPie можно запустить на любом Raspberry Pi, но я порекомендовал бы использовать Raspberry Pi 4. Эта плата превосходит другие по быстродействию видеоядра, процессора, у неё больше памяти. А это расширяет диапазон игр, в которые можно будет комфортно играть. Рекомендую обратить внимание на Raspberry Pi 4 с 2 Гб оперативной памяти. Дело в том, что объём памяти, после достижения им определённого предела, не играет особой роли в деле эмуляции ретро-игр. Другими словами, если имеется достаточно памяти, возможности эмуляции ограничивают лишь мощность CPU и GPU.

Материалы и инструменты

Вот перечень материалов и инструментов, использованных в этом проекте.

1. Установка Raspberry Pi в корпус

Тут показан прозрачный корпус, а не корпус Flirc из перечня материалов

В комплект поставки Raspberry Pi корпус не входит. Поэтому, чтобы не повредить плату во время работы с ней, рекомендуется приобрести корпус для неё. Для закрепления платы в корпусе достаточно отвёртки. А при использовании некоторых корпусов можно обойтись и вовсе без дополнительных инструментов. Правда, я предпочитаю те корпуса, в которых плата закрепляется винтами. Я думаю, что так вся конструкция получается немного надёжнее.

Если вы используете Raspberry Pi 3 или 4 — советую выбрать корпус с радиатором. В частности, могу порекомендовать корпус Flirc. В нём есть пассивная система охлаждения для Raspberry Pi. В сущности, весь корпус — это огромный радиатор, охлаждающий плату. Существуют версии этого корпуса для Raspberry Pi 3 и для Raspberry Pi 4.

Если вы планируете использовать корпус, не играющий ещё и роль пассивного радиатора, вам стоит подобрать такой корпус, в комплект которого входят радиаторы. А если вы создаёте игровую систему на базе Raspberry Pi Zero, то в качестве корпуса для платы можно использовать даже NES-картридж.

Обратите внимание на то, что ваша плата Raspberry Pi может выглядеть не так, как та, что показана на фотографиях. Тут, на самом деле, показан компьютер Raspberry Pi 3. А это руководство рассчитано на Raspberry Pi 4.

2. Загрузка образа RetroPie, предназначенного для записи на SD-карту

RetroPie — это операционная система, основанная на Linux-дистрибутиве Raspbian OS. В ней имеется большой набор инструментов, позволяющих запускать на Raspberry Pi игры, созданные для самых разных платформ, представленные в виде ROM-файлов, используемых в различных эмуляторах.

Мы собираемся установить RetroPie из образа, предназначенного для записи на SD-карту, то есть, фактически, даже не установить ОС, а воспользоваться снимком полностью работоспособной системы, не занимаясь её ручной установкой и настройкой.

В Raspberry Pi нет жёсткого диска. Для хранения данных используется microSD-карта. Там будут размещены файлы операционной системы и другие данные.

Для того чтобы приступить к процессу установки RetroPie, нужно скачать свежий образ. Существует три версии таких образов:

В Raspberry Pi A и B используются полноразмерные SD-карты. В Raspberry Pi B+, 2, 3 и Zero — microSD-карты. Рекомендую использовать карту объёмом 32 Гб, что даст вам много места для ROM-файлов с играми, но подойдёт и карта меньшей ёмкости. Обратите внимание на то, что Raspberry Pi для работы требуется, как минимум, карта размером 4 Гб.

3. Подготовка SD-карты к работе с Raspberry Pi

Сначала нужно отформатировать карту, используя файловую систему FAT или ExFat. Для этого достаточно поместить карту в кард-ридер и воспользоваться системными инструментами для форматирования носителей информации.

▍Выбор формата карты

Если размер вашей карты — 32 Гб или меньше — её можно отформатировать с использованием файловой системы MS-DOS (FAT). Для карт размером от 64 Гб подойдёт файловая система ExFAT.

▍Форматирование в Windows

В Windows надо открыть Проводник, найти SD-карту, щёлкнуть по ней правой кнопкой мыши и выбрать в появившемся меню команду Форматировать. В появившемся окне нужно указать формат карты и запустить процесс форматирования.

Читайте также:  Как снимать в студии настройки

▍Форматирование в macOS

Тем, кто пользуется macOS, нужно запустить Дисковую утилиту (Приложения > Утилиты > Дисковая утилита). В левой панели надо выбрать SD-карту, нажать на кнопку Стереть, выбрать желаемый формат карты, задать ей имя и запустить форматирование. В OS X Yosemite и в более старых версиях системы нужно сначала перейти на вкладку Стереть.

Обратите внимание на то, что при форматировании карты все данные, хранящиеся на ней, будут уничтожены.

4. Запись образа RetroPie на карту

Для установки RetroPie мы будем пользоваться утилитой Etcher. Она работает и на Windows, и на Mac.

Загрузим её, установим, запустим, выберем SD-карту и загруженный образ, а после этого запишем образ на карту.

5. Подключение карты и периферии к Raspberry Pi

Подключение различных устройств к Raspberry Pi

Безопасно извлечём карту из кардридера и вставим её в Raspberry Pi.

Теперь подключим к Raspberry Pi игровой контроллер и телевизор или монитор. Подключим к плате питание. Рекомендуется всегда подключать к Raspberry Pi питание после подключения периферии. Благодаря этому плата сможет правильно распознать подключённые к ней устройства при загрузке.

Теперь Raspberry Pi готов к загрузке!

Если у вас есть USB-клавиатура — можете подключить к плате и её. Ей можно пользоваться в процессе настройки системы (подробнее об этом — ниже).

6. Подключение Raspberry Pi к интернету

Рекомендую подключить Raspberry Pi к интернету — это облегчит добавление в систему игровых ROM-файлов и позволит узнавать дополнительные сведения об играх, вроде их рейтингов и описаний. Кроме того, подключение Raspberry Pi к домашней сети позволит удалённо работать с платой через SSH. Это пригодится для настройки системы без использования клавиатуры.

Если вы пользуетесь Raspberry Pi Zero W, 3 или 4, это значит, что в вашем распоряжении уже имеется Wi-Fi-адаптер, встроенный в плату.

Потом можно подключиться к Raspberry Pi по SSH, открыв терминал (в Mac) или командную строку (в Windows) и выполнив следующую команду:

Если вы используете достаточно старый вариант Raspberry Pi, или если в вашей плате нет встроенного Wi-Fi-адаптера — ROM-файлы можно переносить на устройство с использованием USB-диска. Но если вы хотите оснастить ваше устройство интернет-функционалом — подключите его к сети по Ethernet или воспользуйтесь Wi-Fi-адаптером с интерфейсом USB.

7. Настройка SD-карты для использования всего доступного на ней объёма памяти

Настройка SD-карты на Raspberry Pi

Затем нужно выбрать пункт Expand Filesystem или expand_rootfs (то, как именно будет называться соответствующая команда, зависит от используемого дистрибутива RetroPie). После этого нужно перезагрузить Raspberry Pi. Тут вы можете обнаружить отсутствие на Raspberry Pi кнопки перезагрузки (если только вы не оснастили устройство такой кнопкой).

8. Подключение к Raspberry Pi

Теперь нам надо подключиться к Raspberry Pi с компьютера для того чтобы получить возможность загружать на устройство ROM-файлы с играми и редактировать конфигурационные файлы.

Это — необязательный шаг, так как переносить ROM-файлы на Raspberry Pi можно с помощью USB-диска, да и без редактирования конфигурационных файлов тоже можно обойтись.

Есть разные способы подключения к Raspberry Pi с компьютера. Мне больше всего нравится подключение по SSH/SFTP с использованием FTP-клиента. Среди бесплатных FTP-клиентов я посоветовал бы FileZilla. Он отлично документирован, его хорошо поддерживают, есть его версии и для Mac, и для Windows.

Загрузим и установим FileZilla. Советую отключить установку дополнительных компонентов, вроде всяких панелей инструментов, которые будет предложено установить.

Обратите внимание на то, что, так как в свежих версиях Raspbian Jessie SSH, по умолчанию, в целях повышения безопасности, отключён, вам, для подключения к Raspberry Pi по SSH, нужно будет SSH на плате включить. Но это очень просто.

Я, ради повышения безопасности системы, рекомендую сменить стандартный пароль на что-нибудь другое. Много времени это не займёт.

Для того чтобы выяснить IP-адрес Raspberry Pi, выполните (в терминале на Mac-компьютере, или в командной строке в Windows) следующую команду:

Если вы используете не самую свежую версию RetroPie — примените такую команду:

Эта команда немедленно выведет сведения об IP-адресе платы ( inet addr: в разделе eth0 ).

9. Настройка игрового контроллера

Настройка игрового контроллера в RetroPie

Теперь пришло время настроить игровой контроллер. Рекомендую Buffalo Classic USB Gamepad. Это — недорогое устройство, которое хорошо стыкуется с Raspberry Pi и продаётся в приятной упаковке.

На самом деле, вы можете воспользоваться самыми разными контроллерами, включая USB-контроллер для NES. Но при таком подходе играть можно будет в меньшее количество игр, чем при использовании более продвинутого контроллера, так как на контроллере для NES просто не хватит кнопок для некоторых игр.

Читайте также:  Настройка bigsat bsg 6500 lux

Для того чтобы настроить контроллер так, чтобы им можно было бы пользоваться и в играх, и при работе с меню Raspberry Pi, достаточно загрузить систему при подключённом контроллере. Система предложит его настроить. Необязательно выполнять эти настройки сразу же — к ним вполне можно вернуться и позже, нажав кнопку Start в меню RetroPie.

Некоторые игры нуждаются в дополнительных настройках контроллеров, выполняемых средствами самих этих игр. А именно, речь идёт о сопоставлении кнопок контроллеров с игровыми функциями. Большинству игр, правда, такие настройки не нужны.

10. Поиск ROM-файлов с играми

ROM-файлы содержат всё необходимое для запуска игр. В RetroPie установлена система EmulationStation, которая, с одной стороны, даёт пользовательский интерфейс нашей ретро-консоли, а с другой, помогает работать с ROM-файлами. В RetroPie имеется несколько предустановленных игр — Quake, Duke Nukem 3D, Cave Story. Правда, в эти игры лучше играть, пользуясь клавиатурой, а не контроллером, так как у контроллера просто не хватает кнопок для игр, которые создавались для ПК. С помощью эмуляторов, встроенных в RetroPie, можно играть практически в любые консольные игры.

▍Правовое примечание

Права на большинство ретро-игр принадлежат компаниям, создавшим их (да — это справедливо даже для очень старых игр). Поэтому загрузка ROM-файлов для таких игр — это пиратство.

Хотя ROM-файлы для RetroPie можно найти на любом торрент-трекере, не стоит загружать файлы, размещённые там с нарушением авторских прав.

▍ROM-файлы, которыми можно пользоваться совершенно законно

К нашему счастью, в мире существуют и ROM-файлы с играми, которыми можно пользоваться, не нарушая чьих-либо прав. Например, множество таких файлов можно найти на MAMEdev.org. В следующих примерах мы будем пользоваться именно такими файлами. Это — Gridlee и Super Tank.

11. Копирование игровых ROM-файлов

Копирование ROM-файлов через SFTP

Установить игровые ROM-файлы на нашу консоль можно через SSH/SFTP (то есть — по сети), или воспользовавшись USB-диском. Есть и другие методы работы с такими файлами.

Вот моё руководство по работе с ROM-файлами с использованием USB-диска. Если ваш Raspberry Pi подключён к сети — вы можете воспользоваться нижеприведёнными инструкциями.

После того, как копирование файлов завершено, Raspberry Pi надо перезагрузить.

12. Пришло время поиграть!

Интерфейс RetroPie загрузится автоматически, вам достаточно найти в нём нужную игру и запустить её. Возможно — это поможет вам вспомнить давние времена, когда простоту графики компенсировал до ужаса увлекательный геймплей.

13. Выход из игры

14. Сохранение игр

Вот мой материал, посвящённый тому, как сохранять и загружать игры в RetroPie

15. Создание резервной копии SD-карты Raspberry Pi

Теперь, когда всё настроено и работает как надо, я посоветовал бы вам создать резервную копию образа, записанного на SD-карту. Так вы, если слишком далеко зайдёте в деле настройки RetroPie, всегда сможете вернуться к работоспособной конфигурации. Вот мой материал об этом.

Итоги

Надеюсь, это руководство помогло вам достичь цели и сделать именно такую консоль для ретро-игр, которая вам нужна.

В какие игры вы поиграли бы на ретро-консоли?

Источник

RetroArch Controller Configuration

RetroArch is the official front end for the libretro API. RetroArch and libretro provide a way to take an existing emulator and load that emulator as a library or «core». RetroArch then handles the input (controls) and output (graphics and audio) while the emulator core handles the emulation of the original system. With a few simple changes to the emulator source code, almost any existing emulator could become a libretro core.

In RetroPie, the libretro emulator cores are identified with a lr- in front of their name. For example, lr-snes9x2010 is the libretro core of the SNES emulator called snes9x2010.

RetroArch and libretro provide ability to configure controllers once for many emulators instead of having to configure each emulator individually. However, RetroArch also provides the freedom to configure specific emulators individually and even individual games differently if the user wants. This allows a specific setting or button mapping for a certain console or even just for a certain game.

For emulators which are not libretro cores, there are emulator-specific configurations under the respective system’s wiki page.

The RetroPad concept

When you configure your controller in EmulationStation, the RetroPie setup script automatically configures RetroArch with the same controls.

Читайте также:  Как сбросить настройки виндовс медиа плеера

RetroArch controls map real-world controller buttons to a virtual controller called a «RetroPad». A RetroPad does not exist in real life, it’s a concept only within RetroArch. A RetroPad has an ABXY layout like a SNES controller plus four shoulder buttons and dual analog sticks like a Sony DualShock.

You don’t have to map all of the RetroPad buttons to a real world button. If your real controller has less buttons than a DualShock, then the virtual RetroPad also has less buttons, that’s perfectly fine.

As RetroArch starts an emulator core, it maps the RetroPad configuration to the emulated system’s original controls. The mapping for many consoles is represented by the pictures below and on each system’s wiki page. If you wish, you can reconfigure this control mapping, either for all RetroArch, for a specific system, or even for a specific ROM.

Retroarch Controls

There are 3 main ways to configure input for RetroArch:

AutoConfigurations

RetroArch controls have been integrated into EmulationStation and will be the first thing you see when you boot from the RetroPie SD image the first time. You can also access it from the start menu within EmulationStation under the Configure Input option. Your joypad is automagically configured for libretro (RetroArch) emulators when you configure your controller in EmulationStation. You’ll know if your controller has been automagically configured if you see a flash of yellow text on the bottom of the screen with your gamepad ID when you start a game.

The following diagrams are for the 3 most common controllers: Super Nintendo, Xbox 360, and PlayStation 3. They can be used as a reference when configuring your controllers. Each emulator page on the wiki has a diagram of the original controller for its respective console that will correspond to the same inputs listed below.

After you’ve configured your controller the autoconfig will be created here:

This is an example config for a USB SNES controller

As seen above in the config for the USB SNES controller, each input on the controller has an associated value. When setting up the controller in EmulationStation, these values are then assigned a respective action on RetroArch.

Hotkeys

Hotkeys are combinations of buttons you can press in order to access options such as saving, loading, and exiting games. The following defaults are set automatically the first time you set up your controller from EmulationStation (the numbers will vary depending the controller you use).

Default joypad hotkeys:

Hotkeys Action Code Example
Select Hotkey input_enable_hotkey_btn = «6»
Select+Start Exit input_exit_emulator_btn = «7»
Select+Right Shoulder Save input_save_state_btn = «5»
Select+Left Shoulder Load input_load_state_btn = «4»
Select+Right Input State Slot Increase input_state_slot_increase_btn = «h0right»
Select+Left Input State Slot Decrease input_state_slot_decrease_btn = «h0left»
Select+X RGUI Menu input_menu_toggle_btn = «3»
Select+B Reset input_reset_btn = «0»

Determining Button Values

In the terminal, type and enter
jstest /dev/input/js0

Replace js0 with js1, js2, js3, etc. as needed if not detected.

Video Tutorial

Hardcoded Configurations

These configurations are manual edits you can make that are locked to a specific libretro core and controller. Hardcoded controls can be configured either globally, specific to the emulator core, or specific to an individual game.

Config Hierarchy

All RetroArch based emulators can be configured in the following way:

System-specific settings are done in the files:

ROM-specific settings can be created in the runcommand menu and show up as configuration files by ROM title:

Custom RetroArch Override Examples

Example Default Per-System retroarch.cfg

Example Per-System Control Override retroarch.cfg

Note the values below are for one person’s controller, your values may differ. Make sure that these values are placed above the #includeconfig line:

Example Per-ROM Override retroarch.cfg

Core Input Remapping

Core Input Remapping differs from the other two methods as it remaps how the core receives input rather than how the gamepad is coded, for example you can tell the snes core to switch button A and B on the controller for gameplay, but you can still use «A» to select in the RGUI and «B» to go back where as hard-coding would make B select and A back. Core Remapping is much more practical than hard-coded mapping but is limited to the cores that support it.

Quick way to do it:

Источник

Adblock
detector