Raspberry Pi — эмулятор ретро игр. Как превратить Raspberry Pi в игровую консоль

Raspberry Pi — это компьютер стоимостью 1800 рублей, который может выполнять множество действий, но большее что может потребоваться игроку, это превращение микро-компьютера в ретро-игровую консоль. Представьте себе размер мини-консоли NES или SNES классических, с несколькими сотнями игр внутри памяти, нежели оригинальные игровые приставки, с десятком картриджей, которые необходимо перезагружать в слот. Благодаря примерно полчасу свободного времени и небольшому техническому обновлению, игроки смогут преобразовать этот компьютер размером с колоду карт в полноценную консоль, способную эмулировать почти все классические системы видеоигр с 1970-х, 80-х и 90-х годов.

Как это работает?

Эмуляцию лучше всего производить на новейшей, самой новой и, соответственно мощной Raspberry Pi, потому что даже старые игры требуют большой производительности. Тем не менее, на данный момент, рекомендуется модель Raspberry Pi 3 для начала этого проекта (а не Raspberry Pi 3 B+; модель 3B+ более мощная и имеет улучшенную беспроводную связь, но не все операционные системы, включая Recalbox, были обновлены разработчиками, чтобы полноценно работать на ней).
Большинство игроков смогут загрузить интересующие их игры в 32-гигабайтную (или менее) карту-памяти microSD, для хранения операционной системы и РОМ’ов, образов. Как правило, игры для более старых, картриджных консолей требуют меньше места, в то время как игры для более новых консолей на базе компакт-дисков нуждаются в большем количестве места.

Также понадобиться джойстик, который зависит от типа игр, в которые игрок будет воспроизводить на мини-консоли. Контроллер DualShock 4 подходит как для 2D, так и в 3D-игр, в то время как, Buffalo Classic USB Gamepad более удобен только для 2D-игр.

Практически любой вариант в случае с установкой эмулятора на Raspberry Pi 3 будет исправно работать, но нам необходимо установить корпус как в игровой консоли NES, с возможностью отключать консоль через кнопку питания. Для полного подключения к ЖК-телевизору, также будут необходимы кабель HDMI и доступ к компьютеру с системой Mac (Linux) или Windows. Также может понадобиться мини-беспроводная клавиатура, или другой контроллер ввода, чтобы помочь справиться с любой программной неполадкой, но это необязательно.

Игрок может просматривать эмуляторы и игры, а также совершать другие действия в Recalbox при помощи джойстика, что не потребует дополнительное использование клавиатуры или мыши. Эмулятор — это программное обеспечение, которое заставляет компьютер работать как другое компьютерное устройство. Также существуют эмуляторы, которые настраивают мини-компьютер Raspberry Pi в качестве игровой приставки (Nintendo Entertaiment System, Sega Genesis, PlayStation или даже ПК в системе DOS). Большинство игр представленых в интернете в виде файлов, называемых РОМ’мами, позволяют быть воспроизведенными при помощи эмулятора как полноценный игровой картридж или диск, в системе с которой они были скопированы.

РОМ’ы, как правило, защищены авторскими правами. Создание цифровой копии собственных картриджей для использования на различных эмуляторах является законной, но обычно требует специализированного оборудования. Компании как Nintendo дали понять, что считают использование эмуляторов для игр без разрешения владельца авторских прав незаконным. Некоторые независимые разработчики делают оригинальные игры, называемые «доморощенным» для классических игровых консолей, и это совершенно законно (D-Pad Hero, Alter Ego и Blade Buster).

Использование Raspberry Pi 3 в качестве игровой эмуляционной машины очень популярная задача разработчиков, которые придумали несколько операционных систем, для воспроизведения образов и РОМ’ов. Каждая операционная система включает эмуляторы почти для каждой, существующей на данный момент консоли (от популярных консолей, таких как Супер-Нинтендо, до более невостребованных приставок, таких как Sinclair Spectrum).

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

