TRS-80 disks are single density, single sided, soft
sector non-cpm unless
after market cpm is installed. The original disk controller was wd1771.
There is two form to trs-80 disks those from TRSDOS and those from
DiskBASIC. As far as I remember(18 years!) they were compatble with each
other. Their structure was very unlike CP/M and it used a FAT style of
directory.
As I remember it :
Model 1 : Single sided, single density, using an FD1771 controller. The
default was 35 tracks, but some aftermarket DOS's (LDOS, NewDOS, etc)
allowed you to have 40 (or 80 if you could afford better drives).
TRS-DOS used a special data marker on the directory cylinder only. Just
about the only thing that could write them was the 1771. Most 'Double
Density kits' (a kludge board which held a 179x controller + support
devices) retained the 1771 just to write these markers. LDOS, etc used
normal markers on all cylinders, and were generally easier to read on
other machines.
Model 3/4 (Same controller). Single Sided, Double Denisty, 1793
controller. The Address markers were now normal on all cylinders (note, a
model 3 or 4 couldn't write a model 1 TRS-DOS disk!). 3rd party DOS's were
generally more compatable between the M1 and M3 than TRS-DOS was.
Disk Basic didn't really come into it - Basic was just a program that ran
under TRS-DOS (and used the ROM basic a lot), and used (AFAIK) normal
TRS-DOS calls for disk I/O
I'll mention the CoCo as well - this used a 1793 or 1773 controller chip,
and double density recording. Although all CoCo disk controllers could
read/write each others disks, there were OS considerations to worry about.
The disk controller cartridge contained a set of extensions to Basic to
allow it to load and save files to disk. Alas, Tandy didn't document the
disk I/O calls (apart from read/write sector), so it was difficult to use
the disk from application programs. There was a thing called colour
TRS-DOS which was used by a lot of Tandy-supplied applications (Color
Scripsit, EDTASM, etc) which provided a standard set of file handling
calls - from memory the source to this is in the EDTASM manual.
Fortunately, the disks for colour TRS-DOS and those for plain disk basic
were 100% compatable.
Serious users ran OS-9, which had a somewhat unix-like file system.
Needless to say, it was incompatible with disk basic, although there was
an OS-9 utility to read disk basic disks.
All TRS-DOS's (M1, M3, Colour, etc) put the directory cylinder near the
middle of the disk (cylinder 17 on a 35 track disk). The directory had 2
other tables associated with it - the GAT (Granule Allocation Table - a
granule was the smallest thing you could allocate, and was 1/2 or 1/3 of a
track), and the HIT (Hash Index Table - filenames were hashed (using some
algorithm that I've long forgotten), and then the result was used to speed
up directory searches).
Since the TRS-DOS directory was near the middle of the disk, and the OS-9
one (like unix) was at the start, it was possible to create a CoCo disk
with both OS-9 and disk basic files on it. You had to be careful to create
dummy files that covered the areas used by the other OS, but it was done,
even by Tandy, who supplied some TRS-DOS utilities on the OS-9 level 2
disks (and then forgot to mention this in the manual....)
If anyone has a model 1 still working, boot up TRS-DOS 2.3 (the standard
one), and at the prompt type
BOOT/SYS.WHO (or should it be RUN BOOT/SYS.WHO ?). Do not press enter yet.
Now hold down 2,4,6 with one hand and press enter. The result is quite
interesting. Explaining _why_ it happens, and the history behind it is
something you can pester me for sometime...
Now to add to the pain, there were various mods that allowed for double
density and even two sided disk drives. If so the controller was wd1793
The doublesided mods tended to use the 3rd drive select line as a side
select line, and could (in theory) be used on a single-density-only model
1
in the form of a piggy back card.
Knowing the controller used is important as some of the system out there
created disk formats that are completely unreadable by anything other than
a system with 1771/1793!
--
-tony
ard12(a)eng.cam.ac.uk
The gates in my computer are AND,OR and NOT, not Bill