feat: add 10 emulator profiles (batch 3)
freechaf (Channel F, 3 ROMs), freeintv (Intellivision, exec+grom),
ep128emu (Enterprise/TVC/CPC/ZX, 22 ROMs all built-in),
kronos (Saturn + 14 ST-V blobs), gambatte (GB/GBC boot ROMs),
mgba (GBA/GB/GBC/SGB, 10 CRC32 revisions), nestopia (FDS + NstDatabase),
px68k (X68000, 6 ROMs in keropi/), fuse (ZX Spectrum, 17 machines),
o2em (Odyssey2/Videopac, 4 BIOS by CRC32)
41 total profiles. Cross-reference: 644 undeclared, 167 in repo.
2026-03-17 19:23:58 +01:00
|
|
|
|
emulator: O2EM
|
|
|
|
|
|
type: libretro
|
2026-03-24 22:31:22 +01:00
|
|
|
|
core_classification: community_fork
|
feat: add 10 emulator profiles (batch 3)
freechaf (Channel F, 3 ROMs), freeintv (Intellivision, exec+grom),
ep128emu (Enterprise/TVC/CPC/ZX, 22 ROMs all built-in),
kronos (Saturn + 14 ST-V blobs), gambatte (GB/GBC boot ROMs),
mgba (GBA/GB/GBC/SGB, 10 CRC32 revisions), nestopia (FDS + NstDatabase),
px68k (X68000, 6 ROMs in keropi/), fuse (ZX Spectrum, 17 machines),
o2em (Odyssey2/Videopac, 4 BIOS by CRC32)
41 total profiles. Cross-reference: 644 undeclared, 167 in repo.
2026-03-17 19:23:58 +01:00
|
|
|
|
core: o2em_libretro
|
2026-03-24 22:31:22 +01:00
|
|
|
|
cores: [o2em_libretro]
|
feat: add 10 emulator profiles (batch 3)
freechaf (Channel F, 3 ROMs), freeintv (Intellivision, exec+grom),
ep128emu (Enterprise/TVC/CPC/ZX, 22 ROMs all built-in),
kronos (Saturn + 14 ST-V blobs), gambatte (GB/GBC boot ROMs),
mgba (GBA/GB/GBC/SGB, 10 CRC32 revisions), nestopia (FDS + NstDatabase),
px68k (X68000, 6 ROMs in keropi/), fuse (ZX Spectrum, 17 machines),
o2em (Odyssey2/Videopac, 4 BIOS by CRC32)
41 total profiles. Cross-reference: 644 undeclared, 167 in repo.
2026-03-17 19:23:58 +01:00
|
|
|
|
source: "https://github.com/libretro/libretro-o2em"
|
2026-03-24 22:31:22 +01:00
|
|
|
|
upstream: "https://sourceforge.net/projects/o2em/"
|
|
|
|
|
|
profiled_date: "2026-03-24"
|
2026-03-18 05:19:57 +01:00
|
|
|
|
core_version: "1.18"
|
|
|
|
|
|
display_name: "Magnavox - Odyssey2 / Philips Videopac+ (O2EM)"
|
feat: add 10 emulator profiles (batch 3)
freechaf (Channel F, 3 ROMs), freeintv (Intellivision, exec+grom),
ep128emu (Enterprise/TVC/CPC/ZX, 22 ROMs all built-in),
kronos (Saturn + 14 ST-V blobs), gambatte (GB/GBC boot ROMs),
mgba (GBA/GB/GBC/SGB, 10 CRC32 revisions), nestopia (FDS + NstDatabase),
px68k (X68000, 6 ROMs in keropi/), fuse (ZX Spectrum, 17 machines),
o2em (Odyssey2/Videopac, 4 BIOS by CRC32)
41 total profiles. Cross-reference: 644 undeclared, 167 in repo.
2026-03-17 19:23:58 +01:00
|
|
|
|
systems:
|
|
|
|
|
|
- odyssey2
|
|
|
|
|
|
- videopac
|
|
|
|
|
|
|
|
|
|
|
|
notes: |
|
2026-03-24 22:31:22 +01:00
|
|
|
|
Libretro port of O2EM, an Odyssey2/Videopac emulator by Daniel Boris
|
|
|
|
|
|
and André de la Rocha. Port by Arlindo M. de Oliveira.
|
feat: add 10 emulator profiles (batch 3)
freechaf (Channel F, 3 ROMs), freeintv (Intellivision, exec+grom),
ep128emu (Enterprise/TVC/CPC/ZX, 22 ROMs all built-in),
kronos (Saturn + 14 ST-V blobs), gambatte (GB/GBC boot ROMs),
mgba (GBA/GB/GBC/SGB, 10 CRC32 revisions), nestopia (FDS + NstDatabase),
px68k (X68000, 6 ROMs in keropi/), fuse (ZX Spectrum, 17 machines),
o2em (Odyssey2/Videopac, 4 BIOS by CRC32)
41 total profiles. Cross-reference: 644 undeclared, 167 in repo.
2026-03-17 19:23:58 +01:00
|
|
|
|
|
2026-03-24 22:31:22 +01:00
|
|
|
|
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.
|
feat: add 10 emulator profiles (batch 3)
freechaf (Channel F, 3 ROMs), freeintv (Intellivision, exec+grom),
ep128emu (Enterprise/TVC/CPC/ZX, 22 ROMs all built-in),
kronos (Saturn + 14 ST-V blobs), gambatte (GB/GBC boot ROMs),
mgba (GBA/GB/GBC/SGB, 10 CRC32 revisions), nestopia (FDS + NstDatabase),
px68k (X68000, 6 ROMs in keropi/), fuse (ZX Spectrum, 17 machines),
o2em (Odyssey2/Videopac, 4 BIOS by CRC32)
41 total profiles. Cross-reference: 644 undeclared, 167 in repo.
2026-03-17 19:23:58 +01:00
|
|
|
|
|
2026-03-24 22:31:22 +01:00
|
|
|
|
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.
|
feat: add 10 emulator profiles (batch 3)
freechaf (Channel F, 3 ROMs), freeintv (Intellivision, exec+grom),
ep128emu (Enterprise/TVC/CPC/ZX, 22 ROMs all built-in),
kronos (Saturn + 14 ST-V blobs), gambatte (GB/GBC boot ROMs),
mgba (GBA/GB/GBC/SGB, 10 CRC32 revisions), nestopia (FDS + NstDatabase),
px68k (X68000, 6 ROMs in keropi/), fuse (ZX Spectrum, 17 machines),
o2em (Odyssey2/Videopac, 4 BIOS by CRC32)
41 total profiles. Cross-reference: 644 undeclared, 167 in repo.
2026-03-17 19:23:58 +01:00
|
|
|
|
|
2026-03-24 22:31:22 +01:00
|
|
|
|
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.
|
feat: add 10 emulator profiles (batch 3)
freechaf (Channel F, 3 ROMs), freeintv (Intellivision, exec+grom),
ep128emu (Enterprise/TVC/CPC/ZX, 22 ROMs all built-in),
kronos (Saturn + 14 ST-V blobs), gambatte (GB/GBC boot ROMs),
mgba (GBA/GB/GBC/SGB, 10 CRC32 revisions), nestopia (FDS + NstDatabase),
px68k (X68000, 6 ROMs in keropi/), fuse (ZX Spectrum, 17 machines),
o2em (Odyssey2/Videopac, 4 BIOS by CRC32)
41 total profiles. Cross-reference: 644 undeclared, 167 in repo.
2026-03-17 19:23:58 +01:00
|
|
|
|
|
|
|
|
|
|
files:
|
|
|
|
|
|
- name: "o2rom.bin"
|
|
|
|
|
|
system: odyssey2
|
|
|
|
|
|
region: [north-america]
|
|
|
|
|
|
required: true
|
|
|
|
|
|
size: 1024
|
|
|
|
|
|
md5: "562d5ebf9e030a40d6fabfc2f33139fd"
|
|
|
|
|
|
sha1: "b2e1955d957a475de2411770452eff4ea19f4cee"
|
|
|
|
|
|
crc32: "8016a315"
|
feat: add emulator/system pack generation, validation checks, path resolution
add --emulator, --system, --standalone, --list-emulators, --list-systems
to verify.py and generate_pack.py. packs are RTU with data directories,
regional BIOS variants, and archive support.
validation: field per file (size, crc32, md5, sha1) with conflict
detection. by_path_suffix index in database.json for regional variant
resolution via dest_hint. restructure GameCube IPL to regional subdirs.
66 E2E tests, full pipeline verified.
2026-03-22 14:02:20 +01:00
|
|
|
|
validation: [size, crc32]
|
2026-03-24 22:31:22 +01:00
|
|
|
|
note: "Odyssey2 BIOS (G7000 NTSC). Default, vpp=0."
|
feat: add 10 emulator profiles (batch 3)
freechaf (Channel F, 3 ROMs), freeintv (Intellivision, exec+grom),
ep128emu (Enterprise/TVC/CPC/ZX, 22 ROMs all built-in),
kronos (Saturn + 14 ST-V blobs), gambatte (GB/GBC boot ROMs),
mgba (GBA/GB/GBC/SGB, 10 CRC32 revisions), nestopia (FDS + NstDatabase),
px68k (X68000, 6 ROMs in keropi/), fuse (ZX Spectrum, 17 machines),
o2em (Odyssey2/Videopac, 4 BIOS by CRC32)
41 total profiles. Cross-reference: 644 undeclared, 167 in repo.
2026-03-17 19:23:58 +01:00
|
|
|
|
source_ref: "libretro.c:182-186"
|
|
|
|
|
|
|
|
|
|
|
|
- name: "c52.bin"
|
|
|
|
|
|
system: videopac
|
|
|
|
|
|
region: [europe]
|
|
|
|
|
|
required: true
|
|
|
|
|
|
size: 1024
|
|
|
|
|
|
md5: "f1071cdb0b6b10dde94d3bc8a6146387"
|
|
|
|
|
|
sha1: "a6120aed50831c9c0d95dbdf707820f601d9452e"
|
|
|
|
|
|
crc32: "a318e8d6"
|
feat: add emulator/system pack generation, validation checks, path resolution
add --emulator, --system, --standalone, --list-emulators, --list-systems
to verify.py and generate_pack.py. packs are RTU with data directories,
regional BIOS variants, and archive support.
validation: field per file (size, crc32, md5, sha1) with conflict
detection. by_path_suffix index in database.json for regional variant
resolution via dest_hint. restructure GameCube IPL to regional subdirs.
66 E2E tests, full pipeline verified.
2026-03-22 14:02:20 +01:00
|
|
|
|
validation: [size, crc32]
|
2026-03-24 22:31:22 +01:00
|
|
|
|
note: "Videopac G7000 European BIOS. vpp=0, auto-sets PAL."
|
feat: add 10 emulator profiles (batch 3)
freechaf (Channel F, 3 ROMs), freeintv (Intellivision, exec+grom),
ep128emu (Enterprise/TVC/CPC/ZX, 22 ROMs all built-in),
kronos (Saturn + 14 ST-V blobs), gambatte (GB/GBC boot ROMs),
mgba (GBA/GB/GBC/SGB, 10 CRC32 revisions), nestopia (FDS + NstDatabase),
px68k (X68000, 6 ROMs in keropi/), fuse (ZX Spectrum, 17 machines),
o2em (Odyssey2/Videopac, 4 BIOS by CRC32)
41 total profiles. Cross-reference: 644 undeclared, 167 in repo.
2026-03-17 19:23:58 +01:00
|
|
|
|
source_ref: "libretro.c:192-197"
|
|
|
|
|
|
|
|
|
|
|
|
- name: "g7400.bin"
|
|
|
|
|
|
system: videopac
|
|
|
|
|
|
region: [europe]
|
|
|
|
|
|
required: true
|
|
|
|
|
|
size: 1024
|
|
|
|
|
|
md5: "c500ff71236068e0dc0d0603d265ae76"
|
|
|
|
|
|
sha1: "5130243429b40b01a14e1304d0394b8459a6fbae"
|
|
|
|
|
|
crc32: "e20a9f41"
|
feat: add emulator/system pack generation, validation checks, path resolution
add --emulator, --system, --standalone, --list-emulators, --list-systems
to verify.py and generate_pack.py. packs are RTU with data directories,
regional BIOS variants, and archive support.
validation: field per file (size, crc32, md5, sha1) with conflict
detection. by_path_suffix index in database.json for regional variant
resolution via dest_hint. restructure GameCube IPL to regional subdirs.
66 E2E tests, full pipeline verified.
2026-03-22 14:02:20 +01:00
|
|
|
|
validation: [size, crc32]
|
2026-03-24 22:31:22 +01:00
|
|
|
|
note: "Videopac+ G7400 European BIOS. vpp=1."
|
feat: add 10 emulator profiles (batch 3)
freechaf (Channel F, 3 ROMs), freeintv (Intellivision, exec+grom),
ep128emu (Enterprise/TVC/CPC/ZX, 22 ROMs all built-in),
kronos (Saturn + 14 ST-V blobs), gambatte (GB/GBC boot ROMs),
mgba (GBA/GB/GBC/SGB, 10 CRC32 revisions), nestopia (FDS + NstDatabase),
px68k (X68000, 6 ROMs in keropi/), fuse (ZX Spectrum, 17 machines),
o2em (Odyssey2/Videopac, 4 BIOS by CRC32)
41 total profiles. Cross-reference: 644 undeclared, 167 in repo.
2026-03-17 19:23:58 +01:00
|
|
|
|
source_ref: "libretro.c:187-191"
|
|
|
|
|
|
|
|
|
|
|
|
- name: "jopac.bin"
|
|
|
|
|
|
system: videopac
|
|
|
|
|
|
region: [france]
|
|
|
|
|
|
required: true
|
|
|
|
|
|
size: 1024
|
|
|
|
|
|
md5: "279008e4a0db2dc5f1c048853b033828"
|
|
|
|
|
|
sha1: "54b8d2c1317628de51a85fc1c424423a986775e4"
|
|
|
|
|
|
crc32: "11647ca5"
|
feat: add emulator/system pack generation, validation checks, path resolution
add --emulator, --system, --standalone, --list-emulators, --list-systems
to verify.py and generate_pack.py. packs are RTU with data directories,
regional BIOS variants, and archive support.
validation: field per file (size, crc32, md5, sha1) with conflict
detection. by_path_suffix index in database.json for regional variant
resolution via dest_hint. restructure GameCube IPL to regional subdirs.
66 E2E tests, full pipeline verified.
2026-03-22 14:02:20 +01:00
|
|
|
|
validation: [size, crc32]
|
2026-03-24 22:31:22 +01:00
|
|
|
|
note: "Videopac+ G7400 French BIOS (JoPac). vpp=1."
|
feat: add 10 emulator profiles (batch 3)
freechaf (Channel F, 3 ROMs), freeintv (Intellivision, exec+grom),
ep128emu (Enterprise/TVC/CPC/ZX, 22 ROMs all built-in),
kronos (Saturn + 14 ST-V blobs), gambatte (GB/GBC boot ROMs),
mgba (GBA/GB/GBC/SGB, 10 CRC32 revisions), nestopia (FDS + NstDatabase),
px68k (X68000, 6 ROMs in keropi/), fuse (ZX Spectrum, 17 machines),
o2em (Odyssey2/Videopac, 4 BIOS by CRC32)
41 total profiles. Cross-reference: 644 undeclared, 167 in repo.
2026-03-17 19:23:58 +01:00
|
|
|
|
source_ref: "libretro.c:198-203"
|
|
|
|
|
|
|
2026-03-24 22:31:22 +01:00
|
|
|
|
- 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"
|