h6. [[FileCore]] h6(. » [[FileCore SWI Calls|SWI Calls]] h6((. » [[FileCore_MiscOp]] h6(((. » FileCore_MiscOp 0 h2. FileCore_MiscOp 0 h5. (SWI &40549) |_<^{width:4em}. Entry | | |<^. R0 |<^. 0| |<^. R1 |<^. Drive number| |<^. R2 |<^. Disc address to read from| |<^. R3 |<^. Pointer to buffer| |<^. R4 |<^. Length to read into buffer| |<^. R5 |<^. Pointer to [[FileCore Disc Record Large|disc record]] to fill in (floppies and floppy like hard discs only)| |<^. R8 |<^. Pointer to Filecore instance private word| |_<^{width:4em}. Exit | | |<^. R0 |<^. Preserved| |<^. R1 |<^. Preserved| |<^. R2 |<^. Preserved| |<^. R3 |<^. Preserved| |<^. R4 |<^. Preserved| |<^. R5 |<^. Preserved| |<^. R8 |<^. Preserved ?| h4. Use The purpose of this call is to mount a disc, reading in the data asked for. h4. Notes For a floppy disc, and for a hard disc where bit 4 of the descriptor block flags is set, this call asks the given filing system to first identify the disc's format. The suggested density to try first is given in the disc record; if this is not successful, the filing system should then try other densities. The following order is suggested: # Quad density # Double density # Octal density # Single density # Double+ density Once the filing system has identified the disc's format, it fills in the 'log2secsize', 'secspertrack', 'heads', 'density', 'lowsector' and 'root' values in the disc record. * If 'log2secsize' <=8, then it gives 'heads' the value (actual number of heads -1), and sets bit 6 of 'lowsector', so sides are treated as sequenced. Otherwise (i.e. when 'log2secsize' >8) it gives 'heads' the value (actual number of heads), and clears bit 6 of low sector, so sides are treated as interleaved. * The filing system clears bit 7 of 'lowsector'; this is used as an initial value, which FileCore subsequently corrects if necessary. Having filled in the disc record, the filing system then reads in the data asked for. For hard discs where bit 4 of the "descriptor block":link4 flags is clear, this merely asks the given filing system to read in the data asked for. This typically necessitates it reading the boot block of the disc; if the disc doesn't have one, the filing system generates one itself. h4. See also * [[FileCore]] * [[FileCore Disc Record Large]] * [[FileCore FS Descriptor Block]] * [[FileCore_MiscOp]] [link4]FileCore%20FS%20Descriptor%20Block#disc_flags