From ard@siva.bris.ac.uk Mon Mar 21 10:41:34 1994
Received: from siva.bris.ac.uk by nfs1.digex.net with SMTP id AA11511
  (5.67a8/IDA-1.5 for <rdd@access.digex.net>); Mon, 21 Mar 1994 10:41:03 -0500
Received: by siva.bris.ac.uk (MX V3.3 VAX) id 3184; Mon, 21 Mar 1994 15:41:32
          GMT
Date: Mon, 21 Mar 1994 15:41:31 GMT
From: "PDP11 Hacker ....." <ard@siva.bris.ac.uk>
To: rdd@access.digex.net
Message-Id: <0097BC59.3B4F0176.3184@siva.bris.ac.uk>
Subject: ftp site : centronics interface
Status: O

You'll have to split this file up yourself - I'm not sure how to send you
archives :-)
There are 5 files here - in order : notes.txt, license.txt, addrcomp.eqn,
hndshk.eqn, schematic.txt
-tony

------------------NOTES.TXT-------------
The accompanying schematic and GAL equations form a GPIB to Centronics
interface unit for the PERQ. The following notes should explain a few things

0) This design is for experienced (?) constructors. I've not shown power
connections to the IC's, which must be made. Also, You should add decoupling
capacitors (say 100nF ceramic) close to each ic, across the supply

1) I've used certain features of the GALs, which mean that its unlikely that
you could get the equations to fit into similar PALs. GALs are easier to
program anyway

2) The GPIB connector pins assume you are using an Amphenol 24 pin connector.
The printer (prt) pins assume you are using a DB25 connector, and an IBM PC
compatible printer lead to link it to a printer

3) This unit has been tested with several Centronics-a-like printers. It worked
with all of them. However, it's possible that there is a printer out there that
claims to be centronics-compatible, and is in fact not!. If you try this
circuit, please post the results, and what printer you were using

4) There are a total of 6 IC's in this project - 2 off 74LS14, 1 off 74LS05, 1
off 74HCT541,  2 off GAL16V8

5) The GALs must be programmed with the JEDEC files produced by the accompanying
equation files. Experienced hackers may wish to edit the addrcomp.eqn file to
use different addresses - as supplied, the unit is link selectable for
addresses 4,5,6,7. If you need others, and can't work out what's going on,
please ask me.

6) That goes for anything else you don't understand. I can be contacted as 
ard@siva.bris.ac.uk, or post to alt.sys.perq.

--------------License.txt----------
The accompanying files are copyright 1994 A.R.Duell
They are not public domain in the legal sense, however I hereby permit the
following actions : 
1) The files may be posted to Usenet newsgroups, mailing lists, and similar
systems. Please only post to appropriate groups

2) The files may be placed on an anonymous ftp site or mail server

3) The files may be placed on similar services on other systems, e.g.
Compuserve, Delphi, etc. Where a charge is made for downloading these files, it
may not exceed the standard charge made for files of this size

4) Private constructors may make this project for their own use and the use of
their friends, provided an excessive charge is not made for the construction

5) User Groups, clubs, and similar organisations may publish the files in their
newsletters. Such organisations may also produce the device essentially at
cost for the benefit of their members.

In all cases where the files are reproduced, my name, and this agreement must
remain attached to them.

About the only thing I prohibit is the making of a profit with my design
without my agreement. If you wish to do anything else with the files not
covered above, please ask me. I'll probably agree!

-tony
Tony Duell, ard@siva.bris.ac.uk
 

--------addrcomp.eqn----------
; IEEE488 Printer Address Comparator
; A.R.Duell

chip addrcomp GAL16V8

; pins  1    2 3  4  5  6  7  8  9  10
       AStb D0 D1 D2 D3 D4 D5 D6 NC Gnd 
; pins 11 12 13  14    15    16 17  18        19   20
       OE NC IFC ASel0 ASel1 NC UnL Addressed NC  Vcc

equations

UnL = /D6 * D5 * D4 * D3 * D2 * D1 * D0 * AStb
UnL.oe = Vcc

