--LTScript3Impl.mesa
--limited tool to write prometheus script 
--Created by
--   JFung.PASA	  	13-Jun-84 16:00:24

--last edited by
--   JFung.PASA	   	16-Aug-84  9:54:52 


DIRECTORY
     CmFile,
     Cursor USING [Set],
     Event,
     EventTypes,
     Exec,
     File,
     Format,
     FormSW,
     Heap,
     LispToolOps,
     MFile,
     MStream,
     OthelloOps,
     PhysicalVolume,
     Process,
     Profile,
     Put,
     Runtime,
     Stream,
     String,
     StringLookUp,
     Supervisor,
     Time,
     Token,
     Tool,
     ToolDriver,
     ToolWindow,
     UserInput,
     Version,
     Volume,
     Window;


LTScript3Impl: PROGRAM
     IMPORTS
          Cursor, LispToolOps, MFile, MStream,
          Process, Put, 
	  Stream, String, 
	  ToolWindow, Volume, Window

     EXPORTS LispToolOps =


     BEGIN OPEN ILT: LispToolOps;

     debug: BOOLEAN ← FALSE;


     WriteScriptB: PUBLIC PROCEDURE[myFile: MFile.Handle, writeS: MStream.Handle] =
          BEGIN
	  
 	  IF debug THEN {
			Put.Text[ILT.toolData.fileSW, "WriteScriptB"L];
         		Process.Pause[Process.SecondsToTicks[5]];
			};

          DoPart1[myFile, writeS];
          DoPart2[myFile, writeS];
	  END;
	  
	  
     DoPart1: PROCEDURE[myFile: MFile.Handle, writeS: MStream.Handle] =
          BEGIN
	  tempString: LONG STRING ← NIL;

writeS.PutString["\\Install Interlisp-D on Lisp Volume\n"L];
          writeS.PutString["Comment Ready to Install Interlisp-D on Lisp Volume\n"L];
          writeS.PutString["Confirm Continue?\n"L];
	  writeS.PutString["-- Physical RD0 NYN\n"L];
          writeS.PutString["Online RD0\n"L];
	  writeS.PutString["Erase Lisp\n"L];
	  writeS.PutString["Request Lisp Sysout #1\n"L];
	  writeS.PutString["Comment Installing Interlisp-D software (part 1)...\n"L];
	  writeS.PutString["Diagnostic Lisp Lisp.sysout Y\n"L];
          writeS.PutString["Close\n"L];
          writeS.PutString["Comment Part 1 installed on Lisp\n"L];
          writeS.PutString["Request Lisp Sysout #2\n"L];
          writeS.PutString["Comment Installing Interlisp-D software (part 2)...\n"L];
          writeS.PutString["Diagnostic Lisp Lisp.sysout Y\n"L];
          writeS.PutString["Close\n"L];
	  writeS.PutString["Comment Part 2 installed on Lisp\n"L];
 	  writeS.PutString["Request Lisp Sysout #3\n"L];
          writeS.PutString["Comment Installing Interlisp-D software (part 3)...\n"L];
	  writeS.PutString["Diagnostic Lisp Lisp.sysout Y\n"L];
	  writeS.PutString["Close\n"L];
	  writeS.PutString["Comment Part 3 installed on Lisp\n"L];
          writeS.PutString["Confirm Another Disk?\n"L];
          writeS.PutString["Request Lisp Sysout #4\n"L];
	  writeS.PutString["Comment Installing Interlisp-D software (part 4)...\n"L];
	  writeS.PutString["Diagnostic Lisp Lisp.sysout Y\n"L];
          writeS.PutString["Close\n"L];
	  writeS.PutString["Comment Part 4 installed on Lisp\n"L];
	  writeS.PutString["Confirm Another Disk?\n"L];
          writeS.PutString["Request Lisp Sysout #5\n"L];
	  writeS.PutString["Comment Installing Interlisp-D software (part 5)...\n"L];
	  writeS.PutString["Diagnostic Lisp Lisp.sysout Y\n"L];
          writeS.PutString["Close\n"L];
	  writeS.PutString["Comment Part 5 installed on Lisp\n"L];
	  writeS.PutString["Confirm Another Disk?\n"L];
          writeS.PutString["Request Lisp Sysout #6\n"L];
	  writeS.PutString["Comment Installing Interlisp-D software (part 6)...\n"L];
	  writeS.PutString["Diagnostic Lisp Lisp.sysout Y\n"L];
          writeS.PutString["Close\n"L];
	  writeS.PutString["Comment Lisp Sysout installed on Lisp Volume\n"L];
	  
 
