View Full Version : CP/M disk utility programs

October 30th, 2015, 11:23 AM
I've been having some trouble with my 8" CP/M drives and have used IMD, 22DISK and ANADISK quite a bit in the last week or so. Each program will format a disk in the CP/M format 77 tracks, 26 sectors, 128 bytes/sector, FM, hi-density, single side. One thing that I have noted is that IMD and ANADISK will format a disk by just outputting data to the disk, whereas 22DISK seems to format a track and then checks that track. After each track 22DISK will report any problem. On some disk I get 'hard error' and more formatting will not repair this. Does this mean that this track is so bad that it will not take any magnetic data? Mike

October 31st, 2015, 10:27 AM
There's a whole lot of background behind this one. On new disks, it wasn't uncommon to see "creeping flaws"--that is, the defect creeping from one bad sector to the next one over time, corrupting data. The other consideration is that CP/M had no formally defined way to define bad disk areas (unlike, say, MSDOS). You could use a predefined file name and assign bad blocks to it, but there's no mechanism to preserve that name forever and ever. Some vendors did, in fact, do this. But disks weren't/aren't expensive and it was much better to have a flaw-free disk than try to use one that might well be in decline. Many companies warranted their floppies to be free of defects, so you could simply exchange the bad ones. For a time Kodak even offered to recover data from bad floppies (something that did not last for long) free of charge.

It's important to note that CP/M from DRI never had a format program supplied as part of the OEM kit. In fact, the SSSD 8" format grew out of standard IBM 3740 media being supplied pre-formatted.

October 31st, 2015, 01:32 PM
I think what I'm looking for is some explanation of what these programs (not CP/M) are telling me. For example when a bad sector occurs, does that mean a specific sector has an unexpected number? Not in sequence? If I get a sector gap, does that mean that a particular sector is missing or does is it just missing a sector number completely? These programs must look at the ID fields and the data and make certain judgements from that. Not that I can do much from this information, but knowing more is better. Thanks Mike

October 31st, 2015, 02:41 PM
No, it means that reading back a sector that was, at some time, written fails because of various media flaws. For example, you could have the ID field missing (can't find the IDAM) or in error (the CRC doesn;'t check with what's recorded) or you could have a missing or corrupted DAM, or a CRC that doesn't match what was computed. All, if not intentional, indicate that there's a problem with the physical medium itself.

October 31st, 2015, 03:11 PM
One item that I found was that sometimes the errors are all on the high number tracks. I found that the head load adjustment is rather important. I adjusted the head load near track 00 and found that on the other end near track 77 the head was not loaded properly and this caused some of the errors. The head load relay and bail are not perfect and need to be checked at both end and in the middle. Mike

November 8th, 2015, 01:33 AM
You need to take into consideration that the same amount of information is stored on the inside tracks that is stored on the outside tracks (it's just more crammed together). Index timing, head output, and head radial (head positioning) are more critical on the inside tracks.

Drives using a worm screw for head carriage positioning (like the Shugart 800/801, Siemens FD-100/FD-200, and others) can have a creeping problem with the head positioning error compounded on the inner tracks. The proper tension on the head carriage worm screw tensioner spring is critical to minimizing positioning errors/tolerance. Floppy drives do not have dynamic/active head positioning like hard drives do. They don't have the ability to self seek and auto center over the tracks (using signal strength) as hard drives do.

Drive alignment can become a maddening compromise when aligning a drive. All specs need to be met both on the outside tracks, and on the inside tracks. Just because a drive is in spec on the outside tracks does not mean that it will meet spec on the inside tracks or even can be brought into spec on the inside and outside tracks at the same time.

When I get a drive in for repair and alignment, first I inspect the drive for physical defects, and clean the head/s. Sometimes I come across drives that have been worked on before, and the head carriage has been positioned too low in relation to the disk height. This can cause low head output. The head load mechanism can also be adjusted incorrectly, and the head load arm on the head carriage be be getting lifted off contact with the disk at one end (or the other end) of the carriage travel. The spec calls for a very small clearance between the head lift arm and the head load mechanism to shorten/minimize head settling time. I've found that slightly increasing the clearance does not effect settling time, while it does improve head load reliability. Then, I test it on a computer to see what the drive does (if anything), and make repairs as necessary to get it working (before hooking it up to my dedicated drive test equipment). After hooking it up, and verifying that I have control of the drive, I step to the inside tracks to check the index timing, head radial, and then the head output. Even it the drive meets index and head radial, if I can't get enough head output, then the drive is an economical total (since there are no spare head assemblies available). I try swapping the logic board with a known good board from my inventory to make sure that a logic board malfunction is not a cause of low head output before declaring that a drive is a total.

Some versions of some Operating Systems use an inadequate amount of time for steeping and settling the heads of single sided drives. Many single sided drives are spec'ed by the drive manufacturers with twice the stepping and settling time of the manufacturers double sided drives. In general, drives with band-stepper head positioning require less time for stepping and settling than drives with worm screw head positioning.

Also keep in mind that floppy disks that were tested or certified after production are only tested over the center of where the tracks should have been put down. If your drive have head/s that are not positioning correctly/to spec, then the drive may be trying to record or read on parts of the disk that were never tested, and might have a higher error rate, than if the drive is positioning the head/s correctly. Getting the drive aligned correctly/professionally may result in disks that show high error rates working properly with no or lower error rates after the drive is serviced.

November 8th, 2015, 09:18 AM
Mike, if you go back a couple of months when asking about retry procedures after an error, you'll see that I had a definite procedure in mind. The interesting thing is that the procedure sometimes works when no other will. It goes like this (my rule of three threes):

1. Retry the read without re-seeking three times.
2. Recalibrate (seek to home), seek out to the desired cylinder and retry reading three times
3. Step in (toward the hub), then out one cylinder, back to the specified track, then retry the read three more times.

This tends to lessen the possibility of "slop" in the positioning.

I don't know if I commented on your head replacement that you also need to very carefully chuck head azimuth. It matters a lot on the inside cylinders,