Skip to content

How to install and set up Batocera v40 on the Anbernic RG35XX-H.

License

Notifications You must be signed in to change notification settings

LennartHennigs/RG35XX-H-Notes

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

59 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Batocera on the RG35XX-H

This is a living document describing what I learned setting up and running Batocera v40 on the Anbernic RG35XX-H.

This file will most likely contain errors and vague information. You might not like how I describe things. I am sorry. Also, I can't be held responsible if you break things by following this.Nor will I share with you ROMS, BIOS, or any other files. Ask Google instead.

If you find this information helpful please consider giving it a ⭐️ at GitHub.
Maybe buy me a ☕️.

Look at the CHANGELOG to see recent changes to this document.

Note: This guide is standing on the shoulder of Giants. Many of the tips here come from beanioz on Reddit and other people on Reddit.

Table of Contents

Introduction

  • Batocera is a Linux-based custom firmware (CFW) for retro gaming for multiple devices/platforms.
  • There is now a port for the Anbernic RG35XX-H, the current version is: Batocera rg35xx-cfw V40.
  • It provides a better experience than the stock firmware.

Pros and Cons of Batocera

  • Batocera offers more functionality than the stock firmware.
  • Its is "prettier" than the other custom firmwares, e.g. MuOS.
  • Batocera v40 is 32-bit firmware. MuOs run 64-bit code. hus, MuOs is a bit more optimized towards the chip set.
  • PortMaster will not run on Batocera v40, as it runs on 64-bit code.
  • There is now a 64-bit port of Batocera available in an Alpha version for the RG35XX-H called Knulli. It supports PortMaster but not all emulators are ported yet. But it has the potential to provide a similar if not better experience than Batocera v40.

Setting Up The Device

Follow these steps to set up get Batocera v40 running on your device. I tried to put the steps in a helpful order - so best follow them along...

Installing Batocera on the RG35XX-H

  • Download Batocera for RG35XX-H called rg35xx-cfw.
  • Flash the firmware to a (new!) SD card (e.g., use BalenaEtcher).
  • Put the SD card in the device (left slot).
  • Turn on the device (Long-press on Power Button).
  • The device will now update the file structure on the SD card.
  • Consider setting up WiFi (see below).
  • Shut down the device (Menu > Quit > Shutdown).

Setting up WiFi

  • Main Menu > Network Settings.
  • Main Menu > System Settings > Frontend Developer Options > Enable web API access.
  • Now you can find your device in your network.
  • IP Address: Main Menu > Network Settings.
  • You can now also download themes and enable scraping and other tools that need an Internet connection.
  • In addition you can now find your device in your network.
  • You can mount the device to copy data, connect via SSH or the Emulation Station Web Service:
    http://[ip address]:1234.
  • Username and password is: root/linux.

Note: The device has problems to connect to 5GHz and guest networks.

Download Themes

  • A recommended theme is Art-Book-Next-ES:
    Main Menu > Updates & Downloads > Themes > Art-Book-Next-ES
  • Enable your theme:
    Main Menu > User Interface Settings > Theme Set

Enable Scraping

  • A scraper can download game information to your device.
  • You do need an active internet connection for this.
  • Register an account at screenscraper.fr.
  • Enter your credentials at Main Menu > Scraper.

Enable Retro Achievements

  • Get a login at retroachievements.org.
  • Enter your credentials: Main Menu > Game Settings > RetroArchievements Settings.

Update the ROM List on Each Boot

  • Main Menu > Games Settings > Netplay Settings > Index New Games

Overclock

  • Main Menu > System Settings > Overclock

Audio Settings

  • You can disable the in-menu music in Main Menu > Sound Settings > Frontend Music.
  • Consider disabling Enable Navigation Soundsand Enable Video Preview Audiothere, too.
  • If you get no sound after you connected the console via HDMI, you need to reset the audio output:
    • Go to: Main Menu > System Settings > Audio Output.
    • Select AudioCodec and confirm. And then go back to Auto.
  • Batocera > Controller

