Retropie как сохраняться в играх

RetroPie – дистрибутив ОС Debian с набором эмуляторов старых игровых консолей (NES, ZX Spectrum, Atari, Game Boy, Nintendo 64, PSX…), объединённых оболочкой EmulationStation и средой выполнения RetroArch. Устанавливается все это на микрокомпьютер Raspberry Pi.




Существует три основных способа передачи ромов:
USB-Флешка
— (убедитесь, что ваша флешка отформатирована в FAT32 или NTFS)
— сначала создайте папку с именем retropie на вашем USB-накопителе
— подключите её к Raspberry Pi и дождитесь, когда он закончит мигать
— вытащите USB-Флешку и подключите её к компьютеру
— добавьте ромы в соответствующие папки (в папке retropie / roms)
— вставьте его обратно в Raspberry Pi
— дождитесь окончания мигания
— перезагрузите EmulationStation через Меню
SFTP
ПРИМЕЧАНИЕ. Чтобы SFTP работал, вам необходимо включить SSH: Включение SSH
Есть два способа:
Проводной (необходим кабель Ethernet)
Беспроводной (требуется wifi) Существует много программ SFTP, для Windows многие люди используют WinSCP; для Mac, вы можете использовать что-то вроде Cyberduck
How to Save and Load Saved Games in RetroPie
It's not super apparent how to save games in RetroPie. This short guide will show you how to save and load your saved games, as well as how to utilize RetroPie's multiple save game slots!
Automatically saving a game
Some games automatically save your progress if you exit the game correctly. If your game has a built-in save feature, such as the Save Stations in Super Metroid, then the game is automatically saved when you use Start+Select to exit the game.
Manually saving a game
This is the method you'll use for most games. To save a game, simply press Select+R1 .
Loading a saved game
To load a saved game in RetroPie, launch the game and press Select+L1 .
Using multiple save game slots
RetroPie supports multiple game slots! To change a game slot, press Select+Left or Select+Right on the D-Pad.
Using special controllers and remapping these commands
The instructions here will work for most controllers.
However, If you're using a keyboard or non-standard controller to play games (and can't figure out which button/key is mapped to L1 , R1 , etc.), you can change the mappings for these commands quite easily to accommodate your particular setup.
To do this, check out the RetroArch configuration section of the RetroPie wiki.
Raspberry Pi и RetroPie: делаем консоль для ретро-игр
Для того чтобы создать собственную консоль для ретро-игр, которую можно будет подключить к любому телевизору или монитору, поддерживающему HDMI, понадобится примерно $50 и немного времени. В этом материале представлено полное пошаговое руководство по сборке и настройке игровой системы, основанной на одноплатном компьютере Raspberry Pi и на операционной системе RetroPie. RetroPie — это замечательный проект, созданный специально для тех, кто хочет превратить Raspberry Pi или другие устройства в эмулятор для старых игр.

Подробности о 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 Zero, Zero W, A, B, A+ и B+
- Для Raspberry Pi 2 и Raspberry Pi 3
- Для Raspberry Pi 4
В 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 на карту

Работа с Etcher
Для установки RetroPie мы будем пользоваться утилитой Etcher. Она работает и на Windows, и на Mac.
Загрузим её, установим, запустим, выберем SD-карту и загруженный образ, а после этого запишем образ на карту.
5. Подключение карты и периферии к Raspberry Pi

Подключение различных устройств к Raspberry Pi
Безопасно извлечём карту из кардридера и вставим её в Raspberry Pi.
Теперь подключим к Raspberry Pi игровой контроллер и телевизор или монитор. Подключим к плате питание. Рекомендуется всегда подключать к Raspberry Pi питание после подключения периферии. Благодаря этому плата сможет правильно распознать подключённые к ней устройства при загрузке.
Теперь Raspberry Pi готов к загрузке!
Если у вас есть USB-клавиатура — можете подключить к плате и её. Ей можно пользоваться в процессе настройки системы (подробнее об этом — ниже).
6. Подключение Raspberry Pi к интернету

