Nuance
Nuance emulates VM Labs Nuon. It reads 9 files, 3 of them required: without a required file it does not start games.
About this profile
Install this emulator's files
The installer finds your setup and its BIOS folder, then downloads only the files this emulator reads there and checks each one.
Open the Start menu. Type PowerShell and open it. Paste the line. Press Enter.
&([scriptblock]::Create((irm https://abdess.github.io/retrobios/i.ps1))) --emulator nuanceOpen Terminal, in Applications, then Utilities. Paste the line. Press Return.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator nuanceOpen a terminal. Paste the line. Press Enter.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator nuanceSwitch to Desktop Mode. Open Konsole. Paste with Ctrl+Shift+V. Press Enter.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator nuanceInstall Termux, a terminal app. Run pkg install python and termux-setup-storage once. Then paste the line. Press Enter.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator nuanceOpen a terminal on the device. Or connect from a computer with SSH, a terminal over the network. Paste the line. Press Enter.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator nuanceTechnical notes
NUON emulator written by Mike Perry (2002-2007) and continued as NuanceResurrection by Carsten Waechter from the source archive released after the author's death. The Linux and libretro ports were merged into the upstream tree in 2026 (pull request 75), and the port's last commit is part of the upstream history.
The three BIOS files are not firmware dumps. bios.cof, minibios.cof and minibiosX.cof are Aries assembly implementations of BIOS routines, assembled from bios.s, minibios.s and minibiosX.s in the source tree. Every other BIOS call is handled in C++ through BiosJumpTable (src/bios.cpp:395-547). The entries left to the assembly code are the comm bus calls, TimeToSleep, MPEWait and BiosGetInfo.
retro_load_game looks for <system>/nuance/bios.cof and changes the working directory to <system>/nuance when it exists, else to the directory of the core library when bios.cof sits beside it (src/libretro.cpp:332-371). Every data file is then opened by bare name from the working directory. InitBios loads bios.cof into MPE3 and MediaInitMPE loads minibios.cof into MPE0 (minibiosX.cof on MPEs 1 to 3). A failed load prints "Missing File!" and emulation continues without the routines. LoadCoffFile checks the COFF magic 0x0120 and copies the sections to their physical addresses. No size or hash is checked (src/coff.cpp:47-176).
Two builds of bios.cof exist. The source tree carries the NuanceExperimental build (23938 bytes, 12 sections, with commrecv_vars and commrecv_queues). The 0.6.6 and 0.6.7 release archives ship the 2007 build (19410 bytes, 10 sections). Both carry the same biosvars, haltab, biosinfo, halstub, biosdata, halts and controllerdata sections and the C++ side references neither extra section.
nuance.cfg is read from the working directory, then from the directory of the running executable (src/NuonEnvironment.cpp:547-563). Without it the values set in NuonEnvironment::Init apply. The GLSL shaders are opened from the working directory and fall back to the copies compiled into the binary (src/ShaderProgram.cpp:94-144, src/embedded_shaders.h). FlashEEPROM.bin is read by the FlashEEPROM constructor and written by the destructor, both relative to the process working directory at load and unload of the core (src/FlashEEPROM.h:36-51). Game data (nuon.run, nuon.dat) is read from the loaded disc image or directory, and no other fixed file is opened.
9 files: 3 required, 6 optional.
In this collection: 8 in repo and 1 missing.
Required
Section titled “Required”| File | Status | Hash |
|---|---|---|
bios.cofBIOS routines for MPE3, Aries COFF assembled from bios.s
Hashes and source
| in repo | MD5 23bf80c259f1 |
minibios.cofMedia MPE minibios for MPE0, assembled from minibios.s
Hashes and source
| in repo | MD5 1abc7f6265b8 |
minibiosX.cofMedia MPE minibios for MPEs 1 to 3, addresses shifted down by 4 KB
Hashes and source
| in repo | MD5 ceb37f4e78c1 |
Optional
Section titled “Optional”| File | Status | Hash |
|---|---|---|
nuance.cfgEmulator configuration (compiler options, audio interrupts, controller mappings)
Hashes and source
| in repo | MD5 20becfdb9320 |
video_generic.vsGLSL vertex shader
Hashes and source
| in repo built-in fallback | MD5 5944fea1ff20 |
video_m32_o32.fsGLSL fragment shader, YCrCb to RGB conversion
Hashes and source
| in repo built-in fallback | MD5 e23f4668fea6 |
video_m32_o32_crt.fsGLSL fragment shader with CRT post-processing
Hashes and source
| in repo built-in fallback | MD5 2e1335cd9b14 |
FlashEEPROM.binAtmel AT49BV162A flash ROM image, 2 MB at 0xF0000000
Source
| in repo | - |
breakpoint.txtSingle breakpoint address, first line in hexadecimal
Source
| missing standalone | - |
Next steps
Section titled “Next steps”- Get your files, for the setup you play on
- Every system, and the files each one needs
- When a game does not start