Skip to content

O2EM emulates Magnavox Odyssey2 and Philips Videopac. It reads 5 files, 1 of them required: without a required file it does not start games. A required file is needed only by the machines that use it. Each file below cites the line of source code that reads it.

About this profile
Detail Value
Type libretro
Classification Community fork
Source https://github.com/libretro/libretro-o2em
Upstream https://sourceforge.net/projects/o2em/
Version 1.18, stated in libretro.c
Revision libretro/libretro-o2em@679d6fec0496
Profiled 2026-03-24
Profile YAML, JSON
Cores o2em_libretro
Systems Magnavox Odyssey2, Philips Videopac
Core ID o2em_libretro
Install this emulator's files

The installer finds your setup and its BIOS folder, then downloads only the files this emulator reads there and checks each one.

Open the Start menu. Type PowerShell and open it. Paste the line. Press Enter.

PowerShell
&([scriptblock]::Create((irm https://abdess.github.io/retrobios/i.ps1))) --emulator o2em
Technical 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.

5 files: 1 required, 4 optional.

By kind: 4 BIOS and 1 game data.

In this collection: 5 in repo and 0 missing.

o2rom.bin required for Magnavox Odyssey2 in repo

  • System: Magnavox Odyssey2
  • 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.
Hashes, validation and source

c52.bin optional in repo

  • System: Philips Videopac
  • Videopac G7000 European BIOS. vpp=0, auto-sets PAL. Opened only when o2em_bios names it.
Hashes, validation and source

g7400.bin optional in repo

  • System: Philips Videopac
  • Videopac+ G7400 European BIOS. vpp=1. Opened only when o2em_bios names it.
Hashes, validation and source

jopac.bin optional in repo

  • System: Philips Videopac
  • Videopac+ G7400 French BIOS (JoPac). vpp=1. Opened only when o2em_bios names it.
Hashes, validation and source

voice/ optional in repo game data directory

  • The Voice speech synthesis WAV samples. 9 banks (E4, E8-EF) × 128 samples.
Source
.