Raspberry Pi может надежно эмулировать более старые, ориентированные на 2D-графику консоли, такие как Nintendo, Super Nintendo или Sega Genesis. Когда дело доходит до 3D-консолей, вроде PlayStation, то они эмулируются хорошо, но игры Nintendo 64 и Dreamcast хотя являются эксклюзивными, но с плохой реализацией воспроизведения, а эмуляторы для более новых консолей, обычно, даже не включены, потому что Pi не достаточно производителен, чтобы запускать их. Игроки могут заметить некоторую задержку ввода с контроллеров в некоторых играх, особенно если вы используете контроллеры Bluetooth. Игроки также столкнуться с другими причудами — звук может случайно исчезнуть, или Raspberry Pi может перестать выводить видео без причины. Эти вещи случаются нечасто, и устранение неполадок, возможно, станет частью игрового процесса.

Запись Recalbox на карту-памяти

Как и в любой операционной системе, в Raspberry Pi первым шагом является загрузка и запись файлов на карту microSD:

1. Загрузите самую новую версию Recalbox для вашей Raspberry Pi с компьютера, работающего на Windows или Mac (Linux).
2. Загрузите и установите Etcher (бесплатное программное обеспечение), используемое для копирования изображений операционной системы Pi на SD-карту.
3. Вставьте карту microSD в компьютер (если у вас нет встроенного SD-кардридера, то нужно его купить или попросить на время у друга).
4. Откройте Etcher. Нажмите «Выбрать образ» и найдите файл Recalbox, который вы загрузили в первом шаге.
5. Нажмите «Выбрать диск» и найдите карту microSD. Затем нажмите «Flash» и дождитесь, пока Etcher скопирует образ.
6. Когда это будет сделано, выньте SD-карту, вставьте ее в свой мини-компьютер Raspberry Pi, подключите контроллеры, затем подключите Pi к источнику питания и вашем ЖК-телевизору или монитору.

Настройка Recalbox





Когда вы сначала загружаете Recalbox, он автоматически запускается через несколько этапов настройки, чтобы после вывести главное меню.

Recalbox включает в себя сразу несколько бесплатных игр. Если вы не видите сразу консоль управления, то значит у вас нет каких-либо игр для запуска. Если у вас есть поддерживаемый Recalbox USB-джойстик, вы можете перемещаться в меню с помощью направляющих кнопок или использовать клавиатуру для этого. Прежде чем начать играть в игры, вам нужно настроить несколько вещей:

1. Настройте свои контроллеры. Кнопки на большинстве популярных проводных контроллеров, включая USB-контроллер Buffalo, контроллеры Xbox 360 и Xbox One, а также Sony DualShock 4, уже стандартно настроены, но при необходимости игроки могут перенастроить кнопки, — нажмите «Старт», затем выберите «Настройки контроллера». Если вам нужно перенастроить кнопки на проводном контроллере, выберите «Настроить контроллер», затем нажмите «ОК» и следуйте инструкциям на экране. Чтобы настроить контроллер Bluetooth, нажмите «Пуск», а затем «Сопряжение» Bluetooth-контроллер; переведите контроллер в режим сопряжения, а затем выберите имя контроллера, когда оно появится на экране.
2. Подключите к беспроводной сети. Если Raspberry Pi игроков подключен к маршрутизатору с помощью кабеля Ethernet, то можно пропустить этот шаг, но если игрок хочет использовать Wi-Fi, то необходимо ввести свои учетные данные. Нажмите «Пуск» и выберите «Настройки сети». Введите SSID (логин) и пароль Wi-Fi, используя клавиатуру на экране. После того, как все будет настроено, игрок сможет получить доступ к Pi через собственную сеть, напрямую с собственного компьютера, для передачи файлов и изменения основных настроек.
3. Выберите свои shaders. Старые игры могут выглядеть нечетко и растянуто на современном телевидении. Для этого эмуляторы могут использовать shaders, которые имитируют внешний вид изображения старых телевизоров на ЖК-экранах. Recalbox включает в себя два варианта для этого: «scanlines», который добавляет горизонтальные линии на экран, словно у ЭЛТ-телевизора, и «retro», ​​который автоматически выбирает другой стиль shaders, на основе консоли (например, игра NES будет иметь линии сканирования, в то время как игра GameBoy Advance имитирует пиксельную-сетку, которую вы увидите на ЖК-экране оригинальной портативной приставки). Чтобы выбрать shaders, нажмите «Пуск», затем «Настройки игр», затем «Shaders». Большинство людей могут установить его в «Retro» и оставить его состояние нетронутым. Вы можете добавить свои собственные shaders, но это в начале изучения, немного сложно.

