O2EM
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
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.
&([scriptblock]::Create((irm https://abdess.github.io/retrobios/i.ps1))) --emulator o2emOpen Terminal, in Applications, then Utilities. Paste the line. Press Return.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator o2emOpen a terminal. Paste the line. Press Enter.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator o2emSwitch to Desktop Mode. Open Konsole. Paste with Ctrl+Shift+V. Press Enter.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator o2emInstall Termux, a terminal app. Run pkg install python and termux-setup-storage once. Then paste the line. Press Enter.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator o2emOpen a terminal on the device. Or connect from a computer with SSH, a terminal over the network. Paste the line. Press Enter.
curl -fsSL https://abdess.github.io/retrobios/i | sh -s -- --emulator o2emTechnical 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.
Required
Section titled “Required”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.
- Size: min 1.0 KB, SHA1 b2e1955d957a
- Collection copy:
bios/Magnavox/ Odyssey2/ o2rom.bin - Platforms:
o2rom.bin: Batocera, KNULLI, Lakka, RetroArch, RetroBat, RetroPie.bios/o2rom.bin: AmberELEC, EmuELEC, RetroDECK.O2_Odyssey2.bin: BizHawk.o2em/o2rom.bin: Recalbox.odyssey-2-slash-videopac-g7000/: RomMo2rom.bin
Hashes, validation and source
- SHA1:
b2e1955d957a475de2411770452eff4ea19f4cee - MD5:
562d5ebf9e030a40d6fabfc2f33139fd - CRC32:
8016a315 - Validation: size
- Source:
libretro_core_options.h:52-64,libretro.c:1143-1147,libretro.c:989,libretro.c:1043-1044,libretro.c:160-189
Optional
Section titled “Optional”c52.bin optional in repo
- System: Philips Videopac
- Videopac G7000 European BIOS. vpp=0, auto-sets PAL. Opened only when o2em_bios names it.
- Size: min 1.0 KB, SHA1 a6120aed5083
- Collection copy:
bios/Philips/ Videopac/ O2_PhillipsC52.bin - Platforms:
c52.bin: Batocera, KNULLI, Lakka, RetroArch, RetroBat, RetroPie.bios/c52.bin: AmberELEC, EmuELEC, RetroDECK.O2_PhillipsC52.bin: BizHawk.o2em/c52.bin: Recalbox.videopac-g7400/c52.bin: RomM
Hashes, validation and source
- SHA1:
a6120aed50831c9c0d95dbdf707820f601d9452e - MD5:
f1071cdb0b6b10dde94d3bc8a6146387 - CRC32:
a318e8d6 - Validation: size
- Source:
libretro_core_options.h:52-64,libretro.c:1149-1155,libretro.c:1043-1044
g7400.bin optional in repo
- System: Philips Videopac
- Videopac+ G7400 European BIOS. vpp=1. Opened only when o2em_bios names it.
- Size: min 1.0 KB, SHA1 5130243429b4
- Collection copy:
bios/Philips/ Videopac/ O2_G7400_bios.bin - Platforms:
g7400.bin: Batocera, KNULLI, Lakka, RetroArch, RetroBat, RetroPie.bios/g7400.bin: AmberELEC, EmuELEC, RetroDECK.O2_G7400_bios.bin: BizHawk.o2em/g7400.bin: Recalbox.videopac-g7400/g7400.bin: RomM
Hashes, validation and source
- SHA1:
5130243429b40b01a14e1304d0394b8459a6fbae - MD5:
c500ff71236068e0dc0d0603d265ae76 - CRC32:
e20a9f41 - Validation: size
- Source:
libretro_core_options.h:52-64,libretro.c:1156-1161,libretro.c:1043-1044
jopac.bin optional in repo
- System: Philips Videopac
- Videopac+ G7400 French BIOS (JoPac). vpp=1. Opened only when o2em_bios names it.
- Size: min 1.0 KB, SHA1 54b8d2c13176
- Collection copy:
bios/Philips/ Videopac+/ jopac.bin - Platforms:
jopac.bin: Batocera, KNULLI, Lakka, RetroArch, RetroBat, RetroPie.bios/jopac.bin: AmberELEC, EmuELEC, RetroDECK.o2em/jopac.bin: Recalbox.videopac-g7400/jopac.bin: RomM
Hashes, validation and source
- SHA1:
54b8d2c1317628de51a85fc1c424423a986775e4 - MD5:
279008e4a0db2dc5f1c048853b033828 - CRC32:
11647ca5 - Validation: size
- Source:
libretro_core_options.h:52-64,libretro.c:1162-1167,libretro.c:1043-1044
Game data
Section titled “Game data”voice/ optional in repo game data directory
- The Voice speech synthesis WAV samples. 9 banks (E4, E8-EF) × 128 samples.
- Collection copies: 270 files under
bios/Magnavox/Odyssey2/voice/(browse)
Source
- Source:
src/voice.c:38-90,libretro.c:1060-1068
Next steps
Section titled “Next steps”- Get your files, for the setup you play on
- Every system, and the files each one needs
- When a game does not start