Files
libretro/emulators/o2em.yml
Abdessamad Derraz 0543165ed2 feat: re-profile 22 emulators, refactor validation to common.py
batch re-profiled nekop2 through pokemini. mupen64plus renamed to
mupen64plus_next. new profiles: nes, mupen64plus_next.
validation functions (_build_validation_index, check_file_validation)
consolidated in common.py — single source of truth for verify.py
and generate_pack.py. pipeline 100% consistent on all 6 platforms.
2026-03-24 22:31:22 +01:00

87 lines
2.7 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"
core_version: "1.18"
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.
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: libretro.c load_bios() lines 145-212.
BIOS selection: libretro_core_options.h lines 52-64.
Voice loading: voice.c init_voice() lines 38-79, called from libretro.c:1025-1032.
files:
- name: "o2rom.bin"
system: odyssey2
region: [north-america]
required: true
size: 1024
md5: "562d5ebf9e030a40d6fabfc2f33139fd"
sha1: "b2e1955d957a475de2411770452eff4ea19f4cee"
crc32: "8016a315"
validation: [size, crc32]
note: "Odyssey2 BIOS (G7000 NTSC). Default, vpp=0."
source_ref: "libretro.c:182-186"
- name: "c52.bin"
system: videopac
region: [europe]
required: true
size: 1024
md5: "f1071cdb0b6b10dde94d3bc8a6146387"
sha1: "a6120aed50831c9c0d95dbdf707820f601d9452e"
crc32: "a318e8d6"
validation: [size, crc32]
note: "Videopac G7000 European BIOS. vpp=0, auto-sets PAL."
source_ref: "libretro.c:192-197"
- name: "g7400.bin"
system: videopac
region: [europe]
required: true
size: 1024
md5: "c500ff71236068e0dc0d0603d265ae76"
sha1: "5130243429b40b01a14e1304d0394b8459a6fbae"
crc32: "e20a9f41"
validation: [size, crc32]
note: "Videopac+ G7400 European BIOS. vpp=1."
source_ref: "libretro.c:187-191"
- name: "jopac.bin"
system: videopac
region: [france]
required: true
size: 1024
md5: "279008e4a0db2dc5f1c048853b033828"
sha1: "54b8d2c1317628de51a85fc1c424423a986775e4"
crc32: "11647ca5"
validation: [size, crc32]
note: "Videopac+ G7400 French BIOS (JoPac). vpp=1."
source_ref: "libretro.c:198-203"
- name: "voice/"
required: false
category: game_data
note: "The Voice speech synthesis WAV samples. 9 banks (E4, E8-EF) × 128 samples."
source_ref: "voice.c:38-79, libretro.c:1025-1032"