On Tue, 30 Apr 2013, Jim Brain wrote:
When I read my known good DSDD Kaypro boot disk, I set
tracks to 80,
stepping to double, and sides to 2. But, IMD tries to read all the way
up to track 80, when I thought it would stop at 40 (80 tracks, double
stepped).
WHOA!
You asked for 80, and it tried to do 80. You seem to be assuming that it
would divide by the double-stepping and do 40. (Actually, it is prob'ly
planning to stop at #79, V #39)
1) When IMD asks "tracks", is it asking
A. Cylinders of the disk format (AKA "tracks [per side]")
B. number of cylinders TIMES number of heads
C. cylinders of the DRIVE
Kaypro is 40 tracks [per side]
You obviously understand that for an 80 track DRIVE, that requires "double
stepping"
But, are you sure that IMD is counting both sides of a cylinder as
separate tracks?
When dealing with hardware, it is not uncommon [albeit inaccurate] to
treat "track" and "cylinder" identically.
"1.2M drives are 80 track" V "360K drives are 80 track (40*2)"
"Directory is on track 4" usually does NOT mean cylinder#2, side B
But, when I set retry to 0, and it goes all the way up
there, I still
don't have a good copy.
If retry is set to 0, then it won't even try again when it hits an error,
which is VERY common with floppy drives.
NOT GOOD for getting usable disks. A good default is 5 - 10
In SOME programs, NO RETRIES is useful for TESTING, as ANY error, no
matter how soft will be reported.
In SOME programs, 1 - x are the normal values, and 0 is treated as a
special case, either as '0' means "never stop trying until you
succeed",
which is useful for desperate recovery, or
in SOME programs, '0' is a special case, and just means 256, 65536, or
4294967296 (DEC CX JNZ...)
NOTE: PLEASE, EVERYBODY, talking about head 0 and head 1 is obvious and
correct. So is talking about head 1 and head 2, although 0 and 1 is what
the hardware expects. But, that leads to LOTS of confusion. Calling them
"head [or side] A" and "B" eliminates that confusion and ambiguity.
On MS-DOS DPB on the boot sector of floppy disks, there is a field for
number of heads. I have seen values ON FLOPPIES of 0, 1, 2!
0 obviously is intended to mean single sided - "highest head number"
2 obviously is intended to mean count of heads.
1 is EITHER double-sided highest head number, OR singel sided.
Likewise, although it's PC-CENTRIC, and thus OFFENSIVE to many, I use
"360K" and "1.2M" to refer to the 2 most common groups of 5.25"
drives
(and "720K, "1.4M" for 3.5").
What is an "80 track drive"?
What is a "4 MegaByte drive" (on NeXT)
What is "HIGH density"?
What is "EXTENDED density"?
Kaypro is "360K", with an actual used capacity of 200K or 400K
BTW, Kaypro puts an INCORRECT value in the "Head Number" field of the
sector headers of all of the sectors on side B. Fortunately, like the
extraneous SD track that Dave encountered on the 41st cylinder (#40), it
is ignored in use. Both are irrelevant to the current project, but quite
important if you want to use INT13h to read, write, or format Kaypro
diskettes.
--
Grumpy Ol' Fred cisin at
xenosoft.com