Preserving software is widely recognized as a far more complex task then preserving static data. Emulation is usually the chosen preservation action to enable the execution of programs of obsolete systems. In this work we show how software extracted from obsolete media was preserved by developing an emulator. We explain the reengineering work involved and the design decisions made as well as the options for data injection into and extraction from the emulated environment.
In previous work, data and programs stored on audio tapes
were extracted and the resulting audio fi les were transformed into digital objects. The objects retrieved were mainly programs, requiring emulation for execution. As no emulator for the original system previously exists, we here show how we implemented one. We first describe the system in more detail and explain the reengineering of the view-path for the execution of programs on the original system. We show how an existing emulator for a video game system was expanded by emulation capabilities for the view-path of the home computer and how the diff erent options for data exchange with
the host environment were implemented on diff erent levels in the view-path. We explain how di fferences in input and output formats and methods influence the development of an emulator and that, depending on the original system, the transfer of data between the emulated environment and the host environment enforces implicit migration of the data to become usable.