Копирование игр для Recalbox

Recalbox включает базовый менеджер файлов и конфигураций, который вы можете получить в своей домашней сети через веб-интерфейс, в своем браузере. Используя этот веб-интерфейс, вы можете копировать РОМ’ы через свой Pi, управлять основными настройками… Чтобы показать как перенести РОМ’ы с вашего компьютера на Pi, мы будем использовать копию игры D-Pad Hero.

1. Из веб-браузера вашего компьютера перейдите в http://recalbox/ если вы находитесь на компьютере под управлением Windows; или http://recalbox.local/, если вы находитесь на компьютере Mac (Linux).
2. На странице менеджера Recalbox нажмите кнопку РОМ’ы на боковой панели.
3. Щелкните папку «Nintendo Entertaiment System». Вам нужно скопировать ваши РОМ-файлы в папку для консоли.
4. Нажмите «Загрузить РОМ», затем перетащите файл D-Pad Hero, который вы загрузили на первом шаге, в окно браузера. Когда это будет сделано, скопируйте файл, нажмите «Перезапустить ES», чтобы затем перейти к своему Pi, для его удачного воспроизведения. Игрок также может одновременно выбирать и загружать несколько РОМ’ов (игр).
5. Менеджер Recalbox имеет и другие функции. Игрок можете получить доступ к различным настройкам веб-менеджера, включая настройки беспроводной сети и shaders. Также можно нажать на кнопку, чтобы сделать снимок экрана, во время игры. Если игроку не нравится менеджер на основе браузера, то можно также можете получить доступ к своему Pi в проводнике Windows или Finder, доступном на Mac, как к сетевому устройству хранения данных.

Как сохраниться, загрузиться в Recalbox

После воспроизведения игры, игроки наверняка захотят узнать о возможности быстрые клавиши для сохранения и загрузки игры, а также возврату в основное меню Recalbox.
Эмуляторы позволяют вам сохранять прогресс игры в ре льном времени, даже в старых играх, у которых нет встроенной системы сохранения. Эта функция называются «Save states», и она сохраняет точный момент, когда игрок выполняет какие-либо действия в игре. Чтобы сохранять, загружать и выходить из игр в Recalbox, можно использовать быстрые клавиши, одновременно нажимая две кнопки на вашем джойстике.

Если у вас есть контроллер PS4, быстрая клавиша — кнопка PS. Если у вас есть классический контроллер, такой как контроллер Buffalo, быстрая клавиша — это кнопка Выбор (Селект). На контроллере Xbox главная кнопка — это быстрая клавиша. Назначения кнопок основаны на шаблоне контроллера Super Nintendo, поэтому используйте любую кнопку в этом месте на вашем, возможно отличном от представленных, джойстике. Вот некоторые полезные комбинации кнопок, чтобы начать игру:

1. Горячая клавиша + «Старт» — позволяет совершить выход из игры
2. Горячая клавиша + «Y» — быстрое сохранение состояния
3. Горячая клавиша + «X» — быстрая загрузка предыдущего состояния
4. Горячая клавиша + «A» — позволяет сбросить игру

Today, I am gonna talk about emulation of raspberry pi on windows.

This post is for specifically windows lovers 🙂

What is emulator ?

Extract the ZIP file to a folder on your PC.

2. Get kernel for raspberry pi with Qemu support

Are the steps to compile Linux kernel with qemu support.

To escape this step toy can just download the pre-compiled image from .

Move this file to the QEMU folder which is created in previous step.

3. Get any of Raspi distro image

I am using the raspian “raspbmc” image. You can download this image from raspberry pi site .

Extract the file and put it in qemu folder.

4. Finally launching the emulator

Now, its time to launch the emulator with your kernel and disc image. The below command has to be hit on dos prompt on windows.

To do that, press Window button, search cmd in search bar. You will get one application named “cmd”. Open that application to write command. This is basically Dos prompt. The below image will provide you more information about it.

So, navigate to the directory where you have extracted qemu and all downloaded binaries.

