.TITLE ERMSG .IDENT /M01/ ; ; COPYRIGHT (C) 1976 ; DIGITAL EQUIPMENT CORPORATION, MAYNARD, MASS. ; ; THIS SOFTWARE IS FURNISHED UNDER A LICENSE FOR USE ONLY ON A ; SINGLE COMPUTER SYSTEM AND MAY BE COPIED ONLY WITH THE INCLU- ; SION OF THE ABOVE COPYRIGHT NOTICE. THIS SOFTWARE, OR ANY ; OTHER COPIES THEREOF, MAY NOT BE PROVIDED OR OTHERWISE MADE ; AVAILABLE TO ANY OTHER PERSON EXCEPT FOR USE ON SUCH SYSTEM ; AND TO ONE WHO AGREES TO THESE LICENSE TERMS. TITLE TO AND ; OWNERSHIP OF THE SOFTWARE SHALL AT ALL TIMES REMAIN IN DEC. ; ; THE INFORMATION IN THIS SOFTWARE IS SUBJECT TO CHANGE WITHOUT ; NOTICE AND SHOULD NOT BE CONSTRUED AS A COMMITMENT BY DIGITAL ; EQUIPMENT CORPORATION. ; ; DEC ASSUMES NO RESPONSIBILITY FOR THE USE OR RELIABILITY OF ITS ; SOFTWARE ON EQUIPMENT WHICH IS NOT SUPPLIED BY DEC. ; ; VERSION M01 ; ; AUTHOR: L. WADE 1-JUN-72 ; ; MODIFIED BY: ; ; E. POLLACK U. OF W. 19-DEC-73 ; ; D. N. CUTLER 27-JUL-75 ; ; INITIALIZATION AND ERROR MESSAGE ROUTINE ; ; LOCAL DATA ; ; ERROR MESSAGES ; .PSECT ERMSG,GBL,D BFOVF:: .ASCIZ /RNO -- INTERNAL BUFFER OVERFLOW/ ; ILCMM:: .ASCIZ /RNO -- ILLEGAL COMMAND/ ; ILCMM2::.ASCIZ /ON OUTPUT PAGE / ; JUSRM1::.ASCIZ /RNO -- CAN'T JUSTIFY LINE: / ; HALTM:: .ASCIZ /RNO -- FATAL ERROR, ABORTING/ ; OUTERR::.ASCIZ /RNO -- ERROR ON OUTPUT FILE/ ; INPERR::.ASCIZ /RNO -- ERROR ON INPUT FILE/ ; CORERR::.ASCIZ /RNO -- NOT ENOUGH MEMORY/ ; LSTERR::.ASCIZ /RNO -- CAN'T INDENT LIST ELEMENT/ ; NOTERR::.ASCIZ /RNO -- CAN'T REDUCE MARGINS/ ; MGCMDE::.ASCIZ /RNO -- COMMAND SYNTAX ERROR/ ; MGOFER::.ASCIZ /RNO -- OUTPUT FILE SPECIFICATION ERROR/ ; MGOPER::.ASCIZ /RNO -- OUTPUT FILE OPEN FAILURE/ ; MGIFER::.ASCIZ /RNO -- INPUT FILE SPECIFICATION ERROR/ ; MGIPER::.ASCIZ /RNO -- INPUT FILE OPEN FAILURE/ ; MGPOST::.ASCIZ /POSITION PAPER, TYPE RETURN/ ; .PSECT ;+ ; **-$ERMSG-DUMMY ENTRY POINT TO LOAD ERROR MESSAGES ;- $ERMSG::JMP TTC3 ;TRANSFER TO REAL OUTPUT ROUTINE ;+ ; **-$INITL-INITIALIZE RUNOFF VARIABLES ;- $INITL::MOV #JUSTF+PJUSTF+FILLF,F.1 ;INITIAL FLAGS CLRB $GCISW ;CLEAR REREAD FLAG CLRB $SDISW ;CLEAR SECONDARY INPUT FLAG CLRB $ULMSW ;CLEAR UNDERLINE MODE FLAG CLRB $ULNSW ;CLEAR UNDERLINE ENABLE FLAG CLRB $ULSSW ;CLEAR UNDERLINE SIMULATE FLAG CLR $AUTSW ;CLEAR AUTOPARAGRAPH FLAG MOV SP,$CFLSW ;SET WORD CAPITALIZE FLAG CLR $HFLSW ;CLEAR HYPHENATION FLAG MOV #5,$HDRSW ;SET PRINT HEADER FLAG MOV SP,$NUMSW ;SET NUMBER PAGE FLAG MOV SP,$PERSW ;SET PUNCTUATION DOUBLE SPACE FLAG MOV SP,$PGPSW ;SET PAGE PENDING FLAG CLR $SBPSW ;CLEAR SUBPAGE FLAG CLR $ULLSW ;CLEAR UNDERLINE LOCK FLAG CLRB GCSCH ;NO SAVED CHARACTER CLRB ULMCH ;NO SAVED UNDERLINE CHARACTER MOV #INLPG,R2 ;INITIAL LENGTH OF PAGE MOV R2,PNLPG MOV R2,NLPG MOV #IRMRG,RMARG ;INITIAL RIGHT MARGIN MOV #IRMRG,PRMRG ;INITIAL PERMANENT MARGIN MOV #ILMRG,LMARG ;INITIAL LEFT MARGIN MOV #40,CAS ;INITIAL CASE SETTING IS LOWER CLR WCAS ;CLEAR WORD CASE CONVERSION MOV #APNDN,R0 ;CLEAR APPENDIX, CHAPTER AND HEADING LEVELS CLR (R0)+ ; CLR (R0)+ ; CLR (R0)+ ; CLR (R0) ; MOV #LSTK,LSTKP ;INITIALIZE LIST STACK POINTER CLR LSTCT ;CLEAR CURRENT ELEMENT NUMBER MOV #1,PAGENO ;SET INITIAL PAGE NUMBER MOV #PAGHD,R0 ;INITIALIZE PAGE HEADING PROTOTYPE MOV (PC)+,(R0)+ ; .ASCII /PA/ ; MOV (PC)+,(R0)+ ; .ASCII /GE/ ; MOV (PC)+,(R0) ; .ASCIZ / / ; MOV #SPCNG,NSPNG ;INITIAL SPACING MOV #IPARTP,PARPT ;SET INITIAL PARAGRAPH PAGE TEST COUNT MOV #IPARVS,PARSP ;SET INITIAL PARAGRAPH SPACING COUNT MOV #IPARIN,PARIND ;INITIAL PARAGRAPH INDENTING MOV TTLP1,TTLP2 ;INITIALIZE TITLE DESCRIPTOR MOV STTLP1,STTLP2 ;INITIALIZE SUBTITLE DESCRIPTOR CLR LINEC ;START AT TOP OF PAGE CLR INDCT ;AND LEFT OF PAPER CLR NTABS ;NO TABS YET CLR FOOTC ;NO FOOTNOTE LINES HELD YET CLR XFIRST ;NOTHING IN THE INDEX MOV #FFDSW!HYPSW,$SWTCH ;SET DEFAULT SWITCH SETTINGS ;DON'T DO DEFAULT SPOOL, ENABLE WORD CAPIT. MOV LNIN1,LNIN2 ;INITIALIZE LINE INPUT DESCRIPTOR CLR HFIN+4 ;SET CHARACTER COUNTS MOV HFOUT,HFOUT+4 ;SET CHARACTER COUNTS MOV #OUBUF,HFOUT+2 ;INITIALIZE POINTERS CLR LOWPAG ;SET PAGE NUMBER RANGE TO PRINT MOV #-1,HGHPAG CLR LOWCHA ;AND CHAPTER RANGE MOV #-1,HGHCHA MOV R1,-(SP) MOV R2,-(SP) MOV #TABTL/2,R0 ;NUMBER OF TAB STOPS TO R0 MOV #TABTAB,R1 ;START OF TAB STOP TABLE TO R1 MOV #10,R2 ;SET TO DEFAULT TO DEC STANDARD TAB STOPS 1$: MOV R2,(R1)+ ;FILL IN ONE STOP ADD #10,R2 ;BUMP TO NEXT POSITION SOB R0,1$ ;AND LOOP TILL ALL DONE MOV #TABTL,NTABS ;SET UP NUMBER OF TABS TOO MOV (SP)+,R2 MOV (SP)+,R1 CLR TIMSIZ ;CLEAR SIZE OF TIME STRING CLR THILIN ;AND 2-HEAD FLAGS CLR THICNT RETURN ; .END