Addressed = /D6 * D5 * /D4 * /D3 * D2 * /D1 * /D0 * AStb * /ASel0 * /ASel1
          + /D6 * D5 * /D4 * /D3 * D2 * /D1 * D0  * AStb * ASel0  * /ASel1
          + /D6 * D5 * /D4 * /D3 * D2 * D1  * /D0 * AStb * /ASel0 * ASel1
          + /D6 * D5 * /D4 * /D3 * D2 * D1  * D0  * AStb * ASel0  * ASel1
          + Addressed * /UnL * /IFC
Addressed.oe = Vcc
 
------------hndshk.eqn-----------------
; IEEE488 Handshake state machine
; A.R.Duell

chip hndshk GAL16V8

;pin  1   2   3   4    5        6    7 8  9  10
     CLK ATN DAV IFC Addressed /Busy NC NC NC GND
;pin  11 12   13   14   15   16   17   18   19   20
      OE NRFD NDAC ASt0 ASt1 DSt0 DSt1 AStb DStb Vcc

equations

ASt0 := /IFC * ATN * /ASt0 * /ASt1 * DAV
      + /IFC * ATN * /ASt0 * ASt1 * /DAV

ASt1 := /IFC * ATN * ASt0 * /ASt1
      + /IFC * ATN * /ASt0 * ASt1

DSt0 := DAV * /Busy * /DSt0 * /DSt1 * /IFC * /ATN * Addressed
      + /IFC * /ATN * Addressed * /DSt0 * DSt1 * /DAV

DSt1 := Addressed * /ATN * /IFC * DSt0 * /DSt1
      + /ATN * /IFC * Addressed * /DSt0 * DSt1

NRFD = ATN * ASt0 + ATN * ASt1
     + Addressed * /ATN * DSt0 + Addressed * /ATN * DSt1
     + Addressed * /ATN * Busy

NDAC = ATN * /ASt1 + ATN * ASt1 * ASt0
     + Addressed * /ATN * /DSt1 + Addressed * /ATN * DSt1 * DSt0

AStb = DAV * ATN * ASt0 * /ASt1

DStb = DAV * /ATN * Addressed * DSt0 * /DSt1
 
-----------schematic.txt-------------
                +5v
                ---
                 |
                 \
                 /2k2
                 \                                 '541
                 /         '14         ========   -------
                 |         |\          |     0|---|I a Y|----o Prt/2 (D0)
GPIB/1 o---------+---------|#>o--------|0    1|---|I b Y|----o Prt/3 (D1)
(DB1)                      |/          |     2|---|I c Y|----o Prt/4 (D2)
                                       |     3|---|I d Y|----o Prt/5 (D3)
                +5v                    |     4|---|I e Y|----o Prt/6 (D4)
                ---                    |     5|---|I f Y|----o Prt/7 (D5)
                 |                     |     6|---|I g Y|----o Prt/8 (D6)
                 \                     |     7|---|I h Y|----o Prt/9 (D7)
                 /2k2                  |          |     |
                 \                     |          |  E  |
                 /         '14         |          -------
                 |         |\          |            o o
GPIB/2 o---------+---------|#>o--------|1           | |
(DB2)                      |/          |            +-+
                                       |              |
                +5v                    |             ---
                ---                    |             ///
                 |                     |
                 \                     |
                 /2k2                  |
                 \                     |
                 /         '14         |
                 |         |\          |
GPIB/3 o---------+---------|#>o--------|2
(DB3)                      |/          |
                                       |
                +5v                    |
                ---                    |
                 |                     |
                 \                     |
                 /2k2                  |
                 \                     |
                 /         '14         |
                 |         |\          |
GPIB/4 o---------+---------|#>o--------|3
(DB4)                      |/          |
                                       |
                +5v                    |
                ---                    |
                 |                     |
                 \                     |
                 /2k2                  |
                 \                     |
                 /         '14         |
                 |         |\          |
GPIB/13o---------+---------|#>o--------|4
(DB5)                      |/          |
                                       |
                                       |
                +5v                    |
                ---                    |
                 |                     |
                 \                     |
                 /2k2                  |
                 \                     |
                 /         '14         |
                 |         |\          |
