Files
libretro/emulators/o2em.yml
T
Abdessamad Derraz e7aa9e870b fix: state libretro core versions from their code
Each libretro profile records version_basis and core_version is read
there at its pin. snes9x states 1.63 in snes9x.h, nestopia 2.0.0, mgba
0.11.0, vice 3.10, atari800's libretro tree 7.0.0. Cores whose build
takes its version from git carry the nearest tag in describe form
(flycast v2.7-90-ge88b0ce, ppsspp, duckstation, gearcoleco), placeholders
copied from .info files (Git, SVN) are replaced by the code's statement,
and a code that states none is null with kind none.
2026-10-27 19:21:27 +01:00

99 lines
3.6 KiB
YAML
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
emulator: O2EM
type: libretro
core_classification: community_fork
core: o2em_libretro
cores: [o2em_libretro]
source: "https://github.com/libretro/libretro-o2em"
upstream: "https://sourceforge.net/projects/o2em/"
profiled_date: "2026-03-24"
source_commit: "679d6fec04963f6e70a7ec217e3d0ebb1fe472fc"
core_version: "1.18"
version_basis:
kind: file
path: "libretro.c"
pattern: 'info->library_version\s+=\s+"([^"]+)'
display_name: "Magnavox - Odyssey2 / Philips Videopac+ (O2EM)"
systems:
- odyssey2
- videopac
notes: |
Libretro port of O2EM, an Odyssey2/Videopac emulator by Daniel Boris
and André de la Rocha. Port by Arlindo M. de Oliveira.
One BIOS ROM selected via o2em_bios core option (default o2rom.bin).
Loaded into rom_table[0] (1024 bytes), identified by CRC32. The CRC32 sets
the model (vpp and bios), and an unknown one still loads with vpp=0.
ref: libretro.c:194-226
vpp=1 for Videopac+ variants (g7400.bin, jopac.bin).
Core fails to load without the selected BIOS.
Voice module ("The Voice" speech synthesis add-on) emulation via WAV
samples in system/voice/. 9 banks × 128 samples, named {bank}{sample}.WAV
(e.g. E480.WAV). Compiled with HAVE_VOICE=1 on most platforms. Optional:
core works without samples, speech is silently skipped.
BIOS loading: load_bios() at libretro.c:150-229.
BIOS selection: libretro_core_options.h:52-64.
Voice loading: init_voice() at src/voice.c:39-91, called from libretro.c:1060-1067.
files:
- name: "o2rom.bin"
system: odyssey2
required: true
variant_group: "o2em-bios"
min_size: 1024
md5: "562d5ebf9e030a40d6fabfc2f33139fd"
sha1: "b2e1955d957a475de2411770452eff4ea19f4cee"
crc32: "8016a315"
validation: [size]
note: >
Odyssey2 BIOS (G7000 NTSC), vpp=0. The default value of o2em_bios, so
the core opens it unless another BIOS is chosen. retro_load_game fails
when the chosen file cannot be opened or holds fewer than 1024 bytes.
Only the first 1024 bytes are read.
source_ref: "libretro_core_options.h:52-64, libretro.c:1143-1147, libretro.c:989, libretro.c:1043-1044, libretro.c:160-189"
- name: "c52.bin"
system: videopac
required: false
variant_group: "o2em-bios"
min_size: 1024
md5: "f1071cdb0b6b10dde94d3bc8a6146387"
sha1: "a6120aed50831c9c0d95dbdf707820f601d9452e"
crc32: "a318e8d6"
validation: [size]
note: "Videopac G7000 European BIOS. vpp=0, auto-sets PAL. Opened only when o2em_bios names it."
source_ref: "libretro_core_options.h:52-64, libretro.c:1149-1155, libretro.c:1043-1044"
- name: "g7400.bin"
system: videopac
required: false
variant_group: "o2em-bios"
min_size: 1024
md5: "c500ff71236068e0dc0d0603d265ae76"
sha1: "5130243429b40b01a14e1304d0394b8459a6fbae"
crc32: "e20a9f41"
validation: [size]
note: "Videopac+ G7400 European BIOS. vpp=1. Opened only when o2em_bios names it."
source_ref: "libretro_core_options.h:52-64, libretro.c:1156-1161, libretro.c:1043-1044"
- name: "jopac.bin"
system: videopac
required: false
variant_group: "o2em-bios"
min_size: 1024
md5: "279008e4a0db2dc5f1c048853b033828"
sha1: "54b8d2c1317628de51a85fc1c424423a986775e4"
crc32: "11647ca5"
validation: [size]
note: "Videopac+ G7400 French BIOS (JoPac). vpp=1. Opened only when o2em_bios names it."
source_ref: "libretro_core_options.h:52-64, libretro.c:1162-1167, libretro.c:1043-1044"
- name: "voice/"
type: directory
required: false
category: game_data
note: "The Voice speech synthesis WAV samples. 9 banks (E4, E8-EF) × 128 samples."
source_ref: "src/voice.c:38-90, libretro.c:1060-1068"