'Emulation as a Service' is a proof-of-concept platform demonstrating that multiple emulators can be harnessed under an identical framework, for the purposes of digital preservation.

Each platform is described by data schemas indicating how a specific machine can be built in software, and what its properties and capabilities are. This includes the memory map, chips used, and how the machine and its peripherals fit together. There is a different machine specification for both the 48K and 16K ZX Spectrums, for example, but both reference the emulation code for the CPU. Every device (be it a machine, or single chip) has a unique ID. Consequently, every combination of devices (or configuration of machine) also has a unique ID. This is applied to the software compatibility list.

When the web client requests an emulator the server builds the appropriate files into a package which the browser can then download and run. The same happens for the available software.

The data is all held in the back-end server in a highly structured format.

There are only a small number of emulators, and an even smaller number of games. This is just to prove the concept. The real power in this platform is in the data and the schemas.

Because every chip, device, machine and software has it's own unique ID you can preload the system by using a url such as,


For example, the URL would link directly to a 48K ZX Spectrum playing ZX Adventure. As a bonus side effect, if you don't own ZX Adventure you can't determine it's MD5 checksum, and consequently can't load the game!

Please contact us, via MarquisdeGeek@gmail.com, if you're interested in digital heritage or wish to use an Emulator as a Service platform.