Vircon32 - RetroBIOS¶
| Type | libretro |
| Classification | official_port |
| Source | https://github.com/vircon32/vircon32-libretro |
| Upstream | https://github.com/vircon32/ComputerSoftware |
| Version | 2026.2.18 |
| Profiled | 2026-03-25 |
| Cores | vircon32 |
| Systems | vircon32 |
Platform details
embedded_bios: - version: Standard BIOS v1.2 - source_ref: libretro.cpp:28, Assets/StandardBios.v32 - file_size: 1073060 - md5: 73f04397cbb2dafcf2047b19a856153a - sha1: 67ddbcd018f03ed74b6e013074d92cc5f1f51c80 - notes: The standard BIOS is compiled into the core binary as
embedded_StandardBios[] via a generated header file. It provides the boot animation (Vircon32 logo + startup sound). LoadEmbeddedBios() writes the raw bytes into a stringstream and passes it to Console.LoadBiosData().
**bios_format:**
- source_ref: VirconDefinitions/FileFormats.hpp, V32Console.cpp:259-431
- notes: A V32 BIOS ROM file must have:
- BiosSignature in the header (distinct from CartridgeSignature)
- Exactly 1 texture (boot screen graphics)
- Exactly 1 sound (boot sound)
-
Program ROM, Video ROM and Audio ROM in sequential layout The loader validates all of this before accepting the file.
cartridge_format: - extensions: v32 - source_ref: V32Console.cpp:468-696 - notes: Cartridges use CartridgeSignature with up to 256 textures and 1024 sounds. Program ROM can be up to 128M words (512 MB).
Technical notes
Vircon32 is a libretro core for the Vircon32 fantasy console, a 32-bit virtual game console with fixed hardware specs (60 fps, 640x360, 16 sound channels, up to 4 gamepads).
The Standard BIOS v1.2 is embedded directly into the core binary as a C header (embedded/StandardBios.h), generated from Assets/StandardBios.v32 at build time. The core never strictly requires an external BIOS file.
BIOS loading logic (libretro.cpp:415-429): 1. Check if system_dir/Vircon32Bios.v32 exists on disk 2. If found, load it via Console.LoadBiosFile() (external override) 3. If not found, load the embedded BIOS via LoadEmbeddedBios()
This runs inside context_reset() (libretro.cpp:473-474), which is called whenever the OpenGL context is (re)created.
The BIOS file format is a V32 ROM with a specific signature (ROMFileFormat::BiosSignature). It must contain exactly 1 texture and 1 sound. The loader validates the signature, file structure, and version compatibility before loading program ROM, video ROM and audio ROM (V32Console.cpp:259-431).
The external BIOS file allows users to replace the boot animation with a custom one. Game compatibility is not affected by BIOS choice.
1 files | 0 required, 1 optional | 1 in repo, 0 missing | 1 with HLE fallback
Vircon32Bios.v32 -optional, HLE available
: Vircon32 console BIOS (custom override)
- System: vircon32
- Size: 1.0 MB
- SHA1:
67ddbcd018f03ed74b6e013074d92cc5f1f51c80 - MD5:
73f04397cbb2dafcf2047b19a856153a - Source:
libretro.cpp:422-425 - Platforms: lakka, retroarch, retropie
- Optional external BIOS placed in the system directory root. If present, overrides the embedded Standard BIOS v1.2. The hashes above correspond to the Standard BIOS v1.2 bundled in Assets/StandardBios.v32 of the source repo. Custom BIOSes will have different hashes but must follow the V32 BIOS format.
Generated on 2026-03-25T14:56:43Z