These are the ways that ADFS and FileCore collude horribly:
These are general collusions:
FileCore assumes that there are two controllers handled by each filing
system. For some filing systems this isn't necessarily the case (SCSI: for
example may have one controller controlling 7 discs, or 4 controllers
controlling 4 discs, or anything in between).
These are the winnie collusions:
- When booting a winnie due to the fact that ST506 doesn't support
identification of a disc's format or parameters (duff standard isn't it!)
FileCore _has_ to provide a defect list for Winnies to work properly. This
is nasty collusion because ADFS has to have some concept of the contents of
a defect list, namely that there's this structure tacked onto the end of it
before which are the winnie parameters. The boot sequence goes as follows:
FileCore does a boot operation on the winnie. This is ADFS's cue to
read the required boot sectors using cludged-up ST506 parameters
which work for all discs.
FileCore then provides the defect list (read by the boot operation)
in all future accesses to that disc, thus providing the disc
parameters for that disc.
- Once a disc has been identified and a defect list supplied, ADFS knows
that it only has to adjust the disc address for defects for old map discs,
which it detects by reading the zones field and applying the defect
adjustment if it is non-zero.
- To park a disc the park address is in the defect list amoungst the ST506
parameters. This is a nasty collusion because it assumes that a seek to a
given track is the correct parking procedure - not necessarily so! The
correct way to park a disc would be a miscellaneous DiscOp to park the disc.
These are the floppy collusions:
- Mounting: ADFS fills in the root directory address at end of the mount
(gak barf vomit!!)
- Mounting: ADFS assumes that 256 byte sectors mean one head, otherwise two
heads.
- Mounting: ADFS assumes it's been asked for 1k. It uses this fact to
determine the sector size (4 sectors means 256 byte sectors doesn't it!)
These are the RAMFs collusions:
- Mounting: RamFS assumes that the disc record is held at location 4 in the
RAM disc, and so copies it to the disc record supplied.