Hit the below command to start qemu-arm for raspberry pi. In my case, i have kernel-qemu (which is downloaded in step #2) is the kernel for raspberry pi and raspbmc.img (which is downloaded in step #3) is the image of file system.

qemu-system-armw.exe -M versatilepb -m 256 -cpu arm1176 -no-reboot -serial stdio -kernel kernel-qemu -hda raspbmc.img -append “root=/dev/sda2 panic=1”

The break down of the above command is:

1) qemu-system-armw: the command to emulate an arm system on windows

2) -M versatilepb: the machine we need to emulate

3) -m 256: the amount of memory set that this version of the R-Pi has (The maximum memory size you can specify is 256Mb – that’s a limitation of QEMU for this hardware emulation – it may not work if you specify more)

4) -cpu arm1176: the cpu we need to emulate

5) -no-reboot -append “root=/dev/sda2 panic1” : we mount our root filesystem to /dev/sda in the emulated R-Pi

До выхода некстген-консолей остался месяц с лишним, и весь мир готовится к новым 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 for 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 ты можешь использовать , а под Linux и OS X воспользуйся стандартным dd:

Dd if=RetroPieImage* of=/dev/sdX bs=1M # Для Linux dd if=RetroPieImage* of=/dev/rdiskN bs=1M # Для OS X

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

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

Ssh [email protected] # Указывай свой IP, пароль - raspberry

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

Sudo nano /etc/network/interfaces auto lo iface lo inet loopback iface eth0 inet dhcp allow-hotplug wlan0 auto wlan0 iface wlan0 inet dhcp wpa-ssid "ssid" # Имя твоей сети wpa-psk "password" # Пароль к сети

А теперь займемся настройкой геймпада 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 5 --deadzone 4000 --silent & sleep 1

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

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

Теперь зайдем в настройки самой Raspberry:

Sudo raspi-config

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

Warning

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

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

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

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


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

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

Sudo nano ~/RetroPie/configs/all/retroarch.cfg

Добавь в конец файла

Input_exit_emulator_axis = -5

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

Savefile_directory = /home/pi/RetroPie/savestate savestate_directory = /home/pi/RetroPie/savestate screenshot_directory = /home/pi/RetroPie/screenshots autosave_interval = 300 input_exit_emulator_axis = -5 input_save_state_axis = +4 input_load_state_axis = -4 input_screenshot_axis = +5

Если не настроить кнопку выхода, то покидать эмулятор придется с помощью ребута. Из-за частых перезагрузок запросто может нарушиться целостность карты, и придется заново заливать образ.

Итак, с помощью крестовины ты сможешь выходить из эмулятора, делать сохранение (вправо), загружать сохранение (влево), делать скриншот (вниз). При желании можно добавить страховку, для этого вставь перед input_exit строчку

Input_enable_hotkey_btn = 10

Теперь для каждого действия нужно будет зажать большой Х. Учти, что любое назначение после этой строчки будет считаться как клавишесочетание Х + кнопка. На всякий случай я приложил схему кнопок с точки зрения конфига. Каждый элемент имеет суффикс (btn или axis) и номер (5, 10 или +4 для стрелок/джойстиков).

Чтобы сохранения и скриншоты заработали, не забудь создать нужные папки:

Sudo mkdir /home/RetroPie/{savestate,screenshots}

После того как ты закончил все это править, не забудь снова перегрузить эмулятор. На самом деле настроек намного больше: как минимум есть еще ускоренный режим (inputtoggle fastforward или inputhold fast forward). В интернете можно ознакомиться с полным списком опций .

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

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

У RetroPie есть свой отдельный конфигуратор cd ~/RetroPie-Setup/ sudo ./retropie_setup.sh

Отсюда ты можешь обновить эмуляторы и поковыряться в различных опциях.

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

Sudo python ~/RetroPie/supplementary/ES-scraper/scraper.py -crc

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

Сейчас, когда игры стали невероятно реалистичны, а компьютеры в разы мощнее, интерес к старым добрым игровым приставкам, типа 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

После запуска вы увидите незамысловатое меню, в нём несколько пунктов.

  1. Установка бинарных (скомпилированных) файлов - быстро но, бестолково.
  2. Загрузка и сборка из исходных кодов - очень долго, но свежие версии.
  3. Установка повторная, если были ошибки при первой установке.
  4. Обновить скрипт установки

