perm filename RANDOM[TH,ROB] blob sn#523604 filedate 1980-07-14 generic text, type C, neo UTF8
COMMENT ⊗   VALID 00014 PAGES
C REC  PAGE   DESCRIPTION
C00001 00001
C00003 00002	Random notes about the new FACIL manual
C00004 00003	.IODEVICE( DEV,IOS,|Descrptive Name|)
C00005 00004	.IODEVICE( IOP,110,|167 High Speed Channel|)
C00009 00005	.IODEVICE( LPT,124,|Line printer and interface|)
C00010 00006	.IODEVICE( C1,|140,144|,|Foonly C1 Channel|)
C00016 00007	TTL IOBus Interface:
C00018 00008	The TTL IOBus:
C00023 00009	The TTL IOBus Extension:
C00028 00010	KL-10 IO DEVICES:
C00036 00011	The KL's TTL IOBUS
C00037 00012	The IMP (Intergallactic Message Prestidigitator) Interface
C00038 00013	The XGP interface
C00039 00014	The Video Intensity Map
C00040 ENDMK
C⊗;
Random notes about the new FACIL manual

document (somwhat) all the devices (not just the I/O Bus devices)
document (somwhat) all the devices (not just the home-grown interfaces)

describe each device as a 'black box', decribing the inputs and outputs
in detail.  Include connector type, as well as physical location.

Think about decoupling the IO type descriptions from the devices.  For example,
describe the TTL IOBus and its cabling seperately from the descrption of the 
TTL IOBus Interface.


major sections:
  P1 IOBus Devices
.IODEVICE( DEV,IOS,|Descrptive Name|)

INTRODUCTION:

CONO DEV,

CONI DEV,

DATAO DEV,

DATAI DEV,

PHYSICAL:

  CONNECTION      TYPE            LOCATION        DESCRIPTION

USAGE:

RELATED DOCUMENTS:

.IODEVICE( IOP,110,|167 High Speed Channel|)

INTRODUCTION:
  The 167 High Speed channel was first built for use as a high-speed I/O
  processor to accompany the DEC 166 Processor (a.k.a. the PDP-6).  In
  olden times, we used it to interface to the Librascope swapping disk.
  We use it now to store samples from the TV digitizer into main memory.

CONO IOP,
  18      400000          unused
  19      200000  IOPRLY  Early Response (also sets Data Missed)
  20      100000  IOPNXM  Parity Error
  21:26   077000          Unused
  27      000400          Init
  28      000200          Ready
  29      000100          I/O   (0=in, 1=out)
  30      000040  IOPMIS  Data Missed
  31      000020  IOPNXM  Non-ex Mem
  32      000010  IOPJDN  Job Done
  33:35   000007  PIA     PI Channel

CONI IOP,
  The bits in a CONI have the same meaning as in a CONO.

DATAO 110,[-WC,,MA]
  This instruction gives a word count and starting memory address to the
  167.  Note that the you pass it the negative word count in the left
  half, and the starting memory address in the right (NOT an IOWD word).
  The 167 will then start reading (or writing) data to (or from) the
  specified place in memory.

DATAI 110,[-WC,,MA]
  This instruction reads a word count and starting memory address from the
  167.  This is used to find out how much data was actually read (or
  written) in a requested tranfser.

PHYSICAL:
  The 167 IO Processor occupies one standard DEC bay.  It has both an
  IO Bus port and a memory bus port.  The TV digitizer shares the 167's
  bay and backpanel, and is hardwired into the 167.

  CONNECTION      TYPE            LOCATION        DESCRIPTION
  DEC IOBusIn     Std DEC IOBus   A01:A08         DEC Level IOBus
  DEC IOBusOut    Std DEC IOBus   A16:A09         DEC Level IOBus
  IOP MemBus      Std DEC MEMus   D01:D04,F01:F04 Origin of the 167 Membus

