Last year I finally bought a Kryoflux, unfortunately in the middle of moving house. Now I’m finally able to use it beyond verifying that it’s not completely broken. After imaging a few dozens of floppies, I can say one thing–Kryoflux is surprisingly difficult to use with PC 5¼″disks. There is a distinct impression that Kryoflux was designed to deal primarily with Amiga and C64 floppies, and although PC floppy formats present absolutely no difficulty for the Kryoflux hardware as such, using the software for archiving standard PC 5¼″ media is very far from simple.
Let’s start with the easy part. Imaging 3½″ media is relatively simple because PC 3½″drives are straightforward (well, let’s omit the special Japanese 1.6M media). 3½″ drives always rotate at 300 RPM and usually automatically handle media density based on the floppy itself. But if everything were easy, life wouldn’t be very interesting.
Density
With 5¼″ media it gets a lot more complicated. Drives often have no media density detection and the density signal must be driven appropriately by the controller. The Kryoflux GUI has an option for that, with the caveat that “density line low/high” refers to the logic level density signal, not how a drive interprets it. And it just so happens that on typical PC drives, the DENSEL (DENsity SELect) signal is active low, which means that “density line low” in the Kryoflux GUI must be used for high-density disks. To be clear, that is not Kryoflux’s fault, that’s the reality of PC floppy drives.
My experience with the density selection is that for HD floppies, it is critical and when it’s wrong, Kryoflux won’t be able to read anything (DTC reports tracks as unformatted). For low density 360K disks, it makes almost no difference in my experience. For good 360K disks, there’s no discernible difference between using the low and high density setting, Kryoflux decodes the MFM data just fine either way. But for marginal disks, it does make a difference–if the density setting is incorrect, there will be considerably more bad sectors.
RPM
Another troublemaker for 5¼″ PC floppies is the rotational speed. Old (i.e. 5¼″) PC drives rotated at 300 RPM and worked with 250 Kbit/s data rate. When IBM introduced high-density 1.2M drives in the PC/AT, the rotational speed went up to 360 RPM (same as high-density 8″ drives) and a 500 Kbit/s data rate was used.
For working with low-density media in HD drives, a special 300 Kbit/s data rate is used by a PC floppy controller designed for 1.2M drives. The rotational speed is 20% faster (360 vs. 300 RPM), and that is compensated for by a 20% faster data rate (300 vs. 250 kbps).
The Kryoflux default for rotational speed is format specific, and for MFM images it’s 300 RPM. That prevents 5¼″ HD floppies from being successfully decoded by DTC, and the speed has to be explicitly set to 360 RPM.
Double Stepping
Low-density 5¼″ media present another difficulty. 360K floppies only have 40 tracks (48 tpi), while 1.2M disks have 80 tracks (96 tpi). On high-density drives, “double stepping” must be used when working with low-density media, i.e. stepping two tracks at once when performing any seek operation.
Kryoflux, again, can deal with it, but the method is far from obvious. The “track distance” has to be set to 40 tracks, which might sound like Kryoflux would cover 40 tracks of an 80-track floppy… but no, it actually means double stepping.
Weird Stuff
I have come across one floppy (5¼″ low density, mass duplicated, circa 1990) where DTC reported a single track as unformatted and couldn’t read any data (there was just a bunch of zeros in the resulting image). That is, there were no errors reported at all, DTC simply decided the track wasn’t formatted. There certainly was supposed to be data on that track.
Reducing the default RPM for decoding from 300 to 295 allowed DTC to decode all tracks of the floppy without errors, including the one previously seen as unformatted. I don’t know what that’s about.
Alternatives
There are things about Kryoflux (specifically DTC, the software) that are just plain weird, annoying, or broken. For example, when a bad sector is found, there’s no good way to see which one it is. For each track, the number of bad sectors is listed, but without identifying them. In a raw image, the corrupted data is simply written out; that makes sense (the beginning of the sector is often OK), but that makes it quite difficult to precisely identify the bad sector(s).
The DTC GUI allows setting the output directory, which is very useful, but when that directory does not exist, reading floppies fails (simply does nothing) without any indication why. Not ideal.
Again, these are problems with the software, not hardware. There are some alternatives which can work with Kryoflux dumps. I tried the tools that come with PCem but found them significantly harder to use than Kryoflux DTC (in itself an achievement) and simply could not make them work for me. I also tried tools from the HxC emulator which impressed me much more than DTC, were easy to use and more capable, although decoding Kryoflux images was interminably slow.
This seems to be an area undergoing development and things may very well look different a year from now.
Notes
After archiving a few hundred floppies, with or without Kryoflux, I have formed several distinct impressions:
- Mass-duplicated floppies are very reliable, typically reading with no errors after 25-30 years.
- User-written floppies on the other hand are very much a mixed bag, with a significantly higher error rate.
- High density 5¼″ floppies are surprisingly reliable; that is almost certainly a function of their larger physical size and higher rotational speed, which translates to a lower bit density and therefore lower error rate.
- On the other hand, 5¼″ floppies are susceptible to physical damage caused by poor storage. Floppies can get bent or dented and become partially or completely unreadable. I have floppies bent so far out of shape that they won’t even rotate.
- 3½″ floppies are significantly better protected with their hard shell. A pack of 3½″ floppies is quite stable and can withstand significant force, surviving poor storage unscathed.
Conclusion
The Kryoflux hardware is perfectly capable of working with any PC floppy format, and the Kryoflux software can handle common formats just fine. The only deficiency is missing presets for common PC media, notably 5¼″ floppies.
(I assume you’re aware that http://www.os2museum.com/ is still redirecting to the “maintenance” page, at least for me…)
Yep. It’s going to stay that way until the comment spam traffic is known to be under control, because as soon as it’s turned back on, people will start sucking files off the site.
Some of my impression, from doing some simple preservation of a bunch of Commodore 1541 formated floppys and some Microbee CP/M formatted 5.25″ floppys, and also from buying some NOS 5.25″ floppys.
If you smell mould you have a rather low chance of reading the disks correctly. You should also probably clean the heads after you try, and if you use a single sided drive with a felt pad instead of the second head, like in the Commodore 1541, you should probably clean the felt pad and let it try for a rather long time. (Isopropyl alcohol stays far longer in a felt pad than on a head, and it will damage disk media). (Observed on old 1541 formatted disks)
If you see some kind of pattern on the disk surface, except typical wear pattern, you also have a low chance for getting the disk to work correctly. (Observed on NOS disks)
I think that if the disks is excessive noisy they might also be troublesome, but I’m not really sure here. (Observed on old Microbee 5.25″ CP/M formatted disks).
Re mass duplicated disks: Maybe they also did fare better due to not regarded “special” and were thus given away to someone instead of ending up in a damp basement where disks with personal data might had ended up? Or rather, if another disk with a mouse driver did smell bad, someone would had thrown it away, but a disk written at home would be saved for future read attempts.
I have come across pre-recorded 3.5″ floppies that were totally unreadable, and required thorough cleaning of the drive afterwards. The coating just wore off.
So far I have not figured out the noises. Some floppies squeak and whoosh but are readable just fine. In other cases, the noise means an unrecoverable disk.
Visible scratches usually mean an unreadable disk, that is my experience as well.
Mass duplicated floppy disks should be more reliable since some manufacturers reserved their highest grade of disks for that. Cost a bit more so not every publisher opted for best quality. Lesser disks were placed under the brand name (in several grades) with the minimally functional disks being offered for rebranding by third parties.
3.5″ disks did have a number of improvements roughly around 2000 that were not available to earlier disks. Protective layers to reduce friction, stop moisture, and inhibit mold were added. Not that all these were of long term benefit; it really doesn’t matter that the reason the disk can’t be read is the clear coat peeling off not the binder. Materials science is fun.
These are some alternatives to kyroflux that I am considering for my own project of recovering lost BBS, IRC, and email contacts 20 yrs ago.
http://cowlark.com/fluxengine/index.html <– This one is the easiest to make. You literally order a off the shelf $15 developer board from cypress semi and slide in a floppy connector pin set and solder, no other parts or wiring.
https://github.com/imqqmi/FloppyControl <— This one is much harder to make. It uses a $50 Arduino due, and requires you to make or have someone make the custom shield board. You also have to do a lot of soldering. The difficulty level is offset by the fact his application is 100x more powerful, with options to even manually modify the waveform signals to try to fill in the missing parts.
Sorry if this is a re-post, but looks like the first one didn't go thru.
Jason J. Salopek
Shoot,
I forgot to mention , the more difficult to make “floppy control” kyroflux alternative, also has the ability to decouple the head actuator stepper motor wiring from the floppy drive, and let his custom board control it. This allows for micro-stepping and other tricks.
Jason J. Salopek
What is the practical application of micro-stepping? Does it help read disks written by misaligned drives?
Micro stepping might be usefol for preserving the strange 100TPI disk formats used in the Commodore 8-bit IEEE-488 disk drives 8050, 8250, 8250LP and SDF1001, intended for the PET and CBM-II/B range, but usable with an interface on the home computers (VIC 20, C64, C128) too.
The other more or less obvious use is as you say to read disks written on a misaligned drive. Back in the days people might not had interchanged disks that much and if they had both say a 360k and a 1.2M or 1.44M drive they might only had interchanged one of the formats, and thus not realising that the other drive were misaligned.
Afaik some copy protection schemes might also had used misaligned tracks, or rather disks written with a head that slowly moved from one track to the next on one disk spin. By stepping the head while reading such disk, it might be possible to determine if the disk indeed has this special formatting or not, and thus to tell if it’s an original or a pirate copy. (I’m not that familiar with it, but there were a whole bunch of clever copy protection schemes used on the Commodore 1541 disk drive for software intended for the Commodore 64. In addition to incorrect alignment in various ways the drive could technically write a bunch of non standard formats but it were limited by it’s 2k ram buffer, making it impossible to write more than a few sectors of non-standard data at one go, while a mass duplicated original could have non-standard data on a complete track written in one go. There were hacks to add expansion memory and/or add a faster interface between the drive and the computer allowing for writing of those copy protected disks.
A group of French and Japanese data archivists disgruntled by Kryoflux, its “weirdness” and its restrictive EULA, have launched an open-hardware / open-source alternative called “Pauline”. It was designed by Jean-François Del Niro who is also behind the well regarded HxC floppy emulator.
It is currently in beta (you have to assemble the card by yourself) but early users seem quite positive.
An article about it in English: https://www.retrorgb.com/pauline-a-universal-floppy-disk-emulator-is-in-beta-test.html
A description in French: https://www.laludotheque.fr/projets-en-cours/preservation-des-disquettes-pauline/
The source repository: https://sourceforge.net/projects/hxcfloppyemu/
For now, Kryoflux does what I need, but I’ll be keeping an eye on this.