$ Verify_at_Start='F$VERIFY(0)' ! $ TIMOUT= 5 ! time out $ DEFFIL:="" $ DEFTYP:="RNO" $ GOBACK:="F" ! Set false $ PAGE:=@[SYSMGR.CMDFIL]PAGE.COM $ PAGE ! Erase screen $ TESTFILE MAIL.MAI ! Any mail to read $ IF $STATUS .NE. 1 THEN GOTO START $ WRITE SYS$OUTPUT "MAIL is waiting in your mailbox to be read" $ INQUIRE READIT "Would you like to read your mail [Y/N]" $ IF .NOT. READIT THEN GOTO START $ ASSIGN/USER SYS$COMMAND SYS$INPUT $ MAIL $START: $ GOBACK:="F" $ PAGE $ IF DEFFIL .EQS. "" THEN - STRING:= "Default file NOT yet set" $ IF DEFFIL .NES. "" THEN - STRING:= "Your default file is  ''DEFFIL'" $ TYPE SYS$INPUT F U S I O N D O C U M E N T P R E P A R A T I O N $ WRITE SYS$OUTPUT - " ''STRING'" $ WRITE SYS$OUTPUT - " Your default file type is ''DEFTYP'" $ TYPE SYS$INPUT You may CREATE a new file DEFAULT Change default file type DELETE files DIRECTORY See directory of files EDIT an existing file HELP Ask the system for HELP LIST a file to your terminal MAIL Use the computer mail system. MEMO Create and file a MEMO. PURGE files RUNOFF the file to the printer SPELL Check a file for spelling errors Enter a command or hit the RETURN key to exit and logoff (Type ^Y (ctrl-Y) to exit from this menu on any input.) $10: $ INQUIRE OPTN "Which option do you wish to do" $ IF OPTN .EQS. "" THEN GOTO XIT $ TMP:="" $ XMP:="" $ TMP[0,2]:='OPTN' $ XMP[0,3]:='OPTN' $ INFILE:="" $ IF TMP .EQS. "CR" THEN GOTO CREATE $ IF XMP .EQS. "DEF" THEN GOTO DEFALT $ IF XMP .EQS. "DEL" THEN GOTO DELETE $ IF TMP .EQS. "DI" THEN GOTO DIRECT $ IF TMP .EQS. "ED" THEN GOTO EDIT $ IF TMP .EQS. "EQ" THEN GOTO EQNCRE $ IF TMP .EQS. "HE" THEN GOTO HELP_ME $ IF TMP .EQS. "LI" THEN GOTO LIST $ IF TMP .EQS. "MA" THEN GOTO MAIL_ME $ IF TMP .EQS. "ME" THEN GOTO MEMO $ IF TMP .EQS. "PU" THEN GOTO PURGE $ IF TMP .EQS. "RU" THEN GOTO RUN_OFF $ IF TMP .EQS. "SP" THEN GOTO SPELL_IT $ TYPE SYS$INPUT Please re-enter an allowed option $ GOTO 10 $CREATE: $ INFILE:="/CR" $EDIT: $ RETURN:="EDIT_RET" $ GOTO GETFIL $EDIT_RET: $ IF GOBACK THEN GOTO START $ IF DEFFIL .EQS. "" THEN - IF STRLEN .EQ. 0 THEN GOTO START $ ASSIGN/USER SYS$COMMAND SYS$INPUT $ KED 'FILE'.'DEFTYP''INFILE' $ GOTO START $EQNCRE: $ TMPFIL:='DEFFIL' $ DEFFIL:="" $ INFILE:="/CR" $ RETURN:="EQNCRE_RET" $ GOTO GETFIL $EQNCRE_RET: $ IF GOBACK THEN GOTO EQNEND $ IF DEFFIL .EQS. "" THEN - IF STRLEN .EQ. 0 THEN GOTO EQNEND $ ASSIGN/USER SYS$COMMAND SYS$INPUT $ KED 'FILE'.RNO=EQNTMPLT.RNO $EQNEND:DEFFIL:= TMPFIL $ GOTO START $DEFALT: $ WRITE SYS$OUTPUT " " $ WRITE SYS$OUTPUT "Your default file type is now .''DEFTYP'" $ WRITE SYS$OUTPUT " " $ INQUIRE TYP "New default file type (->''DEFTYP')" $ IF TYP .EQS. "" THEN TYP:='DEFTYP' $ LEN='F$LENGTH(TYP)' $ IF LEN .LE. 3 THEN GOTO DEFLT4 $ TYPE SYS$INPUT Invalid File Type, 1-3 Alpha characters only (ie ,RNO, TXT, Etc.) $ GOTO DEFALT $DEFLT4:DEFTYP:='TYP' $ GOTO START $DIRECT: $ DIR $ RETURN2:="DIR_RET" $ GOTO HOLDIT $DIR_RET: $ GOTO START $RUN_OFF: $ UNDRLN:="/UNDERLINE/BACKSPACE" $ IF TERMINAL_TYPE .EQS. "VT100" THEN UNDRLN:="/UNDERLINE:SEPARATE" $ RETURN:="RUN_OFF_RET" $ GOTO GETFIL $RUN_OFF_RET: $ PAGRNG:= "" $ RETURN2:="RUN_OFF_RET2" $ GOTO SETUP 4 IF GOBACK .EQS. "T" THEN GOTO START $RUN_OFF_RET2: $ IF GOBACK THEN GOTO START $ RUNOFF'UNDRLN''RNOOUT''PAGRNG' 'FILE' $ IF PRINT_TYPE .EQS. "LQ" THEN LQ/DELETE LP.LST $ IF PRINT_TYPE .EQS. "LP: THEN PRINT/DELETE/NOIDENTIFICATION LP.LST $ RETURN2:="RUN_OFF_RET3" $ GOTO HOLDIT $RUN_OFF_RET3: $ GOTO START $SETUP: $ TYPE SYS$INPUT RUNOFF output can be displayed either at your terminal, sent to letter quality printer, or sent to the line printer. Press RETURN to display output on your terminal. $ LETQLT:="F" $ PRINT_TYPE:="" $ CRT:="F" $ INQUIRE PRINT_TYPE - "Output to a line printer (LP) or letter quality (LQ) [ LP or LQ ]" $ IF (PRINT_TYPE .NES. "LP") .AND. - (PRINT_TYPE .NES. "LQ") THEN CRT:="T" $ RNOOUT:="/OUTPUT=TT:" $ IF CRT .EQS. "F" THEN UNDRLN:= "/UNDERLINE/BACKSPACE" $ IF CRT .EQS. "F" THEN RNOOUT:= "/OUTPUT=LP.LST" $ PAGRNG:="" $ INQUIRE SLCT - "Select a range of pages for RUNOFF (N => all pages) [Y/N]: $ IF SLCT .EQS. "" THEN SLCT:="N" $ IF .NOT. SLCT THEN GOTO 'RETURN2' $ INQUIRE/NOPUNCTUATION LOW "Starting Page # = " $ INQUIRE/NOPUNCTUATION HIGH "Ending Page # = " $ PAGRNG:= "/PAGES:''LOW':''HIGH'" $ GOTO 'RETURN2' $SPELL_IT: $ ASSIGN/USER SYS$COMMAND SYS$INPUT $ RUN SYS$SYSDISK:[SYSUTL]SPELL $ RETURN2:="SPELL_RET" $ GOTO HOLDIT $SPELL_RET: $ GOTO START $! $! $HELP_ME: $ TYPE SYS$INPUT You may request HELP by entering the TOPIC or the TOPIC and subtopics of interest. If you don't know what subtopics are available enter a ? for the subtopic. The format for entering topic and subtopics is Topic Subtopic1 Subtopic2..... For further information type HELP to the next question. $ INQUIRE HLPSTR "On what do you wish HELP" $ HELP 'HLPSTR' $ RETURN2:="HELP_RET" $ GOTO HOLDIT $HELP_RET: $ GOTO START $LIST: $ RETURN:="LIST_RET" $ GOTO GETFIL $LIST_RET: $ IF GOBACK THEN GOTO START $ TYPE 'FILE'.'DEFTYP' $ RETURN2:="LIST_RET2" $ GOTO HOLDIT $LIST_RET2: $ GOTO START $MAIL_ME: $ TYPE SYS$INPUT When MAIL prompts (MAIL>), you can either SEND a message or read your mail. If you don't know how to use MAIL, type HELP when MAIL prompts. To exit from mail type ^Z (Control-Z). $ ASSIGN/USER SYS$COMMAND SYS$INPUT $ MAIL $ RETURN2:="MAIL_RET" $ GOTO HOLDIT $MAIL_RET: $ GOTO START $! $! $MEMO: $ @[SYSMGR.CMDFIL]MEMO $ DEFFIL:= 'DEFIL' $ GOTO START $! $PURGE: $ TMP:='DEFFIL' $ TESTFILE KEDXXX.TMP $ IF $STATUS .EQ. 1 THEN GOTO WARN $ RETURN:="PURGE_RET" $ GOTO GETFIL $PURGE_RET: $ DEFFIL:='TMP' $ IF GOBACK THEN GOTO START $ PURGE 'FILE'.'DEFTYP'/KEEP=3 $ GOTO START $! $! $DELETE: $ TMP:='DEFFIL' $ RETURN:="DELETE_RET" $ GOTO GETFIL $DELETE_RET: $ DEFFIL:='TMP' $ IF GOBACK THEN GOTO START $ DIR 'FILE'.'DEFTYP' $ INQUIRE VSN "Enter file version # (* for all versions)" $ STRLEN='F$LENGTH(VSN) $ IF STRLEN .EQ. 0 THEN GOTO DELETE $ RETURN2:="DELETE_RET2" $ DELETE/CONFIRM 'FILE'.'DEFTYP';'VSN' $ IF $STATUS .NE. 1 THEN GOTO HOLDIT $ GOTO START $! $! $GETFIL: $ TESTFILE KEDXXX.TMP $ IF $STATUS .EQ. 1 THEN GOTO WARN $ WRITE SYS$OUTPUT - "Type * (Star-carriage return) to return to menu" $ GOBACK:="F" $ IF DEFFIL .NES. "" THEN - INQUIRE FILE "Enter file name ( => ''DEFFIL')" $ IF DEFFIL .EQS."" THEN INQUIRE FILE "Enter file name" $ IF FILE .EQS."*" THEN GOBACK:="T" $ IF GOBACK THEN GOTO 'RETURN' $ STRLEN='F$LENGTH(FILE)' $ IF DEFFIL .EQS. "" THEN - IF STRLEN .EQ. 0 THEN GOBACK:="T" $ IF GOBACK THEN GOTO 'RETURN' $ IF STRLEN .EQ. 0 THEN FILE:='DEFFIL' $ IF STRLEN .LE. 9 THEN GOTO 200 $ WRITE SYS$OUTPUT " File names must be <9 ASCII characters" $ GOTO GETFIL $200: $ DEFFIL:='FILE' $ TMPFIL:='FILE'".''DEFTYP'" $ IF INFILE .EQS. "/CR" THEN GOTO 'RETURN' $ TESTFILE 'TMPFIL' $ IF $STATUS .EQ. 1 THEN GOTO 'RETURN' $ WRITE SYS$OUTPUT " " $ WRITE SYS$OUTPUT - "''FILE'.''DEFTYP' does not exist, Try again please" $ GOTO GETFIL $WARN: $ TYPE SYS$INPUT A temporary file exists on your directory which suggests you were editing when the system crashed. If you continue now there is a good chance that previous work could be lost. Please request help from an experienced PDP-11/45 programer to insure that you do not have any 0-length files. If a 0-length file is the highest numbered file you have, and a PURGE is done, all the good files will be lost. GET HELP. $ RETURN2:="WARN_RET" $ GOTO HOLDIT $WARN_RET: $ GOTO START $HOLDIT: $ WRITE SYS$OUTPUT " " $ INQUIRE RDY "Hit RETURN on the keyboard to continue" $ GOTO 'RETURN2' $XIT: $ INQUIRE PRG "Have you purged old copies of your files [Y/N]" $ IF PRG THEN GOTO XIT1 $ TYPE SYS$INPUT Please use the PURGE command to remove old files prior logging off $ WAIT 00:00:03 $ GOTO START $XIT1: INQUIRE DONE "Do you wish to exit now [Y/N]" $ IF .NOT. DONE THEN GOTO START $ IF Verify_at_Start THEN SET VERIFY