RetroArch 3DS

From GameBrew
RetroArch
Retroarch3ds2.png
General
Authorlibretro
TypeConsole
Version1.16.0
LicenseGPL-3.0
Last Updated2023/09/21
Links
Stable - Nightly Download
Website
Source
Support Author

RetroArch is a free, open-source and cross-platform front-end for emulators, game engines, video games, media players and other applications. It is the reference implementation of the libretro API, designed to be fast, lightweight, portable and without dependencies.

It enables you to run classic games on a wide range of computers and consoles through its slick graphical interface. Settings are also unified so configuration is done once and for all, with advanced features like shaders, netplay, rewinding, next-frame response times, runahead.

Features

  • Consistency across multiple platforms (same UI structure and a fully featured command line interface).
  • Gamepad controlled menu system with multiple styles available, such as XMB or Material UI.
  • Gamepad auto-configuration profiles, so that gamepads are mapped automatically when connected.
  • Per-core and per-game configuration overrides.
  • Custom resolution and refresh rate for video output, with exclusive fullscreen mode and monitor index for multi-monitor setups.
  • Dynamic rate control for smooth audio and video, even when the game's output rate is different from your system.
  • Basic fast forward, SRAM saving, savestate, etc. It supports serialization of the emulation state which is used to provide real-time rewind and netplay.
  • Pixel shaders, primarily using Cg and GLSL, with HLSL on Xbox 360.
  • Supports audio DSP filter plugins through .dsp configuration files.
  • Custom overlay support.
  • FFmpeg recording and playback support.
  • Streaming support.
  • GGPO-like netplay (latency hiding rollback).
  • Options for decreasing input latency related to vsync by eliminating buffering by the video driver, as well as using frame delay to delay polling of inputs until right before a vsync occurs on the display.
  • Run-ahead to reduce latency.

Installation

You can find the installation pack, assets and cores here.

To install, download either RetroArch_3dsx.7z or RetroArch_cia.7z, then extract RetroArch folder to the root of your SD card (RetroArch.cia anywhere else), to install cores use FBI installer.

Run RetroArch, go to the RetroArchfolder and open the Cores folder.

Select and install the Cores you want to use.

For example; install pcsx_rearmed_libretro.cia for Playstation 1 Roms.

Note that some specific cores require BIOS roms/files present in the system directory in order to run.

User guide

Reduce Content loading times

By default, all Cores are installed in the directory /RetroArch/Cores. With this configuration, RetroArch Cores on 3DS take nearly 30 seconds to start, as each Core in /RetroArch/Cores must be initialized - including Cores which may not be needed. The same delay is experienced when loading Content (games) as well; roughly 30 seconds to finish loading. Slow MicroSD random access/transfer speeds on the 3DS may be a likely cause.

To reduce loading time for Cores and Content to under 5 seconds each, complete the following steps:

  • Determine Cores to be used. These Cores will remain in the /RetroArch/Cores/ directory.
  • Create directory for unused cores. A directory name such as /RetroArch/Cores-Notused/ could be created for unused Cores.
  • Move the unused Cores. Finally, move unused Cores from /RetroArch/Cores/ to /RetroArch/Cores-Notused/.
  • After moving unused Cores as outlined above, RetroArch Cores should start in about 5 seconds. Content should load in about 5 seconds as well.

As additional Cores are needed, simply move them from /RetroArch/Cores-Notused to /RetroArch/Cores. This ensures only the required Cores are initialized by RetroArch, minimizing start times for Cores and Content.

Additional notes for MAME Cores

MAME Content numbers in the thousands of items for MAME Cores. To help reduce loading time for MAME Content, consider creating two directories for MAME Content:

  • A directory for favorite MAME Content, containing Content which will be loaded often.
  • A directory for all remaining MAME Content, containing Content which would be loaded infrequently.

This approach will work fine as long as the MAME Content romset is a Full Non-Merged romset. If the romset is not Full Non-Merged, then all MAME content will need to remain in the same directory.

Full Non-Merged romsets are the simplest romset format to get started with because each romset zip contains all necessary files for one game. For more information, please refer to Getting started with arcade emulation.

Configuration for MAME cores

Much of the Content loaded by the RetroArch MAME Cores uses a Vertical display perspective for the top 3DS screen, requiring the user to rotate the 3DS counter-clockwise in order to properly see the game content and access the game controls. When using Content in this configuration, the default controls won't be suitable (as the controls are typically configured for Horizontal display perspective).

One approach to address the issue is to configure Global Options for controls, which would apply to the majority of games (such as Vertical display perspective). For games which have a different layout (Horizontal display perspective), the MAME menu may be used to configure a game controller configuration for that specific Content.

A simple configuration example follows, in case the majority of Content uses a Vertical configuration. Load RetroArch, then:

  • Bind a Menu hotkey From Main Menu navigate to Settings->Input->Hotkeys. Scroll down to Menu Toggle Gamepad Combo or Menu (Toggle) and configure as desired, to display the Menu within Content.
  • Configure Global Control for Vertical Content From Main Menu navigate to Settings > Input > Port 1 Controls. Configure as desired.
    • Configure In-Game Control for a piece of Horizontal Content Load the content, then press the defined Hotkey to display the Quick Menu.
    • Scroll down and select Options, then scroll down to select Display MAME menu; change to ON, then resume content.
    • On the MAME menu select Input (this game) and adjust the settings as desired.
    • Finally, use the previous steps to set Display MAME menu back to OFF. Controls are now set properly for the game.

Following the above ensures all Content may use the proper control configuration.

Useful links

Controls

A - Confirm

B - Cancel

X - Search prompt

Y - Delete input bind

D-Pad - Navigation

Start - Reset option to default

Select - Show tooltip for a particular option

R/L - Fast scrolling through files

Media

RetroArch - How to Install: 3DSXL, 3DS, 2DSXL and 2DS (LibRetro)

External links

Advertising: