home *** CD-ROM | disk | FTP | other *** search
/ Microsoft Programmer's Library 1.3 / Microsoft-Programers-Library-v1.3.iso / drivers / scsi / futrdomn / manual / biosgen.txt < prev    next >
Encoding:
Text File  |  1990-08-17  |  5.0 KB  |  115 lines

  1. o- General 
  2.  
  3. The ROM BIOS functions according to the IBM PC/XT/AT ROM BIOS specifications
  4. and utilizes the standard Interrupt 13H mass storage vector. As a subset,
  5. it contains enough compatibility to allow booting from devices that can be
  6. made IBM media compatible.
  7.  
  8. In addition to the basic set of commands, extensions are available to provide
  9. direct control of SCSI devices for the purposes of control, identification,
  10. formatting, extended addressing, etc.
  11.  
  12. The ROM BIOS also maintains information in a private RAM table that may be
  13. useful to the writer of device drivers or utilities. This information is also 
  14. made available through extensions to the INT 13H BIOS call.
  15.  
  16. o- Addressing Conventions
  17.  
  18. The ROM BIOS has conventions concerning the use of SCSI addresses and LUN 
  19. assignments. The BIOS performs its scan for drives at SCSI addresses in the 
  20. order as follows:
  21.  
  22.                       SCSI Address 0 LUN 0
  23.                       SCSI Address 1 LUN 0
  24.                       SCSI Address 2 LUN 0
  25.                       SCSI Address 3 LUN 0
  26.                       SCSI Address 4 LUN 0
  27.                       SCSI Address 4 LUN 1
  28.                       SCSI Address 4 LUN 2
  29.                       SCSI Address 4 LUN 3
  30.                       SCSI Address 5 LUN 0
  31.                       SCSI Address 5 LUN 1
  32.                       SCSI Address 5 LUN 2
  33.                       SCSI Address 5 LUN 3
  34.                       SCSI Address 7 LUN 0                        
  35.  
  36. A SCSI device that allows addressing of LUNs other than 0 must be setup at 
  37. SCSI address 4 or 5.
  38.  
  39. If a device does not properly return an error code when the incorrect LUN is 
  40. addressed, it cannot be set at SCSI address 4 or 5. The symptom of this error
  41. is that the same drive name will show up multiple times on the screen during 
  42. boot time.
  43.  
  44. SCSI address 6 is used by the Future Domain drivers that utilize arbitration 
  45. and reselection.
  46.  
  47. o- Boot Sequence
  48.  
  49. The ROM BIOS follows the rules for a mapped BIOS in the system and is executed
  50. at boot time by the system BIOS. The SCSI Drives are scanned in the address 
  51. order described above and are located as follows:
  52.  
  53. LOOP1 - Scan the bus once for any devices that respond (READY or NOT READY)
  54.         and add them in an ID list if it is a direct access device.
  55.  
  56. LOOP2 - Go through the ID list until all the devices respond with READY. 
  57.         (spend  a maximum of 30 seconds on any given drive). This loop is 
  58.         bypassed if all the devices found in LOOP1 responded with READY.
  59.  
  60. LOOP3 - Scan the bus once more and any device that is found is issued an 
  61.         INQUIRY command.  The BIOS also issues a READ CAPACITY     command if it
  62.         is a direct access device.
  63.  
  64.  
  65. NOTE 1:  The SCSI bus was checked for a parity error during the issuing of 
  66.          the Test Unit Ready command. If the adapter detected a parity error,
  67.          further checking of parity on the SCSI bus is disabled. A message 
  68.          is output indicating that SCSI bus parity is not being checked.
  69.  
  70. NOTE 2:  The SCSI Read Capacity command is issued to determine the size of the
  71.          drive. This number is used to make up drive parameters to report to 
  72.          ROM BIOS users. (See  "Return Parameters" command, Code AH=08h.) 
  73.  
  74. NOTE 3:  If the sector size of the drive does not equal 256 or 512, a message 
  75.          indicating that there is a nonstandard sector size is output. This 
  76.          may occur for such things as optical drives which have a nonstandard
  77.          sector size and are supported by a separate loadable driver.
  78.  
  79. NOTE 4:  BIOS scan of the SCSI Bus continues until the SCSI ID 7 is reached 
  80.          or maximum 6 drives are located.
  81.  
  82.  
  83. o- Special Sector Size Handling
  84.  
  85. Two different sector sizes are supported. They are 256 and 512 bytes per 
  86. sector. If the ROM BIOS detects a sector size of 256 bytes during the Read 
  87. Capacity command, a flag is set in the BIOS RAM area that causes all commands 
  88. associated with number of sectors to compensate for the smaller sector size.
  89.  
  90. All drives with 256 byte sectors appear to the user of the ROM BIOS to have 
  91. 512 bytes. Compensation for the 256 byte sector size is handled by the 
  92. commands which follow:
  93.  
  94.   Read Capacity command: The size that is read is divided by two.
  95.  
  96.   Read Command:  The number of sectors to be transferred and the logical block 
  97.        address are multiplied by two before being put into the SCSI command.
  98.  
  99.   Write Command: Same as Read.
  100.  
  101.   Verify Command: Same as Read.
  102.  
  103. Drives for which nonstandard sector sizes have been reported are part of the 
  104. drive addressing scheme, but all read, write, verify commands are completed 
  105. with an error code.
  106.  
  107. Magnetic media that is to be run by the system should be assigned to the lower
  108. SCSI addresses, while such things as optical media should be assigned to an 
  109. upper SCSI address, i.e. SCSI address 5. This allows booting from the magnetic
  110. media, whereas a device with a nonstandard sector size will not be allowed to
  111. boot.
  112.  
  113. ROM BIOS will always attempt to boot from the drive at the lowest SCSI
  114. address.
  115.