- By mid-1970s, nearly all Nova compatible CPU’s were 64KW (dec) machines, with memory addresses running from 0-177777.
- All disk controllers assume 16-bit words (dec). Drives are formatted in sectors of 400 (256) words, referred to as BLOCKS.
- All disk controllers address the drives by Cylinder, Track, and Sector, supplied by the software drivers.
- At the application and system level, all blocks within a single disk partition (or Logical Unit) are addressed with a single word. In IRIS, this is called the Real Disk Address (RDA). This address runs from zero to the maximum for the partition, making it independent of any drive’s cylinder, track, and sector structure.
- Conversion from RDA to Cylinder/Track/Sector is the responsibility of the software disk driver.
- Each controller-drive combination requires a separate disk driver.
DG Controller Types
DG controllers came in 2 formats. The major limitation on Format 1 was the number of sectors per track. At the lowest level (driver+hardware) the format matters because it changes how the driver communicates the cylinder+track+sector information. But within a given format, the only real difference between the various drives is in how the driver converts the RDA to its component parts. Once it has cylinder+track+sector, the rest is the same for all drives within a given format.
Both controller formats are supported by nova.exe.
(Numbers in the following two tables are all decimal).
IRIS Conventions for Larger Drives
(All numbers are decimal in the following discussion)
In the interests of speed and simplicity in allocating available blocks to files, IRIS imposes a logical limit of 16 sectors per track.
To handle drives with more than 16 physical sectors, the drive is usually redefined to the system as having half the number of sectors and twice the number of tracks. As an example, the 6070 drive has 24 sectors and 4 tracks. IRIS would define it as 12 sectors and 8 tracks. That way the Cylinders still have the same number of blocks, and the same relative cylinder# for a given RDA.
To access a given block on a 6070, the driver converts the RDA to cylinder, sector, and track using the IRIS definition, then corrects by dividing the track# by two, and if the track# was odd, adds 12 to the sector#. That gives the physical track and sector required by the controller for that RDA.
To put this another way, each logical IRIS track is equivalent to 1/2 a physical track.