dioscuri1.jpgDioscuri is (as far as I am aware) the first ever emulator created specifically with long term digital preservation in mind. It is available for download from Sourceforge, and the project’s own website is here.

This awesomely ambitious project began in 2005 as a co-operative venture between the Dutch National Archives and the Koninklijke Bibliotheek. The first working example came out in late 2007. The project has now been subsumed within the European PLANETS project.

Emulation was chosen over migration because emulation allows the document to be viewed in its native environment, guaranteeing to the user that the document’s representation has not changed. Emulation is seen as the only realistic way to preserve complex objects such as web pages or multimedia files.

dioscuri2.jpg

Image: Dioscuri running Windows 3.0. Image is taken from the Sourceforge site: the original can be seen here.

The first version of Dioscuri was a 16-bit emulator capable of executing MS DOS and earlier versions of MS Windows (3.x). The most recent version (0.3.0) emulates 16-bit and 32-bit X86-based CPUs and is capable of running Windows 3.0. Support is available for (virtual) floppy disks, hard disks, input devices like keyboard, and a screen as output device. The emulator can be configured to additional user requirements based on an XML file. Future development is focussing on more modern 32-bit OSs, like Windows 95 etc.

Principles

Dioscuri is open source and written in Java. The emulator runs on a Java Virtual Machine, thereby avoiding dependency on the underlying system. In theory, changes to the underlying computer platform should have zero effect on how the emulator runs. Dioscuri can therefore be ported to any other computer platform which has a JVM, reducing the risk that the emulator will fail to work.

The emulator itself has a modular structure, which gives the system its flexibility. Each module emulates a specific hardware component, like a processor, memory, a keyboard and so on. The recreation of a platform can then be realized by combining all necessary modules. New modules can be created based on their analogy with actual hardware components.

Dependencies

Dioscuri is massively dependent on surviving documentation for computer systems. As the Dioscuri website itself makes clear, “developing an emulator requires a thorough understanding of the computer platform that is to be emulated. Documentation is crucial. Although much information on computer devices is available, it is widespread over various sources. To ensure this information will not be lost, all documentation is centraly organised.”

Dioscuri only supports virtual media which means it does not give access to physical storage devices. Instead, a disk image has to be created from the original physical carrier. Dioscuri currently supports a virtual floppy drive and virtual hard disk. So, you cannot just insert an old floppy disk with a Windows 3.0-compatible game on it and expect it to run.

Like any emulator it must be processor-hungry. Your poor computer is essentially running an OS which is running an app which is running a JVM which is running another OS which is running another app. The demands which this set-up makes on your processor are likely to create practical limits to what OSs will run on the JVM? Just a thought.

In the real world…

So, does it work? At a Dutch digi pres conference in November 2007 Jeff Rothenberg managed to run an old app on it that had defeated other systems. ” The highlight of the conference for Dioscuri was the speech of emulation guru Jeff Rothenberg who gave a live demonstration of Dioscuri. He convinced the audience that even homemade applications that were assumed to be lost can be retained with Dioscuri. As an example, Jeff used a self-created digital agenda from 1983, called Calendar/1. Attempts to run this application on current computers fails and the calendar program seemed doomed to never run again. However, Dioscuri was able to run Calendar/1 again successfully.” (From the Dioscuri news page).

Van Hoeven in D-Lib magazine for Nov/Dec 2007 says Dioscuri can run WordPerfect 5.1, DrawPerfect 1.1 and Norton Commander.

Personally I’d like to see it run some very complex objects, as this is the sort of thing Dioscuri has been designed for, after all; and to see how it copes with modern apps trying to grab data from old apps. I’ve subscribed to the Dioscuri news mailing list, so I’ll see what turns up.

Advertisements