KryoFlux - Respecting Drive Requirements

2009-07-04

Found a few datasheets for recent drives, and they have very strict timing requirements, even when changing the direction of head stepping. It’s no wonder there is strange behaviour when the restrictions are not respected. These restrictions will be added to the dumping software, but it varies from drive to drive, just like we observed using our Amiga dumping/testing tool, CT. The PC command line dumping tool will probably have a system test mode just like CT has.

Time to look for datasheets...

(later)

Spent quite some time collecting datasheets... and it seems it’s really pure luck what we read from a disk if these restrictions are not respected, including missing data, unwritten data, random signals, and seek errors. We knew about some of these, but certainly not all. CT does about half of them, but we will support all of them in KryoFlux.

These are the specs for a normal PC drive, but these do vary from model to model, so they should be configurable. All state change commands should be set to wait an exact amount of time in order to behave inline with the specifications. Here is a summary of the more important restrictions:


As you can see the timing requirements vary wildly from microseconds to almost seconds, so it made sense to implement them in the firmware, and made them adjustable by the host side through commands.