KryoFlux - DRAFT

2009-11-04

We require a storage format for the flux transition stream and the associated data. We are calling this file format “DRAFT” to indicate it is pre-analysed disk data. It is yet to be defined, but it will be an open format for use by community tools.

DRAFT is:

  • An acronym for Data Recording Archival Flux formaT.
  • “Draft” data, content details should be derived.
  • Reminiscent of beer, as in free beer. :)

It may work with emulators, but functionality is not guaranteed and may be unreliable. Some types of protections will not work. Also, as the content has not been analysed, it may be bad (bitrot, virus damage, etc.) or modified (hiscores, save games, copied, counterfeit). This is why it is called DRAFT; it contains unanalysed and unchecked flux transition data.

It will not be tied to a particular hardware device, and we have been careful to ensure that the flux transitions streamed out using the KryoFlux firmware are device independent.

Data stored in a DRAFT file is flux transition periods, signals, signal information. Note that we are not yet at bit cell data, as that is less accurate and is subject to interpretation of the flux transition periods.

Other Work Done

Added support for proper error messages sent by the firmware as OOB (Out Of Band) data; the host is able to react better that way.

Removed direct decoding while reading, as it can be problematic on slower PCs.

It is now possible to stream only a predefined number of disk revolutions and then automatically stop - this is required when decoding is no longer on the fly.

Since data is no longer decoded while reading, we added additional signalling that indicates to the reader that the stream has stopped. One simple comparison after each stream read can find whether the board is still sending data or the last packet has been sent.

Added decoding and checking a recorded stream.

Added timeout for packets that can’t be transferred within a reasonable time frame; this cancels streaming. This normally happens when the host has quit or is too busy to receive data.

Testing

We have also now done tons of testing (including all of today), finding bugs, capturing bugged files.

A lot of work has been put into to fine tuning KryoFlux communication code for the worst possible conditions - like being out of sync most of the time with the host PC. It now has a very reliable disk reading and data transferring mechanism that includes error detection and correction should anything bad happen while dumping is in progress.

We’ll have to post some videos soon! ;)