O2EM est un émulateur de Magnavox Odyssey 2 (Philips VideoPac G7000) et Videopac+ basé sur O2EM de Daniel Boris, Andre de la Rocha et Arlindo Oliveira puis amélioré par Manopac. La dernière version officielle de l’émulateur (1.18) se base sur les versions non officielles 1.17.x de Monopac (qui lui même avait continué le développement de l’émulateur depuis la v1.17). Cette version fait donc directement suite à la dernière officielle ce qui rend cette release la plus aboutie de toute.

unofficial release by manopac (the one that emulates the C7420 Home Computer cartridge)

Emulator changes
– updated source to Allegro 4.4.1
– emulates Z80 processor in cartridges and the communication between the Z80 and the videopac system (C7420 Home Computer cartridge)
– configuration file changed: new o2emcfg.xml, it is now possible to use a different configuration for every game (instead of hacks.cfg and o2em_def.cfg)
– Intelligent Keyboard Routine to allow proper typing on keyboards (mapping keys to a modern keyboard instead of keykombinations from G7400)
– keyboardroutine now supports the extra keys on Videopac+ (G7400, Jopac etc))
– option for hard resetting the system (power off/on) using Shift+F5
– makefile for unix updated
– fixed bug that prevented entering debug after browser before game start
– file browser: passing a directory instead of a file to o2em opens the browser in this directory
– file browser: SHIFT+letter to change disk drive, letter now jumps to first entry in list
– file browser: changing the sort order also changes the side the list is shown on (sorted list always left)

Emulation changes:
– fixed drawing of VP+ double size characters (fixes C7420 Start Logo)
– introduced an option to allow VDC writes even if foreground is on (programs wouldn’t work on original system, but fixes Puzzle Piece Panic (emulator version)

C7420 Emulation
– complete emulation of cartridge
– CLOAD and CSAVE can be used, file is loaded/saved with the name given in the folder « basic » (default, can be changed), emulating the low level read of the BIOS
– CLOAD/CSAVE can load/save binary or BASIC-(text-)files
– QuickLoad/QuickSave using F9/F10 loads/saves directly to/from memory (much faster, BASIC programs only)
– CLOAD without filename supported – loads the next file in the directory (alphabetical order)
– Data Extraction from Emulation Environment – copy all characters from screen to the clipboard (F11)

– save option « z80mem » to save the z80 Memory

v1.18.1: June 12th, 2010
unofficial release by manopac (the one that runs fine on Windows 7, has a file browser, a spriteeditor and fixes lots of bugs …)

Note: some features were broken in 1.18 from copying only half the source from my unofficial version 1.17.4 – these should all be fixed now (some were reported on SourceForge, the rest I found comparing 1.17.4 with 1.18 file by file)

Fixes from Sourceforge:
– breakpoint works now again (Soeren found this one as well) – didn’t make it from 1.17.4
– MegaCart support works now again (Soeren found this one as well) – didn’t make it from 1.17.4
– score.c fixed for Linux compilation (Soeren Gust) – didn’t make it from 1.17.4
– corrected Linux makefile (Stephan Raspl)
– all source filenames are now lowercase again to work on systems with case-sensitive filenames

Emulator changes
– major change: I changed the way the screen is drawn – no more switching to a 8bit mode which does not work in Vista and Windows 7, instead blitting to a mode that has the same color depth as desktop. Should fix fullscreen and windowed mode on Windows 7 and Windows Vista
– o2em can now be launched again from any directory and not only from its home – didn’t make it from 1.17.4
– moved to Allegro and compiles clean without errors (changed deprecated functions)
– fixed helpscreen (down actually scrolls down now, added instructions)
– suck_roms() function removed from main (it didn’t do anything but calculate a crc for all (!) your roms before starting O2EM)
– function abaut() renamed to about()
– config-file is taken now from o2em directory even if called from different directory
– added example « o2em_def.cfg » config-file, uncomment the options you want or just adapt it to your needs
– reworked main.c completly and basically rewrote most of the code implemented in 1.18. – makes a lot more sense now and is a lot more readable
– added command line option « enable vpp » (if explicit bios is used, e.g. for hacked bios files)
– added command line option « biosfile » to explicitly specify a file for bios
– added command line option « crc » to force the hack for a specific crc on any ROM
– added command line option -joyautodetect which detects the available joysticks and starts assigning it from stick1
– right and left joysticks can now be swaped using F7
– file browser when o2em is called without arguments
– hacks.cfg filled with names for all roms in the pack from René’s file
– added command line option « disablebrowser » to disable file browser
– added command line option « browsersortorder » to set default sortorder for browser (filename or gamename)

Emulation changes
– cleaned up code for game specific hacks a bit, moved hacks to extra file « hacks.cfg » to seperate from code
– turn off hacks with command line switch
– read/write from/to certain registers (unused, foreground, grid) behaves more like original now – this might make some programs that work on O2em but not original systems stop working (but that is as its supposed to be)
– fixed the « double size sprites are shifted only 1 instead of 2 pixles » bug again (fixed in my v17.2, unfixed in v18, refixed in my v18.1)
– cpu overflows to 0 on address 7FF now
– rightmost column of dots is now drawn if dot-grid is on
– no drawing of foreground objects when vdc is turned off can be turned on using « -useforen » (this was implemented as a hack for certain roms, I wanted to completly remove it, but the timing in o2em is so wrong, that a lot of problems with games arised, so I let it in and gave the option to developers to turn it on when needed)

Debugger changes
– improved the edit function in debugger (all locations: intram, extram, vdc, rom, megarom)
– improved the load function in debugger (all locations: intram, extram, vdc, rom, megarom)
– improved the save function in debugger (all locations: intram, extram, vdc, rom, megarom, vpp)
– added « saverom »: writes the currently loaded ROM to specified filename or original filename (if called without argument)
– added « info » command to debugger (info about rom, bios, system etc.)
– fixed « extram » command (shows now only the actual available 128 byte instead of 256)
– renamed command « video » to « vdc »
– md can now be used for editing one location just as the other « show » commands
– removed lots of code (similar commands use the same code now)
– changed command « c » into « edit » for editing all types of memory (except vpp)
– so (step over) -> sets breakpoint to next instruction and runs (with output and interaction)
– run -> sets breakpoint and runs to instruction given (with output and interaction)
– list of breakpoints instead of just one supported now
– added « editsprite »: graphical sprite-editor that lets you scroll through memory and shows normal and double sized sprites
– added « findsprite »: lets you search the ROM for the displayed sprite (specify sprite number to search for)
– added « speed » to set speed from debugger while emulator is running
– added commands to enable/disable chars/quadchars/grid/sprites/vpplus drawing, so you can easily see what elements are used for creating what gfx on the screen

Télécharger O2EM (Unofficial) 1.20 beta 5 (1.3 Mo)

Site Officiel

En savoir plus…