Trailing-Edge
-
PDP-10 Archives
-
decuslib10-04
-
43,50343/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