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 =     2
     R1 =     device ID
     R2 ->     buffer for description, (16 bytes, word aligned).
<=     Buffer filled in

Potential errors:
&00020105     - Invalid SCSI device ID
&0002010A     - Timeout

Performs an Inquiry command to see what type the device
is and then performs the appropriate Read-Capacity
command depending on the device type.
SCSI_Initialise 2, R2 buffer contents
Offset     /Meaning/
0     Type
1     Removable medium Bit (Bit7)/Device-Type Qualifier (Bits 0..6)
2     ISO (b7..6)/
     ECMA (b5..3)/
     ANSI (b2..0) version
3     Reserved (reserved field returned by inquiry command)
4     Additional length, extra data that could be obtained by an inquiry command
5..7     Reserved (by device driver - currently zero) 
8..11     word highest logical block number     } converted to normal
12..15     word block length               } ARM byte sex

Bytes 0..4 are the first 5 bytes returned by an inquiry command, byte 5 is
provided to indicate how much additional data (vendor ID,product ID etc)
could be obtained by an Inquiry command Bytes 5..7 are reserved by the
device driver

Bytes 8..11 (word 2) & 12..15 (word 3) are the highest block count and block
size returned by a Read Capacity command but have had the byte sex reversed
to suit ARM's LDR instruction.
SCSI_Initialise, device type.
&00     Direct-access               (eg magnetic disk)
&01     Sequential-access          (eg magnetic tape)
&02     Printer device
&03     Processor device
&04     Write-once read-multiple     (eg some optical discs)
&05     Read-only               (eg some optical discs)
&06-7E     Reserved
&7F     Logical unit not present
&80-FF     Vendor unique

[sh-index] Back to list of manuals