Skip to main content
Version: Stable

Launchers

Zaparoo Core includes launcher definitions for MiSTer's standard systems. During a media database update, it scans the expected game folders for supported files and associates each game with the matching MiSTer core. Games launch via MGL files generated by Zaparoo, following the official folder structure set by Downloader.

Zaparoo also indexes .mgl files placed directly in your games folders. Drop a custom MGL shortcut into a games folder and it gets picked up by the media database, so it shows up in browse and search and can be launched by title like any other game.

MiSTer unstable nightly cores using the standard <core>_unstable_YYYYMMDD_<hash>.rbf filename can provide a system's launcher when the regular core is not installed. If several matching nightlies exist, Core uses the newest dated filename. A regular core with the exact expected name still takes priority.

After adding or replacing an RBF file, select Settings > Advanced > Reload Core in the terminal UI or run -reload to force a filesystem rescan. Then update the media database if the system or its games still need to be indexed.

ZIP archives

On MiSTer, Zaparoo treats ZIP archives like folders. It can index, browse, and launch supported files inside an archive through the normal launcher for that file type. This applies across MiSTer launchers and does not require .zip to appear as a direct media extension in the tables below.

For example, Zaparoo can browse a ZIP containing a supported SNES ROM as a folder and launch the ROM inside through the SNES launcher. This behavior is specific to MiSTer. On other platforms, Zaparoo cannot browse or launch a file inside a ZIP archive, although an individual launcher may support the ZIP file itself as media.

Supported Systems

Console Systems

System IDFoldersExtensions
3DO3DO.iso, .cue, .chd
AdventureVisionAVision.bin
ArcadiaArcadia.bin
AmigaCD32AmigaCD32.cue, .chd, .iso
AstrocadeAstrocade.bin
Atari2600ATARI7800, Atari2600.a26, .bin
Atari5200ATARI5200.car, .a52, .bin, .rom
Atari7800ATARI7800.a78, .bin
AtariLynxAtariLynx.lnx
CasioPV1000Casio_PV-1000.bin
CDICD-i.cue, .chd
ChannelFChannelF.rom, .bin
ColecoVisionColeco.col, .bin, .rom
CreatiVisionCreatiVision.rom, .bin, .bas
FDSNES, FDS.fds
GamateGamate.bin
GameboyGAMEBOY.gb
GameboyColorGAMEBOY, GBC.gbc
Gameboy2PGAMEBOY2P.gb, .gbc
GameGearSMS, GameGear.gg
GameGear2PGameGear2P.gg
GameNWatchGameNWatch.bin
GBAGBA.gba
GBA2PGBA2P.gba
GenesisMegaDrive, Genesis.gen, .bin, .md
IntellivisionIntellivision.rom, .int, .bin
JaguarJaguar.jag, .j64, .rom, .bin
JaguarCDJaguar.cdi
MasterSystemSMS.sms
MegaCDMegaCD.cue, .chd
MegaDuckGAMEBOY, MegaDuck.bin
NeoGeoNEOGEO.neo, .zip (folders)
NeoGeoMVSNEOGEO.neo, .zip (folders)
NeoGeoCDNeoGeo-CD, NEOGEO.cue, .chd
NeoGeoPocketNGP.ngp
NeoGeoPocketColorNGPC.ngc
NESNES.nes
NESMusicNES.nsf
Nintendo64N64.n64, .z64
Odyssey2ODYSSEY2.bin
PocketChallengeV2WonderSwan, PocketChallengeV2.pc2
PokemonMiniPokemonMini.min
PSXPSX.cue, .chd, .exe
SaturnSaturn.cue, .chd
Sega32XS32X.32x
SG1000SG1000, Coleco, SMS.sg
SNESSNES.sfc, .smc, .bin, .bs
SNESMusicSNES.spc
SuperGameboySGB.sgb, .gb, .gbc
SuperGrafxTGFX16.sgx
SuperVisionSuperVision.bin, .sv
TurboGrafx16TGFX16.pce, .bin
TurboGrafx16CDTGFX16-CD.cue, .chd
VC4000VC4000.bin
VectrexVECTREX.vec, .bin, .rom
VirtualBoyVirtualBoy.vb
WonderSwanWonderSwan.ws
WonderSwanColorWonderSwan, WonderSwanColor.wsc

