Skip to content

Parallel Launcher - RetroBIOS

Type standalone
Classification Launchers
Source https://gitlab.com/parallel-launcher/parallel-launcher
Upstream https://gitlab.com/parallel-launcher/parallel-n64
Version 9.0.5
Profiled 2026-08-08
Cores parallel-launcher, ca.parallel_launcher.ParallelLauncher
Systems nintendo-64, nintendo-64dd
Technical notes

Qt front end that installs and drives its own RetroArch and its own fork of ParaLLEl N64. RetroArch is fetched from buildbot.libretro.com as a stable release archive (retroarch-updater.cpp:24-30). The core, parallel_n64_next_libretro, is fetched from parallel-launcher.ca (updates.cpp:190-213) into retro-data/cores. Core version at this profiling is 2.28.

Neither lands in a user RetroArch install. The system directory the core reads from is retro-data/system under the launcher's own data directory, written into a private retroarch.cfg on every launch (retroarch.cpp:100-129). RetroArch is spawned as -L <core> --config <cfg> <rom> (retroarch.cpp:760-781). The launcher also rewrites the core's .info into retro-data/info at every startup (main.cpp:149-156), which is how RetroArch learns of the 64DD firmware entry.

Content is restricted to cartridge formats at every entry point: command line and file associations take .z64 .n64 .v64 .bps (main.cpp:65-94), the add-ROM dialog the same (main-window.cpp:607-616), the library scanner *.[nvz]64 (rom-finder.cpp:271-278), romhacking.com downloads .z64 (sync.cpp:238). A .bps is patched to a cartridge ROM before launch (play.cpp:721-757). No --subsystem argument is passed either, so neither route into the core's disk path opens: the header check at libretro.c:545-548 and the cart-and-disk subsystem at libretro.c:104-114.

Graphics plugin is chosen per ROM among ParaLLEl-RDP, Glide64, angrylion, GLideN64, Rice, glN64 and OGRE (settings.hpp:13-22, retroarch.cpp:55-64).

Selecting glN64 also reads gles2n64.conf from the system directory root at plugin init, and writes it out with defaults when it is absent (glN64Config.c:246-254, Config_WriteConfig at glN64Config.c:95).

Three paths the fork computes but never reads. GLideN64 builds without FreeType here, so the font file name it resolves for on-screen text is assigned and dropped (TextDrawer.cpp:145-188). Its per-game ini is compiled in as a header and the external copy is skipped because the launcher writes INI Behaviour as disabled on every launch (retroarch.cpp:468, Config_mupenplus.cpp:170-241, libretro.c:2030-2040). Rice's ini reader and writer sit behind #if 0 (RiceConfig.cpp:453-463, Video.cpp:327-333).

2 files | 0 required, 2 optional | 2 in repo, 0 missing

64DD_IPL.bin optional in repo
64DD IPL ROM

  • System: nintendo-64dd
  • Source: libretro/libretro.c:622-666
  • Platforms: batocera, lakka, retroarch, retrodeck, retropie, romm
  • Read from the system directory root when disk content is loaded, with no size or hash check. The core drops into its dead-emulator loop when it is absent. Content counts as disk when its header carries a 64DD magic word, or when it arrives on the second slot of the cart-and-disk subsystem.

gles2n64rom.conf optional in repo
glN64 per-ROM settings database

  • System: nintendo-64
  • Source: gles2n64/src/glN64Config.c:185-228
  • Read at plugin init when the glN64 graphics plugin is selected, keyed on the name in the ROM header. Global settings stand when absent.

Generated on 2026-08-23T16:12:06Z