perm filename XGP[TH,ROB] blob sn#190426 filedate 1975-12-02 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00010 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00002 00002	                       XEROX GRAPHICS PRINTER
C00004 00003	CONI 440,
C00005 00004	CONO 440,
C00007 00005	CONO 440,
C00008 00006	CONO 440,
C00010 00007	CONO 440,
C00011 00008	DATAO 440,
C00012 00009	DATAO 440,
C00013 00010		The  operation  sequence  then  consists  of  the   following
C00014 ENDMK
C⊗;
                       XEROX GRAPHICS PRINTER


	The Xerox Graphics Printer (XGP) makes hard copy form  raster
bit matrices.  The paper is 8.5 inches wide and any length.  The line
is 1536 bits wide.   The XGP has a paper cutter that can be  used  in
two  modes.     The  "CUT NOW" command cuts the end of the paper off.
This is 22 inches from the line you are printing now.   The  "MARK  &
CUT"  command  puts  a mark on the paper at the present printing line
and when it gets to the cutter, it is severed.
	The  interface has two buffers, each 2K X 1 bits. The idea is
that one buffer is loaded while the other is feeding bits out to  the
XGP.   Then  the  buffers are swapped and the process repeats.    The
interface can be enabled to set "DONE", which comes up at the end  of
a  line  and  interrupts.   At  this point, you swap the buffers, and
begin to load the other buffer.
CONI 440,

18	----
	|
	|	UNUSED
	|
	----
	|
	|
29	|	¬XGPOK
	----
30	|	VIDENB
31	|	NZ
32	|	DONE
	----
33	|
34	|	UNUSED (MAY BECOME PI CHANNEL)
35	|
	----

	When the ¬XGPOK bit is off, this means that the XGP is ready to
receive data.
	VIDENB is true during the scan line and off during retrace.
	When NZ is set, the interface is ready to accept another byte
of data.
	Done is set when the XGP reaches the end of it's  scan  line.
It is reset by a CONO.
CONO 440,

	----
18	|	X
19	|	X
20	|	1
	----
21	|	1
22	|	0
23	|	0
	----
FII
BAX
24	|
	|
	|	BIT AFOO
BAZ			ESS
	|
35	|
	----

	This  command  loads  the  address  register  of  the  buffer
currently  about  to  be  or being loaded. All commands that load the
buffer register will start loading at  this  address  and  leave  the
register pointing one location beyond the last bit loaded.
	The  address  register must be zeroed before swapping buffers
so that the XGP unloads the buffer from the beginning.
CONO 440,

	----
18	|	X
19	|	X
20	|	1
	----
21	|	1
22	|	0
23	|	1
	----
24	|
	|
	|	N
	|
35	|
	----

	This command starts at current address of current buffer  and
loads  N one bits.  This will take about N*120 ns.  Check "NZ" before
sending any more commands!
CONO 440,

	----
18	|	X
19	|	X
20	|	1
	----
21	|	1
22	|	1
23	|	0
	----
24	|
	|	UNUSED
26	|
	----
27	|	UNUSED
28	|	UNUSED
29	|	DONE ENABLE
	----
30	|	BLANK
31	|	XGPON
32	|	CLEAR DONE
	----
33	|
34	|	PI CHANNEL
35	|
	----

	"DONE ENABLE" enables the setting of "DONE" at the end of the
scan line.  "DONE" interrupts.
	Setting "BLANK" causes the data in the buffers to be ignored,
and blank paper to be emitted.
	"XGPON"  starts the paper moving.  When it is turned off, the
printer will spew 22 inches of paper and then stop.  It must be set
at least every 10 ms. or it will shut itself off.
	"CLEAR DONE" clears "DONE".
CONO 440,

	----
18	|	X
19	|	X
20	|	1
	----
21	|	1
22	|	1
23	|	1
	----
24	|
25	|	UNUSED
26	|
	----
27	|
28	|	UNUSED
29	|
	----
30	|
31	|	UNUSED
32	|
	----
33	|	SWITCH LINE BUFFERS
34	|	CUT NOW
	|	MARK & CUT
	----

	Yes,  this  does  these things.  Don't forget to zero the bit
address before switching buffers!
DATAO 440,

	----
18	|	X
19	|	0
20	|	VIDEO
	----	  ↑
21	|	  |
	|	  |
	|	  |
	|	  |
	|	  |
	|	  ↓
35	|	VIDEO
	----

	This instruction loads 16 bits of video data into the current
buffer.   It loads from the current address and leaves the address at
N+16.  This instruction takes about 2 microseconds.
DATAO 440,

	----
18	|	X
19	|	1
20	|	VIDEO
	----	  ↑
21	|	  |
22	|	  |
23	|	  |
	----	  |
24	|	  |
25	|	  |
26	|	  |
	----	  |
27	|	  |
28	|	  |
29	|	  |
	----	  |
30	|	  ↓
31	|	VIDEO
32	|	WIDTH
	----	  ↑
33	|	  |
34	|	  ↓
35	|	WIDTH
	----

	This command loads WIDTH bits into the memory. All  12  VIDEO
bits  are  ored  into  a shift register and then shifted WIDTH times.
This is useful for overprinting characters.   The address counter  is
incremented  by WIDTH.  This instruction takes WIDTH*120 nanoseconds,
which is less than 1.5 microseonds, so I wouldn't  worry  about  that
too much.
	The  operation  sequence  then  consists  of  the   following
commands:
ZERO BIT ADDRESS
LOAD BUFFER WITH DATAO COMMANDS
ZERO BIT ADDRESS
SWAP BUFFERS
CHECK ¬XGPOK
SET DONE ENABLE AND XGPON
ZERO BIT ADDRESS
LOAD BUFFER WITH DATAOS
WAIT FOR INTERUPT
ZERO BIT ADDRESS
SWAP BUFFERS
ZERO BIT ADDRESS
LOAD BUFFER
WAIT FOR INTERUPT AGAIN

At appropriate places, turn on blanking and mark paper to be cut.

	Well, that's about all I have to say about the  XGP,  so,  if
you  can't  figure  it out, come and see me. In fact even if you can,
see me or Ralph Gorin before attempting anything.