USAGE:
  A typical transfer to get the IOP to transfer a bunch of data into main
  memory would include a CONO to set the PI channel for interrupt and
  direction of transfer, a DATAO to tell the 167 where to read (or write)
  the data, a CONI to get the status of the transfer, and a DATAI to find
  out how many word were actually transferred.

	CONO  IOP,IOPCHN
	DATAO IOP,[-Count,,BufAdr]
	...and on interrupt...
	CONI  IOP,TAC
	DATAI IOP,[wcma]

RELATED DOCUMENTS:
  Since the TV interface is the only thing currently connected to the
  167 IO Processor, refer also to documentation on the TV interface.

.IODEVICE( LPT,124,|Line printer and interface|)

INTRODUCTION:
  The Analex line printer is old and tired.  Happily, its days are
  numberd, but for now, it is our only high-speed printer that knows the
  SAIL character set.  The interface is the standard DEC interface, as
  supplied for the PDP6.

.IODEVICE( C1,|140,144|,|Foonly C1 Channel|)

INTRODUCTION:

(my words)
  The Foonly C1 channel interfaces a DEC PDP-10 system to (up to) four
  IBM-style block multiplexor channel devices.  From our computer's point
  of view, the C1 is a standard DMA-type device, with an IO Bus port, a
  memory bus port, and the standard IO instructions.  On the other side,
  however, the C1 has the requisite signals to communicate with any device
  that wants to talk to an IBM block multiplexor channel.  At our
  installtion, we use the C1 to interface to our Ampex disk system (which
  uses DC830 controllers and DM330 disk drives).

  In reality the C1 is essentially two identical devices, known to system as
  C1A and C1B.  They both share memory and IO busses, but that is about all
  they share.  Each channel interface has its own Z80 microcomputer to do
  all of the magic.

