mirror of
https://github.com/Abdess/retroarch_system.git
synced 2026-10-20 18:59:07 -05:00
Profiles that read two repositories, a libretro port and its upstream, now prefix each citation with source or upstream, decided by which tree carries the cited value at its pin. The emulator pages use the word to tell libretro glue, emulator code as the port carries it, and the upstream emulator apart.
88 lines
3.5 KiB
YAML
88 lines
3.5 KiB
YAML
emulator: Vircon32
|
|
type: libretro
|
|
core_classification: official_port
|
|
source: "https://github.com/vircon32/vircon32-libretro"
|
|
upstream: "https://github.com/vircon32/ComputerSoftware"
|
|
profiled_date: "2026-03-25"
|
|
source_commit: "dd78c5cea1fcaa382b7492d0d813d6c1534914d7"
|
|
core_version: "2026.2.18"
|
|
display_name: "Vircon32"
|
|
cores:
|
|
- vircon32
|
|
systems:
|
|
- vircon32
|
|
|
|
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
|
|
(ConsoleLogic/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.
|
|
|
|
files:
|
|
- name: "Vircon32Bios.v32"
|
|
system: vircon32
|
|
description: "Vircon32 console BIOS (custom override)"
|
|
required: false
|
|
hle_fallback: true
|
|
size: 1073060
|
|
md5: "73f04397cbb2dafcf2047b19a856153a"
|
|
sha1: "67ddbcd018f03ed74b6e013074d92cc5f1f51c80"
|
|
source_ref: "source libretro.cpp:422-425"
|
|
note: |
|
|
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.
|
|
|
|
platform_details:
|
|
embedded_bios:
|
|
version: "Standard BIOS v1.2"
|
|
source_ref: "source libretro.cpp:28, source Assets/StandardBios.v32"
|
|
file_size: 1073060
|
|
md5: "73f04397cbb2dafcf2047b19a856153a"
|
|
sha1: "67ddbcd018f03ed74b6e013074d92cc5f1f51c80"
|
|
note: |
|
|
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: "source VirconDefinitions/FileFormats.hpp, source ConsoleLogic/V32Console.cpp:259-431"
|
|
note: |
|
|
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: "source ConsoleLogic/V32Console.cpp:468-696"
|
|
note: |
|
|
Cartridges use CartridgeSignature with up to 256 textures and
|
|
1024 sounds. Program ROM can be up to 128M words (512 MB).
|