home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 8 Other / 08-Other.zip / r202043.dsk / TECHREF.FIL < prev    next >
Text File  |  1993-09-29  |  61KB  |  1,220 lines

  1.            *************************************************   08/31/93
  2.            *                                               *
  3.            *  IBM Wide Area Connector Technical Reference  *
  4.            *                                               *
  5.            *************************************************
  6.  
  7. **************
  8. *  CONTENTS  *
  9. **************
  10.   Introduction ............................................1
  11.   Interface Description (Programmers Model) ...............1
  12.   I/O Block Description ...................................1
  13.       Micro Channel I/O Address Ranges Supported ..........2
  14.       ISA I/O Address Ranges Supported ....................4
  15.       I/O Registers .......................................4
  16.   Zilog IUSC Communications Chip Configuration ............5
  17.       IUSC Signal Assignments .............................5
  18.       IUSC PORT (Link Control Register) ...................5
  19.       Request To Send (RTS) = IUSC PORT7 ..................6
  20.       General Purpose Outputs = IUSC PORT6-4 ..............6
  21.       Remote Loop Back (RLOOP) = IUSC PORT 3 ..............6
  22.       Local Loop Back (LLOOP) = IUSC PORT 2 ...............6
  23.       DTE Ready (DTR) = IUSC PORT 1 .......................6
  24.       Clock Input = IUSC PORT0 ............................6
  25.       EIB Clock Control Pins (RxREQ and TxREQ) ............7
  26.   Clock Configuration Examples ............................7
  27.       RS-232, RS-422, V.35 Externally Clocked .............7
  28.       RS-232, RS-422, V.35, X.21 Internally Clocked .......8
  29.       X.21 Externally Clocked .............................8
  30.       X.21 Clock Echo .....................................8
  31.   Link Status Registers (Locations 14h and 16h) ...........9
  32.       EIB Identification = LSR Bits 4-7 ...................9
  33.       General-Purpose Inputs = LSR Bits 2-3 ...............9
  34.       Test Mode Select (TMODE) = LSR Bit 1 ...............10
  35.       Data Set Ready (DSR) = LSR Bit 0 ...................10
  36.   Memory Page Register (Location 1Ch) ....................10
  37.       Interrupt Active Indicator (ISA) = Bit 7 ...........10
  38.       Memory Parity Error Indicator = Bit 6 ..............10
  39.       Parity Check Enable/Disable = Bit 5 ................10
  40.       Memory Page Register = Bits 0-4 ....................11
  41.   ISA Memory Address Registers (MARL and MARH)............12
  42.       Memory Address Register High (MARH) (Location 1Eh) .12
  43.       Memory Address Register Low (MARL) (Location 1Fh) ..12
  44.   ISA Adapter Identification (Locations 18h - 1Ch) .......13
  45.   ISA Interrupt Identification/IUSC Reset (Location 1Dh) .13
  46.   Micro Channel POS Registers ............................14
  47.       Adapter ID (0EFCDh) ................................14
  48.       POS[0] - Memory Address LSB ........................14
  49.       POS[1] - I/O Address Selector ......................15
  50.       POS[2] - Memory Address MSB ........................15
  51.       POS[3] - Interrupt Level Selector ..................15
  52.   Programming Tips and Z16C32 Anomalies ..................17
  53.   Crossover Cable Diagrams ...............................19
  54.       X.21 Crossover Cable ...............................19
  55.       RS-232C/V.24 Crossover Cable .......................19
  56.   Hardware Shared Memory Specification Considerations ....20
  57.       MC-A Systems .......................................20
  58.       ISA Systems ........................................20
  59.   WAC Configuration Parameters ...........................21
  60.   Installation of More Than One WAC Adapter ..............24
  61.  
  62.                                                                        (Page 1)
  63. ******************
  64. *  INTRODUCTION  *
  65. ******************
  66. The Wide Area Connector (WAC) integrates two Zilog Z16C32 IUSC (Integrated
  67. Universal Serial Controller) devices with 128K bytes of on-card buffer memory.
  68. Each ISUC chip provides a single-link, multi-protocol data communications
  69. controller and a two-channel DMA controller (transmit and receive).  The
  70. electrical interface for each communication link is contained on an Electrical
  71. Interface Board (EIB), which plugs into the main WAC board.
  72.  
  73. For detailed descriptions of the IUSC chip and its programming, refer to the
  74. following documents:
  75.  
  76.         Zilog Z16C32 Product Specification (DC-2600-00)
  77.         Zilog Z16C32 Technical Manual (DC-8292-01)
  78.         Zilog Z16C32 Errata Sheet (Date 1/30/92)
  79.         Zilog Z16C32 Electronic Programmer's Manual
  80.  
  81. The Micro Channel WAC employs the Chips & Technology P82C611 MicroCHIPS device
  82. as its bus interface.
  83.  
  84. ***********************************************
  85. *  INTERFACE DESCRIPTION (PROGRAMMERS MODEL)  *
  86. ***********************************************
  87. This section describes the WAC adapter hardware in terms of its
  88. interface to PC software.  An overview of the IUSC device is also
  89. presented (refer to the appropriate Z16C32 literature from Zilog for
  90. additional details).
  91.  
  92. The WAC utilizes a 32-byte block of the PC I/O address space and a block
  93. (variable size) of the PC memory address space.  Into the I/O block are mapped
  94. the IUSC chips (taking 8 bytes each), two Link Status Registers (1 byte each),
  95. and a memory page register (1 byte).  The ISA card has seven additional
  96. registers located in the 32-byte I/O block:  Read-only identification strings
  97. for card location (4 bytes) and hardware interrupt (1 byte), plus write/read
  98. registers for locating and sizing the WACs shared memory (2 bytes).
  99.  
  100. A bank of shared memory (128K bytes) is included on the WAC adapter.  This is
  101. mapped into the PC memory space using one of five possible window sizes (8k,
  102. 16K, 32K, 64K, or 128K bytes).  The memory page register allow the PC to access
  103. the entire 128K bytes of on-card memory through the selected window size.
  104.  
  105. In addition to memory and I/O resources, the WAC uses a single ISA or
  106. Micro Channel interrupt request (IRQ) lines.
  107.  
  108. ***************************
  109. *  I/O Block Description  *
  110. ***************************
  111. The address of the 32-byte I/O block is established by a DIP switch setting
  112. (ISA) or POS bits (Micro Channel).  The ISA adapter supports 14 different I/O
  113. address ranges. The Microchannel adapter supports 64 different I/O address
  114. ranges. In both cases, the I/O address must start on a 32-byte boundary as
  115. designated in the following tables:
  116.  
  117.                                                                        (Page 2)
  118. ************************************************
  119. *  Micro Channel I/O Address Ranges Supported  *
  120. ************************************************
  121.                                     (Binary)
  122.                 Address (Hex)   POS[1]    POS[3]
  123.                 ==================================
  124.                 0000h - 001Fh   00000xxxb xxxx0xxxb
  125.                 0400h - 041Fh   00000xxxb xxxx1xxxb
  126.                 0800h - 081Fh   00001xxxb xxxx0xxxb
  127.                 0C00h - 0C1Fh   00001xxxb xxxx1xxxb
  128.                 1000h - 101Fh   00010xxxb xxxx0xxxb
  129.                 1400h - 141Fh   00010xxxb xxxx1xxxb
  130.                 1800h - 181Fh   00011xxxb xxxx0xxxb
  131.                 1C00h - 1C1Fh   00011xxxb xxxx1xxxb
  132.                 2000h - 201Fh   00100xxxb xxxx0xxxb
  133.                 2400h - 241Fh   00100xxxb xxxx1xxxb
  134.                 2800h - 281Fh   00101xxxb xxxx0xxxb
  135.                 2C00h - 2C1Fh   00101xxxb xxxx1xxxb
  136.                 3000h - 301Fh   00110xxxb xxxx0xxxb
  137.                 3400h - 341Fh   00110xxxb xxxx1xxxb
  138.                 3800h - 381Fh   00111xxxb xxxx0xxxb
  139.                 3C00h - 3C1Fh   00111xxxb xxxx1xxxb
  140.  
  141.  
  142.                                     (Binary)
  143.                 Address (Hex)   POS[1]    POS[3]
  144.                 ==================================
  145.                 4000h - 401Fh   01000xxxb xxxx0xxxb
  146.                 4400h - 441Fh   01000xxxb xxxx1xxxb
  147.                 4800h - 481Fh   01001xxxb xxxx0xxxb
  148.                 4C00h - 4C1Fh   01001xxxb xxxx1xxxb
  149.                 5000h - 501Fh   01010xxxb xxxx0xxxb
  150.                 5400h - 541Fh   01010xxxb xxxx1xxxb
  151.                 5800h - 581Fh   01011xxxb xxxx0xxxb
  152.                 5C00h - 5C1Fh   01011xxxb xxxx1xxxb
  153.                 6000h - 601Fh   01100xxxb xxxx0xxxb
  154.                 6400h - 641Fh   01100xxxb xxxx1xxxb
  155.                 6800h - 681Fh   01101xxxb xxxx0xxxb
  156.                 6C00h - 6C1Fh   01101xxxb xxxx1xxxb
  157.                 7000h - 701Fh   01110xxxb xxxx0xxxb
  158.                 7400h - 741Fh   01110xxxb xxxx1xxxb
  159.                 7800h - 781Fh   01111xxxb xxxx0xxxb
  160.                 7C00h - 7C1Fh   01111xxxb xxxx1xxxb
  161.  
  162.                                                                        (Page 3)
  163. ************************************************
  164. *  Micro Channel I/O Address Ranges Supported  *
  165. ************************************************
  166.                                     (Binary)
  167.                 Address (Hex)   POS[1]    POS[3]
  168.                 ==================================
  169.                 8000h - 801Fh   10000xxxb xxxx0xxxb
  170.                 8400h - 841Fh   10000xxxb xxxx1xxxb
  171.                 8800h - 881Fh   10001xxxb xxxx0xxxb
  172.                 8C00h - 8C1Fh   10001xxxb xxxx1xxxb
  173.                 9000h - 901Fh   10010xxxb xxxx0xxxb
  174.                 9400h - 941Fh   10010xxxb xxxx1xxxb
  175.                 9800h - 981Fh   10011xxxb xxxx0xxxb
  176.                 9C00h - 9C1Fh   10011xxxb xxxx1xxxb
  177.                 A000h - A01Fh   10100xxxb xxxx0xxxb
  178.                 A400h - A41Fh   10100xxxb xxxx1xxxb
  179.                 A800h - A81Fh   10101xxxb xxxx0xxxb
  180.                 AC00h - AC1Fh   10101xxxb xxxx1xxxb
  181.                 B000h - B01Fh   10110xxxb xxxx0xxxb
  182.                 B400h - B41Fh   10110xxxb xxxx1xxxb
  183.                 B800h - B81Fh   10111xxxb xxxx0xxxb
  184.                 BC00h - BC1Fh   10111xxxb xxxx1xxxb
  185.  
  186.  
  187.                                     (Binary)
  188.                 Address (Hex)   POS[1]    POS[3]
  189.                 ==================================
  190.                 C000h - C01Fh   11000xxxb xxxx0xxxb
  191.                 C400h - C41Fh   11000xxxb xxxx1xxxb
  192.                 C800h - C81Fh   11001xxxb xxxx0xxxb
  193.                 CC00h - CC1Fh   11001xxxb xxxx1xxxb
  194.                 D000h - D01Fh   11010xxxb xxxx0xxxb
  195.                 D400h - D41Fh   11010xxxb xxxx1xxxb
  196.                 D800h - D81Fh   11011xxxb xxxx0xxxb
  197.                 DC00h - DC1Fh   11011xxxb xxxx1xxxb
  198.                 E000h - E01Fh   11100xxxb xxxx0xxxb
  199.                 E400h - E41Fh   11100xxxb xxxx1xxxb
  200.                 E800h - E81Fh   11101xxxb xxxx0xxxb
  201.                 EC00h - EC1Fh   11101xxxb xxxx1xxxb
  202.                 F000h - F01Fh   11110xxxb xxxx0xxxb
  203.                 F400h - F41Fh   11110xxxb xxxx1xxxb
  204.                 F800h - F81Fh   11111xxxb xxxx0xxxb
  205.                 FC00h - FC1Fh   11111xxxb xxxx1xxxb
  206.  
  207.  
  208.                                                                        (Page 4)
  209. ************************************
  210. * ISA I/O Address Ranges Supported *
  211. ************************************
  212. The I/O address range setting of the WAC adapter must not duplicate any other
  213. adapter in the system. If further assistance is required to set the switch
  214. positions, your local systems coordinator should be consulted.
  215.  
  216.                   Card Number        Dip Switch
  217.    Address (Hex)    (NOTE)        4    5    6    7
  218.    =================================================
  219.    0120 - 013F        15         ON   ON   ON   ON
  220.    0140 - 015F        14         OFF  ON   ON   ON
  221.    0180 - 019F        13         ON   OFF  ON   ON
  222.    01A0 - 01BF        12         OFF  OFF  ON   ON
  223.    0220 - 023F        11         ON   ON   OFF  ON
  224.    0240 - 025F        10         OFF  ON   OFF  ON
  225.    0280 - 029F         9         ON   OFF  OFF  ON            NOTE
  226.    0280 - 029F         8         OFF  OFF  OFF  ON            ----
  227.    0520 - 053F         7         ON   ON   ON   OFF      See WACPORTNUM in
  228.    0540 - 055F         6         OFF  ON   ON   OFF      WAC Configuration
  229.    0580 - 059F         5         ON   OFF  ON   OFF      Parameters section
  230.    05A0 - 05BF         4         OFF  OFF  ON   OFF      for details on the
  231.    0620 - 063F         3         ON   ON   OFF  OFF      card number
  232.    0640 - 065F         2         OFF  ON   OFF  OFF
  233.    0680 - 069F         1         ON   OFF  OFF  OFF
  234.    0680 - 069F         0         OFF  OFF  OFF  OFF
  235.  
  236. The I/O address block contains the IUSC (communications, DMA, and Link Control
  237. Register), Link Status Registers, and memory address and access control
  238. registers.  Locations of those devices within the I/O address block is shown
  239. in the following table:
  240.  
  241. ***************************************************************************
  242. *   Addr Device Register Function                                         *
  243. *   =======================================================               *
  244. *   00h  IUSCa  DCAR     DMA Command/Address Register - Channel A         *
  245. *   02h  IUSCa              (Not Used)                                    *
  246. *   04h  IUSCa  CCAR     Channel Command/Address Register - Channel A     *
  247. *   06h  IUSCa  RDR,TDR  Receive and Transmit Data Registers - Channel A  *
  248. *   08h  IUSCb  DCAR     DMA Command/Address Register - Channel B         *
  249. *   0Ah  IUSCb              (Not Used)                                    *
  250. *   0Ch  IUSCb  CCAR     Channel Command/Address Register - Channel B     *
  251. *   0Eh  IUSCb  RDR,TDR  Receive and Transmit Data Registers - Channel B  *
  252. *   10h   (Reserved)                                                      *
  253. *   11h   (Reserved)                                                      *
  254. *   12h   (Reserved)                                                      *
  255. *   14h  LINK   LSRa     Link Status Register - Channel A                 *
  256. *   15h   (Reserved)                                                      *
  257. *   16h  LINK   LSRb     Link Status Register - Channel B                 *
  258. *   17h   (Reserved)                                                      *
  259. *   18h  ISA    ISAID0   Read-Only, ASCII 'S' (053h) ISA-ONLY             *
  260. *   19h  ISA    ISAID1   Read-Only, ASCII 'C' (043h) ISA-ONLY             *
  261. *   1Ah  ISA    ISAID2   Read-Only, ASCII 'A' (041h) ISA-ONLY             *
  262. *   1Bh  ISA    ISAID3   Read-Only, ASCII '0' (030h) ISA-ONLY             *
  263. *   1Ch  PAGE            Memory Page Register, Parity Control             *
  264. *   1Dh  ISA    IRQID    Read-Only ISA Interrupt Request Level ISA-ONLY   *
  265. *                        Write-Only ISA Hardware Reset                    *
  266. *   1Eh  ISA    MARL     Memory Address Register - LSB ISA-ONLY           *
  267. *   1Fh  ISA    MARH     Memory Address Register - MSB ISA-ONLY           *
  268. ***************************************************************************
  269.  
  270.                                                                        (Page 5)
  271. ************************
  272. *  IUSC Configuration  *
  273. ************************
  274. The IUSC chip is a flexible, powerful device incorporating serial
  275. communications and two DMA channels.  In addition it supplies an 8-bit "Port",
  276. with programmable bit-direction (input/output).  That port is used for link
  277. control functions, including RTS (Request-To-Send) and DTR (Data Terminal
  278. Ready).
  279.  
  280. IUSC
  281. PIN  Name Function
  282. ========================================================
  283. RxD     RxD   Serial Receive Data from EIB
  284. TxD     TxD   Serial Transmit Data to EIB
  285. /RxC    RxC-  Receive Clock from EIB
  286. /TxC    TxC-  Transmit Clock from EIB or clock output to EIB.
  287. /RxREQ  ICLK  Internal CLocKing Select.  HIGH (1) enables the clock drivers
  288.                 on the EIB.  LOW (0) disables the clock drivers.
  289. /TxREQ  XCKS  auXilliary ClocK Select.  Selects the source of XCLK-, which
  290.                 is used for two functions on RTS:  (1) Negation of RTS at the
  291.                 end of a transmit frame, and (2) RTS to CTS delay generation
  292.                 on the X.21 EIB.  LOW (0) connects XCLK- to the IUSC
  293.                 /TxC pin; HIGH (1) connects XCLK- to the IUSC /RxC pin.
  294. /DCD    DCD-  Data Carrier Detect from EIB.  Normally used as an
  295.                 auto-enable for the receive functions.
  296. /CTS    CTS-  Clear To Send from EIB.  Normally used as an auto-enable for
  297.                 the transmit functions.
  298. PORT7   RTS   Request To Send output to EIB.
  299. PORT6   LCR6  General-Purpose output to EIB.
  300. PORT5   LCR5  General-Purpose output to EIB.
  301. PORT4   LCR4  General-Purpose output to EIB.
  302. PORT3   LCR3  General-Purpose output to EIB.
  303. PORT2   LCR2  General-Purpose output to EIB.
  304. PORT1   DTR   Data Terminal Ready output to EIB.
  305. PORT0   CLOCK Clock Input (14.7456 MHz)
  306.  
  307.  
  308. ****************************************
  309. *  IUSC PORT (Link Control Functions)  *
  310. ****************************************
  311. The IUSC PORT hardware provides several general-purpose I/O pins, used for the
  312. link control functions as defined in the following paragraphs:
  313.  
  314.                                                                        (Page 6)
  315. ************************************
  316. *  Request To Send (RTS) = PORT 7  *
  317. ************************************
  318. RTS, when HIGH, enables logic on the WAC to assert the RTS output to the
  319. EIB.  The negation of the RTS bit causes the hardware to drop its RTS output.
  320. Logic on the WAC will continue to assert RTS until the transmitter is seen in
  321. a marking condition for 8 consecutive bit times).
  322.  
  323.  
  324. ****************************************
  325. *  General Purpose Outputs = PORT 6-4  *
  326. ****************************************
  327. Port bits 6, 5, and 4 are inverted and connected to the EIB, but are not
  328. currently used on any WAC EIBs.
  329.  
  330.  
  331. ***************************************
  332. *  Remote Loop Back (RLOOP) = PORT 3  *
  333. ***************************************
  334. Setting PORT 3 to HIGH causes the RS-232 EIB to assert its REMOTE LOOP output
  335. on the link.  Not used for the V.35 or X.21/RS-422 EIBs.
  336.  
  337.  
  338. **************************************
  339. *  Local Loop Back (LLOOP) = PORT 2  *
  340. **************************************
  341. Setting PORT 2 to HIGH causes the RS-232 EIB to assert its LOCAL LOOP output
  342. on the link.  Not used for the V.35 or X.21/RS-422 EIBs.
  343.  
  344.  
  345. *****************************
  346. *  PORT1 = LCR Bit 1 (DTR)  *
  347. *****************************
  348. Setting PORT 1 to HIGH to cause the RS-232, V.35, or X.21/RS-422 (RS-422 mode)
  349. EIB to assert DTR on the link.  For the X.21/RS-422 EIB in X.21 mode, setting
  350. PORT 1 to HIGH causes the X.21 interface to enter the "DTE READY" state.
  351.  
  352.  
  353. *************************
  354. *  PORT0 = CLOCK INPUT  *
  355. *************************
  356. Bit 0 of the IUSC Port MUST be programmed as an input.  It is driven with a
  357. 14.7456 MHz clock signal, which can be used for link clock generation.
  358.  
  359.                                                                        (Page 7)
  360. *****************************************
  361. *  EIB Clock Control (RxREQ and TxREQ)  *
  362. *****************************************
  363. The IUSC /RxREQ and /TxREQ pins should be programmed by software to operate as
  364. general-purpose outputs.  /RxREQ is connected to ICLK, whereas /TxREQ is
  365. connected to XCKS, which operate as follows:
  366.  
  367. ICLK=LOW  External Clocking (Normal DTE Operation)
  368.      The IUSC TxC- pin should be programmed as an input, and the TCLK output to
  369.      the EIB is not active.
  370.  
  371. ICLK=HIGH Internal Clocking (WAC supplies clock)
  372.      The IUSC TxC- pin should be programmed as an output, which will be
  373.      buffered onto the EIB as signal TCLK-.  With ICLK HIGH, the EIB buffers
  374.      the TCLK signal onto the appropriate clock lines.
  375.  
  376. XCKS=LOW
  377.      The XCLK- signal taken from IUSC TxC- pin (which is affected by the
  378.      setting of ICLK, as previously described).
  379.  
  380. XCKS=HIGH
  381.      The XCLK- signal taken from IUSC RxC- pin (which is always driven by
  382.      the EIB).
  383.  
  384. The XCLK- signal is used by the RTS-drop logic on WAC, and by the
  385.       RTS->CTS delay logic on the X.21 EIB.
  386.  
  387. ****************************************************************
  388. *  Clocking Example:  RS-232, V.35, RS-422 Externally Clocked  *
  389. ****************************************************************
  390. In this case, the WAC is operating as a DTE and expects transmit and receive
  391. clocks to be provided by the attached DCE.  Software programs the IUSC as
  392. follows:
  393.  
  394.         ICLK (/RxREQ) = LOW (External Clock Driver Disabled)
  395.         XCKS (/TxREQ) = LOW (Clock RTS logic with TxC-)
  396.         /TxC          = Input
  397.         /RxC          = Input
  398.         Transmit Clk  = /TxC Pin
  399.         Receive Clk   = /RxC Pin
  400.  
  401.  
  402.                                                                        (Page 8)
  403. **********************************************************************
  404. *  Clocking Example:  RS-232, RS-422, V,35, X.21 Internally Clocked  *
  405. **********************************************************************
  406. In this case the WAC is expected to supply the clock for the communications
  407. link.  That clock is output from the /TxC pin of the IUSC (which is internally
  408. connected to one of the IUSC baud-rate generators).  Software programming of
  409. the IUSC is as follows:
  410.  
  411.         ICLK (/RxREQ) = HIGH (External Clock Receiver Disabled)
  412.         XCKS (/TxREQ) = LOW (Clock RTS logic with TxC-)
  413.         /TxC          = Output
  414.         /RxC          = Input
  415.         Transmit Clk  = /TxC Pin
  416.         Receive Clk   = /TxC Pin
  417.  
  418.  
  419.  
  420. ************************************************
  421. *  Clocking Example:  X.21 Externally Clocked  *
  422. ************************************************
  423. In this case the WAC expects to receive a single clock from the DCE (X.21
  424. signal 'S').  This clock is used for both transmit and receive data.
  425. Programming of the IUSC is as follows:
  426.  
  427.         ICLK (/RxREQ) = LOW (External Clock Driver Disabled)
  428.         XCKS (/TxREQ) = HIGH (Clock RTS logic with RxC-)
  429.         /TxC          = Input
  430.         /RxC          = Input
  431.         Transmit Clk  = /RxC Pin
  432.         Receive Clk   = /RxC Pin
  433.  
  434.  
  435.  
  436. ****************************************
  437. *  Clocking Example:  X.21 Clock Echo  *
  438. ****************************************
  439. In this case the WAC receives a clock from the DCE on X.21 signal 'S', and
  440. echo a clock back to the DCE on X.21 signal.  Programming of the IUSC is as
  441. follows:
  442.  
  443.         ICLK (/RxREQ) = HIGH (External Clock Driver Enabled)
  444.         XCKS (/TxREQ) = HIGH (Clock RTS logic with RxC-)
  445.         /TxC          = Output
  446.         /RxC          = Input
  447.         Transmit Clk  = /RxC Pin
  448.         Receive Clk   = /RxC Pin
  449.  
  450.                                                                        (Page 9)
  451. **************************************************
  452. *  Link Status Registers (Locations 14h and 16h) *
  453. **************************************************
  454. The WAC provides two read-only 8-bit registers (one per link) to allow software
  455. to read the EIB type and link status.  The layout of each Link Status Register
  456. is illustrated below:
  457.  
  458. ***********************************************************
  459. * LSR Bit Name            Function                        *
  460. * ======================================================  *
  461. *   7     DCID3   MSB of EIB ID                           *
  462. *   6     DCID2    :                                      *
  463. *   5     DCID1    :                                      *
  464. *   4     DCID0   LSB of EIB ID                           *
  465. *   3     LSR3    General-purpose input from EIB          *
  466. *   2     LSR2    General-purpose input from EIB          *
  467. *   1     LSR1    RS-232 EIB:  TEST MODE                  *
  468. *                  X.21/RS-42 EIB:  RxData                *
  469. *   0     LSR0    Data Set Ready (DSR)                    *
  470. ***********************************************************
  471.  
  472.  
  473. ***************************************
  474. *  EIB Identification = LSR Bits 4-7  *
  475. ***************************************
  476. The EIB ID bits indicate the type of EIB installed.  All LOW (0000) means that
  477. no EIB is present.  Three EIB types are defined, with the other codes reserved
  478. for future EIB types:
  479.  
  480. ******************************************************************
  481. *      LSR BIT                                                   *
  482. *      7 6 5 4 EIB and Cable Type                                *
  483. *      ====================================                      *
  484. *      0 0 0 0   None Installed                                  *
  485. *      0 0 0 1   RS-232                                          *
  486. *      0 0 1 0   V.35                                            *
  487. *      0 1 0 0   X.21/RS-422, with X.21 (or no) cable installed. *
  488. *      0 1 0 1   X.21/RS-422, with RS-422 cable installed        *
  489. *      (others)  Reserved for future EIB types.                  *
  490. ******************************************************************
  491.  
  492. *******************************************
  493. *  General Purpose Inputs = LSR Bits 2-3  *
  494. *******************************************
  495. Bits 2 and 3 of the Link Status Register are general-purpose inputs from the
  496. EIB, and are not used on any currently-defined EIBs.  These will always read
  497. back low (0).
  498.  
  499.                                                                       (Page 10)
  500. *************************************
  501. *  Test Mode Indicator = LSR Bit 1  *
  502. *************************************
  503. For the RS-232 EIB, this bit is HIGH if the TEST INDICATOR is being asserted by
  504. the attached DCE.
  505.  
  506. For the X.21/RS-422 EIB, this bit is connected to RxD (receive data), and is
  507. used by diagnostic software in testing of the EIB.
  508.  
  509. LSR Bit 1 is not used by the V.35 EIB, and will always read back low (0).
  510.  
  511. **************************************
  512. *  Data Set Ready (DSR) = LSR Bit 0  *
  513. **************************************
  514. For the RS-232 and V.35 EIBs, this bit reads high (1) if the attached DCE
  515. asserts DSR.
  516.  
  517. For the X.21/RS-422 EIB, in X.21 mode, the DSR bit is asserted when the
  518. attached DCE presents a "DCE READY" state.
  519.  
  520. For the X.21/RS-422 EIB, in RS-422 mode, the DSR bit follows the state of DTR
  521. (IUSC PORT Bit 1).
  522.  
  523.  
  524. *****************************************
  525. *  Memory Page Register (Location 1Ch)  *
  526. *****************************************
  527. The Memory Page Register establishes the upper-most addresses for the adapters
  528. memory and controls whether or not parity is checked on memory reads.  Bits 0
  529. through 4 of this register allows the PC software to access all of the adapter
  530. RAM through a memory 'window' in the PC memory address space.  Bits 5 through 7
  531. of this register have functions related to parity checking and interrupts:
  532.  
  533. ***********************************************************************
  534. *  Bit  Name     Function                                             *
  535. *  =========================================================          *
  536. *   7   IRQACT-  Read-Only (LOW => adapter has active IRQ) ISA ONLY   *
  537. *   6   ERROR    Read-Only, HIGH => Parity Error Detected             *
  538. *   5   PTYEN    Write-Read, HIGH => Parity Checking is Enabled       *
  539. ***********************************************************************
  540.  
  541.                                                                       (Page 11)
  542. Bits 0 through 3 of the Memory Page Register provide the high-order memory
  543. address for the WACs 128K bytes of RAM, as illustrated in the following tables:
  544. (Note that Bit 4 of this register is spare, reserved for future use).
  545.  
  546. *********************************************************
  547. * Page Size = 8K Bytes  (POS[0] or MARL = xxx10001b)    *
  548. * Page Reg      WAC Memory Addresses Accessible by PC   *
  549. * ====================================================  *
  550. *   x0h         00000h through 01FFFh                   *
  551. *   x1h         02000h through 03FFFh                   *
  552. *   x2h         04000h through 05FFFh                   *
  553. *   x3h         06000h through 07FFFh                   *
  554. *    :                    :                             *
  555. *   xEh         1C000h through 1DFFFh                   *
  556. *   xFh         1E000h through 1FFFFh                   *
  557. *********************************************************
  558.  
  559. *********************************************************
  560. * Page Size = 16K Bytes (POS[0] or MARL = xxx10011b)    *
  561. * Page Reg      WAC Memory Addresses Accessible by PC   *
  562. * ====================================================  *
  563. *   x0h         00000h through 03FFFh                   *
  564. *   x1h         04000h through 07FFFh                   *
  565. *   x2h         08000h through 0BFFFh                   *
  566. *   x3h         0C000h through 0FFFFh                   *
  567. *    :                    :                             *
  568. *   x6h         18000h through 1BFFFh                   *
  569. *   x7h         1C000h through 1FFFFh                   *
  570. *********************************************************
  571.  
  572. *********************************************************
  573. * Page Size = 32K Bytes (POS[0] or MARL = xxx10101b)    *
  574. * Page Reg      WAC Memory Addresses Accessible by PC   *
  575. * ====================================================  *
  576. *   x0h         00000h through 07FFFh                   *
  577. *   x1h         08000h through 0FFFFh                   *
  578. *   x2h         10000h through 17FFFh                   *
  579. *   x3h         18000h through 1FFFFh                   *
  580. *********************************************************
  581.  
  582. *********************************************************
  583. * Page Size = 64K Bytes (POS[0] or MARL = xxx10111b)    *
  584. * Page Reg      WAC Memory Addresses Accessible by PC   *
  585. * ====================================================  *
  586. *   x0h         00000h through 0FFFFh                   *
  587. *   x3h         10000h through 1FFFFh                   *
  588. *********************************************************
  589.  
  590. *********************************************************
  591. * Page Size = 64K Bytes (POS[0] or MARL = xxx11xx1b)    *
  592. * Page Reg      WAC Memory Addresses Accessible by PC   *
  593. * ====================================================  *
  594. * don't care    00000h through 1FFFFh                   *
  595. *********************************************************
  596.  
  597.                                                                       (Page 12)
  598. **************************************************
  599. *  ISA Memory Address Registers (MARL and MARH)  *
  600. **************************************************
  601. The Memory Address Registers are used by the PC to program the size of the
  602. memory window, and the location of the memory window in PC memory address
  603. space.  The window may be located anywhere in the 16M Byte address space of the
  604. computer, but always begins on an even page boundary.
  605.  
  606.  
  607. ********************************************************
  608. *  Memory Address Register High (MARH) (Location 1Eh)  *
  609. ********************************************************
  610. This write-read register establishes the upper-most 8 bits of the 24-bit ISA
  611. memory address (A23..A16).  In conjunction with the LSB Memory Address
  612. Register, the contents of this register establish the location of the WAC
  613. memory window in the 16Megabyte memory address space of the computer:
  614.  
  615. ***************************************************
  616. *     MARH   Compared Against ISA                 *
  617. *     Bit    Address Line (for Memory Access)     *
  618. *     ====================================        *
  619. *      7          A23                             *
  620. *      6          A22                             *
  621. *      5          A21                             *
  622. *      4          A20                             *
  623. *      3          A19                             *
  624. *      2          A18                             *
  625. *      1          A17                             *
  626. *      0          A16 (Program as 0 for 128K Mode)*
  627. ***************************************************
  628.  
  629.  
  630. ******************************************************
  631. *  Memory Address Register Low (MARL) (Location 1Fh) *
  632. ******************************************************
  633. This write-read register establishes the low-order address bits for the WAC
  634. memory window, and establishes the size of that window:
  635.  
  636. *****************************************************************************
  637. *     MARL   Compared Against ISA                                           *
  638. *     Bit    Address Line (for Memory Access)                               *
  639. *     ==============================================================        *
  640. *      7          A15 (Program to 0 for 64k and 128k window modes)          *
  641. *      6          A14 (Program to 0 for 32k, 64k and 128k window modes)     *
  642. *      5          A13 (Program to 0 for 16k, 32k, 64k and 128k window modes)*
  643. *****************************************************************************
  644.  
  645.  
  646.                                                                       (Page 13)
  647. *****************************************************************************
  648. *     MARL   Enable/Disable Bits                                            *
  649. *     Bit      FUNCTION                                                     *
  650. *     ================================================================      *
  651. *      4       Enable (1) / Disable (0) PC access to WAC memory.            *
  652. *      0       Enable (1) / Disable (0) PC access to WAC memory.            *
  653. *     (BOTH BITS MUST BE HIGH (1) TO ENABLE PC ACCESS TO WAC MEMORY)        *
  654. *****************************************************************************
  655.  
  656. *********************************************
  657. *       MARL   Window Size Selector Bits    *
  658. *       3 2 1  Memory Window Size Selected  *
  659. *       =================================== *
  660. *       0 0 0  8K Bytes                     *
  661. *       0 0 1  16K Bytes                    *
  662. *       0 1 0  32K Bytes                    *
  663. *       0 1 1  64K Bytes                    *
  664. *       1 x x  128K Bytes                   *
  665. *********************************************
  666.  
  667.  
  668. *******************************************************
  669. *  ISA Adapter Identification  (Locations 18h - 1Ch)  *
  670. *******************************************************
  671. The ISA adapter features a 4-Byte read-only string located in its I/O
  672. space.  This is intended to serve as an aid to software for finding the
  673. WAC in the PC I/O space.  The card returns ASCII 'S','C','A','0' when read
  674. at locations 18h, 19hh, 1Ah, and 1Bh (offset from start of I/O address block).
  675.  
  676.  
  677. ***********************************************************
  678. *  ISA Interrupt Identification/IUSC Reset (Location 1Dh) *
  679. ***********************************************************
  680. The ISA adapter features a one-byte read-only location in the I/O space, which
  681. allows software to read the setting of the DIP switch. Four positions (or
  682. bits) are dedicated to the I/O address ranges and 3 positions (or bits) are
  683. dedicated to the interrupt level. The interrupt level setting may affect system
  684. performance. Conflicts with other system devices (ex. disk controller) should
  685. be avoided. If further assistance is required to set these switches on the ISA
  686. adapter, your local systems coordinator should be consulted.
  687.  
  688. *********************************************************
  689. *      IRQ ID  ISA Interrupt       DIP SWITCH           *
  690. *      (Hex)   Level Selected       1   2   3           *
  691. *      =========================================        *        NOTE
  692. *      0E0h    IRQ9                 ON  ON  ON          *        ----
  693. *      0E1h    IRQ5                 OFF ON  ON          *  May conflict with
  694. *      0E2h    IRQ4                 ON  OFF ON          *  disk controller
  695. *      0E3h    IRQ3                 OFF OFF ON          *
  696. *      0E4h    IRQ15                ON  ON  OFF         *
  697. *      0E5h    IRQ14 (NOTE)         OFF ON  OFF         *
  698. *      0E6h    IRQ11                ON  OFF OFF         *
  699. *      0E7h    IRQ10                OFF OFF OFF         *
  700. *********************************************************
  701.  
  702. Writing to this location causes a hardware reset to both of the Z16C32 IUSC
  703. chips.  (Write data is a don't care).
  704.  
  705.                                                                       (Page 14)
  706. ***************************************
  707. *  Micro Channel POS Bit Assignments  *
  708. ***************************************
  709. POS bits are used to provide I/O address selection, Interrupt request
  710. selection, and memory address (and window size) selection, and provide a
  711. technique for identifying the adapter.  These bits are accessed at setup time,
  712. and reside at I/O addresses 0100h through 0107h in the computers I/O space.
  713.  
  714.  
  715. ***********************
  716. * Adapter ID (0EFCDh) *
  717. ***********************
  718. The WAC has been assigned an ID of 0EFCDh.  This is read as two bytes, with
  719. 0CDh read from 0100h, and 0EFh read from 0101h.
  720.  
  721.  
  722. ********************************
  723. * POS[0] - Memory Address LSB  *
  724. ********************************
  725. This register is similar to the ISA Memory Address Register - LSB, with the
  726. following difference:  Bit 0 is the Micro Channel "CDEN" bit, which
  727. enables/disables operation of the entire adapter, not just the memory window
  728. (as with the ISA adapter).  Refer to the following tables:
  729.  
  730. *****************************************************************************
  731. *     POS[0] Compared Against Micro Channel                                 *
  732. *     Bit    Address Line (for Memory Access)                               *
  733. *     ==============================================================        *
  734. *      7          A15 (Program to 0 for 64k and 128k window modes)          *
  735. *      6          A14 (Program to 0 for 32k, 64k and 128k window modes)     *
  736. *      5          A13 (Program to 0 for 16k, 32k, 64k and 128k window modes)*
  737. *****************************************************************************
  738.  
  739.  
  740. *****************************************************************************
  741. *     POS[0] Enable/Disable Bits                                            *
  742. *     Bit Name FUNCTION                                                     *
  743. *     ================================================================      *
  744. *      4  MEMW Enable (1) / Disable (0) PC access to WAC memory.            *
  745. *      0  CDEN Enable (1) / Disable (0) PC access to WAC memory or I/O, and *
  746. *              Reset the Z16C32 IUSC chips (when LOW)                       *
  747. *****************************************************************************
  748.  
  749. *********************************************
  750. *       POS[0] Window Size Selector Bits    *
  751. *       3 2 1  Memory Window Size Selected  *
  752. *       =================================== *
  753. *       0 0 0  8K Bytes                     *
  754. *       0 0 1  16K Bytes                    *
  755. *       0 1 0  32K Bytes                    *
  756. *       0 1 1  64K Bytes                    *
  757. *       1 x x  128K Bytes                   *
  758. *********************************************
  759.  
  760.                                                                       (Page 15)
  761. ************************************
  762. *   POS[1] - I/O Address Selector  *
  763. ************************************
  764. POS[1] performs the same function as positions 4-7 of the ISA adapter DIP
  765. switch.  Together with bit 3 of POS[3], the contents of POS[1] determine the
  766. I/O address range used by the adapter, as follows:
  767.  
  768. ***************************************************
  769. *     POS[1] Compared Against Micro Channel       *
  770. *     Bit    Address Line (for Memory Access)     *
  771. *     ====================================        *
  772. *      7           A15                            *
  773. *      6           A14                            *
  774. *      5           A13                            *
  775. *      4           A12                            *
  776. *      3           A11                            *
  777. *      2           (Not Used)                     *
  778. *      1           (Not Used)                     *
  779. *      0           (Not Used)                     *
  780. ***************************************************
  781.  
  782.  
  783. *********************************
  784. *  POS[2] - Memory Address MSB  *
  785. *********************************
  786. This register works in the same fashion as the Memory Address Register - MSB
  787. on the ISA adapter.  It establishes the upper-most byte of the 24-bit memory
  788. address:
  789.  
  790. ***************************************************
  791. *     POS[2] Compared Against Micro Channel       *
  792. *     Bit    Address Line (for Memory Access)     *
  793. *     ====================================        *
  794. *      7          A23                             *
  795. *      6          A22                             *
  796. *      5          A21                             *
  797. *      4          A20                             *
  798. *      3          A19                             *
  799. *      2          A18                             *
  800. *      1          A17                             *
  801. *      0          A16 (Not compared in 128K Mode) *
  802. ***************************************************
  803.  
  804.  
  805. ***************************************
  806. *  POS[3] - Interrupt Level Selector  *
  807. ***************************************
  808. POS[3] performs the same function as positions 1 through 3 of the ISA DIP
  809. switch (sets the interrupt level).  It also affects the I/O address range used
  810. (Bit 3), and has three additional bits.  Bit assignments for POS[3] are listed
  811. in the two tables below:
  812.  
  813.                                                                       (Page 16)
  814. ************************************************************************
  815. *    POS[3]                                                            *
  816. *    Bit  NAME  Function                                               *
  817. *    =========================================                         *
  818. *    7    CHCK- (READ-ONLY).  LOW (0) indicates that the WAC has       *
  819. *               asserted the Micro Channel CHCK- (channel check) line, *
  820. *               as a result of a memory parity error.                  *
  821. *    6    STAT- (READ-ONLY).  LOW (0) indicates that the WAC has       *
  822. *               status information in POS[4] and POS[5], corresponding *
  823. *               to the CHCK-.  Not used on the WAC.                    *
  824. *    5    SYNC  (WRITE/READ).  Controls timing of Micro Channel CHRDY  *
  825. *               (wait/ready) signal.  This bit must be programmed LOW  *
  826. *               which specifies asynchronous CHRDY timing.             *
  827. *    4          (Not Used)                                             *
  828. *    3    IOA10 (WRITE/READ).  Compared against Micro Channel address  *
  829. *               line A10 for I/O access to the WAC.                    *
  830. *    2    ILVL2 (WRITE/READ).  Interrupt Level Selector Field          *
  831. *    1    ILVL2 (WRITE/READ).  Interrupt Level Selector Field          *
  832. *    0    ILVL2 (WRITE/READ).  Interrupt Level Selector Field          *
  833. ************************************************************************
  834.  
  835. ************************************************************************
  836. *          POS[3]  Interrupt Level                                     *
  837. *          2 1 0   Selected                                            *
  838. *          ===================================                         *
  839. *          0 0 0   IRQ 9                                               *
  840. *          0 0 1   IRQ 5                                               *
  841. *          0 1 0   IRQ 4                                               *
  842. *          0 1 1   IRQ 3                                               *
  843. *          1 0 0   IRQ 15                                              *
  844. *          1 0 1   IRQ 14 (May Conflict with Disk Controller)          *
  845. *          1 1 0   IRQ 11                                              *
  846. *          1 1 1   IRQ 10                                              *
  847. ************************************************************************
  848.  
  849.                                                                       (Page 17)
  850. ******************************************
  851. * Programming Hints and Z16C32 Anomalies *
  852. ******************************************
  853. 1.  The Zilog Z16C32 is used in its so-called "Non-Multiplexed" mode.  This
  854. implies that software must first point to a register before accessing that
  855. register.  Pointing is done by writing the register number to either the chips
  856. DCAR (DMA Control/Address Register, for DMA) or CCAR (Channel
  857. Control/Address Register, for COMM).  After the register is accessed, the
  858. "pointer" is automatically reset to point at the DCAR or CCAR.
  859.  
  860.  
  861.  
  862. 2.  The Z16C32 chip has a number of anomalies which are described in the Zilog
  863. documentation package.  One of these anomalies concerns the aforementioned
  864. register pointer.  Under certain conditions, the DMA portion of the Z16C32 will
  865. reset the pointer data stored in DCAR.  Thus is DMA is allowed to execute in
  866. between the first I/O write (which does the pointing) and the following I/O
  867. read or write (which does the data transfer), then the pointer may get reset,
  868. which in turn means that the second transfer is to or from the DCAR, not the
  869. intended register.  The solution to this is to first disable the DMA, then do
  870. the transfer, then re-enable the DMA, as follows:
  871.  
  872.         (Reads the low-order 16 bits of receive DMA address, RARL)
  873.  
  874.         mov     dx,Zilog_A_DCAR         ; Sets I/O address to DMA
  875.         mov     ax,Disable_BRQ          ; Disable the Z16C32 DMA request
  876.         out     dx,ax                   ; This OUT disables DMA
  877.                                         ; (Since this OUT went to DCAR, the
  878.                                         ;  pointer is still 0000 = DCAR).
  879.         mov     ax,RARL                 ; Pointer to DMA receive address
  880.         out     dx,ax                   ;
  881.         in      ax,dx                   ; Read the RARL register (16 bits)
  882.         mov     [LOW_ADDRESS],ax        ; Save it away in memory...
  883.                                         ; (Pointer is now back to DCAR)
  884.         mov     ax,Enable_BRQ           ;
  885.         out     dx,ax                   ; Re-enable the DMA request.
  886.  
  887.  
  888.  
  889. 3.  In linked-list operation, the following method allows the programmer to
  890. determine whether a given data frame has been transmitted.
  891.  
  892. Software can receive notification of completion of individual buffers by either
  893. an "EOF/EOM" interrupt from the transmitter, or an "EOB" interrupt from the Tx
  894. DMA.  It can then tell which frame(s)/buffer(s) has been completely transmitted
  895. by a two step process.  Assuming that the ClearCount bit is initialized to 1, the
  896. first step is to see whether the IUSC has zeroed the byte count in the linked list
  897. entry for the buffer/frame.  If so (indicating that the Tx DMA has started on the
  898. buffer) software should then check the value of the Next Transmit Address
  899. Register (NTAR).  If the NTAR is outside the range of the address of the byte
  900. count +2 to +6 inclusive, the Tx DMA channel is done with the buffer/frame.
  901.  
  902.                                                                       (Page 18)
  903.  
  904. 4.  After the Z16C32 has been reset, its BCR (Bus Configuration Register) must
  905. be programmed to configure certain hardware parameters.  The bit fields for BCR
  906. are to be programmed as follows  (THIS MUST BE DONE FOR BOTH CHIPS):
  907.  
  908.         BCR
  909.         Bit Value Name      Function
  910.         =========================================
  911.         15    0   SepAd     Separate Address (NO)
  912.         14    0
  913.          :    :             Reserved (all zeros)
  914.          6    0
  915.          5    0   IAckMode  Interrupt Acknowledge Mode (Not Used
  916.          4    0      "
  917.          3    0   BRQTP     Bus Request Totem Pole (NO)
  918.          2    1   16Bit     Bus Size 16 Bits (YES)
  919.          1    1   /IRQTP    Interrupt Request Not Totem Pole (YES)
  920.          0    0   SRightA   Address Shift (NO)
  921.  
  922. Sample Code to perform this function is as follows:
  923.         (only after hardware reset of Z16C32 chips)
  924.         mov     dx,Zilog_A_TDR          ; point at transmit data register A
  925.         mov     ax,06h                  ; BCR value
  926.         out     dx,ax
  927.  
  928.         mov     dx,Zilog_B_TDR          ; point at transmit data register B
  929.         mov     ax,06h                  ; BCR value
  930.         out     dx,ax
  931.  
  932.  
  933.  
  934. 5.  Initialization of the Z16C32 DMA function MUST configure certain bits of
  935. the DMA Control Register (DCAR) in order for proper DMA operation, as follows:
  936.  
  937.         DCR
  938.         Bit Value Name          Function
  939.         =================================================
  940.         12   0    ALBVO   Byte Ordering is Little-Endian
  941.          4   0    DCSDOut Don't drive D/C- and S/D- lines during DMA
  942.          3   1    1Wait   Enable 1 Wait State for DMA memory access
  943.          2   0    UASAll  Don't drive UAS and MS16 for every cycle
  944.  
  945.  
  946.  
  947. 6.  The Z16C32 for Link A is of a higher DMA priority than that for Link B.
  948. The shared-memory arbiter passes its DMA grant to IUSCa, which then passes
  949. control to IUSCb if IUSCa does not wish to transfer data.  In all other
  950. respects, the two channels are equivalent.
  951.  
  952.                                                                       (Page 19)
  953. ******************************
  954. *  Crossover Cable Diagrams  *
  955. ******************************
  956. Figure 1.  X.21 Crossover Cable Pin Diagram
  957.  
  958.       Connector 1                   Connector 2
  959.            1 <------------------------>  1
  960.            2 <------------------------>  4
  961.            3 <------------------------>  5
  962.            4 <------------------------>  2
  963.            5 <------------------------>  3
  964.            6 <------------------------>  7
  965.            7 <------------------------>  6
  966.            8 <------------------------>  8
  967.            9 <------------------------> 11
  968.           10 <------------------------> 12
  969.           11 <------------------------>  9
  970.           12 <------------------------> 10
  971.           13 <------------------------> 14
  972.           14 <------------------------> 13
  973.           15                            15
  974.  
  975.         Female                        Female
  976.         DB-15                         DB-15
  977.  
  978. Figure 2.  RX-232C/V.24 Crossover Cable Pin Diagram
  979.  
  980.       Connector 1                   Connector 2
  981.            1                             1
  982.            2 <------------------------>  3
  983.            3 <------------------------>  2
  984.            4 <-|---------------------->  8
  985.            5 <-+
  986.            6 <------------------------> 20
  987.            7 <------------------------>  7
  988.            8 <----------------------|->  4
  989.                                     +->  5
  990.            9                             9
  991.           10                            10
  992.           11                            11
  993.           12                            12
  994.           13                            13
  995.           14                            14
  996.           15 <------------------------> 17
  997.           16                            16
  998.           17 <------------------------> 15
  999.           18                            18
  1000.           19                            19
  1001.           20 <------------------------>  6
  1002.           21                            21
  1003.           22                            22
  1004.           23                            23
  1005.           24                            24
  1006.           25                            25
  1007.  
  1008.         Female                        Female
  1009.         DB-25                         DB-25
  1010.  
  1011.                                                                       (Page 20)
  1012. *********************************************************
  1013. *  Hardware Shared Memory Specification Considerations  *
  1014. *********************************************************
  1015. MC-A System Considerations
  1016. --------------------------
  1017.  
  1018. On MC-A Systems, the location of the 16KB Shared Memory is controlled
  1019. by the Reference Disk Installation procedure.  Simply follow the
  1020. instructions for installing an Adapter in a MC-A system and the address
  1021. selected will work correctly.
  1022.  
  1023. ISA System Considerations
  1024. -------------------------
  1025.  
  1026. On ISA Systems, the location of the 16KB Shared Memory is selected by
  1027. the user.  In determining this address, the user must select an address
  1028. above 0xC0000 that does not conflict with an already installed
  1029. adapter's shared memory and that starts on a 16KB boundary.  However,
  1030. there is one additional performance consideration that must be
  1031. considered.  Should the system that the WAC is being installed in have
  1032. less than 16MB of system memory, there is a way to configure the shared
  1033. memory such that data transfers take place with 16 bits at a time.  Due
  1034. to an anomaly in ISA systems, if the address selected is at or above
  1035. 1MB (0x100000), then data transferred into and out of this area will be
  1036. done with 16 bits at a time.  Thus, if your ISA system has less than
  1037. 16MB of memory, you should select an address at or above the top of
  1038. your installed system memory on a 16KB boundary.  For example, if you
  1039. have 8MB of memory in your system, you could select 0x800000 as the
  1040. address for the 16KB shared memory window.
  1041.  
  1042. If your ISA system has 16MB or more of system memory, then you must
  1043. select  an address between 0xC0000 and 0xFC000 on a 16KB boundary that
  1044. is not used by either another adapter or by system ROM.  Consult your
  1045. adapter manuals and system manual to determine which addresses within
  1046. this range are not used and would thus be available for use by the WAC.
  1047. The negative aspect of using memory between 0xC0000-0xFC000 is that due
  1048. to the aforementioned ISA anomaly, data transfers into and out of this
  1049. area will only be 8 bits wide, not 16 bits.  This approximately halves
  1050. the data transfer performance of the WAC adapter in an ISA system that
  1051. has 16MB or greater of system memory.  Depending upon your WAC performance
  1052. goals, it may be desirable to remove 1MB of system memory so that you could
  1053. specify that vacated memory space above 1MB to contain the WAC 16KB shared
  1054. memory area.  No performance measurements regarding this issue were made,
  1055. so you must make this determination based upon a careful review of the
  1056. system's use of memory.
  1057.  
  1058.  
  1059.                                                                       (Page 21)
  1060. **********************************
  1061. *  WAC Configuration Parameters  *
  1062. **********************************
  1063. Parameter: WACCARDNUM
  1064.  
  1065. Value: Slot number (MC-A) [1..8] or Card Number (ISA) [0..15]
  1066.  
  1067. Description: Identifies the physical card associated with this logical
  1068. adapter number. For a Microchannel machine, this number identifies the
  1069. slot in which the card is located. For an ISA bus machine, this number
  1070. is the decimal representation of the setting of positions 7 - 4 of the
  1071. I/O Address DIP switch located on the upper edge of the card at the back
  1072. panel end (see ISA I/O Address Ranges Supported section).
  1073.  
  1074. ----------
  1075. Parameter: WACPORTNUM
  1076.  
  1077. Value: Port number   [0 - upper, 1 - lower]
  1078.  
  1079. Description: Identifies the physical port associated with this logical
  1080. adapter number. Port 0 is the upper port and Port 1 is the lower port.
  1081.  
  1082. ----------
  1083. Parameter: RAMADDRESS
  1084.  
  1085. Value: 16KB Shared memory addr. [0C0000-FE0000]
  1086.  
  1087. Description: Specify the starting address for the 16KB shared memory on
  1088. the card. This address is required for ISA bus only, as it is setup
  1089. automatically in POS registers for the Microchannel card. The address
  1090. is only required on the definition of port 0 of each card. The address
  1091. must be on a 16KB (x'4000') boundary.
  1092.  
  1093. ----------
  1094. Parameter: RTS
  1095.  
  1096. Value: Line Mode [ 0 - Constant RTS, 1 - Switched RTS ]
  1097.  
  1098. Description: Specifies whether half duplex transmission facilities or
  1099. full duplex transmission facilities are being used. The parameter
  1100. should be set to Switched RTS (Switched Request to Send (Line
  1101. Turnaround Required)) if either half duplex communications facilities
  1102. are being used, or the line is the secondary end of a multidrop SDLC
  1103. line. Most modern communications facilities are full duplex, and in
  1104. this case, Constant RTS should be specified for point-to-point lines
  1105. and for the primary end of SDLC lines.
  1106.  
  1107.                                                                       (Page 22)
  1108. ----------
  1109. Parameter: NRZI
  1110.  
  1111. Value: NRZI  [ 0 - No, 1 - Yes ]
  1112.  
  1113. Description: Specifies the data encoding method for the communications
  1114. line. NRZI=YES uses an encoding that ensures that there is a signal
  1115. transition on the line at least every 6 bit times. This may be required
  1116. by some older modems to ensure stable clock recovery from the
  1117. data stream. NRZI must be specified identically at each end of the
  1118. communications line.
  1119.  
  1120. ----------
  1121. Parameter: RS232MODE
  1122.  
  1123. Value: RS232/V.24 mode [0 -DTE, 1 -DTE_Pin24_TxC, 2 -DCE]
  1124.  
  1125. Description: Specifies clocking modes if the RS232/V.24 card is
  1126. installed. Specify 0 for DTE mode when connected to a modem that
  1127. generates the clocking. Specify 1 when connected to a modem that
  1128. requires the DTE to generate Tx clock on pin 24. Specify 2 to run in
  1129. DCE mode where the WAC provides both Rx and Tx clocks. DCE mode
  1130. requires the use of a crossover adapter described in the Technical
  1131. Reference Manual.
  1132.  
  1133. ----------
  1134. Parameter: X21MODE
  1135.  
  1136. Value: RS422 mode [0] or X.21 Mode [1-4]
  1137.  
  1138. Description: Specifies clocking modes if the RS422/X.21 card is
  1139. installed. Specify 0 for RS422 DTE mode. (This requires the RS422
  1140. cable.) Specify 3 for normal X.21 DTE mode. Specify 4 for X.21 DTE
  1141. TxC_Echo mode (clock received on the S line is echoed on the B line to
  1142. eliminate Tx clocking skew on long cables). Options 1 and 2 are for
  1143. X.21 DCE mode and require a Crossover Connector as described in the
  1144. Technical Reference Manual. Specify 2 for normal X.21 DCE mode. Specify
  1145. 1 for X.21 DCE TxC_Echo (the attached DTE must echo the clock back on
  1146. the B line to be used for clocking data into the Wide Area Connector).
  1147.  
  1148.                                                                       (Page 23)
  1149.  
  1150. ----------
  1151. Parameter: LINESPEED
  1152.  
  1153. Value: Line Speed in bits/second
  1154.  
  1155. Description: Specifies the clock speed to be used when the port
  1156. generates the clocking signal. When in normal DTE mode, the clocking is
  1157. generated by the modem or DSU/CSU, and this parameter is ignored. The
  1158. port generates clocking in all DCE modes, and in the RS232/V.24 Pin 24
  1159. mode (see the help panel for the RS232/V.24 Mode parameter). Note that
  1160. the clock speeds of 2M, 1.5M, 1M, 768K, 512K, 256K and 64K are actually
  1161. 1.843M, 1.474M, 983.040K, 776.084K,  508.468K, 254.234K and 63.833K
  1162. precisely.
  1163.  
  1164. ----------
  1165. Parameter: MAXDATA
  1166.  
  1167. Value: Maximum frame size to be sent and received
  1168.  
  1169. Description: Specifies the maximum size data frame that can be
  1170. processed, and is used by the MAC driver to allocate buffers. It must
  1171. be set larger than any expected data and headers size used by the
  1172. higher protocol, but should not be set unnecessarily high because of
  1173. the waste of buffer space. The default size allows RouteXpander/2 to
  1174. transmit LAN frames with a small header.
  1175.  
  1176. ----------
  1177. Parameter: MACTYPE
  1178.  
  1179. Value: MAC Type Description
  1180.  
  1181. Description: Specifies the MAC Type that is visible to the higher layer
  1182. protocol drivers. These protocols may refuse to BIND to the MAC if MAC
  1183. Type does not conform to their requirements. The Wide Area Connector
  1184. saves this parameter, but does nothing with it.
  1185.  
  1186. ----------
  1187. Parameter: MAXTRANSMITS
  1188.  
  1189. Value: Maximum number of outstanding transmit requests
  1190.  
  1191. Description: Allocates buffers for the specified number of transmit
  1192. requests. Transmit requests greater than this number must be retried by
  1193. the higher layers (but this is normally correct operation). If the
  1194. protocol window size is known, the number should be one greater than
  1195. it. If the number cannot be determined, the default is reasonable for
  1196. most situations.
  1197.  
  1198. ----------
  1199. Parameter: MAXTXBUFS
  1200.  
  1201. Value: Maximum number of buffers per transmit request
  1202.  
  1203. Description: Used to allocate chaining space for separate buffers used
  1204. on a transmit request. For Communications Manager and TCP/IP, the
  1205. default is adequate.
  1206.  
  1207.                                                                       (Page 24)
  1208. ***********************************************
  1209. *  Installation of More Than One WAC Adapter  *
  1210. ***********************************************
  1211. As mentioned before, for the ISA adapter, the I/O address ranges must be
  1212. different for each adapter in the system. Refer to the ISA I/O Address
  1213. Ranges Supported section for details.
  1214.  
  1215. As for the Microchannel adapter, since each WAC adapter uses a 16KB window
  1216. of memory, different I/O address ranges are automatically assigned for each
  1217. WAC adapter installed in the system. Therefore, no manual adjustment of
  1218. configuration parameters is required due to this design implementation.
  1219.  
  1220.