> In 1770 DFS,
> *DRIVE 0 40
just curious:
How would you tell the system that the drive is 40 track,
not 80 track in need of double stepping?
You don't. You don't need to.
By default none of the drives double-step, but the Beeb doesn't know what
sort of drives are connected (there is no configuration command, there is
no automatic self-text).
When you format a disk, you fairly obviously tell it how many cylinders
(40 or 80) to format. On old DFS's (DFS =- Disk Filing System), there
were progams on the utility disk for this, you yped *FORM40 or *FORM80 as
appropriate. On later DFS's, the formatter was in the DFS ROM, you typed
*FORM 40 or *FORM 80 .
At this point the drive would _NOT_ double-step. You could not format a
40 cylinder disk in an 80 cylinder drive. If you tired, what you got was
the outermost 40 cylinders (at 98tpi) of the 80 cylinder disk formatted,
and a directory written telling the system it was a 40 cylinder disk.
While that could be correctly read on an 80 cylinder drive, it wasn't
very useful :-)
Anyway, the formatter also wrote a directory o nthe disk (as usual),
whcih also definded the disk capacity
Now, when you want to use the disk, if you put it in the same type of
drive as was used for format it, there's no problem. The machine will
kniow how many cylinders it can use (from the directory), and will not
double-step.
If you type *DRIVE 0 40, the machjine will double-step drive 0. The use
fo that is to read a 40 cylinder disk in an 80 cylinder drive. IIRC, the
disk is software write-protected by this command to prevent the
well-known problems when a narrow head writes to wide-track disk (if you
see what I mean).
If drive 0 really is a 40 cylinder drive, and you want to turn off
double-stepping, then, paradoxically, you type *DRIVE 0 80 . It looks
silly, but that's because the main use of that command was to turn off
double-stepping on an 80-cylinder drive that you'd wanted to sue to read
a 40 cylidner disk.
-tony