.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 CLR $CFLSW ;CLEAR WORD CAPITALIZE FLAG CLR $HFLSW ;CLEAR HYPHENATION FLAG MOV #5,$HDRSW ;SET PRINT HEADER FLAG MOV SP,$HPHSW ;SET HYPHENATION ACTIVE 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 CLR CAS ;INITIAL CASE SETTING IS UPPER 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 #ILSTTP,LSTPT ;SET INITIAL LIST PAGE TEST COUNT MOV #ILSTVS,LSTVS ;SET INITIAL LIST SPACING MOV #SPCNG,NSPNG ;SET 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 R0 ;CLEAR LOOP COUNTER MOV #8.,R1 ;SET INITIAL TAB STOP VALUE 10$: MOVB R1,TABTAB(R0) ;SET STANDARD TAB STOPS ADD #8.,R1 ;ADVANCE TO NEXT TAB STOP INC R0 ;INCREMENT LOOP COUNTER CMPNE R0,#17.,10$ ;LOOP IF END OF LOOP NOT REACHED MOV R0,NTABS ;SET NUMBER OF TAB STOPS CLR FOOTC ;NO FOOTNOTE LINES HELD YET CLR XFIRST ;NOTHING IN THE INDEX MOV #FFDSW!HYPSW!SPLSW,$SWTCH ;SET DEFAULT SWITCH SETTINGS 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 RETURN ; .END