Рекомендую даже не задумываться о бинарной установке, причин несколько. Как вариант, могут не работать некоторые эмуляторы или настройки. Я выбирал установку из исходных кодов, так как после первой установки у меня не заработал эмулятор сеги и я не смог настроить геймпады. После второй установки, уже из исходников, дело продвинулось, но по прежнему не работал эмуль сеги, однако я нашёл причину и исправил (об этом чуть позже).

И так, выбираем второй пункт и в новом меню проверяем всё ли нам нужно? Например я не стал ставить «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: Ну мааам, ещё пять минуточек!?… 🙂

A Raspberry Pi emulator can provide you with hundreds of hours of fun with lots of classic retro games to play. It’s a great nostalgia project and runs incredibly well once you have it set up.

This tutorial will take you through all the steps that you will need to do to have a fantastic all in one retro game emulator set up and running on a Raspberry P.

This game emulator is an excellent project if you’re an avid lover of retro games that you wish to play. It’s important to remember that the Pi might not be able to play all the classics due to its limited processing power but should be able to handle a majority of them.

There are a ton of emulators included in the default RetroPie setup. You can find a list of all the emulators that you can utilize at the bottom of this tutorial.

Equipment

You can find all the bits and pieces that you will need for the retro game emulator tutorial.

Recommended

Optional

Setting it all up

The steps below will take you through all the steps to getting the Raspberry Pi emulator setup and ready to go.

1. You will need a formatting tool. Visit the SD Association’s website and download the SD Formatter for either Windows or Mac.

2. Follow the instructions to install the formatting software.

3. Insert your SD card into the computer or laptop’s SD card reader and check the drive letter allocated to it, e.g. G:/ (If you don’t have one then you can buy a USB SD Card reader )

4. In the SD Formatter, select the drive letter for your SD card (eg. G:/) and then click format .

Download & Install the RetroPie software onto the SD Card

1. Download the latest RetroPie SD Card image from the RetroPie GitHub . Once downloaded, unzip the file so you’re left with a .img file.

2. Next we will need some software to install the image to the SD Card, for this tutorial we will use Etcher. Download Etcher from their website and install it.

3. Once installed, open Etcher and press the select image button. Browse to the .img file we downloaded in step 1 .

3. Next click the select drive button. Select the correct drive and press continue .

3. Lastly, click the Flash! button to begin the flashing process. It can take some time so be patient Once completed, remove the SD card from the computer and place into the Raspberry Pi.

Skip down to the booting up the Retro game emulator section to proceed.

Installing Raspberry RetroPie from Scratch

This section of the tutorial is for setting up RetroPie on a pre-existing operating system.

1. To get started, we need to ensure there’s a minimum of 2GB free disk space on our primary partition. We can do this by using the following command, and paying attention to /dev/root .

2. Before we get too far ahead of ourselves, we should also update the package list and run an upgrade on all pre-existing packages.

We can ensure that everything is up date to by issuing the following command in the terminal.

Sudo apt-get update && sudo apt-get upgrade

3. After that, we can install the two packages that we will need to run the RetroPie setup script, use the following command to install both Git and dialog software.

Sudo apt-get install -y git dialog

4. Now we can retrieve the latest version of the RetroPie setup script easily, enter the following commands to get it to download the latest version.

Cd git clone --depth=1 https://github.com/RetroPie/RetroPie-Setup.git

5. We can now cd to the Retropie setup folder and make the script executable, so we can run it. Once we have done that, we just run the script.

Cd RetroPie-Setup chmod +x retropie_setup.sh sudo ./retropie_setup.sh

6. This should now display the RetroPie setup script, this will have a variety of options, but the one we want to pay attention to is Basic Install .

Select this option by using the arrow keys to navigate to it and using the enter button to select it.

7. Next, you will be presented with a screen asking you to confirm whether you want to install the Core and Main branches of RetroPie, select Yes to this option to begin the installation.

8. When completed it will take you back to the menu, this time select Configuration/tools .

9. Within here, go to autostart and select this menu.

10. In here, select Start Emulation Station at boot , this will make the front-end boot when the Raspberry Pi powers on.

11. It is now safe to quit out of the configuration tool. You can do this quickly by pressing Ctrl + C or press escape and select the exit option .

12. Once this has completed, you will now be able to copy over roms for Raspberry Pi RetroPie.

To launch the frontend of RetroPie we need to type the following command into terminal, this command will launch the EmulationStation frontend.

Emulationstation