Computer Systems

System IDFoldersExtensions
AcornAtomAcornAtom.vhd
AcornElectronAcornElectron.vhd
AliceMC10AliceMC10.c10
AmigaAmiga.adf
AmstradAmstrad.dsk, .cdt, .sna
AmstradPCWAmstrad PCW.dsk
ApogeeAPOGEE.rka, .rkr, .gam
AppleIApple-I.txt
AppleIIApple-II.dsk, .do, .po, .nib, .hdv
AppleIIGSApple-IIgs.hdv, .po, .2mg, .woz, .dsk, .do, .nib
AppleLisaLISA.img, .vhd
AquariusAQUARIUS.bin, .caq
Atari800ATARI800.atr, .xex, .xfd, .atx, .car, .rom, .bin
BBCMicroBBCMicro.ssd, .dsd, .vhd
BK0011MBK0011M.bin, .dsk, .vhd
C16C16.d64, .g64, .prg, .tap, .bin
C64C64.d64, .g64, .t64, .d81, .prg, .crt, .reu, .tap
CasioPV2000Casio_PV-2000.bin
CoCo2CoCo2.dsk, .cas, .ccc, .rom
DOSAO486, /media/fat/_DOS Games.mgl, .vhd, .img, .ima, .vfd, .iso, .cue, .chd
EDSACEDSAC.tap
GalaksijaGalaksija.tap
InteractInteract.cin, .k7
JupiterJupiter.ace
LaserLaser.vz
Lynx48Lynx48.tap
MacPlusMACPLUS.dsk, .img, .vhd
MSXMSX.vhd
MSX1MSX1.dsk, .rom
MultiCompMultiComp.img
OraoORAO.tap
OricOric.dsk
PCXTPCXT.img, .vhd, .ima, .vfd
PDP1PDP1.bin, .rim, .pdp
PET2001PET2001.prg, .tap
PMD85PMD85.rmm
QLQL.mdv, .win
RX78RX78.bin
SAMCoupeSAMCOUPE.dsk, .mgt, .img
SordM5Sord M5.bin, .rom, .cas
SpecialistSPMX.rks, .odi
SVI328SVI328.cas, .bin, .rom
TatungEinsteinTatungEinstein.dsk
TI994ATI-99_4A.bin, .m99
TomyTutorTomyTutor.bin, .cas
TRS80TRS-80.dsk, .jvi, .cmd, .cas
TSConfTSConf.vhd
UK101UK101.txt, .bas, .lod
Vector06CVECTOR06.rom, .com, .c00, .edd, .fdd
VIC20VIC20.d64, .g64, .prg, .tap, .crt
X68000X68000.d88, .hdf, .mgl
ZX81ZX81.p, .0
ZXSpectrumSpectrum.tap, .csw, .tzx, .sna, .z80, .trd, .img, .dsk, .mgt, .vhd
ZXNextZXNext.vhd, .tzx, .csw

Arcade Systems

System IDFoldersExtensions
Arcade_Arcade.mra
CPS1_Arcade.mra
CPS2_Arcade.mra
CPS3_Arcade.mra
IremM72_Arcade.mra
IremM92_Arcade.mra
JalecoMegaSystem1_Arcade.mra
NamcoSystem1_Arcade.mra
PGM_Arcade.mra
SegaSTV_Arcade.mra
SegaSystem16_Arcade.mra
SegaSystem18_Arcade.mra
TaitoF2_Arcade.mra

Hardware classification

Every MiSTer .mra file remains indexed under the general Arcade system. When MiSTer's Arcade Database identifies the underlying hardware, Core also indexes the same game under a more specific system such as CPS1, PGM, SegaSTV, or TaitoF2. Unclassified games remain available through Arcade as before.

You can browse, search, or launch a random game from one hardware family:

**launch.random:CPS1

Core searches the requested hardware system first. It only falls back to the general Arcade system when that specific system has no matching results. Run a media database update after upgrading to add the new classifications.

Neo Geo games are also indexed as both NeoGeo and NeoGeoMVS. The MVS launcher uses its own MiSTer set name while keeping the normal NEOGEO games folder, giving MVS entries an independent MiSTer configuration.