Controls

General Navigation

Button Function
POWER Long press to turn on. When turned on, click for stand-by.
START Menu
F + VOLUME Change brightness
B OK / Select
A Cancel / Back
F + POWER Quick Shutdown (not saving meta data)
R3 / L3 Next / Previous Song (Frontend Music)
  • A+ B button assignment can be switched:
    Main Menu > System Settings > Frontend Developer Options > Switch Confirm & Cancel Buttons in EmulationStation. I recommend doing so.
  • Shutdown the device: Main Menu > Quit > Shutdown System > Yes or press F + POWER.

Links

Main Menu

Button Function
START Quick Access
L1 / L2 Previous emulator
R1 / R2 Next emulator
Y Quick Search
B Side Menu

Game List

Button Function
SELECT View Options
L1 / R1 Page list up / down
L2 / R2 Previous / next emulator
X (long press) Add / remove to Favorites
A (long press) Edit meta data / Edit keyboard config

Quick Load / Save

  • In most emulators pressing F + Y or F + X will safe or load a games' state-
  • There is a list of slots you can safe games, too. You select the slot via F + UP / DOWN.
  • But you can also load a saved state when you are in the game list.
  • In the game list press X to show the saved state list.
  • Press A to load a state, Yto delete one, and B to cancel.

In-game (GB, GBA, GB Color, NES, SNES, Sega, PSX)

  • TBD: PSP
Button Function
F + START Exit Game
F + RIGHT Fast Forward
F + L1 Take Screenshot
F + UP / DOWN Select Quick Save Slot
F + Y Quick Save Game
F + X Quick Load Game
F + A Reset Game
F + R2 / L2 Select Shader
F + B Emulator Menu

Note: To see the screenshots you took in the menu, run Main Menu > Games Settings > Update Game List. Then you will have a "Screenshots" section in your main menu.

In-game Nintendo DS

Button Function
R2 Toggle Display View Mode
L2 + R2 Toggle Single Double View Msode

In-game MAME

Button Function
LEFT Insert coin (not sure if this a pre-set)
A OK / Select
B Cancel / Back
L3 Emulator Menu
F + Y Quick save game
F + X Quick load game
F + A Reset game
F + R2 Take screenshot
F + L2 / F + R2 Select Shader

Other Controls

See the Ports and the Tools section.

Mapping Keys to Pad Buttons For a Single Game

  • You can define keys to be mapped to buttons (for keyboard controlled system, e.g. Amstrad).
  • To see the current configuration SELECT > View Pad to Keyboard Information.
  • To edit it: A (long press) > Edit PadToKey Profile.
  • This will create a configuration file in your roms/ folder, either a .p2k.cfgor a .keys file.
  • .p2k.cfg files have a config style format.
  0:select = j ;; Joystick
  {
      "actions_player1": [
          {
              "trigger": "select",
              "type": "key",
              "target": "KEY_J",
              "description": "Joystick"
          }
      ]
  }
  • It seems that the .keys file takes precedence over the .k2p.cfg one.
  • You can also create a key config file manually in the folder. Use the name of the rom/port and append the suffix.
  • You can then add descriptions to the key definitions. Both examples above add "Joystick" as a description.
  • In the .k2p.cfg files the buttons are called EAST, WEST. In the .keys they are called A, Y.
  • In the .key files L1and R1 are called page up and page down.

Amstrad

  • Assign the keys you need to select and start the game (see above).
  • Fire and movement will automatically recognized as joystick input.
  • I suggest you bind the virtual keyboard to R1 by assigning F9 to it.
  0:r1 = F9 ;; Toggle Keyboard
  • FYI: Amstrad's return key does not equal to the Enter key. Have not found a way to map this to it.

