Welcome on O2EM2 home page

Project description

O2em2 is an open source multi-platform Odyssey2 / Videopac+ emulator. The Odyssey2 (Videopac/Jopac in Europe) was a video game console created in the late 70s.
O2em2 is a fork of the dead o2em.

Why to fork o2em ?

After some years of usage of original O2EM project on a 32bit PC, I have tried to use it on a 64bit processor.
But in actual state o2em cant work on 64bit processor. After solved this, I tried to put it upstream.
But last release (o2em 1.18) is of 2007-01-23, and creators never replyied to my emails.
So, this project is born.

Projects goals and roadmap

  • Better code (indentation, styles, check return values )
  • SDL support
  • Better documentation of code
  • A manpage
  • autotools support
  • allegro 4.4 support
  • allegro 5.0 support
  • Correct all memory leaks (missing free, destroy_bitmap, etc...)
  • Correct all bugs entries of original project
  • Add Testing Framework usage (like CUnit)
  • Usage of gamelist.dat for dont have hardcoded correction for games
  • Multiplayer over LAN

Features matrix

x 1.18 1.5 1.6 1.7
allegro 4.4 NO DONE DONE ?
allegro 5.0 NO NO NO ?
gamelist NO WIP WIP ?
Network multiplayer NO NO NO ?
SDL video NO DONE ? ?
SDL sound NO MOSTLY ? ?
SDL joystick NO NO ? ?
SDL sound+voice NO NO ? ?
debug YES UNK ? ?
Current release 1.5 Future release 1.6
  • "DONE" means... that it is thought to be fully implemented. May contain bugs.
  • "MOSTLY" means that it is mostly implemented and may have known bugs.
  • "WIP" means that I have started on the initial implementation.
  • "UNK" means that I havent tested it.


O2EM2 is licensed under Clarified Artistic Licence
Some part are licenced under GPLv3

O2EM2 News

    11 April 2013

    Minor release of O2EM2.
    This release only solve some problem with some version of allegro that do not provide the allegro.m4
    Some version of allegro (4.4) does not provide autotools macro, you can find it here
    For those who want to use o2em2 on raspberry pi, for the moment only o2em2 with SDL is working due to segfault in allegro libraries

    29 September 2011.

    Initial version of O2EM2
    • Correction of CRC code, for 64bit support
    • Allegro 4.4 support (deprecation of textout_centre, textout etc...)
    • Lots of style correction
    • Elimination of all memleak
    • Begin of creation of gamelist.dat for permit to tag possible bios for each game and so auto select good BIOS
    • autotools support, now you can just do configure and make, make install
    • Some functions may have broken like debug
    • Initial SDL implementation of o2em2, still some problem with sound (scratchy sound sometime) and no joystick or voice
    • Added the option -identify for identifying a specific rom (o2em2 -identify roms/vp_14.bin)
    • Added the option -list for identifying all roms (o2em2 -list=./roms)
    See changelog.txt for all details


Screenshot o2em2 terrahawks Screenshot o2em2 duel


All available downloads can be found at Sourceforge.net

Installation, configuration, supported systems

For a simple installation:
  • Simply untar the o2em2 tarball
    • tar xvzf o2em2-src-releasenumber.tar.gz
  • Change directory to o2em2 directory
    • cd o2em2
  • and type ./configure --with-game-api=allegro
  • or ./configure --with-game-api=sdl
  • and type make
  • and type make install

Support, bugs, patchs, critics, etc..

Patch, contributions, critics ( even bad:) ) are welcome.
You can perhaps find me on channel #o2em2 on Freenode IRC servers

Usefull links

To be completed