(FILECREATED " 2-Jun-85 16:51:53" {ERIS}<LISPCORE>BUSMASTER>COLORNNGS.;3 4562   

      changes to:  (FNS NNGS.DEMO NNGS.OUT NNGS.PAR2 NNGS.PAR NNGS.DRAWLINE1)
		   (VARS COLORNNGSCOMS)

      previous date: "16-May-85 17:50:23" {ERIS}<LISPCORE>BUSMASTER>COLORNNGS.;2)


(* Copyright (c) 1985 by Xerox Corporation. All rights reserved.)

(PRETTYCOMPRINT COLORNNGSCOMS)

(RPAQQ COLORNNGSCOMS ((FNS NNGS.CMD NNGS.DEMO NNGS.DRAWLINE1 NNGS.INIT NNGS.OUT NNGS.PAR NNGS.PAR2)))
(DEFINEQ

(NNGS.CMD
  [LAMBDA (ARG RESETFLG)
    [OR RESETFLG (UNTIL (EQ 0 (LOGAND 2 (BUS.READHL 14Q 0]
    (BUS.WRITEHL 14Q 1 (CAR ARG))
    (FOR X IN (CDR ARG)
       DO [UNTIL (EQ 0 (LOGAND 2 (BUS.READHL 14Q 0]
	  (BUS.WRITEHL 14Q 0 X])

(NNGS.DEMO
  [LAMBDA NIL                                                (* edited: " 2-Jun-85 16:44")
    (FOR I FROM 0 TO 511 DO (FOR J FROM 0 TO 127 DO (BUS.WRITEHL 10 (PLUS (TIMES 512 J)
									  I)
								 I)))
    (FOR I FROM 0 TO 255
       DO (BUS.WRITEHL 12 (PLUS 256 I)
		       I)
	  (BUS.WRITEHL 12 (PLUS 512 I)
		       I)
	  (BUS.WRITEHL 12 (PLUS 768 I)
		       I))
    (NNGS.DRAWLINE1 (0 479 512 0 50 50 0 -1 COMPLEMENT])

(NNGS.DRAWLINE1
  [LAMBDA (X0 Y0 XLIMIT YLIMIT DX DY CDL YINC MODE)          (* edited: " 2-Jun-85 16:51")
    (PROG (DIR PLANE EAD DC D D2 D1 DM)
          (SETQ DIR (IF (IMINUSP YINC)
			THEN (IF (IGREATERP DY DX)
				 THEN 3
			       ELSE 2)
		      ELSE (IF (IGREATERP DY DX)
			       THEN 1
			     ELSE 0)))
          (SETQ PLANE 0)
          (SETQ EAD (IPLUS (ITIMES (IDIFFERENCE 479 Y0)
				   64)
			   (LRSH X0 4)
			   (ITIMES PLANE 16384)))
          (NNGS.CMD (LIST 73 (LOGAND EAD 255)
			  (LOGAND (LRSH EAD 8)
				  255)
			  (IPLUS (LLSH (LOGAND X0 15)
				       4)
				 (LRSH EAD 16)))             (* CURS)
		    )
          (NNGS.CMD [LIST (IPLUS 32 (SELECTQ MODE
					     (PAINT 3)
					     (REPLACE 0)
					     (COMPLEMENT 1)
					     (RETURN]        (* WDAT)
		    )
          (PROGN (NNGS.CMD (LIST 76 (IPLUS 8 DIR))           (* FIGS)
			   )
		 (NNGS.PAR2 (SETQ DC (MAX DX DY)))
		 [NNGS.PAR2 (SETQ D (IPLUS DD DD (IMINUS DI]
		 (NNGS.PAR2 (SETQ D2 (LLSH (IDIFFERENCE DD DI)
					   1)))
		 (NNGS.PAR2 (SETQ D1 (IPLUS DD DD)))
		 (NNGS.PAR2 (SETQ DM 65535)))
          (NNGS.CMD (QUOTE (108))                            (* FIGD)
		    ])

(NNGS.INIT
  [LAMBDA NIL
    (BUS.WRITEHL 14Q 3404Q 377Q)
    (BUS.WRITEHL 14Q 3407Q 377Q)
    (NNGS.CMD (QUOTE (0 37Q 76Q 144Q 10Q 5 3 360Q 100Q))
	      T)
    (NNGS.CMD (QUOTE (107Q 100Q)))
    (NNGS.CMD (QUOTE (157Q)))
    (NNGS.CMD (QUOTE (106Q 0)))
    (BUS.WRITEHL 14Q 3400Q 377Q)
    (BUS.WRITEHL 14Q 3401Q 377Q)
    (BUS.WRITEHL 14Q 3402Q 377Q)
    (BUS.WRITEHL 14Q 3403Q 377Q)
    (NNGS.CMD (QUOTE (113Q 0 300Q 0)))
    (NNGS.CMD (QUOTE (160Q 0 0 0 177Q)))
    (NNGS.CMD (QUOTE (170Q 377Q 377Q 377Q 377Q 377Q 377Q 377Q 377Q)))
    (NNGS.CMD (QUOTE (112Q 377Q 377Q)))
    (FOR I FROM 0 TO 377Q
       DO (BUS.WRITEHL 14Q (IPLUS 400Q I)
		       I)
	  (BUS.WRITEHL 14Q (IPLUS 1000Q I)
		       I)
	  (BUS.WRITEHL 14Q (IPLUS 2000Q I)
		       I))
    (NNGS.CMD (QUOTE (153Q)))
    (NNGS.CMD (QUOTE (15Q])

(NNGS.OUT
  [LAMBDA (ARG CMDFLG)                                       (* edited: " 2-Jun-85 16:41")
    [UNTIL (EQ 0 (LOGAND 2 (BUS.READHL 12 0]
    (BUS.WRITEHL 12 (IF CMDFLG
			THEN 1
		      ELSE 0)
		 ARG])

(NNGS.PAR
  [LAMBDA (ARG)                                              (* edited: " 2-Jun-85 16:22")
    [UNTIL (EQ 0 (LOGAND 2 (BUS.READHL 12 0]
    (BUS.WRITEHL 12 0 ARG])

(NNGS.PAR2
  [LAMBDA (ARG)                                              (* edited: " 2-Jun-85 16:39")
    [UNTIL (EQ 0 (LOGAND 2 (BUS.READHL 12 0]
    (BUS.WRITEHL 12 0 (LOGAND ARG 255))
    [UNTIL (EQ 0 (LOGAND 2 (BUS.READHL 12 0]
    (BUS.WRITEHL 12 0 (LOGAND (LRSH ARG 8)
			      255])
)
(PUTPROPS COLORNNGS COPYRIGHT ("Xerox Corporation" 1985))
(DECLARE: DONTCOPY
  (FILEMAP (NIL (482 4482 (NNGS.CMD 492 . 793) (NNGS.DEMO 795 . 1314) (NNGS.DRAWLINE1 1316 . 2732) (
NNGS.INIT 2734 . 3693) (NNGS.OUT 3695 . 3942) (NNGS.PAR 3944 . 4141) (NNGS.PAR2 4143 . 4480)))))
STOP