GPIB/14o---------+---------|#>o--------|5
(DB6)                      |/          |
                                       |
                +5v                    |
                ---                    |
                 |                     |
                 \                     |
                 /2k2                  |
                 \                     |
                 /         '14         |
                 |         |\          |
GPIB/15o---------+---------|#>o--------|6
(DB7)                      |/          |
                                       |
                +5v                    |
                ---                    |
                 |                     |
                 \                     |
                 /2k2                  |
                 \                     |
                 /         '14         |
                 |         |\          |
GPIB/16o---------+---------|#>o--------|7
(DB8)                      |/          |    Addrcomp
                                       |    GAL 16V8
                                       |   -------------
                     +5v               |   |           |
                     ---              0|---|D0         |
                      |               1|---|D1         |
                    +-+-+             2|---|D2         |         +5v
                    |   |             3|---|D3         |         ---
                    \   \ 2 off       4|---|D4         |          |
                    /   / 2k2         5|---|D5         |          /
                    \   \             6|---|D6         |          \1k
                    /   /                  |           |          /
                    |   |                  |           |          \    
                    |   +------------------|Asel0      |          |   
                    +---)------------------|Asel1      |          V  LED
                    |   |                  |           |    '05  ---
                    o   o     +------------|IFC        |    |\    |
   Address Select             |            |  Addressed|-+--||>o--+
                    o   o     |         +--|AStb       | |  |/
                    |   |     |         |  |           | |  
                    +-+-+     |         |  ------------- |  
                      |       |         |                |  
                     ---      |         |                |  
                     ///      |    +----)----------------+
                              |    |    |
                              |    |    |
                              |    |    |
          +5v                 |    |    |
          ---                 |    |    |
           |                  |    |    |
           \                  |    |    |
           /2k2               |    |    |
           \                  |    |    |                     +5v
           /   '14            |    |    |                     ---
           |   |\             |    |    |                      |
GPIB/9 o---+---|#>o-----------+    |    +-----------+          /
(IFC)          |/             |    |                |          \2k2
                              |    |    Hndshk      |          /
          +5v                 |    |    GAL16V8     |    '05   \
          ---                 |    |  ------------  |    |\    |
           |                  |    |  |          |  | +--||>o--+-o Prt/1
           \                  |    |  |      AStb|--+ |  |/ +5v    (Strobe)
           /2k2               |    +--|Addressed |    |     ---
           \                  |       |          |    |      |
           /   '14            +-------|IFC   DStb|----+      /2k2
           |   |\                     |          |    '05    \
GPIB/11o---+---|#>o-------------------|ATN       |    |\     |
(ATN)          |/                     |      NRFD|----||>o---+--o GPIB/7
                              +-------|DAV       |    |/          (NRFD)
          +5v                 |       |      NDAC|--+       +5v
          ---                 |  +----|/Busy     |  |       ---
           |                  |  |    |          |  |        |
           \                  |  |  +-|Clk       |  |        /2k2
           /2k2               |  |  | |          |  | '05    \
           \                  |  |  | |    OE    |  | |\     |
           /   '14            |  |  | ------------  +-||>o---+--o GPIB/8
           |   |\             |  |  |       |         |/          (NDAC)
GPIB/6 o---+---|#>o-----------+  |  |      ---
(DAV)          |/                |  |      ///
                                 |  |
                                 |  |
                      +5v        |  +-------------------------+
                      ---        |                            |
                       |         |                            |
                       \         |                 1k         |
                       /2k2      |            +----/\/\--+    |
                       \         |            |          |    |
                '05    /         |            |   |\     |    |
                |\     |         |            +---|#>o---+----+
 Prt/11o--------||>o---+---------+            |   |/
 (Busy)         |/                            |   '14
                                              |
                                             --- 1nF
 GPIB/18 o-+        Prt/18 o-+               ---
 GPIB/19 o-+        Prt/19 o-+                |
 GPIB/20 o-+        Prt/20 o-+               ---
 GPIB/21 o-+        Prt/21 o-+               ///
 GPIB/22 o-+        Prt/22 o-+
 GPIB/23 o-+        Prt/23 o-+
 GPIB/24 o-+        Prt/24 o-+
 GPIB/12 o-+        Prt/25 o-+
           |                 |
          ---               ---
          ///               ///