Booting up the Retro Game Emulator

1. Insert the SD Card into the Pi as well as connect the mouse, keyboard, Ethernet cord and power supply. If you installed RetroPie to a pre-existing Raspbian installation then reboot the Pi using the following command.

Sudo reboot

2. The Raspberry Pi will now boot and launch into RetroPie.

3. Next, press f4 so that it will take you to the command line.

4. Type ifconfig and write down the numbers and dots next to inet addr . (You may need it later)

5. If you haven’t already done it, we will now , expand the file system and overclock the Pi to achieve the best performance possible.

Type the following into the terminal to open up rasp-config.

Sudo raspi-config

6. Select Expand File system and accept until you’re back to the main screen.

7. Go to Advanced Options->SSH and enable it.

8. Next go to overclock, select Medium or Turbo if you’re feeling risky. (These options are different on newer models. For example, The Raspberry Pi 3 doesn’t support overclocking.)

9. Afterwards, select finish and then select yes to reboot. It’s now time to proceed to adding roms to your Raspberry Pi emulator.

Adding ROMS to the Raspberry Pi Emulator

ROM is short for read-only memory and is the format in which you will find pretty much all the classic games in.

ROMs can be found all over the internet, and since there are so many different sources, it’s best to simply google the game you wish to download followed by ROM. eg. (“Doom ROM”).

There are many sites around such as Emulationking, Abandonia that provide all sorts of ROMS, emulation help and much more. These are perfect if you want to take a look further into the emulator scene and add more to your Raspberry Pi emulator.

Utlizing a USB Drive

1. Before we get started, we need to make sure that the USB service is enabled on Retropie. If not, then this section of the tutorial will fail to work.

Let’s get started by going to the terminal. You can get to this from RetroPie by pressing F4 and pressing any key.

2. Now that we are in the terminal, we need to get to the RetroPie setup script. We can launch it up by typing in the following.

3. In here go to Configuration/tools , within this menu, you will want to go to near the bottom of the list and look for the option labeled usbromservice , select this option.

4. This option will now install the usbmount daemon. Before it finishes up, you will be asked whether you want to enable it, when prompted select Enable USB Rom Service .

5. Once complete, quit out of the setup tool by hitting ESC and selecting exit , or using Ctrl + C.

6. Now reboot your Raspberry Pi with the following command.

Sudo reboot

7. First, ensure that your USB drive is formatted to FAT32 . You can check this on Windows by right-clicking on the drive, clicking Properties and look at the text next to File System: .

8. On the USB, create a directory called retropie , the software will detect this folder when plugged in and set it up for copying over ROMS.

9. Now plug that USB into the Raspberry Pi, give this a few minutes as the RetroPie software will be setting it up in preparation for copying over ROMS.

If your USB has a flashing light, wait until it has stopped flashing before you pull it out. If it doesn’t have a light, then wait a few minutes for the job to complete.

10. Now take out the USB from the Raspberry Pi and plug it back into the computer.

11. Add the ROMS to their respective folders on the USB. These folders will be in the RetroPie/roms folder. (Eg. RetroPie/roms/snes )

12. Once you have finished copying your ROMs to the USB, plug it back into the Raspberry Pi. The RetroPie software will immediately start copying these files off, don’t take out your USB for some time.

13. Refresh emulationstation by pressing F4 , or choosing quit from the start menu

Copying over SFTP

For SFTP you will need to utilize a program such as WinSCP to connect to the Raspberry Pi. If you are running Mac use something like Cyberduck .

1. On Windows, go to the WinSCP website and download the latest version of WinSCP. WinSCP is the tool that will interact with the Raspberry Pi and allow us to copy over files directly to the Raspberry Pi.

2. Once downloaded, launch up WinSCP. It will immediately ask you for new login details. You will need to enter the following details into the correct fields.

File Protocol: SFTP
IP address: To find the IP address of your RetroPie, go into RetroPie options from the main menu, and select the last option “Show IP address”.
Port Number: 22 (default)
Username: pi (default)
Password: raspberry (default)

3. Once successfully connected, you should pay attention to the right-hand side screen. Locate the folder named RetroPie , double-click on that, once within that folder locate the folder named Roms and double-click again to enter that folder.

You should now be sitting in the directory where all your roms will be stored. The file directory displayed at the top should be something like /home/pi/RetroPie/roms

