1. E format discs a) don't need compacting b) don't get map full errors c) floppies can now also do defect skipping (was only winnies with old map) as *format will map out any defects it finds d) defects can mapped out without reformatting (both floppies and winnies) using the command *defect 2. New configuration commands *configure ADFSDirCache [K] This reserves some space for ADFS to keep a cache of recently used directories in a compressed form. *configure ADFSbuffers This is used to reserve a number of 1K buffers which ADFS can use to speed up BGET, BPUT and GBPB. They are used for write behind, read ahead and caching of most recently used file buffers. If underused some of this space can get temporarily transferred to the directory cache. It does not have an optional K in the syntax since each buffer has a small overhead and hence the space reserved is not an exact number of Kbytes. 3. *Verify will now do up to 5 retries, and report where it retried. Typical output Verifying ... 0009A800 ?? Managed to verify sector after 2 retries Disc error 08 at :0.000C5400 Failed to verify sector after 5 retries Verify failed Final message is one of Verified ok Verified with retries Verify failed Some discussion of soft and hard errors needed. This ties in with defects. 4. RAMFS The module RAMFS provides a filing system RAM: which appears to the user much the same as ADFS. 5. new adfs SWIs ADFS_Retries &40244 This can be used to read/write the retry word, the 4 bytes of which have the following meaning. byte meaning 0 number of retries for hard disc read/write sector 1 number of retries for floppy disc read/write sector 2 number of retries in floppy disc mount for each copy of map 3 number of retries for verify after *format before called a defect entry R0 bits to change R1 new bits exit R0 preserved R1 masked by R0 = R1 AND R0 R2 old value of retry word R3 new value of retry word = (old value BIC R0) EOR (R1 AND R0) ADFS_DescribeDisc &40245 entry R0 -> disc specifier string R1 -> 64 byte block to fill in as disc record exit disc record filled in as follows 0 - log to base 2 of sector size 1 - sectors per track 2 - heads (1 for L format disc) 3 - density 1/2/4 * 4 - width of id field in bits * 5 - log to base 2 of bytes for each map bit or 0 for old map * 6 - track to track skew for random access files 7 - boot option 8 - reserved * 9 - number of zones in the map * 10-11 - non map bits in zone 12-15 - system internal number of root directory 16-19 - disc size in bytes 20-21 - 2 byte disc id 22-31 - disc name 32-63 - reserved entries marked * refer to details of new map format 6. Attribute extension New directory discs (ie all except L format) have extended attributes. Bits 4-7 no longer repeat bits 0-3, but the only use ADFS makes of them is to display bits 4 and 5 in *FileInfo bit meaning 0 owner read access 1 owner write access 2 always zero 3 locked bit 4 public read access 5 public write access 6 reserved 7 reserved 7. extension of up call protocol UpCall_MediaNotPresent (1) and UpCall_MediaNotKnown (2) have had their parameters extended as below to allow the Wimp to detect insertion of a disc if a drive supports disc changed. R1 - filing system number R2 -> media name string or -1 if irrelevant R3 - device number or -1 if irrelevant R4 - iteration count 0,1,2,.. for repeated issuing of call R5 - minimum polling period in centiseconds for claiming upcall, -1 if not to poll R6 -> media string eg. 'disc' An up call handler for UpCall_MediaNotPresent and UpCall_MediaNotKnown can still work in the simple way. That is on receipt of the upcall to interact with the user to determine if he is able to insert the media. If he can then the handler should claim the upcall, otherwise it should pass it on. The up call will be repeatedly issued until the media is found or the up call not claimed. In order to spot automatically when the required media has been inserted. The upcall handler should regularly claim the up call at intervals specifed by R5 allowing the filing system to search for the media. In order to allow the up call handler to tidy up if a media is found in this way a new up call, UpCall_MediaSearchEnd (4), has been added. This is issued whenever a media search is ended, either because the media was found or the up call was not claimed. This up call handler must not issue calls that may cause the filing system to be re-entered. Also programs designed to run under the desktop should not handle these up_calls. 8. Creating a new filing system with FileCore. see separate document 9. Details of E format file structure see separate document