. . REENTRANT ADIT$ INTERFACE . . . (C) Copyright 1972-1978 John Walker . . This software is in the public domain . AXR$ DEFUNCT$ A$DEF FANG PURE CODE . . ENTER EDIT MODE . . LMJ A1,RDITA$ . <RETURN> . RDITA$* BGET 33+EPKTL ALLOCATE A PACKET AND LINE LA A2,(1,CANNED) GET POINTER TO CANNED PACKET LR,U R1,EPKTL LOAD LENGTH OF CANNED PACKET LA,U A3,,A0 GET BUFFER ADDRESS LXI,U A3,1 SET UP INCREMENT BT A3,,*A2 MOVE CANNED PACKET TO BUFFER LA,U A2,EPKTL,A0 LOAD LINE START ADDRESS SA,H2 A2,,A0 PUT INTO PACKET LX,U X11,,A1 GET RETURN POINT J ADIT$ ENTER EDITING MODE . . PRINT AND TERMINATE . . LA,U A0,<SPACING> . LMJ A1,RPRTXA$ . RPRTXA$* . if overtype TZ TYPOUTST IS A TYPE AND READ OUTSTANDING ? AA,U A0,2 YES. DON'T OVERTYPE IT SZ TYPOUTST CLEAR TYPE AND READ OUTSTANDING endf LSSL A0,18+6 SHIFT SPACING TO T1 LXM,U A0,EPKTL,X1 POINT TO IMAGE AA A0,(33,0) PUT LENGTH IN PRINT$ WORD TNZ SHADUP OUTPUT TURNED OFF ? if fdonly lmj x11,aprtf translate to Fieldata and print else aprint$ . print if all ASCII endf RDITXA$* A$DITX . TERMINATE EDITING MODE BRELP A0 RELEASE THE PACKET AND LINE J 0,A1 RETURN . . PRINT AND STAY IN EDITING MODE . . LA,U A0,<SPACING> . LMJ X11,RPRTA$ . <RETURN> . RPRTA$* LXI,U X11,,X11 SAVE RETURN POINT if overtype TZ TYPOUTST IS A TYPE AND READ OUTSTANDING ? AA,U A0,2 YES. DON'T OVERTYPE IT SZ TYPOUTST CLEAR TYPE AND READ OUTSTANDING endf LSSL A0,18+6 SHIFT OVER SPACING LXM,U A0,EPKTL,X1 GET LINE POINTER AA A0,(33,0) ADD IN LENGTH TNZ SHADUP OUTPUT TURNED OFF ? if fdonly lmj x11,aprtf translate to Fieldata and print else aprint$ . print if ASCII is working today endf A$DITX . TERMINATE EDIT MODE TO CLEAR LINE LA A1,X11 GET RETURN POINT SSL A1,18 SHIFT IT DOWN LX,U X11,,A1 LOAD IT INTO X11 J ADIT$ SET UP EDIT MODE, RETURN TO CALL . . TRANSLATE IMAGE TO FIELDATA AND PRINT IF SYSTEM DOES NOT . SUPPORT ASCII PRINT FILES. . if fdonly APRTF SSL A0,24 SHIFT OFF LENGTH AND BUFFER SA,H1 A0,SVL,X1 SAVE SPACING IN BUFFER SX X11,SVL+1,X1 SAVE RETURN POINT IN SAVE BUFFER DS A1,SVL+2,X1 SAVE A1, A2 DS A3,SVL+4,X1 SAVE A3, A4 SA A5,SVL+6,X1 SAVE A5 LA,U A2,SVL+7,X1 LOAD START ADDRESS OF FIELDATA BUFFER LA,U A0,33 LOAD ASCII BUFFER LENGTH LA,U A1,EPKTL,X1 LOAD IMAGE BUFFER ADDRESS ascfd . CONVERT ASCII TO FIELDATA LSSL A0,18 MOVE LENGTH TO H1 LXM,U A0,SVL+7,X1 LOAD FIELDATA BUFFER ADDRESS LA,H1 A1,SVL,X1 LOAD SPACING LSSL A1,24 MOVE TO T1 OF WORD AA A0,A1 ADD TO CONTROL WORD PRINT$ . PRINT FIELDATA IMAGE DL A1,SVL+2,X1 RELOAD A1, A2 DL A3,SVL+4,X1 RELOAD A3, A4 LA A5,SVL+6,X1 RELOAD A5 LX X11,SVL+1,X1 RELOAD RETURN POINT FROM BUFFER J 0,X11 RETURN TO CALLER endf . PURE DATA CANNED A$PKT 33,$-$ if fdonly SVL EQU $-CANNED START OF SAVE AREA endf EPKTL EQU $-CANNED+(22+7)*(FDONLY>0) END