writeS.PutString["\\Install Interlisp-D on Lisp2 Volume\n"L];
          writeS.PutString["Comment Ready to Install Interlisp-D on Lisp2 Volume\n"L];
          writeS.PutString["Confirm Continue?\n"L];
	  writeS.PutString["-- Physical RD0 NYN\n"L];
          writeS.PutString["Online RD0\n"L];
	  writeS.PutString["Erase Lisp2\n"L];
	  writeS.PutString["Request Lisp Sysout #1\n"L];
	  writeS.PutString["Comment Installing Interlisp-D software (part 1)...\n"L];
	  writeS.PutString["Diagnostic Lisp2 Lisp.sysout Y\n"L];
          writeS.PutString["Close\n"L];
          writeS.PutString["Comment Part 1 installed on Lisp2\n"L];
          writeS.PutString["Request Lisp Sysout #2\n"L];
          writeS.PutString["Comment Installing Interlisp-D software (part 2)...\n"L];
          writeS.PutString["Diagnostic Lisp2 Lisp.sysout Y\n"L];
          writeS.PutString["Close\n"L];
	  writeS.PutString["Comment Part 2 installed on Lisp2\n"L];
 	  writeS.PutString["Request Lisp Sysout #3\n"L];
          writeS.PutString["Comment Installing Interlisp-D software (part 3)...\n"L];
	  writeS.PutString["Diagnostic Lisp2 Lisp.sysout Y\n"L];
	  writeS.PutString["Close\n"L];
	  writeS.PutString["Comment Part 3 installed on Lisp2\n"L];
          writeS.PutString["Confirm Another Disk?\n"L];
          writeS.PutString["Request Lisp Sysout #4\n"L];
	  writeS.PutString["Comment Installing Interlisp-D software (part 4)...\n"L];
	  writeS.PutString["Diagnostic Lisp2 Lisp.sysout Y\n"L];
          writeS.PutString["Close\n"L];
	  writeS.PutString["Comment Part 4 installed on Lisp2\n"L];
	  writeS.PutString["Confirm Another Disk?\n"L];
          writeS.PutString["Request Lisp Sysout #5\n"L];
	  writeS.PutString["Comment Installing Interlisp-D software (part 5)...\n"L];
	  writeS.PutString["Diagnostic Lisp2 Lisp.sysout Y\n"L];
          writeS.PutString["Close\n"L];
	  writeS.PutString["Comment Part 5 installed on Lisp2\n"L];
	  writeS.PutString["Confirm Another Disk?\n"L];
          writeS.PutString["Request Lisp Sysout #6\n"L];
	  writeS.PutString["Comment Installing Interlisp-D software (part 6)...\n"L];
	  writeS.PutString["Diagnostic Lisp2 Lisp.sysout Y\n"L];
          writeS.PutString["Close\n"L];
	  writeS.PutString["Comment Lisp Sysout installed on Lisp2 Volume\n"L];

          END;



     DoPart2: PROCEDURE[myFile: MFile.Handle, writeS: MStream.Handle] =
          BEGIN
	  tempString: LONG STRING ← NIL;

 writeS.PutString["\\Install Interlisp-D on Lisp3 Volume\n"L];
          writeS.PutString["Comment Ready to Install Interlisp-D on Lisp Volume\n"L];
          writeS.PutString["Confirm Continue?\n"L];
	  writeS.PutString["-- Physical RD0 NYN\n"L];
          writeS.PutString["Online RD0\n"L];
	  writeS.PutString["Erase Lisp3\n"L];
	  writeS.PutString["Request Lisp Sysout #1\n"L];
	  writeS.PutString["Comment Installing Interlisp-D software (part 1)...\n"L];
	  writeS.PutString["Diagnostic Lisp3 Lisp.sysout Y\n"L];
          writeS.PutString["Close\n"L];
          writeS.PutString["Comment Part 1 installed on Lisp3\n"L];
          writeS.PutString["Request Lisp Sysout #2\n"L];
          writeS.PutString["Comment Installing Interlisp-D software (part 2)...\n"L];
          writeS.PutString["Diagnostic Lisp3 Lisp.sysout Y\n"L];
          writeS.PutString["Close\n"L];
	  writeS.PutString["Comment Part 2 installed on Lisp\n"L];
 	  writeS.PutString["Request Lisp Sysout #3\n"L];
          writeS.PutString["Comment Installing Interlisp-D software (part 3)...\n"L];
	  writeS.PutString["Diagnostic Lisp3 Lisp.sysout Y\n"L];
	  writeS.PutString["Close\n"L];
	  writeS.PutString["Comment Part 3 installed on Lisp3\n"L];
          writeS.PutString["Confirm Another Disk?\n"L];
          writeS.PutString["Request Lisp Sysout #4\n"L];
	  writeS.PutString["Comment Installing Interlisp-D software (part 4)...\n"L];
	  writeS.PutString["Diagnostic Lisp3 Lisp.sysout Y\n"L];
          writeS.PutString["Close\n"L];
	  writeS.PutString["Comment Part 4 installed on Lisp\n"L];
	  writeS.PutString["Confirm Another Disk?\n"L];
          writeS.PutString["Request Lisp Sysout #5\n"L];
	  writeS.PutString["Comment Installing Interlisp-D software (part 5)...\n"L];
	  writeS.PutString["Diagnostic Lisp3 Lisp.sysout Y\n"L];
          writeS.PutString["Close\n"L];
	  writeS.PutString["Comment Lisp Sysout installed on Lisp3 Volume\n"L];
  	  writeS.PutString["Comment Part 5 installed on Lisp\n"L];
	  writeS.PutString["Confirm Another Disk?\n"L];
          writeS.PutString["Request Lisp Sysout #6\n"L];
	  writeS.PutString["Comment Installing Interlisp-D software (part 6)...\n"L];
	  writeS.PutString["Diagnostic Lisp3 Lisp.sysout Y\n"L];
          writeS.PutString["Close\n"L];

 
