From da09a12c41591b7eb461cbf14df68b9440f36a60 Mon Sep 17 00:00:00 2001 From: "Steven A. Falco" Date: Thu, 13 Jun 2024 12:38:27 -0400 Subject: [PATCH] Update tips --- doc/info/{tips.2 => tips.3} | 236 +++++++++++++++++++++++++++--------- 1 file changed, 177 insertions(+), 59 deletions(-) rename doc/info/{tips.2 => tips.3} (64%) diff --git a/doc/info/tips.2 b/doc/info/tips.3 similarity index 64% rename from doc/info/tips.2 rename to doc/info/tips.3 index fe550f27..fd621cec 100644 --- a/doc/info/tips.2 +++ b/doc/info/tips.3 @@ -261,51 +261,75 @@ File: TIPS, Node: Adding an additional disk, Next: Build new version of SALV or  File: TIPS, Node: Build new version of SALV or NSALV, Up: Adding an additional disk, Next: Build new version of ITS -1. Edit the file KSHACK;NSALV > or SYSTEM;SALV >. +1. Edit the file KSHACK;NSALV > or SYSTEM;SALV >. The file contains + definitions for the known ITS installations, so be sure to update the + correct section of the file. For PiDP-10, we generally use the KA + installation. 2. Update NDRIVE to specify the total number of drives desired. For RP06 and RP07 drives, the number of drives equals the number of packs. - For a 1-pack system (default), NDRIVE==1. If you are adding a second drive, change this to NDRIVE==2. + For a 1-pack system (default), NDRIVE==1. If you are adding a second + drive, change this to NDRIVE==2. + Note that some systems will not have this parameter specified, and will + instead use a default of 8. This is harmless, but you can add an + explicit setting if you prefer. 3. Update NUNITS to specify the total number of pasks desired. For RP06 and RP07 drives, the number of drives equals the number of packs. - For a 1-pack system (default), NUNITS==1. If you are adding a second pack, change this to NUNITS==2. + For a 1-pack system (default), NUNITS==1. If you are adding a second + pack, change this to NUNITS==2. + Note that like NDRIVE above, this parameter may be using a default + setting and can be handled the same way. 4. Update LASTPK to specify the 0-based number of the last pack - For a 1-pack system (default), LASTPK==0. If you are adding a second disk/pack, change this to LASTPK==1. + For a 1-pack system (default), LASTPK==0. If you are adding a second + disk/pack, change this to LASTPK==1. 5. Back up active version of NSALV or SALV: a. For NSALV: :RENAME .;nsalv bin,nsalv obin b. For SALV: :RENAME .;salv bin,salv obin -5. Assemble a new NSALV or SALV: +6. Assemble a new NSALV or SALV: a. For NSALV: :MIDAS dsk0:.;_kshack;nsalv b. For SALV: :MIDAS dsk0:.;_system;salv + You will be asked a few questions as the file is assembled. For + "Run under time-sharing?" answer N followed by a carriage return, + and for "Which machine?" answer with the appropriate installation + name, such as KA for a PiDP-10 system. This name should be capitalized.  File: TIPS, Node: Build new version of ITS, Previous: Build new version of SALV or NSALV, Up: Adding an additional disk, Next: Build new version of DSKDMP (optional) 1. Edit the file SYSTEM; CONFIG >. 2. Update the value of NQS to reflect number of packs. - For a 1-pack system (default), NQS==1. If you are adding a second pack, change this to NQS==2. + For a 1-pack system (default), NQS==1. If you are adding a second pack, + change this to NQS==2. 3. Back up active ITS binary: :RENAME .;its bin,oits bin 4. Assemble a new ITS: :MIDAS dsk0:.;_system;its + You will be asked for the machine name, and for a PiDP-10 this would + again be KA.  File: TIPS, Node: Build new version of DSKDMP (optional), Previous: Build new version of ITS, Up: Adding an additional disk, Next: Shut down ITS -This step is optional, however recommended. It is quite possible that you may need to perform operations -from DSKDMP on the new drive. Your existing DSKDMP may only know about your current number of drives, -and therefore not be able to manipulate your new drive. If this is the case you should update DSKDMP -to know about the new drive and reassble it. - 1. Edit the file SYSTEM; DSKDMP >. -2. Make sure that the value of NDSK is equal or greater than the total number of disks you have defined in ITS. +2. Make sure that the value of NDSK is equal or greater than the total + number of disks you have defined in ITS. 3. Back up active DSKDMP binary: :RENAME .;dskdmp bin,dskdmp obin -3. Reassemble DSKDMP: + Note that this command may fail, because some systems don't have a + dskdmp bin file. This error can be ignored as we will be building a + new dskdmp bin file next. +4. Reassemble DSKDMP: :MIDAS DSK0:.;_SYSTEM;DSKDMP + Note that we will be presented with a request for "Configuration...". + If your machine is using a standard configuration, you can choose it + here. But for PiDP-10, choose ASK, which will ask a bunch of follow-up + questions. The correct answers for the PiDP-10 are N for everything + except the "Number of dirs?" question, which should be 500 plus a + period (.). It is vital that we put a period immediately after the + 500 because that makes it a base-10 number rather than a base-8 number.  File: TIPS, Node: Shut down ITS, Previous: Build new version of DSKDMP (optional), Up: Adding an additional disk, Next: Update emulator configuration for new disks @@ -322,24 +346,64 @@ File: TIPS, Node: Shut down ITS, Previous: Build new version of DSKDMP (optiona  File: TIPS, Node: Update emulator configuration for new disks, Previous: Shut down ITS, Up: Adding an additional disk, Next: Boot SALV or NSALV -This procedure is different for the various emulators used to boot ITS. For KLH10, update the dskdmp.ini file to -add a new line similar to this one: +This procedure is different for the various emulators used to boot ITS. +For KLH10, update the dskdmp.ini file to add a new line similar to this one: devdef dskN rh0.N rp type=rp06 format=dbd9 path=rpN.dsk iodly=0 -where the value N is replaced with the the disk number. For example, the default system contains a single line like this: +where the value N is replaced with the the disk number. For example, the +default system contains a single line like this: devdef dsk0 rh0.0 rp type=rp06 format=dbd9 path=rp0.dsk iodly=0 -If you are adding a single new disk, the resulting lines should look like this: +If you are adding a single new disk, the resulting lines should look like +this: devdef dsk0 rh0.0 rp type=rp06 format=dbd9 path=rp0.dsk iodly=0 devdef dsk1 rh0.1 rp type=rp06 format=dbd9 path=rp1.dsk iodly=0 +Note that the PiDP-10 uses SIMH instead of KLH10. The rest of this section +describes how to add the drives on PiDP-10. First, edit two files: + + /opt/pidp10/systems/its/boot.pi + /opt/pidp10/systems/its/boot.pidp + +Search for a line containing dpa3 in those files, and add lines for however +many additional disks you want below it. Assuming you want the maximum of +8 disks, you would add the following four lines: + + at dpa4 ./rp03.4 + at dpa5 ./rp03.5 + at dpa6 ./rp03.6 + at dpa7 ./rp03.7 + +Next, stop and start SIMH so it sees those new definitions. Do this via: + + pdpcontrol stop + pdpcontrol start + +There is one complication for PiDP-10. We need the disk headers to be +writable in order to format the new disks, but ITS requires that the disk +headers are write-protected when it is in normal operation. The way to +deal with that is to interrupt SIMH and change the write-protect setting +when needed. + +For now, we enable writing the headers as follows. Open the SIMH console +by double-clicking the SIMH icon on the desktop. Type the following to make +the headers writable: + + ^E + set dpa headers + continue + +where the first line is "control-E" (this interrupts SIMH). +  File: TIPS, Node: Boot SALV or NSALV, Previous: Update emulator configuration for new disks, Up: Adding an additional disk, Next: Format new disk pack -1. Boot the old (or new) version of DSKDMP. +1. Boot the old (or new) version of DSKDMP. On PiDP-10, this is done by + pressing the STOP key followed by the READ IN + key. 2. Invoke NSALV or SALV. a. For NSALV: l$ddt @@ -352,70 +416,78 @@ File: TIPS, Node: Boot SALV or NSALV, Previous: Update emulator configuration f File: TIPS, Node: Format new disk pack, Previous: Boot SALV or NSALV, Up: Adding an additional disk, Next: Copy user directories from first disk to new disk(s) 1. Make sure you are in DDT with NSALV or SALV loaded. -2. Format the new pack: +2. Format the new pack(s). DO NOT FORMAT THE OLD PACKS BECAUSE THAT WOULD + DESTROY YOUR SYSTEM! If you are adding more than one new pack you will + repeat the command below for each one. On PiDP-10, there are 4 old packs + numbered 0 through 3, so the new pack(s) begin at #4. - MARK$SG - Format pack on unit #1 - Are you sure you want to format pack on drive # 1 (Y or N) y - Pack no ?1 - Pack 1., Drive #1 is serial #2. - Begin formatting 815. cylinders....Hardware formatting complete. - Verify pack? (Y or N) n + MARK$G - Swapping Alloc? 3000 - Pack #1. ID?DISK2 + You will be asked for the unit number. Answer with the new drive number. + Again be careful not to format an existing pack. - DDT + You will be asked if you are sure. Answer Y for yes, or N for no. + + You will be asked for the pack number. This can be the same as the + drive number. + + On some systems you may be asked to verify the new pack. You can + answer N. + + You will be asked for the swapping allocation. The typical answer is + 3000 (without a decimal point). + + Finally, you will be asked for the pack ID. You could type a short name + here, but for simplicity you can just use the drive number again. -3. Check the drive: +3. After you have formatted all the new drives, check the format of all + drives - you only need to do this once regardless of how many drives you + are adding: CHKR$G - Salvager 262 + You will be asked for the active unit numbers. For example, if you have + units 0 through 5 you would enter 012345. Or, for all eight drives, you + would enter 01234567. - Active unit numbers? 01 - Unit #1. ID is DISK2, Pack #1 (hardware says 0.) - - Unit #0. ID is FOOBAR, Pack #0 (hardware says 58562.) + You will be asked for the unit that will provide the MFD. Answer 0. - Use MFD from unit: 0 - Directories out of phase. - Unit #0, Pack 0. Ascending dir number is 212 - Unit #1, Pack 1. Ascending dir number is 0 - Verify that the proper packs are mounted. - If you aren't sure, get help. If they are proper, - and one is just coming on-line after being off for - a while, you will have to UCOP to it. - Read all blocks of all files? (Y or N) - Get user dirs from unit: 0 + You will be asked if you want to read all the blocks from all files. + This is fairly quick in most cases, so it is recommended that you + answer Y. - Write out changes in MFD (y or N) y + You will be asked which unit to get the user directories from. Answer 0. - DDT + Finally, you will be asked if the changes should be written out. + Answer Y.  File: TIPS, Node: Copy user directories from first disk to new disk(s), Previous: Format new disk pack, Up: Adding an additional disk, Next: Create new bootable ITS Make sure are in DDT with NSALV or SALV loaded in memory. -Copy user directories from unit 0 to unit 1. +Copy user directories from unit 0 to each of the new units, one at a time. +For the PiDP-10, if you are adding four new drives, you will run this +command four times. UCOP$G - Copy directories - From unit #0 - - only unit #1 - Copy from unit #0 onto unit #1, OK (Y or N) y + You will be asked for the "From Unit". Answer 0. -Note that no DDT prompt is provided at the end of UCOP. Just wait about 10 seconds. You can tell if you are back to DDT -by typing a DDT command. For example: + You will be asked for the "Destination Unit". Answer with the number + of the new drive. + + You will be asked to confirm. Answer Y. + +Note that in some cases no DDT prompt is provided at the end of UCOP. Just +wait about 10 seconds. You can tell if you are back to DDT by typing a DDT +command. For example: 0/ That should display the contents of location 0.  -File: TIPS, Node: Create new bootable ITS, Previous: Copy user directories from first disk to new disk(s), Up: Adding an additional disk +File: TIPS, Node: Create new bootable ITS, Previous: Copy user directories from first disk to new disk(s), Up: Adding an additional disk, Next: Boot new ITS 1. Make sure you are in DSKDMP. If you are at DDT, type: @@ -440,19 +512,47 @@ File: TIPS, Node: Create new bootable ITS, Previous: Copy user directories from d$nits -6. Start ITS +6. If you are using a PiDP-10, you must write-protect the disk headers. To + do that, open the SIMH console as described above. Type the following + commands: + + ^E + set dpa noheaders + continue + +7. Start ITS g$ -7. If ITS doesn't start, reenter DSKDMP: +8. If ITS doesn't start, reenter DSKDMP: $U -8. And load and start the new ITS: +9. And load and start the new ITS: nits $g +10. On some systems, the nits file will not be on the correct disk pack. + DSKDMP by default only mounts drive 0, so the file may initially not + be available. The file can be moved to the right pack from ITS. + + Login to ITS, and type the following: + + :cwd . + ^F + + Find the entry for the file named @ its; this is the old copy of the + system kernel. Note the first number on that line; this is the pack + number. For PiDP-10, this will be a 2. Now find the line for the file + named @ nits. If it is on the same pack as the @ its file, then you can + skip the next step. If it is on a different pack then we must move it, + using the following command: + + :move @ nits, dsk0: + + Again use ^F and verify that the pack number is now correct. +  File: TIPS, Node: Boot new ITS, Previous: Create new bootable ITS, Up: Adding an additional disk @@ -464,3 +564,21 @@ File: TIPS, Node: Boot new ITS, Previous: Create new bootable ITS, Up: Adding an 2. Load and run ITS. nits + $g + +3. Note that the previous copy of ITS will no longer run. If you try, you + will find that old ITS will examine the disk packs, find that they don't + match what it expects, and will abort. + + Therefore, we might as well delete the old copy, and rename the one we + just built: + + :cwd . + :delete @ its + :rename @ nits, @ its + + Make one final check that the file is still on the correct pack - it + should be, but it is good to verify this. + + ^F +