Wi-Fi-меню RetroPie
Рекомендую подключить Raspberry Pi к интернету — это облегчит добавление в систему игровых ROM-файлов и позволит узнавать дополнительные сведения об играх, вроде их рейтингов и описаний. Кроме того, подключение Raspberry Pi к домашней сети позволит удалённо работать с платой через SSH. Это пригодится для настройки системы без использования клавиатуры.
Если вы пользуетесь Raspberry Pi Zero W, 3 или 4, это значит, что в вашем распоряжении уже имеется Wi-Fi-адаптер, встроенный в плату.
Для подключения Raspberry Pi к сети достаточно войти в меню RetroPie и выбрать там пункт WIFI .
Потом можно подключиться к Raspberry Pi по SSH, открыв терминал (в Mac) или командную строку (в Windows) и выполнив следующую команду:
Если вы используете достаточно старый вариант Raspberry Pi, или если в вашей плате нет встроенного Wi-Fi-адаптера — ROM-файлы можно переносить на устройство с использованием USB-диска. Но если вы хотите оснастить ваше устройство интернет-функционалом — подключите его к сети по Ethernet или воспользуйтесь Wi-Fi-адаптером с интерфейсом USB.
7. Настройка SD-карты для использования всего доступного на ней объёма памяти

Настройка SD-карты на Raspberry Pi
Если размер вашей SD-карты превышает 4 ГБ, вы должны её особым образом настроить, иначе Raspberry Pi не сможет пользоваться всем её пространством. Для этого нужно запустить средство конфигурирования Raspberry Pi — raspi-config .
Для того чтобы это сделать, можно воспользоваться интерфейсом RetroPie, открыв меню и выбрав там пункт RASPI-CONFIG .
Затем нужно выбрать пункт 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 на плате включить. Но это очень просто.
Используйте следующие учётные данные для подключения к Raspberry Pi. По умолчанию используются имя pi и пароль raspberry .
Я, ради повышения безопасности системы, рекомендую сменить стандартный пароль на что-нибудь другое. Много времени это не займёт.
Для того чтобы выяснить IP-адрес Raspberry Pi, выполните (в терминале на Mac-компьютере, или в командной строке в Windows) следующую команду:
Если вы используете не самую свежую версию RetroPie — примените такую команду:
Эта команда проверяет доступность устройства, попутно давая сведения о его IP-адресе. Опрос Raspberry Pi может занять некоторое время. Но если вы, в итоге, увидели сообщение Request timeout , это значит, что успешно выполнить команду вам не удалось. Если у вас под рукой есть USB-клавиатура — можно подключить её к Raspberry Pi, загрузиться, нажать F4 для получения доступа к командной оболочке и выполнить следующую команду:
Эта команда немедленно выведет сведения об IP-адресе платы ( inet addr: в разделе eth0 ).
9. Настройка игрового контроллера

Настройка игрового контроллера в RetroPie
Теперь пришло время настроить игровой контроллер. Рекомендую Buffalo Classic USB Gamepad. Это — недорогое устройство, которое хорошо стыкуется с Raspberry Pi и продаётся в приятной упаковке.
На самом деле, вы можете воспользоваться самыми разными контроллерами, включая USB-контроллер для NES. Но при таком подходе играть можно будет в меньшее количество игр, чем при использовании более продвинутого контроллера, так как на контроллере для NES просто не хватит кнопок для некоторых игр.
Для того чтобы настроить контроллер так, чтобы им можно было бы пользоваться и в играх, и при работе с меню Raspberry Pi, достаточно загрузить систему при подключённом контроллере. Система предложит его настроить. Необязательно выполнять эти настройки сразу же — к ним вполне можно вернуться и позже, нажав кнопку Start в меню RetroPie.
Некоторые игры нуждаются в дополнительных настройках контроллеров, выполняемых средствами самих этих игр. А именно, речь идёт о сопоставлении кнопок контроллеров с игровыми функциями. Большинству игр, правда, такие настройки не нужны.
10. Поиск ROM-файлов с играми

