.TITLE ERMSG .IDENT /M02.4/ ;M2.4 ;M2.4 ; ;**-2 ; 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 M02 ; ; AUTHOR: L. WADE 1-JUN-72 ; ; MODIFIED BY: ; ; E. POLLACK U. OF W. 19-DEC-73 ; ; D. N. CUTLER 27-JUL-75 ; ; Bradford A. Lubell 10-Oct-81 ;M2.4 ; SIG MODIFICATIONS ; SIG01 ;WAIT MESSAGE AND CORRECT DEFAULT ; SIG02 RSTS CHANGES ; INITIALIZATION AND ERROR MESSAGE ROUTINE ; ; LOCAL DATA ; ; ERROR MESSAGES ; ;M2.4 .PSECT ERMSG,GBL,D ;**-1 BFOVF:: .ASCIZ /?RUNOFF-F-INTERNAL BUFFER OVERFLOW/ ; ;M2.4 ILCMM:: .ASCIZ /?RUNOFF-E-ILLEGAL COMMAND/ ; ;M2.4 ILCMM2::.ASCIZ /ON OUTPUT PAGE / ; ;**-2 JUSRM1::.ASCIZ /?RUNOFF-W-CAN'T JUSTIFY LINE: / ; ;M2.4 HALTM:: .ASCIZ /?RUNOFF-F-FATAL ERROR, ABORTING/ ; ;M2.4 OUTERR::.ASCIZ /?RUNOFF-F-ERROR ON OUTPUT FILE/ ; ;M2.4 INPERR::.ASCIZ /?RUNOFF-F-ERROR ON INPUT FILE/ ; ;M2.4 CORERR::.ASCIZ /?RUNOFF-F-NOT ENOUGH MEMORY/ ; ;M2.4 LSTERR::.ASCIZ /?RUNOFF-E-CAN'T INDENT LIST ELEMENT/ ; ;M2.4 NOTERR::.ASCIZ /?RUNOFF-E-CAN'T REDUCE MARGINS/ ; ;M2.4 MGCMDE::.ASCIZ /?RUNOFF-E-COMMAND SYNTAX ERROR/ ; ;M2.4 MGOFER::.ASCIZ /?RUNOFF-E-OUTPUT FILE SPECIFICATION ERROR/ ; ;M2.4 MGOPER::.ASCIZ /?RUNOFF-F-OUTPUT FILE OPEN FAILURE/ ; ;M2.4 MGIFER::.ASCIZ /?RUNOFF-E-INPUT FILE SPECIFICATION ERROR/ ; ;M2.4 MGIPER::.ASCIZ /?RUNOFF-F-INPUT FILE OPEN FAILURE/ ; ;M2.4 MGWIGL::.ASCIZ <7>/ /<15>/ /<15>/ /<7> ;**-12 .EVEN ;M2.4 .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 ;M2.4 MOVB SP,$ULMSW ; Set underline mode flag ;M2.4 CLRB $ULNSW ;CLEAR UNDERLINE ENABLE FLAG ;**-1 CLRB $ULSSW ;CLEAR UNDERLINE SIMULATE FLAG CLR $AUTSW ;CLEAR AUTOPARAGRAPH FLAG CLR $CFLSW ;CLEAR WORD CAPITALIZE FLAG CLR $HFLSW ;CLEAR HYPHENATION FLAG MOV ITTSWT,TT$SWT ; Initialize terminal type switch ;M2.4 MOV IVPBAS,VP$BAS ; Initialize pitch base ;M2.4 CLR VP$LPI ; Clear vertical pitch count ;M2.4 MOV #1,AC$SWI ; Clear alternate character set switch ;M2.4 CLR EN$SWI ; Clear enhancement switch ;M2.4 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 IUL, ULSWT ;INITIALIZE UNDERLINE MODE MOV HWLPP, LPPG ;SET DEFAULT HARDWARE PAGE SIZE MOV #INLPG, PNLPG ;SET INITIAL LENGTH OF PAGE 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/ ; ;M2.4 MOV (PC)+,(R0)+ ; ;**-1 .ASCII /ge/ ; ;M2.4 MOV (PC)+,(R0) ; ;**-1 .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 INI$SW, $SWTCH ;INITIAL 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 ;M2.4 CLR LOWPAG ;SET PAGE NUMBER RANGE TO PRINT ;**-1 MOV #-1,HGHPAG RETURN ;M2.4 ;M2.4 .END ;**-2