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 ID | Folders | Extensions |
|---|---|---|
3DO | 3DO | .iso, .cue, .chd |
AdventureVision | AVision | .bin |
Arcadia | Arcadia | .bin |
AmigaCD32 | AmigaCD32 | .cue, .chd, .iso |
Astrocade | Astrocade | .bin |
Atari2600 | ATARI7800, Atari2600 | .a26, .bin |
Atari5200 | ATARI5200 | .car, .a52, .bin, .rom |
Atari7800 | ATARI7800 | .a78, .bin |
AtariLynx | AtariLynx | .lnx |
CasioPV1000 | Casio_PV-1000 | .bin |
CDI | CD-i | .cue, .chd |
ChannelF | ChannelF | .rom, .bin |
ColecoVision | Coleco | .col, .bin, .rom |
CreatiVision | CreatiVision | .rom, .bin, .bas |
FDS | NES, FDS | .fds |
Gamate | Gamate | .bin |
Gameboy | GAMEBOY | .gb |
GameboyColor | GAMEBOY, GBC | .gbc |
Gameboy2P | GAMEBOY2P | .gb, .gbc |
GameGear | SMS, GameGear | .gg |
GameGear2P | GameGear2P | .gg |
GameNWatch | GameNWatch | .bin |
GBA | GBA | .gba |
GBA2P | GBA2P | .gba |
Genesis | MegaDrive, Genesis | .gen, .bin, .md |
Intellivision | Intellivision | .rom, .int, .bin |
Jaguar | Jaguar | .jag, .j64, .rom, .bin |
JaguarCD | Jaguar | .cdi |
MasterSystem | SMS | .sms |
MegaCD | MegaCD | .cue, .chd |
MegaDuck | GAMEBOY, MegaDuck | .bin |
NeoGeo | NEOGEO | .neo, .zip (folders) |
NeoGeoMVS | NEOGEO | .neo, .zip (folders) |
NeoGeoCD | NeoGeo-CD, NEOGEO | .cue, .chd |
NeoGeoPocket | NGP | .ngp |
NeoGeoPocketColor | NGPC | .ngc |
NES | NES | .nes |
NESMusic | NES | .nsf |
Nintendo64 | N64 | .n64, .z64 |
Odyssey2 | ODYSSEY2 | .bin |
PocketChallengeV2 | WonderSwan, PocketChallengeV2 | .pc2 |
PokemonMini | PokemonMini | .min |
PSX | PSX | .cue, .chd, .exe |
Saturn | Saturn | .cue, .chd |
Sega32X | S32X | .32x |
SG1000 | SG1000, Coleco, SMS | .sg |
SNES | SNES | .sfc, .smc, .bin, .bs |
SNESMusic | SNES | .spc |
SuperGameboy | SGB | .sgb, .gb, .gbc |
SuperGrafx | TGFX16 | .sgx |
SuperVision | SuperVision | .bin, .sv |
TurboGrafx16 | TGFX16 | .pce, .bin |
TurboGrafx16CD | TGFX16-CD | .cue, .chd |
VC4000 | VC4000 | .bin |
Vectrex | VECTREX | .vec, .bin, .rom |
VirtualBoy | VirtualBoy | .vb |
WonderSwan | WonderSwan | .ws |
WonderSwanColor | WonderSwan, WonderSwanColor | .wsc |
Computer Systems
| System ID | Folders | Extensions |
|---|---|---|
AcornAtom | AcornAtom | .vhd |
AcornElectron | AcornElectron | .vhd |
AliceMC10 | AliceMC10 | .c10 |
Amiga | Amiga | .adf |
Amstrad | Amstrad | .dsk, .cdt, .sna |
AmstradPCW | Amstrad PCW | .dsk |
Apogee | APOGEE | .rka, .rkr, .gam |
AppleI | Apple-I | .txt |
AppleII | Apple-II | .dsk, .do, .po, .nib, .hdv |
AppleIIGS | Apple-IIgs | .hdv, .po, .2mg, .woz, .dsk, .do, .nib |
AppleLisa | LISA | .img, .vhd |
Aquarius | AQUARIUS | .bin, .caq |
Atari800 | ATARI800 | .atr, .xex, .xfd, .atx, .car, .rom, .bin |
BBCMicro | BBCMicro | .ssd, .dsd, .vhd |
BK0011M | BK0011M | .bin, .dsk, .vhd |
C16 | C16 | .d64, .g64, .prg, .tap, .bin |
C64 | C64 | .d64, .g64, .t64, .d81, .prg, .crt, .reu, .tap |
CasioPV2000 | Casio_PV-2000 | .bin |
CoCo2 | CoCo2 | .dsk, .cas, .ccc, .rom |
DOS | AO486, /media/fat/_DOS Games | .mgl, .vhd, .img, .ima, .vfd, .iso, .cue, .chd |
EDSAC | EDSAC | .tap |
Galaksija | Galaksija | .tap |
Interact | Interact | .cin, .k7 |
Jupiter | Jupiter | .ace |
Laser | Laser | .vz |
Lynx48 | Lynx48 | .tap |
MacPlus | MACPLUS | .dsk, .img, .vhd |
MSX | MSX | .vhd |
MSX1 | MSX1 | .dsk, .rom |
MultiComp | MultiComp | .img |
Orao | ORAO | .tap |
Oric | Oric | .dsk |
PCXT | PCXT | .img, .vhd, .ima, .vfd |
PDP1 | PDP1 | .bin, .rim, .pdp |
PET2001 | PET2001 | .prg, .tap |
PMD85 | PMD85 | .rmm |
QL | QL | .mdv, .win |
RX78 | RX78 | .bin |
SAMCoupe | SAMCOUPE | .dsk, .mgt, .img |
SordM5 | Sord M5 | .bin, .rom, .cas |
Specialist | SPMX | .rks, .odi |
SVI328 | SVI328 | .cas, .bin, .rom |
TatungEinstein | TatungEinstein | .dsk |
TI994A | TI-99_4A | .bin, .m99 |
TomyTutor | TomyTutor | .bin, .cas |
TRS80 | TRS-80 | .dsk, .jvi, .cmd, .cas |
TSConf | TSConf | .vhd |
UK101 | UK101 | .txt, .bas, .lod |
Vector06C | VECTOR06 | .rom, .com, .c00, .edd, .fdd |
VIC20 | VIC20 | .d64, .g64, .prg, .tap, .crt |
X68000 | X68000 | .d88, .hdf, .mgl |
ZX81 | ZX81 | .p, .0 |
ZXSpectrum | Spectrum | .tap, .csw, .tzx, .sna, .z80, .trd, .img, .dsk, .mgt, .vhd |
ZXNext | ZXNext | .vhd, .tzx, .csw |
Arcade Systems
| System ID | Folders | Extensions |
|---|---|---|
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 ID | Folders | Extensions |
|---|---|---|
Arduboy | Arduboy | .hex, .bin |
Audio | MegaVGMDrive | .vgm |
Chip8 | Chip8 | .ch8 |
Groovy | Groovy | .gmc |
OpenBOR | OpenBOR | .pak |
Pico8 | PICO-8 | .p8, .p8.png |
ScummVM | ScummVM | (special) |
Video | Video, 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
.p8and.p8.pngcarts from/media/fat/games/PICO-8. - OpenBOR loads
.pakfiles from/media/fat/games/OpenBOR. The default launcher usesOpenBOR_4086when installed and falls back toOpenBOR_7533. Add?launcher=OpenBOR7533to force the 7533 core. - MegaVGMDrive loads
.vgmfiles from/media/fat/games/MegaVGMDrivethrough theVGM_MD_MiSTercore.
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.
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:
| Folder | Extensions | Core |
|---|---|---|
| GameNWatch | .bin | GnW |
| Game and Watch | .gnw | GameAndWatch |
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:
- Download fvp-mister_arm-15ea265.zip
- Extract the
fvpbinary to/media/fat/linux/ - Create a
Videofolder in your games directory (e.g.,/media/fat/games/Video/) - Add your video files to the Video folder
- 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:
- Highlight the system.
- Open Options.
- Select Change launcher.
- 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:
[launchers]
preference = ["RetroAchievements"]
Explicit token launchers, per-game overrides, and system defaults still take priority over this preference.
| Launcher ID | System |
|---|---|
RAAtari2600 | Atari 2600 |
RAAtari7800 | Atari 7800 |
RAFDS | Famicom Disk System |
RAGameboy | Game Boy |
RAGameboyColor | Game Boy Color |
RAGameGear | Game Gear |
RAGBA | Game Boy Advance |
RAMegaDrive | Genesis/Mega Drive |
RAMegaCD | Mega CD |
RASMS | Master System |
RANeoGeo | Neo Geo |
RANeoGeoCD | Neo Geo CD |
RANES | NES |
RANintendo64 | Nintendo 64 |
RAPSX | PlayStation |
RAS32X | Sega 32X |
RASaturn | Saturn |
RASNES | SNES |
RASuperGameboy | Super Game Boy |
RATurboGrafx16 | TurboGrafx-16 |
RATurboGrafx16CD | TurboGrafx-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 ID | System |
|---|---|
DB9AdventureVision | Adventure Vision |
DB9Astrocade | Astrocade |
DB9Atari5200 | Atari 5200 |
DB9Atari7800 | Atari 7800 |
DB9AtariLynx | Atari Lynx |
DB9CasioPV1000 | Casio PV-1000 |
DB9CDI | CD-i |
DB9ColecoVision | ColecoVision |
DB9CreatiVision | CreatiVision |
DB9Gameboy | Game Boy |
DB9Gameboy2P | Game Boy 2P |
DB9GameNWatch | Game & Watch |
DB9GBA | Game Boy Advance |
DB9GBAAccuracy | Game Boy Advance (accuracy) |
DB9GBA2P | Game Boy Advance 2P |
DB9MegaDrive | Mega Drive |
DB9Genesis | Genesis |
DB9SMS | Master System |
DB9MegaCD | Mega CD |
DB9NeoGeo | Neo Geo |
DB9NeoGeo24MHz | Neo Geo (24 MHz) |
DB9NES | NES |
DB9Odyssey2 | Odyssey 2 |
DB9PSX | PlayStation |
DB9DualRAMPSX | PlayStation (DualRAM) |
DB9Sega32X | Sega 32X |
DB9SuperGameboy | Super Game Boy |
DB9Saturn | Saturn |
DB9DualRAMSaturn | Saturn (DualRAM) |
DB9SNES | SNES |
DB9TurboGrafx16 | TurboGrafx-16 |
DB9Vectrex | Vectrex |
LLAPI
Bliss-Box LLAPI cores. Alternate Arcade cores can be referenced directly with their .mra files.
| Launcher ID | System |
|---|---|
LLAPIAtari2600 | Atari 2600 |
LLAPIAtari7800 | Atari 7800 |
LLAPIGameboy | Game Boy |
LLAPIGBA | Game Boy Advance |
LLAPIMegaDrive | Genesis/Mega Drive |
LLAPISMS | Master System |
LLAPIMegaCD | Mega CD |
LLAPINeoGeo | Neo Geo |
LLAPINES | NES |
LLAPINintendo64 | Nintendo 64 |
LLAPI80MHzNintendo64 | Nintendo 64 (80MHz) |
LLAPIPSX | PlayStation |
LLAPIS32X | Sega 32X |
LLAPISuperGameboy | Super Game Boy |
LLAPISaturn | Saturn |
LLAPISNES | SNES |
LLAPITurboGrafx16 | TurboGrafx-16 |
LLAPISuperGrafx | SuperGrafx |
PWM
24-bit video PWM cores.
| Launcher ID | System |
|---|---|
PWMNintendo64 | Nintendo 64 |
PWM80MHzNintendo64 | Nintendo 64 (80MHz) |
PWMPSX | PlayStation |
PWM2XPSX | PlayStation (2X CPU) |
PWMSaturn | Saturn |
Overclock
Robert Piep's experimental overclock cores.
| Launcher ID | System |
|---|---|
80MHzNintendo64 | Nintendo 64 |
2XPSX | PlayStation |
DualRAM
Dual-SDRAM cores from TheJesusFish/Dual-Ram-Console-Cores.
| Launcher ID | System |
|---|---|
DualRAM3DO | 3DO |
DualRAMJaguar | Jaguar |
DualRAMPSX | PlayStation |
DualRAMSaturn | Saturn |
Sinden Lightgun
Sinden Lightgun cores.
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 ID | System |
|---|---|
SindenGenesis | Genesis |
SindenMegaDrive | Mega Drive |
SindenSMS | Master System |
SindenMegaCD | Mega CD |
SindenNES | NES |
SindenPSX | PlayStation |
SindenSNES | SNES |