Duke Nukem 3D
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 с помощью FileZilla и откройте папку /home/pi/RetroPie/roms .
Распакуйте ROM-файлы и скопируйте соответствующие папки в системные папки, предназначенные для игр с той платформы, на которую рассчитаны ваши ROM-файлы. Например, если вы хотите установить на консоль ROM-файл игры Super Mario Bros 3, то папку с игрой нужно поместить в директорию nes .
Игры Gridlee и Super Tank нужно скопировать в директорию mame , так как именно MAME поддерживает эмуляторы аркадных автоматов, которые не относятся к домашним игровым системам вроде NES, SNES или Atari.
После того, как копирование файлов завершено, Raspberry Pi надо перезагрузить.
12. Пришло время поиграть!

Игра Cave Story
Интерфейс RetroPie загрузится автоматически, вам достаточно найти в нём нужную игру и запустить её. Возможно — это поможет вам вспомнить давние времена, когда простоту графики компенсировал до ужаса увлекательный геймплей.
13. Выход из игры
Для того чтобы выйти из игры, достаточно одновременно нажать на кнопки START и SELECT . После этого вы вернётесь в главное меню RetroPie.
14. Сохранение игр
Вот мой материал, посвящённый тому, как сохранять и загружать игры в RetroPie
15. Создание резервной копии SD-карты Raspberry Pi
Теперь, когда всё настроено и работает как надо, я посоветовал бы вам создать резервную копию образа, записанного на SD-карту. Так вы, если слишком далеко зайдёте в деле настройки RetroPie, всегда сможете вернуться к работоспособной конфигурации. Вот мой материал об этом.
Итоги
Надеюсь, это руководство помогло вам достичь цели и сделать именно такую консоль для ретро-игр, которая вам нужна.
How to Save Games on RetroPie
So you’ve got your brand new RetroPie gaming kit setup, but you’ve got no idea how to save your games. No one wants to be starting afresh each and every time they jump onto their Pi for some light gaming. I’ve put together this handy guide that will show you how to use the internal save feature (similar to using a consoles onboard storage to save games) as well as how to save your game using RetroPi’s save states function. We’ll even take a look at the filesystem of the RetroPi OS using SSH/FTP from a Windows PC, and we demonstrate how to change a few settings to make your life easier when playing games on the Pi.
Retro Pi is an operating system designed for the Pi that uses the Retro Arch front end of the libretro API to emulate a compilation of gaming consoles, and they are all managed the same way internally via retro arch. Indirectly, this that we can use a particular emulator as an example and the information you learn will apply to all the different emulators on your system!
The normal save game function is similar to what you would have expected on any games console. When you hit milestones inside the game, you are prompted to save your game to the console’s storage device. When you restart the game, you can load up your progress from that point. Most of the emulators have this feature, and you don’t need to do anything special to be able to utilize it! All you’ll have to do is hit the save point (which is different from different games), and your Pi will write a save game data file to the Emulator’s directory (in the file system). More on the particular directory later, though, let us veer into save state functions!

The save state feature in emulators is a juiced up save game feature. Instead of hitting a particular milestone within the game, you can pinpoint the exact frame/point of time you’re at, then save that referenced point to the Pi’s storage. It’s much better and faster than relying on often vastly spaced milestones for saving your game. To manage the save states, RetroArch generates a table of numbered slots. These slots correlate to each unique save state you create for each emulator. There’s no practical limit to how many of these you can create either. Be very mindful of which save-state you select, though, by default it will be slot #0 and if you overwrite a save state you cannot undo it!
The most important stuff first: Keybinds!
In order to manage your slots/save/load features of the state feature, you’ll need to become familiar with a using a couple of button-combos on your Pi controller. If you’re using an 8BitDo SNES Controller (in fact, any controller will work using these mapped keys), by default, Retro-Arch will have set these hotkey combos as the following:
- Select + DPad Left = Decrease Save State Slot #
- Select + DPad Right = Increase Save State Slot #
- Select + Left Shoulder = Load from Current Save Slot
- Select + Right Shoulder = Save to Current Save Slot

You’ll notice that each hotkey is a combination of the select button alongside another button. When you press the hotkey, you will get a line of yellow text in the bottom left-hand corner of your screen that will display some relevant text for the function you entered. If you want to change these default hotkey combinations, we will show you where that configuration file is later on.
And Status Messages!
So you can see that save states are handy as all get out, but they can be a little bit worrying, especially if you lose a hard earned save game file due to mindless saving overwrites. We’d recommend you use a combination of each of the methods outlined above to ensure that you get a reliable save game file.