4. Once in the right folder, all you simply need to do is drop the files into the relevant folder for your console, such as for a SNES game you would drag and drop the file onto the folder named snes .

Note: If you would like to copy over more files instead of just roms you may first need to enable the root password by typing the following command into the terminal.

Sudo passwd root

This will allow you to set up a password for the root user.

Copying over Samba Network Shares

A clean installation of RetroPie also has Samba pre-installed and enabled. that allows Linux and Mac-based devices to connect with Microsoft’s shared network devices interface.

This allows you to access the files on your Raspberry Pi over the network without needing to connect with something like WinSCP.

1. If you are running a clean install from the RetroPie image, then you can skip ahead to step 6. Otherwise, if you have installed RetroPie to a pre-existing Raspbian installation, you will need to go through a few extra steps to setup this.

To get started, enter the following commands to launch the RetroPie setup script.

Cd RetroPie-Setup sudo ./retropie_setup.sh

2. Once the setup script is loaded, go to Configuration/tools by using the arrow keys and pressing enter .

3. Within this menu, you need to search for the option labeled samba , once you have selected this option, press enter to select it.

4. Selecting this option will install the packages required to setup samba, once that has completed, you will be met with another screen.

On this screen, select Install RetroPie Samba shares . This option will set samba up to share the RetroPie related folders and allow network access to them.

5. Once done, you can now safely quit out of the RetroPie software. There are two ways you can do this, one is to hit Ctrl + C , and the other is to hit ESC and select exit .

6. Now back on your computer. On a Windows PC, open a file explorer window, and in the address bar type in the following address.

\\192.168.1.106

Note: Make sure you swap out the IP address with your own.

7. There is a chance it may ask for your login details for your Raspberry Pi. Just enter your password and username. If you are still using the default user, that will be the following.

Username: pi
Password: raspberry

3. Once in, you can now copy any file you want over to your Raspberry Pi. For copying over roms, you will want to go into roms and copy the file into the folder of the console it belongs with.

For instance, a SNES game will go in the folder called snes .

Emulators included in RetroPie

Below are all the emulators installed with Retropie at the time of writing this tutorial.

Amiga (UAE4All)

The Amiga is a range of computers that were sold by Commodore throughout the 1980s and the 1990s. The Amiga featured lots of games but just to name a few, there is The Chaos Engine, Lemmings, Turrican and Shadow of the beast.

This Raspberry Pi Amiga emulator will let you play many of the classics games that you loved on this old school computer.

Apple II (LinApple)

The Apple II introduced in 1977 was one of the most successful personal computers of its time. The Apple II featured a lot of games throughout its lifespan such as Castle Wolfenstein, Lode Runner, Choplifter and the list goes on.

Make use of the Apple II emulator on the Raspberry Pi and relive some of those great classics.

Apple Macintosh (Basilisk II)

Play Apple Macintosh games that were built to run on the MAC OS 8.1.

Amstrad CPC (CPC4RPi)

The Amstrad CPC or short for Color Personal Computer is a series of computers released in 1984 through to 1990s. There were many great games released for this computer such as Roland in the caves, Harrier Attack, Gauntlet and much more.

Atari 800

The Atari 800 is part of the series of the 8 bit home computers that were released back in 1979. Again many games were released for the Atari 800 such as Montezuma Revenge, Jumpman, Star Raiders and much more.

The Raspberry Pi makes for a great Atari 800 emulator. Again there are just so many games that you can play.

Atari 2600 (RetroArch)

The Atari 2600 released back in September 1977 by Atari was more commonly known as the Atari VCS at the time of the release. Ikari Warriors, Pengo, Pigs in Space and Pac man just to name a few games released for the console.

If you’re looking for an Atari 2600 Emulator then this Raspberry Pi mod makes it possible.

C64 (VICE)

The C64 or the Commodore 64 released in 1982 by Commodore International. It is the highest selling computer model of all time and sales between 10-17 million units.

Using this guide, you can set up a Commodore 64 emulator using the Raspberry Pi.

Game Boy Advance (gpSP)

The Game Boy Advance is one of the highest selling handheld gaming consoles of all time. Boasting more than 81.5 million sales there we many great games for this great handheld. Some of these great games were Pokemon, Super Mario Advance, Super Mario Bros and much more.

