This is the current specification for the RigidDiskBlock: rdb_ID == 'RDSK' rdb_SummedLongs == 64 rdb_ChkSum block checksum (longword sum to zero) rdb_HostID SCSI Target ID of host This is the initiator ID of the creator of this RigidDiskBlock. It is intended that modification of the RigidDiskBlock, or of any of the blocks pointed to by it, by another initiator (other than the one specified here) be allowed only after a suitable warning. The user is then expected to perform an audio lock out ("Hey, is anyone else setting up SCSI stuff on this bus?"). The rdb_HostID may become something other than the initiator ID when connected to a real network: that is an area for future standardization. rdb_BlockBytes size of disk blocks Under pre-V36 filesystem, this must be 512 for a disk with any AmigaDOS partitions on it. Present filesystem supports 256, 512, 1024, etc. rdb_Flags longword of flags: RDBF._LAST no disks exist to be configured after this one on this controller (SCSI bus). RDBF._LASTLUN no LUNs exist to be configured greater than this one at this SCSI Target ID RDBF._LASTTID no Target IDs exist to be configured greater than this one on this SCSI bus RDBF._NORESELECT don't bother trying to perform reselection when talking to this drive RDBF._DISKID rdb_Disk... identification variables below contain valid data. RDBF._CTRLRID rdb_Controller... identification variables below contain valid data. RDBF._SYNCH drive supports scsi synchronous mode CAN BE DANGEROUS TO USE IF IT DOESN'T! These fields point to other blocks on the disk which are not a part of any filesystem. All block pointers referred to are block numbers on the drive. rdb_BadBlockList optional bad block list A singly linked list of blocks of type PartitionBlock rdb_PartitionList optional first partition block A singly linked list of blocks of type PartitionBlock rdb_FileSysHeaderList optional file system header block A singly linked list of blocks of type FileSysHeaderBlock rdb_DriveInit optional drive-specific init code A singly linked list of blocks of type LoadSegBlock containing initialization code. Called as DriveInit(lun,rdb,ior)(d0/a0/a1). rdb_Reserved1[6] set to $ffffffffs These are reserved for future block lists. Since NULL for block lists is $ffffffff, these reserved entries must be set to $ffffffff. These fields describe the physical layout of the drive. rdb_Cylinders number of drive cylinders rdb_Sectors sectors per track rdb_Heads number of drive heads rdb_Interleave interleave This drive interleave is independent from, and unknown to, the DOS's understanding of interleave as set in the partition's environment vector. rdb_Park landing zone cylinder rdb_Reserved2[3] set to zeros These fields are intended for ST506 disks. They are generally unused for SCSI devices and set to zero. rdb_WritePreComp starting cylinder: write precompensation rdb_ReducedWrite starting cylinder: reduced write current rdb_StepRate drive step rate rdb_Reserved3[5] set to zeros These fields are used while partitions are set up to constrain the partitionable area and help describe the relationship between the drive's logical and physical layout. rdb_RDBlocksLo low block of the range allocated for blocks described here. Replacement blocks for bad blocks may also live in this range. rdb_RDBlocksHi high block of this range (inclusive) rdb_LoCylinder low cylinder of partitionable disk area Blocks described by this include file will generally be found in cylinders below this one. rdb_HiCylinder high cylinder of partitionable data area Usually rdb_Cylinders-1. rdb_CylBlocks number of blocks available per cylinder This may be rdb_Sectors*rdb_Heads, but a SCSI disk that, for example, reserves one block per cylinder for bad block mapping would use rdb_Sectors*rdb_Heads-1. rdb_AutoParkSeconds number of seconds to wait before parking drive heads automatically. If zero, this feature is not desired. rdb_HighRDSKBlock highest block used by these drive definitions Must be less than or equal to rdb_RDBBlocksHi. All replacements for bad blocks should be between rdb_HighRDSKBlock+1 and rdb_RDBBlocksHi (inclusive). rdb_Reserved4 set to zeros These fields are of the form available from a SCSI Identify command. Their purpose is to help the user identify the disk during setup. Entries exist for both controller and disk for non-embedded SCSI disks. rdb_DiskVendor vendor name of the disk rdb_DiskProduct product name of the disk rdb_DiskRevision revision code of the disk rdb_ControllerVendor vendor name of the disk controller rdb_ControllerProduct product name of the disk controller rdb_ControllerRevision revision code of the disk controller rdb_Reserved5[10] set to zeros