Other Systems

System IDFoldersExtensions
ArduboyArduboy.hex, .bin
AudioMegaVGMDrive.vgm
Chip8Chip8.ch8
GroovyGroovy.gmc
OpenBOROpenBOR.pak
Pico8PICO-8.p8, .p8.png
ScummVMScummVM(special)
VideoVideo, Movies, TV.mp4, .mkv, .avi, .mov, .webm

Special Features

Other Cores

MiSTer's _Other folder holds standalone FPGA cores that run without a ROM file, like Chess, Flappy Bird, and Game of Life. Zaparoo exposes the supported ones as virtual systems (launchables) and indexes them when their core is installed, so they show up in browse and search and can be written to a token like any other game.

Supported cores: Chess, Donut, Epoch Galaxy II, Flappy Bird, Game of Life, GBMidi, GenMidi, MiSTer Quake, Slug Cross, Sonic Mania, Tamagotchi, and Tomy Scramble.

Core also exposes two installed MGL shortcuts as launchables. /media/fat/Load GB-GBC Cartridge.mgl appears as the Load GB/GBC Cartridge console system, while /media/fat/_Custom Cores/PapriumMD.mgl appears as Paprium media under Genesis. Each entry is only indexed when its MGL file exists.

Add your own Other core

Use a custom virtual-system launcher to expose another installed core:

[[launchers.custom]]
id = "MisterOtherMyCore"
kind = "virtual_system"
backend = "mister_core"
name = "My Core"
category = "Other"
load_path = "_Other/MyCore"

load_path is relative to /media/fat, uses forward slashes, and omits the .rbf extension and any date or hash suffix. Valid categories are Other, Console, Computer, Handheld, and Arcade.

A new entry receives a stable identity based on its id. To rename, recategorize, or change the path of a built-in Other core without losing its existing App settings or artwork, use its built-in ID in a custom entry. For example, override MisterOtherFlappyBird while keeping that ID unchanged.

Only cores you have installed are indexed. Restart Core or reload it, then update the media database after adding or changing an _Other core entry.

The 3S-ARM port of Street Fighter III: 3rd Strike also ships as an _Other core, but Zaparoo exposes it as virtual media under the Arcade system instead of as an Other core entry.

Companion-installed media cores

Core detects RBF files installed under /media/fat/_Custom Cores/Cores as well as standard MiSTer core directories and launches media with these companion cores:

  • PICO-8 loads .p8 and .p8.png carts from /media/fat/games/PICO-8.
  • OpenBOR loads .pak files from /media/fat/games/OpenBOR. The default launcher uses OpenBOR_4086 when installed and falls back to OpenBOR_7533. Add ?launcher=OpenBOR7533 to force the 7533 core.
  • MegaVGMDrive loads .vgm files from /media/fat/games/MegaVGMDrive through the VGM_MD_MiSTer core.

Restart Core or reload it after installing one of these cores, then update the media database.

ao486

If a .vhd file is launched via Zaparoo and is in its own folder with an .iso or .chd file, that disc image will be automatically mounted alongside the hard drive.

AmigaVision (Amiga)

AmigaVision games and demos on the Amiga core are indexed under virtual Games and Demos folders, matching how they appear in AmigaVision itself. After a media database update they show up in browse and search, and can be launched or written to a token like any other game.

For example, to launch Beneath a Steel Sky:

Amiga/Games/Beneath a Steel Sky (OCS)[en]

Or a demo, using its name from the demos.txt listing:

Amiga/Demos/<demo name>

The game and demo names come from the games.txt and demos.txt listing files that AmigaVision generates in the Amiga/listings folder on your SD card. The older Amiga/listings/games.txt/<name> path still works for existing tokens.

Current AmigaVision listing issue

The current AmigaVision release can generate games.txt and demos.txt with internal IDs instead of the names Zaparoo expects. Games may briefly show Workbench and return to the AmigaVision menu instead of launching.

Follow AmigaVision issue #432 for the upstream fix. Its workaround comment provides replacement listing files. Those files restore launching for most entries but may not contain every game from the latest AmigaVision release.

Game & Watch

Two cores are supported:

FolderExtensionsCore
GameNWatch.binGnW
Game and Watch.gnwGameAndWatch

NeoGeo

NeoGeo supports launching .zip files, ROM-set folders, and symlinked ROM-set folders directly with Zaparoo. These can sit at the top level of the NeoGeo games folder or inside subfolders, as supported by the MiSTer core itself.

Keep a valid romsets.xml in each NeoGeo root so Zaparoo can match folder and ZIP names to their display names. If no valid definition file is found, Core falls back to basic ZIP-content filtering and records the affected roots in debug logs.

For example, a .zip file:

NeoGeo/mslug.zip

Or a folder:

NeoGeo/mslug2

ScummVM

ScummVM support uses the bbond007 script. Install the script, add your games to the ScummVM folder, and update the media database. Games are automatically detected from the ScummVM configuration file.

Video Playback

Video playback uses nextfvp, a framebuffer video player. To set up video playback:

  1. Download fvp-mister_arm-15ea265.zip
  2. Extract the fvp binary to /media/fat/linux/
  3. Create a Video folder in your games directory (e.g., /media/fat/games/Video/)
  4. Add your video files to the Video folder
  5. Update the media database

Supported formats: MP4, MKV, AVI, MOV, WEBM

Console launcher rendering

MiSTer's video and ScummVM launchers render through an internal framebuffer. By default, GenericVideo uses one-third of the current output dimensions and ScummVM uses a 640x480 RGB16 framebuffer.

Override either launcher with render_scale or render_resolution:

[[launchers.default]]
launcher = "GenericVideo"
render_scale = 50

[[launchers.default]]
launcher = "ScummVM"
render_resolution = "800x600"

MiSTer supports render_scale values of 25, 33, 50, and 100. render_resolution accepts positive WIDTHxHEIGHT dimensions. Do not set both for the same launcher. These options change the internal framebuffer only; they do not change the physical display output mode.

Alternate Launchers

Some alternate or unofficial versions of cores are supported and can be used by explicitly setting a launcher in the ZapScript on a token. Zaparoo assumes they're installed in either the default location from Update All or in the appropriate menu folder.

To use them, add the following to the end of the file path or launch command: ?launcher=<launcher ID>. For example: N64/some/game.n64?launcher=80MHzNintendo64

MiSTer launch commands also support set_name and set_name_same_dir advanced arguments. These map to MiSTer's MGL <setname> tag and same_dir attribute. Use set_name_same_dir=1 when you want a separate config name while keeping the normal games folder. Without set_name_same_dir=1, MiSTer also uses the set name as the games folder.

NES/Mega Man 2.nes?set_name=RA_NES&set_name_same_dir=1

To set an alternate core as the default for all tokens of a launcher (instead of per-token), use the load_path field in config.toml:

[[launchers.default]]
launcher = "Nintendo64"
load_path = "_LLAPI/N64_LLAPI"

load_path is an MGL-form RBF path relative to /media/fat, without extension. A config reload is sufficient after changing this — no service restart required.

RetroAchievements

RetroAchievements cores from Odelot's MiSTer FPGA RetroAchievements Cores are supported when installed in _RA_Cores/Cores.

These launchers automatically use a dedicated RA_* set name so RetroAchievements cores keep independent MiSTer configuration. Core selects the appropriate same_dir behavior for each launcher, including systems that share another system's RBF. Games continue loading from their normal system folders; you do not need to move them into RA_* folders.

To use a RetroAchievements core by default for one system in Zaparoo Frontend:

  1. Highlight the system.
  2. Open Options.
  3. Select Change launcher.
  4. Select the installed RetroAchievements launcher.

Frontend saves the selection as that system's default launcher. Select Default from the same menu to remove the override. Only launchers currently available from Core appear in the list.

All built-in RetroAchievements launchers belong to the stable RetroAchievements launcher group. To prefer installed RetroAchievements cores across every supported system and fall back to regular launchers when one is unavailable:

config.toml
[launchers]
preference = ["RetroAchievements"]

Explicit token launchers, per-game overrides, and system defaults still take priority over this preference.

