GammaOS logo GammaOS Nano
GitHub

Nano does not emulate games itself (other than the built-in DraStic DS emulator). Instead it hands each game to the right emulator, then brings you back to exactly where you were when you exit. This page explains how that handoff works, which core or emulator each system uses by default, and how to set up the BIOS files that some consoles need.

How launching works

When you pick a game, Nano figures out which system it belongs to and launches it in one of two ways:

  • RetroArch cores (libretro). Most systems run inside RetroArch (com.retroarch.aarch64) using a small plug-in called a libretro core. One RetroArch install can run many systems by loading a different core for each.
  • Standalone emulator apps. A few systems run in their own dedicated app instead: Nintendo 64 uses Mupen64Plus, PSP uses PPSSPP, Dreamcast uses Flycast, and Nintendo DS uses the built-in DraStic Nano.

Either way the experience is the same from your side. Nano launches the emulator, briefly drops its own controller input during the handoff so no stray button press leaks into your game, and remembers where you were. When you exit, you land back on the same game highlighted on the home screen.

The built-in Nintendo DS emulator has its own dedicated page. See DraStic Nano for its controls and in-game options.

RetroArch and DraStic games also support Quick Resume: power off mid-game and boot straight back into it.

If the emulator is not installed

Before it launches a game, Nano checks that the emulator it needs is actually present: the RetroArch core .so for a libretro system, or the standalone app's package for a Custom Package system. If it is missing, Nano shows a short toast telling you what is needed instead of dropping you into a black screen. Install the core inside RetroArch, or install the standalone app, and try again. See Game Systems to check or change which core or app a system uses.

Default systems and cores

Here is what each system uses out of the box, along with the game file types Nano scans for. Every value below is editable (see changing a system's core).

System Folder Default core / emulator Common extensions
NES nes Nestopia (libretro) .nes .fds .unf .unif
SNES snes Snes9x (libretro) .smc .sfc .fig .swc
Game Boy gb Gambatte (libretro) .gb
Game Boy Color gbc Gambatte (libretro) .gbc .gb
Game Boy Advance gba gpSP (libretro) .gba
Nintendo 64 n64 Mupen64Plus (standalone) .n64 .v64 .z64 .bin .ndd
Nintendo DS nds DraStic Nano (built-in) .nds
Genesis / Mega Drive genesis Genesis Plus GX (libretro) .md .gen .smd .bin
Master System mastersystem Genesis Plus GX (libretro) .sms .sg
Game Gear gamegear Genesis Plus GX (libretro) .gg
PlayStation psx PCSX ReARMed (libretro) .cue .pbp .chd .iso .m3u .img
PSP psp PPSSPP (standalone) .iso .cso .pbp
Dreamcast dreamcast Flycast (standalone) .cdi .gdi .chd .cue
Neo Geo Pocket ngpc Mednafen NGP (libretro) .ngp .ngc .npc
PICO-8 pico8 fake08 (libretro) .p8 .png

The "Folder" column is the subfolder name Nano scans under your ROMs directory. See Adding games for where to drop your files, and Game Systems to turn systems on or off.

BIOS files (not included)

Nano does not ship any console BIOS or firmware files. Some systems refuse to boot without them, so you must supply your own for the consoles that need them (for example PlayStation, PS2, Dreamcast, Neo Geo, and Sega CD).

Nintendo DS is the happy exception: the built-in DraStic Nano emulator has its own high-level BIOS emulation, so DS games run with no BIOS files at all.

BIOS files are copyrighted. Nano cannot legally include them, so you provide your own copies.

Where the file goes depends on which kind of emulator runs the system:

  • RetroArch cores. Put BIOS files in RetroArch's system folder on internal storage: Internal storage / RetroArch / system (full path /storage/emulated/0/RetroArch/system). A core looks there for files by exact name. If a game will not start, open that core's information screen inside RetroArch to see the precise filenames it expects.
  • Standalone emulators. AetherSX2 (PS2), PPSSPP, Flycast, and Mupen64Plus import their BIOS in their own settings the first time you launch them. For example, AetherSX2 asks you to import your PS2 BIOS. Just follow the emulator's own first-run prompt. (DraStic for Nintendo DS needs nothing here.)

Getting your files onto the device

You can copy BIOS and firmware files from a PC or move them around on the device in three ways:

  • USB File Transfer (MTP). Plug the device into a PC, then set the USB connection to File Transfer (MTP) under Settings > USB & Docking. The device shows up as a drive so you can drag files straight into RetroArch/system.
  • adb push. From a computer with ADB set up, run for example adb push scph5501.bin /storage/emulated/0/RetroArch/system/.
  • The on-device Files app. The standard Files app (in Applications) can move a file you have already downloaded into the right folder, no PC needed.

Common RetroArch BIOS filenames

Put these in /storage/emulated/0/RetroArch/system, keeping the exact filename. Different cores and regions may accept different files, so this is a starting point, not an exhaustive list. Always check the core's own information screen inside RetroArch for what it wants.

System Common filenames Notes
PlayStation (psx) scph1001.bin, scph5501.bin, scph7001.bin One region BIOS is usually enough; match your games' region.
Sega CD / Mega CD bios_CD_U.bin, bios_CD_E.bin, bios_CD_J.bin US, Europe and Japan BIOS respectively.
Dreamcast (dreamcast) dc_bios.bin, dc_flash.bin Flycast standalone imports these in its own settings instead.
Neo Geo (neogeo) neogeo.zip The BIOS is supplied as a named archive.

Nintendo DS is different: the built-in DraStic Nano emulator does not use the RetroArch system folder at all. If you supply DS BIOS files, they live with the DraStic data folder (see DraStic Nano), and DS games run without them anyway thanks to DraStic's high-level BIOS emulation.

Change a system's core or emulator

You are never locked into the defaults above. To swap the core or standalone emulator a system uses, open the Game Systems editor:

  1. Go to Settings, then Game Settings, then Game Systems.
  2. Select the system you want to change.
  3. Edit the emulator (or core), the file extensions it scans, its scan folders, and its icon.

The same editor lets you add unlimited custom systems from scratch. See Game Systems for the full walkthrough and Custom systems for building a brand-new one.

To bring in a whole ROMs collection at once, the Game Systems list has an Auto-add Systems from Folder action that imports every recognised system in one pass, linking to built-ins or creating new systems. See Game Systems for that flow.

RetroArch controls reminder

Inside a RetroArch game, a quick tap of the Back button opens the RetroArch menu, and holding Back exits back to the Nano home on the same game. You can also press L3 + R3 (click both sticks in) to open the menu, which is RetroArch's own built-in combo.

For the full list, including how to reach states, options, and input rebinding, see RetroArch controls.

For the built-in DS emulator, see DraStic Nano for its own in-game overlay, screen layout tuning, FPS counter, and save/load-state bindings.

Known limitations

Per-game core-option overrides are not managed from the Nano launcher. To change a core setting for one game only (for example a different renderer or aspect ratio for a single title), use RetroArch's own Quick Menu > Overrides inside the running game and save a game-specific override there. Nano's Game Systems editor changes settings for the whole system, not one game.

GammaOS Nano is community software. This wiki is maintained alongside the OS.