Google
 

Trailing-Edge - PDP-10 Archives - decuslib20-03 - decus/20-0081/mpbgen.bas
There is 1 other file named mpbgen.bas in the archive. Click here to see a list.
00010	REM	DATE:	JUNE, 1973
00020	REM	AUTHOR:	F.M. BALFOUR
00030	REM	INSTALLATION:	CIS/TECHNICAL SERVICES
00040	REM
00050	REM
00060	REM	S1$	= SYS NAME
00070	REM	S2$	= JOB NUMBER
00080	REM	S3$	= STEP NUMBER
00090	REM	S4$	= PROGRAM NAME (6 CHAR)
00100   REM     S5      = SWITCH FOR SHORT QUESTIONS: 0 = SHORT,  1 = LONG
00110	REM	T?$	= TEMPORARY STRING
00120   REM     F1$     = OUTPUT FILE NAME
00130	REM	C1	= COMMENTS LINES
00140   S5 = 1
00150	PRINT ">MPBGEN   VERSION A"
00160	PRINT  ">ENTER OUTPUT FILE NAME AS <FILE.EXT>  ";
00170	INPUT F1$
00180	FILE #1, F1$
00190	SCRATCH #1
00200   MARGIN #1,80
00210	PRINT
00220	PRINT ">2 CHAR SYS NAME  ";
00230	INPUT S1$
00240	PRINT 
00250	PRINT ">JOB NUMBER  ";
00260	INPUT S2$
00270	REM
00280	REM
00290	REM		***INITIALIZE BLOCK***
00300	REM
00310	REM
00320	REM
00330	PRINT ".PLEASE-"; S1$; " "; S2$; " * STARTING."
00340	PRINT #1, ".PLEASE-"; S1$; " "; S2$; " * STARTING."
00350	PRINT
00360	IF S5 = 0 THEN 480
00370   PRINT ">DO YOU WANT DESCRIPTIVE QUESTIONS (LONG) OR CONCISE QUESTIONS";
00380   PRINT " (SHORT). L OR S"
00390   INPUT T1$
00400   IF T1$ = "L" THEN 460
00410   IF T1$ = "S" THEN 440
00420   PRINT ">MUST ANSWER <L> OR <S>"
00430   GO TO 370
00440   S5 = 0
00450   IF S5 = 0 THEN 480
00460	PRINT ">NEXT STEP # (3 DIGITS WITH ZERO FILL)"
00470   GOTO 490
00480	PRINT ">NXT STEP #, 3 DIGITS, 0 FILL"
00490	INPUT S3$
00500	PRINT ".GOTO ST"; S3$
00510	PRINT #1, ".GOTO ST"; S3$
00520	PRINT ";************************************************************"
00530	PRINT #1, ";************************************************************"
00540	PRINT ";"
00550	PRINT #1, ";"
00560   IF S5 = 0 THEN 590
00570	PRINT">1 WORD DESCRIPTION OF STEP; E.G. <UPDATE>, <PRINT>, ETC  ";
00580   GO TO 600
00590   PRINT ">1 WRD STEP DESCRIPT";
00600	INPUT T2$
00610   IF S5 = 0 THEN 640
00620	PRINT ">TYPE COMMENT LINES FOR MPB HEADER; TYPE CARRIAGE RETURN FOR LAST LINE"
00630   GO TO 650
00640	PRINT ">COMMENTS; CR FOR LAST LINE"
00650	FOR I = 1 TO 10
00660	C1$(I) = " "
00670	NEXT I
00680	FOR I = 1  TO 10
00690	INPUT C1$(I)
00700 	IF C1$(I) = " " THEN 720
00710	NEXT I
00720	PRINT ";    " S1$ "-" S2$, "STEP " S3$, LEFT$ (T2$, 30)
00730   PRINT #1, ";    " S1$ "-" S2$, "STEP " S3$, LEFT$(T2$,30)
00740	PRINT ";    COMMENTS:  " LEFT$ (C1$(1), 80)
00750	PRINT #1, ";    COMMENTS:  " LEFT$ (C1$(1), 80)
00760	FOR I = 2 TO 10
00770	IF C1$(I) = " " THEN 810
00780	PRINT ";              " LEFT$ (C1$(I), 80)
00790	PRINT #1 ";              " LEFT$ (C1$(I), 80)
00800	NEXT I
00810	PRINT ";"
00820	PRINT #1, ";"
00830	PRINT ";************************************************************"
00840	PRINT #1, ";************************************************************"
00850   IF S5 = 0 THEN 880
00860	PRINT ">ENTER CHECKPOINT FOR THIS STEP  ";
00870   GO TO 890
00880   PRINT ">STEP CHKPNT";
00890	INPUT T1$
00900	PRINT "ST" S3$ ":: .CHKPNT " T1$
00910	PRINT #1, "ST" S3$ ":: .CHKPNT " T1$
00920	PRINT ">6 CHAR PROGRAM NAME  ";
00930	INPUT S4$
00940   IF S5 = 0 THEN 970
00950	PRINT ">IS THIS STEP RESTARTABLE? Y-N  ";
00960   GO TO 980
00970   PRINT ">RESTARTABLE";
00980	INPUT T2$
00990	PRINT ".PLEASE-" S1$ " " S2$ "-" S3$ " * (" S4$ ") STARTING ***";
01000	PRINT #1, ".PLEASE-" S1$ " " S2$ "-" S3$ " * (" S4$ ") STARTING ***";
01010	IF T2$ = "Y"  THEN 1040
01020	PRINT "NOT ";
01030	PRINT #1, "NOT ";
01040	PRINT "RESTARTABLE***"
01050	PRINT #1, "RESTARTABLE***"
01060   IF S5 = 0 THEN 1100
01070   PRINT ">TYPE THE CONFIG STATEMENT, USE NO COMMAS"
01080	PRINT ">E.G. DSKW: 20K; DSKT: 30K; 2 MTAS"
01090   GO TO 1110
01100   PRINT ">CONFIG STMT NO COMMAS"
01110	INPUT T1$
01120	PRINT ".PLEASE-" S1$ " " S2$ " * CONFIG:" T1$
01130	PRINT #1, ".PLEASE-" S1$ " " S2$ " * CONFIG:" T1$
01140	REM
01150	REM
01160	REM		***ASSIGN BLOCK***
01170	REM
01180	REM
01190	PRINT ".ASSIGN DSKE:DSKLIB",,";LIBRARY STRUCTURE"
01200	PRINT #1, ".ASSIGN DSKE:DSKLIB",,";LIBRARY STRUCTURE"
01210   IF S5 = 0 THEN 1240
01220	PRINT ">ANY DISK ASSIGNMENTS (NOT MOUNTS)? Y-N";
01230   GO TO 1250
01240   PRINT "DSK ASSIGN";
01250	INPUT T1$
01260	IF T1$ = "Y" THEN 1290
01270	GO TO 1560
01280   IF S1 = 0 THEN 1310
01290	PRINT ">TYPE PHYSICAL STRUCTURE NAME  ";
01300   GO TO 1320
01310   PRINT ">PHYS STR";
01320	INPUT T1$
01330   IF S1 = 0 THEN 1360
01340	PRINT ">TYPE LOGICAL STR NAME (SUGGEST DSK1, DSK2, ETC)  ";
01350   GO TO 1370
01360   PRINT ">LOGIC STR";
01370	INPUT T2$
01380   IF S1 = 0 THEN 1410
01390	PRINT ">IS IT INPUT, OUTPUT OR I/O  ";
01400   GO TO 1420
01410   PRINT ">IN, OUT, I/O";
01420	INPUT T3$
01430	PRINT ">JOB NAME AND STEP CREATING FILE  ";
01440	INPUT T4$
01450	PRINT ">FILE LABEL  ";
01460	INPUT T5$
01470	PRINT ".ASSIGN "T1$ ":" T2$,,";"T3$ "  " T4$ "  (" T5$ ")"
01480	PRINT #1, ".ASSIGN "T1$ ":" T2$,,";"T3$ "  " T4$ "  (" T5$ ")"
01490   IF S1 = 0 THEN 1520
01500	PRINT ">ANY MORE DISK ASSIGNMENTS?  Y-N  ";
01510   GO TO 1530
01520   PRINT ">MORE DSK ASSIGN";
01530	INPUT T1$
01540	IF T1$ = "Y" THEN 1290
01550	REM	---DISK MOUNTS----------
01560	PRINT ">ANY DISK MOUNTS?  Y-N  ";
01570	INPUT T1$
01580	IF T1$ = "N" THEN 1750
01590	PRINT ">TYPE PHYSICAL STRUCTURE NAME TO BE MOUNTED  ";
01600	INPUT T1$
01610	PRINT ">TYPE LOGICAL STR NAME(SUGGEST DSK1, DSK2, ETC)  ";
01620	INPUT T2$
01630	PRINT ">IS IT  <INPUT>, <OUTPUT> OR <I-O>  ";
01640	INPUT T3$
01650	PRINT ">JOB NAME AND STEP CREATING FILE  ";
01660	INPUT T4$
01670	PRINT ">FILE LABEL  ";
01680	INPUT T5$
01690	PRINT ".MOUNT "T1$ ":" T2$,,";" T3$ " " T4$ " (" T5$")"
01700	PRINT #1, ".MOUNT "T1$ ":" T2$,,";" T3$ " " T4$ " (" T5$")"
01710	PRINT ">ANY MORE DISK MOUNTS?  Y-N  ";
01720	INPUT T1$
01730	IF T1$ = "Y" THEN 1590
01740	REM		-------TAPE MOUNTS------
01750	PRINT ">ANY TAPE MOUNTS?  Y-N  ";
01760	INPUT T1$
01770   IF T1$ = "N" THEN 2050
01780	PRINT ">TYPE LOGICAL TAPE NAME (SUGGEST MTAA, MTAB, ETC)  ";
01790	INPUT T1$
01800	PRINT ">JOB STEP AND NAME CREATING FILE (NO SPACES)  ";
01810	INPUT T2$
01820	PRINT ">FILE LABEL (NO SPACES)  ";
01830	INPUT T3$
01840	PRINT ">INPUT OR OUTPUT  ";
01850   INPUT T4$
01860	IF T4$ = "INPUT" THEN 1900
01870	IF T4$ = "OUTPUT" THEN 1930
01880	PRINT ">MUST BE <INPUT> OR <OUTPUT>"
01890	GOTO 1840
01900	PRINT ".PLEASE-" S1$ " " S2$ "-" S3$ " * MOUNT "T2$ " ("T3$") ON ANY MTA"
01910	PRINT #1, ".PLEASE-" S1$ " " S2$ "-" S3$ " * MOUNT "T2$ " ("T3$") ON ANY MTA"
01920	GOTO 1950
01930	PRINT ".PLEASE-" S1$ " " S2$ "-" S3$ " * MOUNT SCRATCH FOR "T2$ " ("T3$") ON ANY MTA"
01940	PRINT #1, ".PLEASE-" S1$ " " S2$ "-" S3$ " * MOUNT SCRATCH FOR "T2$ " ("T3$") ON ANY MTA"
01950	PRINT ".MOUNT MTA:" T1$ "/VID:"T2$ "(" T3$ ")" T4$
01960	PRINT #1, ".MOUNT MTA:" T1$ "/VID:"T2$ "(" T3$ ")" T4$
01970	PRINT ">ANY MORE TAPE MOUNTS  ";
01980	INPUT T1$
01990	IF T1$ = "Y" THEN 1780
02000	REM
02010	REM
02020	REM		*** PRE-PROGRAM BLOCK ***
02030	REM
02040	REM
02050	PRINT ">ANY FILES TO PIP  ";
02060	INPUT T1$
02070	IF T1$ = "N" THEN 2180
02080	PRINT ".R PIP"
02090	PRINT #1, ".R PIP"
02100	PRINT ">TYPE PIP ARGUMENT; E.G. </X=DSKE:FOO.BAR[11,1]>"
02110	PRINT ">USE EQUAL SIGN, NOT BACK ARROW"
02120	INPUT T1$, T2$, T3$
02130	PRINT "*" T1$
02140	PRINT #1, "*" T1$
02150	PRINT ">ANY MORE FILES TO PIP  ";
02160	INPUT T1$
02170	IF T1$ = "Y" THEN 2100
02180	PRINT ".R QUOLST"
02190	PRINT #1, ".R QUOLST"
02200	REM
02210	REM
02220	REM	***PROGRAM BLOCK***
02230	REM
02240	REM
02250	REM
02260	PRINT ".OPERATOR $"
02270	PRINT #1, ".OPERATOR $"
02280	PRINT ".RUN DSKLIB:" S4$ ".SAV[11,1]"
02290	PRINT #1, ".RUN DSKLIB:" S4$ ".SAV[11,1]"
02300	PRINT ">ANY PROGRAM RESPONSES  ";
02310	INPUT T1$
02320	IF T1$ = "N" THEN 2440
02330   PRINT ">TYPE COMMENT LINE TO PRECEED PROGRAM RESPONSE LINE, NO COMMAS"
02340	INPUT T1$
02350	PRINT "; " T1$
02360	PRINT #1, "; " T1$
02370	PRINT ">TYPE PROG RESPONSE LINE"
02380	INPUT T1$
02390	PRINT "*" T1$
02400	PRINT #1, "*" T1$
02410	PRINT ">ANY MORE PROG RESPONSES  ";
02420	INPUT T1$
02430	IF T1$ = "Y" THEN 2330
02440	PRINT ".NOOPERATOR"
02450	PRINT #1, ".NOOPERATOR"
02460	PRINT ".R QUOLST"
02470	PRINT #1, ".R QUOLST"
02480	REM
02490	REM
02500	REM		***POST PROGRAM BLOCK***
02510	REM
02520	REM
02530	PRINT ">ANY PRINT COMMANDS.  Y-N  ";
02540	INPUT T1$
02550	IF T1$ = "N" THEN 2730
02560	PRINT ">ENTER FILE NAME TO BE PRINTED  ";
02570	INPUT T1$
02580	PRINT ">ENTER ALL SWITCHES FOR THAT FILE WITH SLASHES"
02590	PRINT ">E.G. </DISPOSE:RENAME/COPIES:2/FORMS:DECORD>"
02600	INPUT T2$
02610	PRINT ".PRINT " T1$ T2$
02620	PRINT #1, ".PRINT " T1$ T2$
02630	PRINT ".PLEASE-" S1$ " " S2$ "-" S3$ " * " T1$ " Q'ED."
02640	PRINT #1, ".PLEASE-" S1$ " " S2$ "-" S3$ " * " T1$ " Q'ED."
02650	PRINT ">ANY MORE PRINT COMMANDS?  Y-N  ";
02660	INPUT T1$
02670	IF T1$ = "Y" THEN 2560
02680   REM
02690   REM
02700   REM                                     ***NORMAL STEP WRAP-UP BLOCK***
02710   REM
02720   REM
02730	PRINT ">ANY DELETES, DISMOUNTS, UNLOADS, ETC?  Y-N  ";
02740	INPUT T1$
02750	IF T1$ = "N" THEN 2820
02760	PRINT ">TYPE IN EXACT MPB LINE WANTED; E.G. <.DELETE AR0105.0AT>"
02770	INPUT T1$
02780	PRINT T1$
02790	PRINT ">MORE DELETES OR ANYTHING?  Y-N  ";
02800	INPUT T1$
02810	IF T1$ = "Y" THEN 2760
02820	PRINT ".FINISH"
02830	PRINT #1, ".FINISH"
02840	PRINT ".GOTO GD" S3$
02850	PRINT #1, ".GOTO GD" S3$
02860   REM
02870   REM
02880   REM                                     ***ERROR HANDLING BLOCK***
02890   REM
02900   REM
02910	PRINT "%ERR:: .GOTO BD"S3$
02920	PRINT #1, "%ERR:: .GOTO BD"S3$
02930	PRINT "%CERR:: .GOTO BD" S3$
02940	PRINT #1, "%CERR:: .GOTO BD" S3$
02950	PRINT "BD" S3$ ":: .CHKPNT BD" S3$
02960	PRINT #1, "BD" S3$ ":: .CHKPNT BD" S3$
02970	PRINT ">WHERE DOES ERROR ROUTINE BRANCH  ";
02980	PRINT ">E.G. <ENDBD>, <ST010>, ETC  ";
02990	INPUT B1$
03000	PRINT ".PLEASE-" S1$ " " S2$ "-" S3$ " * FAILED-CHECK LOG! GOING TO " B1$ ""
03010	PRINT #1, ".PLEASE-" S1$ " " S2$ "-" S3$ " * FAILED-CHECK LOG! GOING TO " B1$ ""
03020	PRINT ">ANY DELETES, DISMOUNTS OR UNLOADS IN ERROR BLOCK?  Y-N  ";
03030	INPUT T1$
03040	IF T1$ = "N" THEN 3110
03050	PRINT ">TYPE IN EXACT MPB LINE WANTED; E.G. <.DELETE FS0506.0AT>"
03060	INPUT T1$
03070	PRINT T1$
03080	PRINT ">ANY MORE DELETES, ETC.  Y-N  ";
03090	INPUT T1$
03100	IF T1$ = "Y" THEN 3020
03110	PRINT ".FINISH"
03120	PRINT #1, ".FINISH"
03130	PRINT ".GOTO " B1$
03140	PRINT #1, ".GOTO " B1$
03150	PRINT "%ERR:: .GOTO ENDBD"
03160	PRINT #1, "%ERR:: .GOTO ENDBD"
03170	PRINT "%CERR:: .GOTO ENDBD"
03180	PRINT #1, "%CERR:: .GOTO ENDBD"
03190   REM
03200   REM
03210   REM                                     ***STEP END BLOCK***
03220   REM
03230   REM
03240	PRINT "GD" S3$ "::  .CHKPNT GD"S3$
03250	PRINT #1, "GD" S3$ "::  .CHKPNT GD"S3$
03260	PRINT ">ANY MORE STEPS IN THIS JOB STREAM? Y-N ";
03270	INPUT T1$
03280   IF T1$ = "Y" THEN 350
03290   REM
03300   REM
03310   REM                                     ***STREAM WRAP-UP***
03320   REM
03330   REM
03340	PRINT ">DO YOU WANT <ENDBD> AND <ENDGD> LABELS  ";
03350	INPUT T1$
03360	IF T1$ = "Y" THEN 3380
03370	STOP
03380	PRINT "ENDBD:: .CHKPNT ENDBD"
03390	PRINT #1, "ENDBD:: .CHKPNT ENDBD"
03400	PRINT ".GOTO ENDGD"
03410	PRINT #1, ".GOTO ENDGD"
03420	PRINT "ENDGD:: .CHKPNT ENDGD"
03430	PRINT #1, "ENDGD:: .CHKPNT ENDGD"
03440	PRINT ".PLEASE-" S1$ " " S2$ " * JOB STREAM HAS FINISHED."
03450	PRINT #1, ".PLEASE-" S1$ " " S2$ " * JOB STREAM HAS FINISHED."
03460	END