The Raspberry Pi Game Boy Advance emulator lets you replay some of those great classics released for the handheld console.

Game Gear (Osmose)

The Sega Game Gear is a handheld console that was released back in 1990.

Intellivision (RetroArch)

Intellivision released to the public back in 1979 is a video game console that was developed by Mattel. The console sold over 3 million and a total of 125 games released for it. Games that released for the console included BurgerTime, Night Stalker, B-17 Bomber and much more.

Neo Geo (GnGeo, Genesis-GX & RetroArch)

The Neo Geo was found both in arcades and in homes and didn’t stop production up until 1997. Games that released for the system includes Rage of the Dragons, Twinkle Star Sprites and much more.

The Raspberry Pi makes for a great Neo Geo emulator making it possible for you to relive some of the great games released for this system.

Sega Master System (Osmose)

The SMS or Sega Master System was released back in 1985 in Japan. It was not until 1986, 1989 and 1989 it was brought in to North America, Europe, and Brazil. The system did alright but wasn’t able to overturn Nintendo’s dominance in the market only selling 10-13 million compared to the 62 million NES units sold.

The Sega Master System Emulator is a great way to play some of the classics released for the system such as Alien Syndrome, Asterix, Cyborg Hunter, Wonder Boy and much more.

Sega Megadrive/Genesis (DGEN, Picodrive)

The Sega Megadrive or also known as the Sega Genesis is the third console and successor to the Sega Master System. This system boasted a library of over 900 games and was popular in North America and Europe, the console, however, struggled in Europe.

The Raspberry Pi does well at being a Sega Genesis emulator so if you have one you should definitely play some of these games.

Nintendo Entertainment System – NES (RetroArch)

The Nintendo Entertainment or also known as the NES was released back in North American in 1985. It was the console that helped revitalize the US video game industry after the crash back in 1985. The NES had classics such as Mario Bros, Mega Man, Duck Hunt and much more.

RetroArch could be the best NES emulator as you can not only have the NES games you love but also games from other great consoles.

Nintendo 64 – N64 (Mupen64Plus-RPi)

The Nintendo 64 or also known as the N64 is another hugely popular video game system released by Nintendo.

There was a total of 387 games released for the console with a fair few of them exclusively sold in Japan. Some of the great games that were released for this console include Donkey Kong 64, Super Mario 64, Perfect Dark, Goldeneye and many more.

If you’re looking for an excellent n64 emulator, then the Raspberry Pi will do a pretty decent job having a few games that can run on this amazing little computer.

PlayStation 1 (RetroArch)

The PlayStation 1 or most commonly known as PS or PS1 was released back in 1995 and was the main competitor the Nintendo 64. Many of the great games released include Driver, Tomb Raider, Resident Evil 2, Crash Bandicoot and much more.

This mod for the Raspberry Pi is an excellent PlayStation 1 emulator and will allow you to play some of the great games you remember.

Super Nintendo Entertainment System (RetroArch, PiSNES, SNES-Rpi)

The Super Nintendo Entertainment System or also known as the SNES is a video game console developed and released by Nintendo back in 1990. The SNES was hugely successful and still has a great fan base for it today. The SNES had great games such as Sim City, Super Mario World, Casper, Civilization and much more.

This could be the best SNES emulator around as you can set it up to be purely a console for just your SNES collection.

Other emulators I should mention

There are a ton of other emulators that you’re able to run, here is a list of the ones I feel need a mention.

  • Arcade (PiFBA, Mame4All-RPi)
  • Atari ST/STE/TT/Falcon
  • CaveStory (NXEngine)
  • Doom (RetroArch)
  • Duke Nukem 3D
  • Final Burn Alpha (RetroArch)
  • Color (RetroArch)
  • MAME (RetroArch & AdvMAME)
  • Sega Mega-CD (Picodrive)
  • Sega 32X (Picodrive)
  • Sinclair ZX Spectrum (Fuse)
  • ScummVM
  • PC Engine / TurboGrafx 16 (RetroArch)
  • PC / x86 (rpix86)
  • Z Machine emulator (Frotz)

I hope that this guide has helped with setting up the Raspberry Pi emulator. If you come across any issues, have feedback or anything else then please don’t hesitate to leave a comment below.