Things to do to FileCore:

ToDo:
   Add densities to doc.DiscRecord and new Disc Record disc type field.
   Add documentation of new FileCore SWIs: FileCore_LayoutStructure and FileCore_DiscFormat
   Fix doc.Formats - fill in F format; extend E format - sector skew on 2.50
   Fix doc.LFormat - tidy it up
   Fix doc.Notes re r2 corruption - its fixed in RO 2.50
   Fix doc.OldMaps: Location of map halves, disc name and root directory location
   Use shared international messages.
   Fix *help format syntax replacing L/D/E with <format>
   Fix bug whereby *Format disc name isn't filled in (F format)
   Remove service call IRQ latency - calls a service call with IRQs disabled!
   Fix BackgroundDiscOp users to repond to directly generated errors
   Disable escape during disc identification sequence
   Internationalise it
1  Format with disc record on side 1, track 0 gives bad parameters error (all flavours)
1  Thos new, groovy bad block list and allocated space related interfaces.
   Fix Compact syntax message to include the drive
   Fixes for old filing systems/allow new filing systems to have removable winnies:
        Allow 0s in Heads/Density/SecsPerTrk/SectorSize to indicate unknown values for MultiFS identify and CachedReadSecs
        Add startup options for:
                HardDiscs can be PollChanged
                HardDiscs supply good disc shapes (Heads/Density/SecsPerTrk/SectorSize) from mount (this clear means hard discs are locked into being FileCore hard discs)
   Tart up dismount :<n> to dismount without mounting (for format to work without having to mount the fs).
   Contact Stuart about *save/*type bug (cache inconsistent with file)
   UpCall_modified file on semi-ambiguous disc name
   Bang DirCache on re-using disc (perhaps)
--
.5

ToDo to ADFSFiler:
Fix so that mounting a disc reacts the same with identically named discs with different Ids.
IDE drive support.
MultiFS support (format submenu).

To be tested (implemented, but not fully tested):
Fix SizeLessDefects to be defect-list sensitive (to be tested)
Fix cached read sectors in the no memory at all situation re:reading whole sectors not parts (to be tested)
Fix FindDisc to assume hard discs can be removed too (to be tested - need to test hard disc removal situation)
SCSIFS
   FileCore_LayoutStructure
1  F format

UnFixable:
1  Fix bug whereby changing a disc on another machine doesn't zap the dircache for that disc.
      Actual events are: disc found in disc records which then refer to old dircache.

Done:
Fix init to allocate blocks for floppy maps
Fix WhatDisc to identify discs properly
Fix die to free blocks for floppy maps
Fix Drive allocation to be Winnie/Floppy independant
Fix drive priority updating to do Winnies too.
Fix StartupFileCoreDisc to copy the relevant fields of the disc record from the disc.
Update doc.identify to note that DiscId must be filled in too.
Fix DetermineDiscType to discard readsectors cache once finished
Fix checks for Winnie/FloppyNess to base it upon drive number, not disc number
Fix identify of ADFS D discs to not assume any alternative map
Fix identify of ADFS discs to read full disc record info to sample disc record.
Fix RetryDriveOp to take defects based on disc type
Fix DoDismountDisc to apply dependant on disc type (to be tested)
Fix WhatDisc when disc gets reidentified to adjust FCBFloppyFlags as necessary
Fix WhatDisc when disc gets reidentified to adjust FloppyFlag for disc
Investigate when ADFS applies defect list corrections
Fix Verify to work on D-map discs (problem actually incompatible drives (gark!!))
Fix handling of D/L format discs: Seems to forget it's a floppy; get BadDir sometimes (D format was being filled in as sequence sides, but is interleaved sides)
Fix ADFS_DescribeDisc to fix the root dir address to be a drive address, not a disc address
Fix ADFS_DescribeDisc to append DiscType after old record
Fix WhatDisc when identifying a disc when it finds an old match to pull in the free space map and bad block list.
Fix BadDefectList error when doing a desktop verify of a L format disc followed by machine enstiffment
Fix copying from floppy to floppy (address exceptions when going for foreign floppy) (due to touchy disc insertion algorithms: BeforeRead/AlterFsMap will only lock floppies which is what causes the request for the disc - hence the problem).
UnLock and Lock media misc ops should go through a routine to enable winnie/floppy unification
RestartFloppyCheck assumes disc<->winnie numbering
Fix FindDiscRec to take acount of Data discs (nothing to happen - disc will have open file on it if in use, otherwise treat as ordinary, unused disc)
Fix NeedNewId handling on recognised disc to be Winnie/Floppy independant.
Fix UpCall insert disc to be winnie/floppy independant
Finish debugging FindDiscByName in multi-same-name-disc situation
Fix handling of ambiguous disc situation: FileSwitch gets name from FileCore then quotes it back. FileCore barfs 'cause a name, not :0 was quoted at it.
Fix WhatDisc in the FileCore_DiscOp situation to only mount the disc (medium/low priority)
Fix FindDiscByName to check name properly in the non-FileCore disc name situation. (believed to do this)
Fix *Format switching to verify step
3  Fix FileCore to understand non-FileCore discs:
        Mount non-filecore discs (done)
        Disable comprehention of contents of non-filecore discs:
                FindDir/GetDir done
                *backup - no done
                *checkmap - no done
                *compact no t - drops out from BeforeAlterFsMap done
                *defect no done
                *dismount yes, already done
                *free no done
                *map no done
                *namedisc no t - drops out from beforealterfsmap done
                *verify yes - no problem at all drops out from old map done
                DoSwiFreeSpace - no done
        *Dismount of non-FileCore discs done
        Fix _Open
                Read - yes t done
                CreateUpdate - yes t - drops out from setext to 0 being ignored done
                Update - yes t done
        Fix _Args
                read sfp - bad done
                write sfp - bad done
                read extent - bad done
                write extent - yes t - gets ignored at close done
                read allocated - bad done
                eof check - bad done
                flush - Yes t done
                ensure size - yes t done
                write zeroes - yes t done (probably)
                read datestamp - yes t done
        Fix _Close
                yes - drop load+exec on floor t done
        Fix _GetBytes
                yes t - not used (filecache)
        Fix _PutBytes
                yes t - not used (filecache)
        Fix _File
                save - no t - drops out by reject in BeforeAlterFsMap done
                write info - no t - drops out with root dropping it on floor done
                write load - no t - drops out with root dropping it on floor done
                write exec - no t - drops out with root dropping it on floor done
                write atts - no t - drops out with root dropping it on floor done
                read info - yes t - drops out with readblahblah routines done
                delete - no t - drops out from GetDir/BeforeAlterFsMap done
                create - no t - drops out by reject in BeforeAlterFsMap done
                cdir - no t - drops out from already existing done
                read info (no length) - yes t - drops out from readblahblah (never used:done)
                load - yes t - drops out from various done
        Fix _Func
                rename - no t - drops out from DirToBuffer in 2nd FullLookUp done
                access - no t - drops out from DirToBuffer barf done
        Fix _GBPB
                read - yes t - drops out from oldmap done
                write - yes r - drops out from oldmap done
Fix RamFs/SCSIFS (possibly problem with non-background filing systems)
kloodge all uses of pollchange
Fix Bad drive error in file not found situation
Fix FileCore to UpCall to FileSwitch when *Mount is issued to set the directories.
1  Fix "Broken directory" error: copy from :5.arm.adfs.rm.adfs to :0.adfs then open Hdr, then open Hdr.M-Z - broken directory here.
        Sequence to generate error:
        *rmr. adfs
        *.  (catalogue current directory which is set to adfs::JRoach_A.$.arm.filecore)
        *info :11_19_thu.$.emaps
        *. oldstuff
        Broken directory
        This sequence doesn't generate an error:
        *rmr. adfs
        *.  (catalogue current directory which is set to adfs::JRoach_A.$.arm.filecore)
        *info :0.$.emaps
        *. oldstuff
        This sequence doesn't generate an error:
        *rmr. adfs
        *.  (catalogue current directory which is set to adfs::JRoach_A.$.arm.filecore)
        *info :0.$
        *. oldstuff
        This sequence does generate an error:
        *rmr. adfs
        *.  (catalogue current directory which is set to adfs::JRoach_A.$.arm.filecore)
        *info :11_19_Thu.$.fmaps (which doesn't exist)
        *. oldstuff
        This sequence doesn't generate an error:
        *rmr. adfs
        *.  (catalogue current directory which is set to adfs::JRoach_A.$.arm.filecore)
        *info :jroach_b.$.pcnfsd/c
        *. oldstuff
        This sequence doesn't generate an error:
        *rmr. adfs
        *.  (catalogue current directory which is set to adfs::JRoach_A.$.arm)
        *info :11_19_thu.$.emaps
        *. filecore
Fix DoDefect to apply dependant on disc type
0.5 Remove NoDir, NOURD, NoLib commands
   Remember the floppy parameters from a format track operation for the next mount
Fix any code which assumes Winnie Disc<->Drive mapping is identity (to be tested).
Fix ReadAhead/WriteBehind alogrithms to be winnie/floppy independant (to be tested)
*Verify - escape - DoUnLockDrive(Drive=FB) - bug does not appear any more
Find out why !Format stiffs and fix it! - Laurence and Ran to sort out this one.
Fix "Please insert disc ''" bug when filecore freshly booted - not seen any more
   Fix DiscOp 9 to handle 0s in sector size, heads, density, secspertrk (treat as 1 head, 1K sectors, 1 sector per track)
   Fix D hard disc use when booting machine
   (Look at address exception on Laurence's test machine when loading FileCore in boot sequence) - does not occur now
1  Make all drive-implicit commands make reference to FileSwitch current directory:
        checkmap compact dismount free map verify
