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 get their own Unstable launchers, and can also stand in for a system's regular core when that core is not installed. If several matching nightlies exist, Core uses the newest dated filename.
After adding or replacing an RBF file, select Settings > Advanced > Reload Core in the terminal UI or run -reload to force a filesystem rescan. Core refreshes its launcher list after the 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
Some listed cores require BIOS files, extra SDRAM, or a newer or patched MiSTer Main. Follow the core's own setup instructions before using its launcher.
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 |
CommodoreCDTV | CDTV, AmigaCDTV, CommodoreCDTV | .chd, .cue, .iso |
Atari2600 | ATARI7800, Atari2600 | .a26, .bin |
Atari5200 | ATARI5200 | .car, .a52, .bin, .rom |
Atari7800 | ATARI7800 | .a78, .bin |
AtariLynx | AtariLynx | .lnx |
AtariLynx2P | AtariLynx2P | .lnx, .lyx |
BBCBridgeCompanion | BBCBridgeCompanion | .bin |
CasioLoopy | Loopy | .bin |
CasioPV1000 | Casio_PV-1000 | .bin |
CDI | CD-i | .cue, .chd |
ChannelF | ChannelF | .rom, .bin |
ColecoVision | Coleco | .col, .bin, .rom |
CreatiVision | CreatiVision | .rom, .bin, .bas |
DataRover840 | DataRover840 | .rom, .ima, .bin, .pkg, .mc2, .img |
FDS | NES, FDS | .fds |
Gamate | Gamate | .bin |
Gameboy | GAMEBOY | .gb |
GameboyColor | GAMEBOY, GBC | .gbc |
Gameboy2P | GAMEBOY2P | .gb, .gbc |
GameCom | GameCom | .tgc |
GameGear | SMS, GameGear | .gg |
GameGear2P | GameGear2P | .gg |
GameKing | GameKing | .bin |
GameNWatch | GameNWatch | .bin |
GameTank | GameTank | .gtr |
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 |
MyVision | MyVision | .bin |
NDS | NDS | .nds |
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 |
PCFX | PCFX | .cue, .chd |
PocketChallengeV2 | WonderSwan, PocketChallengeV2 | .pc2 |
PocketStation | PocketStation | .gme, .mcs, .sav, .bin |
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 |
StudioII | Studio-II | .st2, .bin, .ch8 |
SuperACan | SuperAcan | .bin |
SuperCassetteVision | SCV | .rom, .bin |
SuperGameboy | SGB | .sgb, .gb, .gbc |
SuperGrafx | TGFX16 | .sgx |
SuperVision | SuperVision | .bin, .sv |
SuperVision8000 | SuperVision8000 | .bin |
Tamagotchi | Tamagotchi | .bin |
TI89 | TI89 | .89u |
TurboGrafx16 | TGFX16 | .pce, .bin |
TurboGrafx16CD | TGFX16-CD | .cue, .chd |
VC4000 | VC4000 | .bin |
Vectrex | VECTREX | .vec, .bin, .rom |
VirtualBoy | VirtualBoy | .vb |
VSmile | VSmile | .bin |
WonderSwan | WonderSwan | .ws |
WonderSwanColor | WonderSwan, WonderSwanColor | .wsc |
Computer Systems
| System ID | Folders | Extensions |
|---|---|---|
AcornAtom | AcornAtom | .vhd |
AcornElectron | AcornElectron | .vhd |
AliceMC10 | AliceMC10 | .c10 |
Altair8800 | Altair8800 | .rom |
Amiga | Amiga | .adf |
Amstrad | Amstrad | .dsk, .cdt, .sna |
AmstradNC | AmstradNC | .rom, .zip, .dsk, .img |
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 |
AppleIII | Apple-III | .woz, .dsk, .do, .po, .nib, .2mg, .hdv |
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 |
C128 | C128 | .d64, .g64, .d71, .g71, .d81, .t64, .prg, .crt, .reu, .tap |
C16 | C16 | .d64, .g64, .prg, .tap, .bin |
C64 | C64 | .d64, .g64, .t64, .d81, .prg, .crt, .reu, .tap |
CasioPV2000 | Casio_PV-2000 | .bin |
CBMII | CBM-II | .d80, .d82, .d64, .prg |
CoCo2 | CoCo2 | .dsk, .cas, .ccc, .rom |
CoCo3 | COCO3 | .ccc, .cas, .dsk, .vhd |
ColecoAdam | Adam | .col, .bin, .rom, .dsk, .ddp |
CommanderX16 | X16 | .img, .crt, .bin, .rom |
DOS | AO486, /media/fat/_DOS Games | .mgl, .vhd, .img, .ima, .vfd, .iso, .cue, .chd |
EDSAC | EDSAC | .tap |
EG2000 | eg2000 | .cas |
Enterprise | Enterprise | .vhd, .img, .dsk, .rom |
FM7 | FM-7 | .t77, .d77, .d88 |
FMTowns | Marty | .cue, .chd, .iso, .d88, .d77, .hdm, .icm, .vhd, .hdd, .h0 |
Galaksija | Galaksija | .tap |
Homelab | Homelab | .htp |
Interact | Interact | .cin, .k7 |
IQ151 | IQ151 | .iqd |
JR100 | JR100 | .prg, .bas, .cmt |
Jupiter | Jupiter | .ace |
Laser | Laser | .vz |
Lynx48 | Lynx48 | .tap |
MacPlus | MACPLUS | .dsk, .img, .vhd |
MicroBee | MicroBee | .dsk, .ss8, .ds8, .tap |
MSX | MSX | .vhd |
MSX1 | MSX1 | .dsk, .rom |
MultiComp | MultiComp | .img |
ND120 | ND120 | .img, .bpu, .tap |
NeXT | NeXT | .vhd, .img, .iso, .cue, .bin, .chd |
Orao | ORAO | .tap |
Oric | Oric | .dsk |
PC88 | PC8801 | .d88 |
PC98 | PC98 | .d88, .hdm, .fdi, .vhd, .hdi, .hdf, .img, .ima, .iso, .bin, .pcd |
PCjr | PCjr | .img, .ima, .vfd, .jrc, .jrt |
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 |
SBC7 | SBC7 | .h7x, .pr7, .img, .dsk |
SGIIndy | SGIIndy | .img, .iso, .chd |
SordM5 | Sord M5 | .bin, .rom, .cas |
SparcStation | SparcStation | .raw, .iso |
Specialist | SPMX | .rks, .odi |
SVI328 | SVI328 | .cas, .bin, .rom |
Tandy1000 | Tandy1000 | .img, .ima, .vfd, .vhd |
TatungEinstein | TatungEinstein | .dsk |
Thomson | TOMO | .rom, .bin, .wav, .fd |
TI994A | TI-99_4A | .bin, .m99 |
TK2000 | TK2000 | .nib, .dsk, .do, .po |
TomyTutor | TomyTutor | .bin, .cas |
TRS80 | TRS-80 | .dsk, .jvi, .cmd, .cas |
TSConf | TSConf | .vhd |
TVC | TVC | .cas |
UK101 | UK101 | .txt, .bas, .lod |
Vector06C | VECTOR06 | .rom, .com, .c00, .edd, .fdd |
VIC20 | VIC20 | .d64, .g64, .prg, .tap, .crt |
VideoBrain | VideoBrain | .bin |
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
Core skips the folders and symlinks Arcade Organizer creates, so each arcade game is indexed once from its .mra file. If you browse your arcade games through those folders, set scan_duplicates on the Arcade launcher to index them too. Every copy becomes its own entry, so the arcade library grows several times over and indexing takes longer:
[[launchers.default]]
launcher = "Arcade"
scan_duplicates = true
After an arcade index, the mister-arcade scraper fills in year, developer, genre, controls, and monitor rotation from the MiSTer arcade catalog on its own.
| System ID | Folders | Extensions |
|---|---|---|
Arcade | _Arcade | .mra |
Cave68000 | _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, Cave68000, 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 |
BennuGD | BennuGD | .dat, .dcb |
Chip8 | Chip8 | .ch8 |
DVDPlayer | DVD, DVD-Player | .iso |
Groovy | Groovy | .gmc |
OpenBOR | OpenBOR | .pak |
Pico8 | PICO-8 | .p8, .p8.png |
ScummVM | ScummVM | (special) |
Solarus | Solarus | .sol |
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"
categories = ["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. See kind and backend for the category names you can use.
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.
Commodore CDTV
CDTV discs launch through the Minimig core using a saved configuration. In the Minimig core, set up CDTV (with CD32 disabled) and save the config under the name CDTV, so it exists as /media/fat/config/CDTV.cfg. Core mounts the disc image into that preset when a CDTV token is scanned. Without the saved preset, CDTV launches fail with an error in the log.
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, ZIP, and .neo file 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. A game kept as several variants in subfolders of one folder, such as kyra3/dos-english and kyra3/dos-french, or added to ScummVM once per language on the same folder, shares that folder's gamelist.xml entry and artwork.
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
RetroAchievements, DB9, LLAPI, PWM, overclock, DualRAM, Sinden, and unstable nightly cores each get their own launcher IDs, selected per token with ?launcher=<launcher ID> or as a default with load_path. They are listed on Alternate Launchers, along with the launcher groups that let launchers.preference prefer a whole family.
Hardware-specific launchers
These cores share an existing system ID. Select their launcher from Frontend's Change launcher menu or with ?launcher=<launcher ID> in ZapScript. Their game folders and formats are:
| Launcher ID | System ID | Folders | Extensions |
|---|---|---|---|
Atari2600ARM | Atari2600 | ATARI2600 | .a26, .bin |
MacIIvi | MacOS | MacIIvi | .dsk, .img, .vhd, .hda, .iso, .toast, .cue, .bin, .chd |
MacLC | MacOS | MacLC | .dsk, .img, .vhd, .hda, .iso, .toast, .cue, .bin, .chd |
MacLCII | MacOS | MacLCii | .dsk, .img, .vhd, .hda |
MacQuadra800 | MacOS | MacQuadra800 | .hda, .vhd, .iso, .toast, .cue, .bin, .chd |
PC110 | DOS | PC110 | .img, .ima, .vfd, .vhd, .iso, .cue, .chd |
PCXTEGA | PCXT | PCXT-EGA | .img, .ima, .vfd, .vhd |
PETUniversal | PET2001 | PET_Universal | .prg, .tap, .d64, .d80, .d82 |
Phosphor | Audio | Phosphor | .mp3, .wav, .flac, .ogg, .tar |
Raster | Video | Raster | .mpg, .tar |
SparcStation20 | SparcStation | SparcStation | .raw, .iso |
System80 | TRS80 | System80 | .dsk, .jv1, .dmk, .cas |
Z486 | DOS | Z486 | .img, .ima, .vfd, .vhd, .iso, .cue, .chd |