(DEFINE-FILE-INFO READTABLE "INTERLISP" PACKAGE "INTERLISP") (FILECREATED " 9-May-88 23:30:31" {ERINYES}MEDLEY>TEK4010.;1 6442 previous date%: " 8-May-85 12:20:13" {ERINYES}LYRIC>TEK4010.;1) (* " Copyright (c) 1985, 1988 by Xerox Corporation. All rights reserved. ") (PRETTYCOMPRINT TEK4010COMS) (RPAQQ TEK4010COMS ((FNS GLOMHI&LO TEK.DRAWTO TEK.MOVETO TEK4010.INTERP) (MACROS ->NEXTSTATE \BIN7BITS) (VARS TEKPTSPERPOINT))) (DEFINEQ (GLOMHI&LO [LAMBDA (HIBYTE LOBYTE) (* hdj "10-Sep-84 14:32") (IPLUS LOBYTE (LLSH HIBYTE 5]) (TEK.DRAWTO [LAMBDA (X Y WIDTH OPERATION STREAM) (* AJB "18-Mar-85 16:16") (DRAWTO (IQUOTIENT X TEKPTSPERPOINT) (IQUOTIENT Y TEKPTSPERPOINT) WIDTH OPERATION STREAM]) (TEK.MOVETO [LAMBDA (X Y STREAM) (* AJB "18-Mar-85 16:16") (MOVETO (IQUOTIENT X TEKPTSPERPOINT) (IQUOTIENT Y TEKPTSPERPOINT) STREAM]) (TEK4010.INTERP [LAMBDA (INSTREAM OUTSTREAM) (* AJB "27-Mar-85 12:55") (PROG (CURRSTATE PREVSTATE INBYTE HI2BITS LO5BITS HIX LOX HIY LOY DRAWP) (* start out by moving, not drawing) (SETQQ PREVSTATE @ALPHASTATE) (SETQQ CURRSTATE @ALPHASTATE) @ALPHASTATE (\BIN7BITS INSTREAM INBYTE HI2BITS LO5BITS) (COND ((ZEROP HI2BITS) (->NEXTSTATE @ALPHA.CTRLSTATE)) (T (BOUT OUTSTREAM INBYTE) (->NEXTSTATE @ALPHASTATE))) @GRAPHICSSTATE (SETQ DRAWP NIL) (\BIN7BITS INSTREAM INBYTE HI2BITS LO5BITS) (SELECTQ HI2BITS (0 (->NEXTSTATE @GRAPHICS.CTRLSTATE)) (1 (->NEXTSTATE @HIYSTATE)) (2 (->NEXTSTATE @LOXSTATE)) (3 (->NEXTSTATE @LOYSTATE)) NIL) @HIYSTATE (SETQ HIY LO5BITS) (\BIN7BITS INSTREAM INBYTE HI2BITS LO5BITS) (SELECTQ HI2BITS (0 (->NEXTSTATE @GRAPHICS.CTRLSTATE)) (1 (->NEXTSTATE @HIYSTATE)) (2 (->NEXTSTATE @LOXSTATE)) (3 (->NEXTSTATE @LOYSTATE)) NIL) @LOYSTATE (SETQ LOY LO5BITS) (\BIN7BITS INSTREAM INBYTE HI2BITS LO5BITS) (SELECTQ HI2BITS (0 (->NEXTSTATE @GRAPHICS.CTRLSTATE)) (1 (->NEXTSTATE @HIXSTATE)) (2 (->NEXTSTATE @LOXSTATE)) (3 (->NEXTSTATE @LOYSTATE)) NIL) @HIXSTATE (SETQ HIX LO5BITS) (\BIN7BITS INSTREAM INBYTE HI2BITS LO5BITS) (SELECTQ HI2BITS (0 (->NEXTSTATE @GRAPHICS.CTRLSTATE)) (1 (->NEXTSTATE @HIYSTATE)) (2 (->NEXTSTATE @LOXSTATE)) (3 (->NEXTSTATE @LOYSTATE)) NIL) @LOXSTATE (SETQ LOX LO5BITS) (\BIN7BITS INSTREAM INBYTE HI2BITS LO5BITS) (COND (DRAWP (TEK.DRAWTO (GLOMHI&LO HIX LOX) (GLOMHI&LO HIY LOY) 1 NIL OUTSTREAM)) (T (TEK.MOVETO (GLOMHI&LO HIX LOX) (GLOMHI&LO HIY LOY) OUTSTREAM) (SETQ DRAWP T))) (SELECTQ HI2BITS (0 (->NEXTSTATE @GRAPHICS.CTRLSTATE)) (1 (->NEXTSTATE @HIYSTATE)) (2 (->NEXTSTATE @LOXSTATE)) (3 (->NEXTSTATE @LOYSTATE)) NIL) @ALPHA.CTRLSTATE (SELECTQ LO5BITS (7 (RINGBELLS 1)) (8 (RELMOVETO -14 0 OUTSTREAM)) (9 (RELMOVETO 14 0 OUTSTREAM)) (10 (RELMOVETO 0 -22 OUTSTREAM)) (11 (RELMOVETO 0 22 OUTSTREAM)) (27 (->NEXTSTATE @ESCSTATE)) (29 (->NEXTSTATE @GRAPHICSSTATE)) (13 (MOVETO 0 (DSPYPOSITION NIL OUTSTREAM) OUTSTREAM) (->NEXTSTATE @ALPHASTATE)) (31 (->NEXTSTATE @ALPHASTATE)) NIL) (\BIN7BITS INSTREAM INBYTE HI2BITS LO5BITS) (COND ((EQ HI2BITS 0) (->NEXTSTATE @ALPHA.CTRLSTATE)) (T (->NEXTSTATE @ALPHASTATE))) @GRAPHICS.CTRLSTATE (SELECTQ LO5BITS (4 (->NEXTSTATE @ALPHASTATE)) (7 (RINGBELLS 1)) (8 (RELMOVETO -14 0 OUTSTREAM)) (9 (RELMOVETO 14 0 OUTSTREAM)) (10 (RELMOVETO 0 -22 OUTSTREAM)) (11 (RELMOVETO 0 22 OUTSTREAM)) (27 (->NEXTSTATE @ESCSTATE)) (29 (->NEXTSTATE @GRAPHICSSTATE)) (13 (MOVETO 0 (DSPYPOSITION NIL OUTSTREAM) OUTSTREAM)) (31 (->NEXTSTATE @ALPHASTATE)) NIL) (\BIN7BITS INSTREAM INBYTE HI2BITS LO5BITS) (SELECTQ HI2BITS (0 (->NEXTSTATE @GRAPHICS.CTRLSTATE)) (1 (COND ((EQUAL PREVSTATE '@LOYSTATE) (->NEXTSTATE @HIXSTATE)) (T (->NEXTSTATE @HIYSTATE)))) (2 (->NEXTSTATE @LOXSTATE)) (3 (->NEXTSTATE @LOYSTATE)) NIL) @ESCSTATE (\BIN7BITS INSTREAM INBYTE HI2BITS LO5BITS) (COND ((EQ LO5BITS 12) (DSPRESET OUTSTREAM))) (->NEXTSTATE @ALPHASTATE]) ) (DECLARE%: EVAL@COMPILE [PUTPROPS ->NEXTSTATE MACRO ((STATE) (PROGN (SETQ PREVSTATE CURRSTATE) (SETQ CURRSTATE STATE) (GO STATE] [PUTPROPS \BIN7BITS MACRO (ARGS (LET ((INSTREAM (CAR ARGS)) (INBYTE (CADR ARGS)) (HI2BITS (CADDR ARGS)) (LO5BITS (CADDDR ARGS))) `(PROGN (SETQ %, INBYTE (LOGAND 127 (BIN %, INSTREAM))) (SETQ %, HI2BITS (LRSH %, INBYTE 5)) (SETQ %, LO5BITS (LOGAND %, INBYTE 31] ) (RPAQQ TEKPTSPERPOINT 2) (PUTPROPS TEK4010 COPYRIGHT ("Xerox Corporation" 1985 1988)) (DECLARE%: DONTCOPY (FILEMAP (NIL (521 5591 (GLOMHI&LO 531 . 671) (TEK.DRAWTO 673 . 896) (TEK.MOVETO 898 . 1105) ( TEK4010.INTERP 1107 . 5589))))) STOP