Launcher IDSystem
RAAtari2600Atari 2600
RAAtari7800Atari 7800
RAFDSFamicom Disk System
RAGameboyGame Boy
RAGameboyColorGame Boy Color
RAGameGearGame Gear
RAGBAGame Boy Advance
RAMegaDriveGenesis/Mega Drive
RAMegaCDMega CD
RASMSMaster System
RANeoGeoNeo Geo
RANeoGeoCDNeo Geo CD
RANESNES
RANintendo64Nintendo 64
RAPSXPlayStation
RAS32XSega 32X
RASaturnSaturn
RASNESSNES
RASuperGameboySuper Game Boy
RATurboGrafx16TurboGrafx-16
RATurboGrafx16CDTurboGrafx-16 CD

DB9

DB9 cores are alternate MiSTer cores for DB9 controller adapters. Install them in the matching _Console core locations, then select them with ?launcher=<launcher ID> or a default launcher override.

Launcher IDSystem
DB9AdventureVisionAdventure Vision
DB9AstrocadeAstrocade
DB9Atari5200Atari 5200
DB9Atari7800Atari 7800
DB9AtariLynxAtari Lynx
DB9CasioPV1000Casio PV-1000
DB9CDICD-i
DB9ColecoVisionColecoVision
DB9CreatiVisionCreatiVision
DB9GameboyGame Boy
DB9Gameboy2PGame Boy 2P
DB9GameNWatchGame & Watch
DB9GBAGame Boy Advance
DB9GBAAccuracyGame Boy Advance (accuracy)
DB9GBA2PGame Boy Advance 2P
DB9MegaDriveMega Drive
DB9GenesisGenesis
DB9SMSMaster System
DB9MegaCDMega CD
DB9NeoGeoNeo Geo
DB9NeoGeo24MHzNeo Geo (24 MHz)
DB9NESNES
DB9Odyssey2Odyssey 2
DB9PSXPlayStation
DB9DualRAMPSXPlayStation (DualRAM)
DB9Sega32XSega 32X
DB9SuperGameboySuper Game Boy
DB9SaturnSaturn
DB9DualRAMSaturnSaturn (DualRAM)
DB9SNESSNES
DB9TurboGrafx16TurboGrafx-16
DB9VectrexVectrex

LLAPI

Bliss-Box LLAPI cores. Alternate Arcade cores can be referenced directly with their .mra files.

Launcher IDSystem
LLAPIAtari2600Atari 2600
LLAPIAtari7800Atari 7800
LLAPIGameboyGame Boy
LLAPIGBAGame Boy Advance
LLAPIMegaDriveGenesis/Mega Drive
LLAPISMSMaster System
LLAPIMegaCDMega CD
LLAPINeoGeoNeo Geo
LLAPINESNES
LLAPINintendo64Nintendo 64
LLAPI80MHzNintendo64Nintendo 64 (80MHz)
LLAPIPSXPlayStation
LLAPIS32XSega 32X
LLAPISuperGameboySuper Game Boy
LLAPISaturnSaturn
LLAPISNESSNES
LLAPITurboGrafx16TurboGrafx-16
LLAPISuperGrafxSuperGrafx

PWM

24-bit video PWM cores.

Launcher IDSystem
PWMNintendo64Nintendo 64
PWM80MHzNintendo64Nintendo 64 (80MHz)
PWMPSXPlayStation
PWM2XPSXPlayStation (2X CPU)
PWMSaturnSaturn

Overclock

Robert Piep's experimental overclock cores.

Launcher IDSystem
80MHzNintendo64Nintendo 64
2XPSXPlayStation

DualRAM

Dual-SDRAM cores from TheJesusFish/Dual-Ram-Console-Cores.

Launcher IDSystem
DualRAM3DO3DO
DualRAMJaguarJaguar
DualRAMPSXPlayStation
DualRAMSaturnSaturn

Sinden Lightgun

Sinden Lightgun cores.

Info

Zaparoo looks for Sinden cores in Light Gun/<Core>-Sinden.rbf first, then the legacy _Sinden/<Core>_Sinden.rbf path. If both paths exist, Zaparoo uses the Light Gun version.

Launcher IDSystem
SindenGenesisGenesis
SindenMegaDriveMega Drive
SindenSMSMaster System
SindenMegaCDMega CD
SindenNESNES
SindenPSXPlayStation
SindenSNESSNES