Logo TU Vienna    Logo IFS Information & Software Engineering Group

Vienna University of Technology
Institute of Software Technology and Interactive Systems

O2EM - Videopac Emulator With Digital Preservation Features

Digital Preservation

 
  [Home] [People] [Publications]  

The System

The Emulator O2EM

Features for Digital Preservation

Files

Additional Information

Further Links

 

Introduction

Emulation is one of the main strategies for preserving digital objects. This creates the necessity to evaluate the results of digital preservation actions involving emulators, to make sure that renderings of digital objects stay true to the original once they are replayed at a later point in time. When digital objects are migrated to a different format, the significant properties before and after the migration are usually compared to check for differences in the rendering. As this is not possible for emulation environments (where the digital object remains unchanged), we have to extract information about the rendering from the environment.
To make the rendering comparable, we have to make sure that the object is rendered under the exact same conditions, too remove the possibility of side-effects in the rendering resulting from object behaviour instead of changes in the rendering environment. This makes it necessary to provide always the same external data to the environment for every evaluation-rendering of an object. This inlcudes both manual user input but also any other external data (network, files, etc.). Most emulators today do not support extracting information about the rendering nor feeding data into the environment at certain points in the rendering. To evaluate how this could be implemented in complex rendering environments, we took an emulator for a rather simple homecomputer system and extended it with features necessary for evaluation.

 

Philips Videopac G7000/Philips Videopac+ G7400/C7420 Basic Module

The Philips Videopac+ G7400 was a video game console system released in Europe in 1983. It was the successor to the Philips Videopac/Magnavox Odyssey2 which was sold in Europe and the US since 1978. With an add-on cartridge, the C7420 Home Computer Module that was also released in 1983 the Philips G7400 could be converted to a home computer programmable in Microsoft BASIC.
The BASIC-programming language for the C7420 allowed the storage of different kinds of data on standard audio tapes by providing connector cables to the headphone and microphone plugs of standard audio systems. Besides BASIC programs screenshots, arrays, strings, and memory dumps could be saved on tape using the BASIC command "CSAVE" in various forms. Video games for the system were provided in cartridge form and the possible types of inputing data into the system were keypresses using the keyboard and joystick input using one of the two joysticks. Results of renderings were output on a tv-screen and sound through the speakers of the tv-set.

Pictures below show a Philips G7400+C7420 Home Computer Module (left), and a collection of original tapes used to store computer programs for the system (right).

Philips Videopac+ G7400 with C7420 Microsoft BASIC cartridge Collection of original tapes
(Click images to enlarge)

 
 

The Emulator O2EM

The emulator O2EM is an open source emulator that supports both of the systems shown above, the simpler Philips Videopac G7000/Odyssey2 but also the more advanced Philips Videopac+ G7400 and the Home Computer module. It is written in ANSI C using the Allegro Game Library for easy portability to different hardware platforms. Ports of the emulator exist for Microsoft Windows, Linux, Microsoft XBOX game system, Nintendo Wii game system and various other systems.
Using images of the original cartridges as input, O2EM is able to emulate the original 8048h processor found in the system, executing the original code and modifying the registers of the multimedia hardware accordingly. The results are rendered by O2EM and the input is taken from the host-system and redirected to the emulated input-hardware.

Pictures below show Screenshots taken from O2EM: Home Computer Program 'Cassa' (left) and the video game 'Terrahawks' (right).

Screenshot of Home Computer Program 'Cassa' Screenshot of game


(Click images to enlarge)

 
 

Features for Digital Preservation

To evaluate the rendering of O2EM we implemented the following features:

  • recording of a log of input to the environment (all data inputs including actions taken in the emulator like recording a screenshot of the current state)
  • replaying this log to the emulator, providing the same input at the same executed cycle time (including taking screenshots and ending the emulation once the log finishes)
Additionally the following features for digital preservation where implemented in the home computer version of the emulation:
  • injecting data into the emulated environment (loading programs from a simulated tape)
  • extracting data from the emulated environment (saving programs to a simulated tape)
  • copying data from the clipboard as keypresses in the emulated environment
  • extracting data from the emulated environment in the clipboard buffer as text to be used in other applications

After powering up and loading the application on your PC, any of the sample programs can be either imported from audio files or from native data (e.g. textfiles containing BASIC programs). Using File->Export->To audio playback the data is played back as waveform on the default audio device and can be loaded on the G7400 (e.g. by using "CLOAD" for a BASIC program).

 
 

Files

The latest version of our adapted emulator can be downloaded here, both in binary (Microsft Windows 32bit) as well as in source-code form.

  • Executeable: o2em-1.21.zip
  • Source Code: o2emsrc-1.21.zip (Coming soon)

 
 

Additional Information

A tool to extract data saved by the home computer module for the Philips G7400 can be found here:
http://www.ifs.tuwien.ac.at/dp/hc_audio_migration/

 
 

Further Links