h6. [[Programmer's Reference Manuals]] h6(. » [[Service Calls]] h6((. » Service_IdentifyDisc h2. Service_IdentifyDisc h5. (Service &69) |_<^{width:4em}. Entry | | |<^. R1 |<^. 105 (&69)| |<^. R2 |<^. Pointer to buffer for format name| |<^. R3 |<^. Buffer length| |<^. R5 |<^. Pointer to [[FileCore Disc Record Large|disc record]]| |<^. R6 |<^. Sector cache handle| |<^. R7 |<^. Pointer to FileCore instance private word| h4. Format not recognised |_<^{width:4em}. Exit | | |<^. R1 |<^. Preserved| |<^. R2 |<^. Preserved| |<^. R3 |<^. Preserved| |<^. R5 |<^. Preserved| |<^. R6 |<^. New sector cache handle| |<^. R8 |<^. Preserved| h4. Format recognised |_<^{width:4em}. Exit | | |<^. R1 |<^. 0 to claim| |<^. R2 |<^. [[File Types|Filetype]] number for given disc| |<^. R3 |<^. Preserved ?| |<^. R5 |<^. Pointer to modified [[FileCore Disc Record Large|disc record]]| |<^. R6 |<^. New sector cache handle| |<^. R8 |<^. Preserved| h4. Use This service is issued to identify a disc format. [[FileCore]] claims it for formats it recognises. h4. Notes # (Unless any of the 4 values are zero) check the [[FileCore Disc Record Large|disc record's]] sector size, sectors per track, density and lowest sector ID number. Pass on the service if the sector scheme is unrecognised # Update the values in the [[FileCore Disc Record Large|disc record]] for disc size, sequence sizes, double step and heads. # Read the sector contents and check them - if it does not recognise these then pass on the service with R6 updated # Update the values in the disc record for [[Disc Cycle ID|disc cycle id]] and disc name # Fill the buffer in R2 with text suitable for the current format menu entry # Claim the service call If any of sector size, sectors per track, density and lowest sector ID number are 0 then these were not supplied by [[FileCore_MiscOp 0]] - this should only happen for hard discs. The heads field of the disc record should be updated in line with the sequence sides bit - if this bit becomes cleared add one to the heads, if this bit becomes set subtract one (but do not reduce heads below 0). The sector contents should be read with [[FileCore_DiscOp 9]] with R1 = flags 01x0 binary (1 second timeout, ignore escape, no alternative defect list) pointer to the alternative disc record supplied R2 = the disc address given by the root directory address on the disc record supplied h4. See also * [[Disc Cycle ID]] * [[File Types]] * [[FileCore]] * [[FileCore Disc Record Large]] * [[FileCore_DiscOp 9]] * [[FileCore_MiscOp 0]] * [[Service Calls]]