writeS.PutString["\\Boot Interlisp-D from Lisp volume\n"L];
          writeS.PutString["Online RD0\n"L];
	  writeS.PutString["Set Physical Lisp Y\n"L];
	  writeS.PutString["Quit\n"L];
	  
writeS.PutString["\\Boot Interlisp-D from Lisp2 volume\n"L];
          writeS.PutString["Online RD0\n"L];
	  writeS.PutString["Set Physical Lisp2 Y\n"L];
	  writeS.PutString["Quit\n"L];
	  
writeS.PutString["\\Boot Interlisp-D from Lisp3 volume\n"L];
          writeS.PutString["Online RD0\n"L];
	  writeS.PutString["Set Physical Lisp3 Y\n"L];
	  writeS.PutString["Quit\n"L];

writeS.PutString["\\Boot SystemTools volume\n"L];
	  writeS.PutString["Online RD0\n"L];
          writeS.PutString["Boot systemTools\n"L];
	  writeS.PutString["\\n"L];  -- for trailer line
	  
 	  IF debug THEN {
			Put.Text[ILT.toolData.fileSW, "SendNow..."L];
         		Process.Pause[Process.SecondsToTicks[5]];
			};
<<
	  
          writeS.SendNow;
 	  IF debug THEN {
			Put.Text[ILT.toolData.fileSW, "CopyFileHandle..."L];
         		Process.Pause[Process.SecondsToTicks[5]];
			};


          myFile ← MFile.CopyFileHandle[
               MStream.GetFile[writeS], MFile.dontRelease, readOnly];

          IF debug THEN {
               Put.Line[ILT.toolData.fileSW, "Delete..."L];
               Process.Pause[Process.SecondsToTicks[5]];
               };
          
          writeS.Delete;
          IF myFile # NIL THEN MFile.Release[myFile];

          Cursor.Set[textPointer];
          Put.Line[ILT.toolData.fileSW, " Done"L];
	  Process.Pause[Process.SecondsToTicks[5]];
>>	  
	  END;  
     END...