AcornSearch - Acorn and RISC OS information searching
RISC OS Search
containing
"Nutty quip goes here!"
Home  |  About  |  Filebase Archive  |  StrongHelp Manuals  |  Newsgroups  |  Module Database
=>     R0 =     0 (reason code)
     R1 =     drive
     R2 =     disc address to read from
     R3 =     pointer to buffer
     R4 =     length to read into buffer
     R5 =     pointer to disc record to fill in (floppies and floppy like hard discs only)
     R8 =     pointer to FileCore instance private word

<=     R1-R5 preserved

This call mounts a disc, reading in the data asked for.

Note the disc address is always in bytes, as prior to mounting the sector size is not known so sector addressing cannot be used.

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:

1. Quad density
2. Double dendity
3. Octal density
4. Single density
5. 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 (ie 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 flags is clear, or floppy discs where bit 11 of the descriptor block is set 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.

[sh-index] Back to list of manuals