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 (src/updaters/retroarch-updater.cpp:24-30). The core, parallel_n64_next_libretro, is fetched from parallel-launcher.ca (src/core/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 (src/core/retroarch.cpp:100-129). RetroArch is spawned as -L <core> --config <cfg> <rom> (src/core/retroarch.cpp:760-781). The launcher also rewrites the core's .info into retro-data/info at every startup (src/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 (src/main.cpp:65-94), the add-ROM dialog the same (src/ui/main-window.cpp:607-616), the library scanner *.[nvz]64 (src/core/rom-finder.cpp:271-278), romhacking.com downloads .z64 (src/rhdc/core/sync.cpp:238). A .bps is patched to a cartridge ROM before launch (src/ui/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/libretro.c:545-548 and the cart-and-disk subsystem at libretro/libretro.c:104-114.

Graphics plugin is chosen per ROM among ParaLLEl-RDP, Glide64, angrylion, GLideN64, Rice, glN64 and OGRE (src/core/settings.hpp:13-22, src/core/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 (gles2n64/src/glN64Config.c:246-254, Config_WriteConfig at gles2n64/src/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 (mupen64plus-video-gliden64/src/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 (src/core/retroarch.cpp:468, mupen64plus-video-gliden64/src/mupenplus/Config_mupenplus.cpp:170-241, libretro/libretro.c:2030-2040). Rice's ini reader and writer sit behind #if 0 (gles2rice/src/RiceConfig.cpp:453-463, gles2rice/src/Video.cpp:327-333).

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

64DD_IPL.bin optional in repo
64DD IPL ROM

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-10-10T11:26:01Z