[game_preservation] Article about proper SNES emulation

Christian Bartsch | softpres.org cb at softpres.org
Wed Aug 10 04:28:20 EDT 2011




> That was a pretty fascinating article, especially outlining problems

> with the preservation.

>

> One question I had is what the bottlenecks are for preservation. We've

> identified decaying floppy disks and other magnetic media as one of

> the most pressing concerns, but Kryoflux technology has been allowing

> us to solve this problem.

>

I'd like to chime in here. KryoFlux is a start, and will help making a
snapshot of data present on a floppy disk today. More below.


> However, the problem then becomes how to accurately run the software

> again. From the sound of it, emulating the timing of the machine would

> not be possible for early computer systems. To run the software on the

> original hardware, it is possible to use Kryoflux to refresh the data

> onto a floppy disk, effectively extending the life.


Beware. This is of course true for all disks that follow a well known
encoding scheme, e.g. all disks that are standard DOS (pick your
favourite OS here). But this is not true for disks that use copy
protection mechanisms that create ambiguity (e.g. weak bits). If the
original bit pattern is unknown, e.g. bits changing every revolution,
you can not write this very pattern back to disk as you will remove
ambiguity. In this case using KryoFlux to refresh a disk will ultimately
destroy your original, unless you have kept a forensic dump that
contains multiple revolutions. Based on this, an IPF could be created,
which can hold the information necessary to truly rewrite the disk.

For protections that don't use ambigutiy, doing a blind write of raw
data will also come with a drawback. Imagine scanning a photo at high
resolution to do another print. Without cleaning it up, the print will
contain noise and dust present on the original. Re-scanning and
re-printing again will add more noise and dust, apart from aliasing,
that will also add up. In a world of bits, where a single bad bit in
game code can render a program useless, such processing is also
problematic. Therefore, while this will most likely work for the first
gen copy, multi generations should be avoided. Again, converting the
dump to something that is known-good, e.g. an IPF as the result of an
analysation process, is very much recommended.

You will also basically destroy the option to use such a floppy as the
source for preservation; the moment you rewrite it with KryoFlux you
invalidate it as an authentic source. This is not a problem once the
dump made in the first place has been confirmed good and authentic.


> Another option could be floppy disk emulation, but I'm not sure how

> accurately this is, either.


The same objections from above would apply to emulation; the problem
occours when reading. Data needs to be interpreted and analysed, after
that it does not make a difference if you write it back to disk or
emulate it.


More information about the game_preservation mailing list