The SD Card

  • The SD card has two partitions: BATOCERA and SHARE. We will only concern ourselves with the SHARE partition.
  • On SHARE are the folders for adding content onto the device.
  • The bios/ folder is the place where to add BIOS files (see below).
  • The roms/ folder contains folders for the different emulators for your games. Most of the folder names are self-explanatory.

BIOS Files

  • Some Emulators need BIOS files to run.
  • Check for missing/needed BIOS files via:
    Main Menu > Game Settings > Missing Bios Check.
    You can also select All to see all possibly needed ROM files.
  • Or see all needed ROMS here.
  • Find them online...
  • Copy them in the bios/ folder of your SD card.
  • Turn on the device.
  • Check if they are correct:
    Main Menu > Game Settings > Missing Bios Check

ROM Files

  • Find them online...
  • Copy your files in the different roms/ folders.
  • Put your games files in the correct emulator folders.
  • Check the _ìnfo.txt files in each roms/ subfolder for information on file format and folder structure to set things up.
  • See below a list of specific game port folders.

Workflow for Adding Content

  • Copy files on the SD card (either from your computer or via WiFi).
  • Remove Apple's dot files, if needed (see below).
  • Eject all mounted partitions.
  • Put card in RG35XX-H.
  • Power on the device.
  • Run the Scraper
    Main Menu > Scraper > Scrape Now
  • Update the Game List
    Main Menu > Games Settings > Update Game List
  • Play!!

Note: Alternatively, you can also connect to your device via your network and mount the share/ folder if it is connected via WiFi. Copy your filed, update the game list, scrape, and update again.

Removing Apple's Dot Files

  • On a Mac, you can run dot_clean /Volumes/SHARE.
  • I also suggest to create a .dot_clean script in your ports folder.

Setup and Optimize Emulators

  • This section explains for the "non-trivial" emulators (e.g. DOS or Daphne are being set up).
  • For a list of in-game controls take a look at the Controls section.

Nintendo 64

  • You need to change the default emulator to make games run smooth.
  • Go to Game Settings > Per System Advanced Configuration > Nintendo 64.
    • Set Emulator: Mupen64Plus:RICE.
    • Set Power Mode: High Performance.
    • Set Game Aspect Ration: 4:3.

In-game Controls

  • I have not found a way yet to access the hotkey menu or to Quick Load or Quick Save.
Button Function
F + START Exit Game
F + RIGHT Fast Forward
F + A Reset Game
F + L1 Take Screenshot
  • To switch the A and B buttons edit the system\configs\mupen64\input.xml file:
		<input name="b"        	     value="C Button R" />
		<input name="a"        	     value="A Button" />

DOS

  • There are different DOS emulator that you can choose. Per default DOSBox Pure is used.
  • Copy a game folder to roms/dos/.
  • Add .DOS to the end of the folder name.
  • If there is a dosbox.conffile in the game folder, its settings will be applied.
  • If there is a dosbox.batfile in the game folder, it will be executed.
  • If you start the game without a dosbox.batfile, you will get the start menu where you can select a file as the default executable. Use the right joystick and the Ykey to select a file. You can also select a timeout, where the first X frames after starting a game are not shown.
  • After selecting an executable it will be run and file called AUTOBOOT.DBP will be created.
  • If you press L3, a keyboard overlay will be shown.
  • On the top-left of the overlay keyboard there is an option to manual map keys. I think this is preferable to use the Batocera key mapping.
Button Function
L3 Show Keyboard (and Keyboard Mapper button)
LEFT JOYSTICK Mouse
F + UP /DOWN Load / Save
F + RIGHT Fast Forward
Y OK

Links

Daphne

TBD

Setting up and Running Ports

Port Folders

This is a list of existing port folders/emulators available on the Batocera CFW by default.

