The next goal is to actually INSTALL the new MIGRATING.BIN as an IRIS LU, so it is easier to modify. Before doing that, it is necessary to insure that DMAP will not pose any problems. Because …
- DMAP can move during INSTALL, destroying files.
- DMAP can increase in size, destroying files.
Check the 0/XGEN.LIBR text file to see that the DMAP actually starts on block 020. That tells you there are 16 (dec) sectors per track on the original LU0, and that it is compatible with a 6103 drive. If DMAP is located elsewhere, then all the following info that refers to 6103 should be replaced with a compatible drive. For example, the Century 114 has 12 (dec) sectors per track, in case DMAP lands on block 014.
Now to examine DMAP more directly:
G 77/20 (DSP uses octal for Get and Write Block commands, and 77 octal == 63 decimal ).
O (letter ‘O’ should output ‘DMAP’ from loc. zero in the header block).
D (to examine the header block in octal). Note the following:
- Displ. 11 is the number of blocks (octal) used in DMAP, including the header. This number is referred to as NBLK.
- Counting from displ. 177 (in header block), identify all block numbers used.
- There may be some additional blocks in the list, but they are not used (IRIS quirk). NBLK is correct. The block list may not be.
- Examine the first and last data block to determine the DMAP structure and LU size (see DMAP).
Using the last cylinder entry, add the cylinder address and #blocks per cylinder, to determine the total # blocks in the LU. Convert this to decimal, then calculate the number of DMAP blocks needed to map that many blocks on a 6103 drive.
Usually it is possible to round up the #cylinders and make the LU larger on a 6103.
- A 6103 has 256 (dec) blocks per cylinder.
- A single block of DMAP on a 6103 can map 14 (dec) cylinders or 3584 (dec) blocks.
- Calculate potential size of DMAP on a 6103 == # blocks in MIGRATING.BIN divided by 3584 (rounded up) plus 1 for header.
- Make sure this is less than or equal to NBLK in DMAP header (octal).
- Multiply # DMAP blocks (minus header) by 14 to get # cylinders needed on a 6103 drive to accommodate the backup. Convert to octal. (These constants are assuming a 6103 drive).
Now reset the DMAP parameters for the new drive type.
On a 6103, each DMAP “record” consists of 1 word for cylinder address, 1 word for # blocks available in cylinder, and 020 words to map the 16 (dec) tracks. That makes 022 words per record.
G77/20 (DMAP header)
E 13 ( enter header info beginning with loc 13 )
13: 3 (always)
14: 22 ( # words used per cylinder, octal )
15: 16 ( # cylinders, i.e. records, per block, octal )
Now reset # cylinders in CONFIG on LU0 for the IRIS 1.0 partition.
D 1400 (drive table; see CONFIG)
( locate partition 1.0, next line assumes layout shown in docs )
1433: nnn (# cylinders needed, as calculated above )
Now convert the current pseudo 63/ into a valid 63/.
That will make it easier to import the new 6103 drivers.
It should report LU0. Install = ‘N’. Change = ‘Y’. New LU= 63.
This will rebuild the DMAP file based on the above entries, and examine all file headers for integrity. This should install w/o error.
Double check results with DSP.
D (check displ 11 size)
A side-effect of this INSTALL will be to set every header block to reflect LU 77 (octal).
If you are converting a non-zero LU, then the job is done.
If converting an LU0, then there is more to do, including resetting the unit to LU zero. That will come later.