(DWP's words from PM[C1,DWP]
  The C1 Multiple Channel consists of from one to four simulated IBM
  "block multiplexor" channels, each of which connects one or more
  IBM-compatible I/O controllers to a PDP-10 system.  The channels in a C1
  share a common interface to the PDP-10 memory and I/O busses.  Each
  channel executes programs from PDP-10 memory which control the sending
  of commands to the I/O controllers, the transfer of data between memory
  and the controllers, and the processing of status information from the
  controllers.

  A channel operates as a "block multiplexor" in the IBM sense,
  timesharing several channel programs, and switching among them whenever
  a controller returns status containing Channel End but not Device End.

CONO C1, CONI C1, DATAO C1, DATAI C1,
  See the related progamming manual (on the C1 UDP as C1:PM[C1,DWP], also
  with the C1 documentation).

PHYSICAL:
  The Foonly C1 Channel lives in its own rack.  As noted, it has a memory
  bus port, an IO Bus port, and two IBM-type channel interface cables.

  CONNECTION	TYPE		LOCATION	DESCRIPTION
  C1 Membus	std DEC membus	
  C1 IOBus	std DEC IOBus	
  channel 1	IBM 
  channel 2	IBM 

USAGE:
  The C1 channel is easily the most complex IO device on the system, and
  no effort is made here in descibing how to program it. (Perchance it is
  because the author has no idea how to program it.)  Refer to PM[C1,DWP]
  (see below) if you really must know.

RELATED DOCUMENTS:
  C1:DM.[C1,DWP] is the manual for the C1 diagnostic program.
  C1:MM.[C1,DWP] provides the the Theory of Operation for the C1.
  C1:PM.[C1,DWP] provides the the Programming Manual for the C1.
  C1:ZM.[C1,DWP] tells how to make new Z80 microprogams for the C1.
  DSKSER[S,SYS] contains the system code that WAITS uses to communicate with
    the C1 channel.

TTL IOBus Interface:

The TTL IOBus Interface is the device that converts between DEC IO Bus
levels (0v to -3v) and standard TTL (0 to 5v).  The TTL IOB Interface has
on its 'input' a standard DEC IO bus, brought in on the standard eight DEC
paddles (two Cajolet connectors would work on this device also).  On the
'output' side, the TTL IOBus is brought out on three DEC paddles.

The interface in built up on a DEC H911 rack-mount *** and lives in the
Kluge Bay rack.  It requires +5 and a -15 volt power supplies for its
TTL and level converter circuits.

CONNECTION	TYPE		LOCATION	DESCRIPTION
DEC IOBusIn	Std DEC IOBus	AB29:AB32	DEC Level IOBus
DEC IOBusOut	Std DEC IOBus	AB25:AB28	DEC Level IOBus
TTL IOBusOut	Std TTL IOBus	A01,B01,A02	Origin of the TTL IOBus

The TTL IOBus:

  Interfacing to DEC voltage levels is, at best, awkward and expensive.
  To get around this problem, Ted Panofsky created the TTL IOBus, which
  looks, tastes, and feels almost exactly like a DEC IO Bus, except that
  the signal levels are all standard TTL.

  Every TTL IOBus is implimented on five 26 conductor flat cables, typically named
  'Cable1' through 'Cable5'.

  There are two ways to connect to a TTL IOBus.  The first (and cleaner
  way) is via three standard DEC paddles.  The mapping between cables and
  paddles is as follows:

	PaddleA: Cable1, Cable3
	PaddleB: Cable2, Cable4
	PaddleC: Cable5


  The other way to connect to a TTL IOBus is with in line crimp-on flat
  cable sockets.  These connectors are cheap and can easily be crimped
  onto the middle of an existing cable, but the overall connection is less
  reliable than the DEC paddle connectors.

  As it turns out, the way the signals are distributed among the five
  cables provide some economies for some devices.  Cable5 has only
  interrupt-related signals on it, so if a given device is not an
  interrupting device, it doesn't need Cable5 at all.  Futhermore, if a
  device ignores bits 0:11, it can dispense with Cable1, which carries
  only those bits.

The signals on a TTL IOBus:

wire  Cable1	     Cable2         Cable3         Cable4          Cable5
01    ¬TTL IOB 00    ¬TTL IOB 12    ¬TTL IOB 24    ¬TTL IOS3(1)    ¬TTL IOB PI 1
02    ¬TTL IOB 01    ¬TTL IOB 13    ¬TTL IOB 25    ¬TTL IOS4(1)    unused
03    ¬TTL IOB 02    ¬TTL IOB 14    ¬TTL IOB 26    ¬TTL IOS5(1)    ¬TTL IOB PI 2
04    ¬TTL IOB 03    ¬TTL IOB 15    ¬TTL IOB 27    ¬TTL IOS6(1)    unused
05    ¬TTL IOB 04    ¬TTL IOB 16    ¬TTL IOB 28    ¬TTL IOS7(1)    ¬TTL IOB PI 3
06    ¬TTL IOB 05    ¬TTL IOB 17    ¬TTL IOB 29    ¬TTL IOS8(1)    unused
07    ¬TTL IOB 06    ¬TTL IOB 18    ¬TTL IOB 30    ¬TTL IOS9(1)    ¬TTL IOB PI 4
08    ¬TTL IOB 07    ¬TTL IOB 19    ¬TTL IOB 31    ¬TTL DATAO CLR  unused
09    ¬TTL IOB 08    ¬TTL IOB 20    ¬TTL IOB 32    ¬TTL DATAO SET  ¬TTL IOB PI 5
10    ¬TTL IOB 09    ¬TTL IOB 21    ¬TTL IOB 33    ¬TTL IOB DATAI  unused
11    ¬TTL IOB 10    ¬TTL IOB 22    ¬TTL IOB 34    ¬TTL CONO CLR   ¬TTL IOB PI 6
12    ¬TTL IOB 11    ¬TTL IOB 23    ¬TTL IOB 35    ¬TTL CONO SET   unused
13    unused         unused         ¬TTL IOB RESET ¬TTL IOB CONI   ¬TTL IOB PI 7

Wires 14 through 26 are grounded.  This is a good thing, for it interleaves ground
between each signal, and thus cuts down on crosstalk and other nasty things.

The TTL IOBus Extension:

The creation of the TTL IOBus made interfacing random things on the IO Bus
much easier, but some people are never satisfied.  The TTL IOBus Extension
(also called just 'the IOBus Extension') makes interfacing simple devices
well nigh trivial.  If you have an interface that can be built on one or two
DEC W943 double height wire wrap cards, then the TTL IOBus
Extension is for you.

Each TTL IOBus Extension will handle up to *** interfaces.  The Extension
provides two slots for each interface, and brings all the required IOBus
signals to each card. The actual interconnect scheme is outlined below.

The TTL IOBus Extension is built out of a DEC H911 panel, and has a
TTL IOBus port.

Here are how the signals appear on the backplane of each slot.  Note that
the only differnece between the high order and the low order slots are the
actual data bits; both slots have all the control information available to
them.  The 'A' slot (the top one) is completely uncommitted (except for the
standard power and ground wirng at AT1, AA2, and AC2).  This slot is most
often used for wiring between two pieces of an interface (if it takes two
cards to build it), or perhaps to connect to a cable which runs off to the
device being interfaced.

Low-order slot:

BA1   ¬EXT CONO CLR     BA2	VCC
BB1   ¬EXT DATAO CLR    BB2	¬EXT I/O RESET
BC1   GND               BC2	GND
BD1   ¬EXT CONO SET     BD2	¬EXT DATAO SET
BE1   ¬EXT CONI         BE2	¬EXT DATAI
BF1   ¬EXT IOB 18       BF2	¬EXT IOB 27
BH1   ¬EXT IOB 19       BH2	¬EXT IOB 28
BJ1   ¬EXT IOB 20       BJ2	¬EXT IOB 29
BK1   ¬EXT IOB 21       BK2	¬EXT IOB 30
BL1   ¬EXT IOB 22       BL2	¬EXT IOB 31
BM1   ¬EXT IOB 23       BM2	¬EXT IOB 32
BN1   ¬EXT IOB 24       BN2	¬EXT IOB 33
BP1   ¬EXT IOB 25       BP2	¬EXT IOB 34
BR1   ¬EXT IOB 26       BR2	¬EXT IOB 35
BS1   ¬EXT PI 1         BS2	¬EXT PI 2
BT1   GND               BT2	¬EXT PI 3
BU1   ¬EXT PI 4         BU2	¬EXT PI 5
BV1   ¬EXT PI 6         BV2	¬EXT PI 7


High-order slot:

BA1   ¬EXT CONO CLR     BA2	VCC
BB1   ¬EXT DATAO CLR    BB2	¬EXT I/O RESET
BC1   GND               BC2	GND
BD1   ¬EXT CONO SET     BD2	¬EXT DATAO SET
BE1   ¬EXT CONI         BE2	¬EXT DATAI
BF1   ¬EXT IOB 0        BF2	¬EXT IOB 9
BH1   ¬EXT IOB 1        BH2	¬EXT IOB 10
BJ1   ¬EXT IOB 2        BJ2	¬EXT IOB 11
BK1   ¬EXT IOB 3        BK2	¬EXT IOB 12
BL1   ¬EXT IOB 4        BL2	¬EXT IOB 13
BM1   ¬EXT IOB 5        BM2	¬EXT IOB 14
BN1   ¬EXT IOB 6        BN2	¬EXT IOB 15
BP1   ¬EXT IOB 7        BP2	¬EXT IOB 16
BR1   ¬EXT IOB 8        BR2	¬EXT IOB 17
BS1   ¬EXT PI 1         BS2	¬EXT PI 2
BT1   GND               BT2	¬EXT PI 3
BU1   ¬EXT PI 4         BU2	¬EXT PI 5
BV1   ¬EXT PI 6         BV2	¬EXT PI 7

KL-10 IO DEVICES:
  Foonly C1 Disk Channel
  Data Disc
  Data Disc interface
  DCA Scanner
  167 High Speed Channel
  CalComp Plotter
  CalComp Plotter Interface
  Xerox Graphics Printer
  Xerox Graphics Printer Interface
  Analex Line Printer
  Analex Line Printer Interface
  DEC DTE-10 front end interface
  DEC 136 Data Controller
  DecTape
  DecTape Controller
  MagTape
  MagTape Controller
  Video Switch
  Video Distribution System (overview)
  Cart
  Cart Interface
  Vending Machine
  Vending Machine Interface
  Auto Dialer
  Auto Dialer Interface
  IMP
  IMP interface
  TV Camera
  TV Camera Interface
  III processor
  III Processor Interface
  P1/P2 interrupter
  ELF interface
  Mappiplexor
  Audio Switch overview
  Audio Switch interface

KA-10 DEVICES:
  BBN Pager
  Paper Tape Punch
  Paper Tape Reader
  KA-10 Console Teletype
  CalComp Plotter Interface
  CalComp Plotter
  Varian Plotter Interface
  Varian Plotter
  Xerox Graphics Printer Interface
  Xerox Graphics Plotter

LATE, LAMENTED DEVICES:
  "New" A/D Converter
  "NEW" D/A Converter
  630 LINE SCANNER (Channel A)
  630 LINE SCANNER (Channel B)
  MICROSWITCH KEYBOARD SCANNER
  10/6 INTERFACE
  PARALYSER INTERFACE (BIT SERIAL LINE FROM KIM)
  TELEPHONE PAGING KLUDGE
  MECHANICAL ARM
  A/D CONVERTER
  DISPLAY CONSOLE (III) KEYBOARDS
  LIBRASCOPE DISK INTERFACE
  P. PETIT'S IBM CHANNEL
  SAMSON MUSIC BOX
  SAMSON MUSIC BOX
  SAMSON MUSIC BOX
  SAMSON MUSIC BOX
  PETIT'S CALENDAR CLOCK

NON-IO BUS DEVICES
  Ampex DC330 Disk Controller
  Ampex DM330 Disk Drive          
  ARM-10M
  DEC MG-10
  MICROSWITCH KEYBOARDS
  MICROSWITCH KEYBOARD SERIALIZERS
  LA-36 (P1 CTY)
  ASR-35 (P2 CTY)

The KL's TTL IOBUS

The path of the KL TTL IO BUS is as follows:

TTL IOB Interface
Audio Switch
MicroSwitch Scanner
Video Switch
10/11 Interface
TTL IOB EXT Interface
IMP Interface (IMPterface)
Terminates at the old TV PAN-TILT device, (which is currently unused)

The IMP (Intergallactic Message Prestidigitator) Interface

ports:
  TTL IOBus (ala ribbon cable connectors)
  IMP cable

The XGP interface

The XGP interface lives on the P2 TTL IOBus.   It's device code is
440.  More on this at some future date.

(the following is taken from a random piece of paper fallen from somewhere)
----------
CABLE IN AB07

	10,32
-12V	33 	BD1
GND	06,35	AC2,BC2,AL2
VIDEO	27	BR2		Terminated via 470 ohm to ground
CUT/MRK	26	BN2		Terminated via 1.5K to -12V
RUN	28	BV2
SYNC	24	BJ2		Terminated via 1.5K to -12V
SUPLOUT	23	BF2
CUTIMMD	25	BL2		Terminated via 1.5K to -12V
PAPERLO	22	BD2		Terminated via 1.0K to -12V
SIGNALB	16	AF2		
RETRACE	31	in series with 180 ohms to AJ1
----------

The Video Intensity Map

lives on the 11/45
talk to it via the ELF interface