Port Folder Game
cannonball Out Run - Sega Arcade
devilutionx Diablo & Diablo Hellfire
eduke32 Duke Nukem 3D
fallout1-ce Fallout 1
fallout2-ce Fallout 2
mrboom Bomberman
ports Linux games
prboom Doom 1 & Doom 2
quake3 Quake 3
scummvm Scumm Engine for Games like Monkey Island
sdlpop Prince of Persia
tyrquake Quake 1
vitaquake2 Quake 2
xash3d_fwgs Half-Life Engine

Configuring Ports

Always start by reading the _info.txt file in the emulators folder.

Diablo 1 & Diablo Hellfire - Devilutionx

  • Copy DIABDAT.MPQ from the CD or Diablo-installation to roms/devilutionx/ folder.
  • To run the Diablo: Hellfire expansion you will need to also copy hellfire.mpq, hfmonk.mpq, hfmusic.mpq, hfvoice.mpq.
Button Function
B OK / Select, Use Skill
A Cancel / Back, Use Weapon
X Pick up item
Y Use Spell
Left D-Pad Movement
Right D-Pad Mouse
START (pressed) In-Game Menu
START (pressed) Spells
START + F Show items
L1 Use Health Potion
R1 Use Mana Potion
L2 Character
R2 Inventory
R2 Toggle Map
  • You cannot edit the key definitions in the Advanced System Options.
  • You can edit the key definitions in the Game: Settings > Padmappig. In there A and B, and X and Y are reversed.
  • There is also a Playstation version of Diablo. Controls are nicer but graphics are more "blocky" it runs a bit less smooth.

Links

Duke Nukem 3D - eDuke32

  • Create folder called duke in roms/eduke32/ and copy DUKE3D.GRP into it.
  • Create file Duke_Nukem_3D.eduke32 in roms/eduke32/.
  • Add line FILE = /duke/DUKE3D.GRP to it.
Button Function
B OK / Select
A Cancel / Back
R2 Fire
X Kick
L1 Duck
L2 Jump
R1 Permanent ducking
Left D-Pad Movement
Right D-Pad Look
SELECT Map
START Main Menu
F + X Load
F + Y Save
F + START Exit Emulator
  • You can edit the key definitions in the game: Options > Control Setup > Controller Setup > Button Assignment. In there A and B, and Xand Y are reversed.

Links

Fallout 1 - fallout1-ce

  • Copy the following files from your Fallout game into the rom/dallout1-ce folder:

    • master.dat
    • critter.dat
    • data/ folder
  • Create an empty file called Fallout.f1ce.

  • Initially, only the right joystick works in the game.

  • Therefore, you need to define your own keys:
    Go to the Fallout entry in the Ports section A (long press) > Edit PadToKey Profile

  • Suggested key definition:

    Button Function
    D-PAD-UP Cursor Up
    D-PAD-DOWN Cursor Down
    D-PAD-LEFT Cursor Left
    D-PAD-RIGHT Cursor Right
    START ENTER
    SELECT ESC
    EAST Mouse Left
    SOUTH Mouse Right
    NORTH S
    WEST I
    LEFT SHOULDER TAB
    Left Stick Press Mouse Left
    Right Stick Press Mouse Left
    Emulate Mouse Cursor Left Analog Stick

Links

Fallout 2 - fallout2-ce

TBD

Doom 1 & Doom 2 - PRBOOM

  • Place the .WAD files of Doom 1 and/or in the roms/prboom/ folder.
  • Supported wads (non exhaustive list) are from Doom 1, Doom 2, The Ultimate Doom, The Plutonia Experiment, TNT: Evilution.
Button Function
A OK / Select
B Cancel / Back
X Fire
Left D-PAD Movement
L1 / R1 Strave
L2 / R2 Change weapon
R3 Turn around
START Main Menu
SELECT Map
F + Y Quick save game
F + X Quick load game
F + A Reset game
F + B Emulator menu (in here B is OK)
F + R2 Take screenshot
F + L2 / F + R2 Select Shader
  • You can edit the key in the game: F + B, Controls > Port 1 Controls