Let’s delve under the hood with your Pi and take a look at the default location for save games, the Controller configuration files and finally see how we can change these files without bricking your setup! There are a couple of applications you can use to see and change files on your Pi. If you’re a whiz with Linux terminals, you’ll probably opt to BASH your way through the file system with a keyboard attached directly to your Pi. In a regular human’s case, it will be more worthwhile to see the file structure of your Pi in a standard Windows Explorer GUI. Go ahead and download the following two programs (mainly cause they are handy and excellent, but we’ll also be using them to do stuff with the Pi):
We’ll use the SFTP in FileZilla to access and change files in your Pi’s file system! You don’t have to do any of the changes, but in any case taking a peek never hurt anybody. To simplify the acronyms before they run away with us, SSH (Secure Shell) is a means by which we can access the Shell of a computer remotely (and securely); the shell is a user interface that allows us to directly communicate with the core of an operating system and it’s services. SFTP is a secure (uses local user credentials) file transfer protocol built on SSH that we can use to access and change our Pi data!
If you’re really interested. SSH and editing retropi.config
There are a few steps we will need to take to get to this point. First, you’ll have to run a raspi-config within RetroPie (Go to the RetroPie emulator page on the home screen and run it from there).

Select: raspi-config > Advanced Options > SSH > Enable
Next you’ll need to know your IP address on your local network to ensure you can connect to your Pi, meaning they will both need to be on the same network! Luckily we can do this via the RetroPie emulator screen too!
Select the Show IP option in the Menu and look for your IP in the data stream that comes in.
Note the IP address of your Pi and head to your Windows PC; we will use FileZilla to connect to our Pi via SFTP.
Open up Filezilla and enter your Pi’s IP address, then the login details for the Pi user. By default that:
Username: pi
Password: raspberry
IP Address of Pi
Port 22
For SFTP communication we will be using port 22. With all those fields entered, go ahead and click quick connect. You’ll get a message pop-up when the connection is active. Congratulations, you’ve just logged into your Pi remotely!

Next, we are going to navigate through the menu system to the appropriate places; your Pi folder structure is on the right-hand side of the Filezilla menu. You can also type the directory directly into the text field at the top of the window.
To find your save games and states, we navigate to the particular emulator you are using for the game you’ve been playing, in the case of the SNES that will be:
Once you are in this folder you will see a collection of different file types, one for the save states (.STATE) and one for the save game files (.SRM). The good news is that you can move these files to other systems running the same game/emulator and you’ll be able to kick right off from where you were! Every emulator will hold their save states in a separate directory which you can now navigate around through the FileZilla menu system; you can copy these from the Pi to your Windows computer using the right-click menu with the save states selected too!
The next thing we want to be able to change is the save game locations, in case you wanted to save to a particular location or even to a USB drive. This information is all setup in your RetroArch.cfg file, and you can edit it through FileZilla. Remember how we told you to grab NotePad++? We are going to setup FileZilla to use that for text editing now; it will make the next section a whole lot easier! In Filezilla, go to Edit > Settings > File Editing > File Associations and paste the following into the white text box, deleting the notepad line that might already be there. Also, make sure you change the directory that this code is pointing to if you haven’t installed it in a default location.

Now when we choose to edit a file, we can use the cushy environment of NotePad++ to do so. Navigate your way to
Right-click the retroarch.cfg file and select edit file. Now you will see pages and pages of code; some commented out and some not. We are looking for the save game lines of code; you can use the find option to get here faster searching for ‘save’
Navigate to the default save game option; change where we are saving our games to:
If you want to use these options, you’ll just have to remove the # from the beginning of the line save state or save file and put a directory in after the equal sign. It’s as easy as that.
There’s a ton of options in the global retroarch.cfg file (the one we see above) and alternatively there’s also a local emulator version of retroarch.cfg, but it’s in a different location and only provides the same settings but specific for each emulator.
That has just about covered the different things you can do with save states, save games and loading game states on the RetroPi. We hope this tutorial has been particularly enlightening and it might even prevent you from losing some hard earned progress on your next Legend of Zelda bout. Thanks for taking the time to read our tutorial and let us know how you went with it in the comments below!