ScummVM

  • ScummVM is an emulator for adventures such as Monkey Island.
  • Store games in the roms/scummvm/ folder.
  • Each game has a unique ID. You can find all games and their ID in the compatibility list, e.g. use atlantis for Indiana Jones and the Fate of Atlantis.
  • Create a folder for each game and copy files into it
  • Inside the folder create a file [id].scummvm for each game you want to add. To be sure also write put id into the file.
  • To see what the required files for a game are take a look at the supported games list.
Button Function
LEFT D-PAD Mouse
START Main Menu
SELECT Main Menu
A OK / Select
X Skip
L2 Settings, e.g. Save

Links

Quake 1 - tyrquake

TBD

Half-Life - xash3d_fwgs

  • Create a folder Half-Life.
  • Copy the contents of Half-Life/valve in there
  • Create a folder called Half-Life.game. Keep in empty
Button Function
B OK / Select
A Cancel / Back
  • You can view and change the controls in the game:Configuration > Controls. In there A and B, and Xand Yare reversed.

Links

Tools

OD Commander

It is pre-installed on the device and can be found in the Port section.

Button Function
A Cancel / Back
B OK / Select
SELECT Toggle selection of files
START Open the folder in the other tab
LEFT / RIGHT Toggle active tab
X File actions, e.g. Delete
Y General actions, e.g. Quit
L1 / R1 Page up / down

Links

.dot_clean

  • Lets add a simple script that deletes all Mac dot_files.
  • Create a file called .dot_clean.sh in roms/ports/ with the following content:
#!/bin/bash

# remove all ._* files from the system
find /userdata/ -name "._*" -exec rm {} \;
  • Next, update the Game List:
    Main Menu > Games Settings > Update Game List

Bluetooth

For connecting a bluetooth device follow these steps:

  • Go to Main Menu > Controller & Bluetooth settings > Pain Bluetooth Pads Automatically.
  • Alternatively, run a manual detection and select your device.
  • Enable pairing mode on your device.
  • You you will get a notification when the device is paired to the console.

Connecting a Bluetooth Controller

  • Follow the steps above.
  • Turn on Bluetooth mode on your controller (e.g. Y + START on an 8bitdo Controller).
  • Enable pairing mode on your controller.
  • Run the Controller Mapping.
  • Adjust the Player Assignments to use the controller, e.g.:
    • P1 > Controller
    • P2 > #0 Deeplay-Keys

Using Bluetooth Audio

  • Connect the audio device as described above.
  • Select the bluetooth audio device as audio output:
    Main Menu > System Settings > Hardware > Audio Output > [Device]

Connecting other Bluetooth Devices

You can also pair keyboards and mice as described above.

Some Terms / What is

  • Batocera Linux: An open-source operating system designed specifically for retro gaming, transforming any computer or single-board device into a gaming console. It includes a variety of pre-configured emulators and tools, making it easy to set up and use.

  • CFW (Custom Firmware): Modified firmware that enhances the capabilities and features of a device beyond what the original manufacturer provided. In the context of retro gaming, CFW allows for custom emulation setups and additional functionalities.

  • Batocera for RG35XX-H: A version of Batocera Linux tailored for the RG35XX-H handheld gaming device, optimized for performance and compatibility with the specific hardware, providing a seamless retro gaming experience.

  • EmulationStation: A graphical front-end for organizing and launching games on various emulators. It provides a user-friendly interface for retro gaming systems and works in conjunction with Batocera Linux to offer a streamlined gaming experience.

  • Libretro: A lightweight, modular API that enables the creation of multi-system emulators. It serves as the backbone for many emulation projects and integrates with EmulationStation, allowing it to run a wide variety of emulators through a standardized interface.

These components work together to create a cohesive retro gaming system, where Batocera Linux provides the foundation, EmulationStation offers the interface, and Libretro supports the underlying emulation functionality.

About

How to install and set up Batocera v40 on the Anbernic RG35XX-H.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Sponsor this project

Packages

No packages published