
 ^m╒══════════════════════╤═══════════════════════════╡^t Communications setup ^m╞╕
 │ ^nDevice name          ^m│ ^nDevice       Port  Baud  Com  Address  Irq Vector ^m│
 ├──────────────────────┼───────────────────────────────────────────────────┤
 │^r Async Modem COM1     ^m│ ^h8250A/16450    1  19200  8N1  $03F8    04    0C   ^m│
 │^b■^hAsync Modem COM2     ^m│ ^h16550A FIFO    2  19200  8N1  $02F8    03    0B   ^m│
 │ ^hAsync Modem COM3     ^m│ ^hNo UART        3  19200  8N1  $03E8    04    0C   ^m│
 │ ^hAsync Modem COM4     ^m│ ^hNo UART        4  19200  8N1  $02E8    03    0B   ^m│
 │ ^hInterrupt 14h        ^m│ ^hInterrupt 14h  1   9600  8N1                      ^m│
 │ ^hISDN                 ^m│ ^hFossil         1  64000  8N1                      ^m│
 │ ^hFossil               ^m│ ^hFossil         1  38400  8N1                      ^m│
 │ ^h                     ^m│ ^h                                                  ^m│
 │ ^h                     ^m│ ^h                                                  ^m│
 │ ^h                     ^m│ ^h                                                  ^m│
 ├──────────────────────┼───────────────────────────────────────────────────┤
 │ ^nConfigure comports   ^m│               ^nAsync Professional                  ^m│
 │ ^nCheck IRQ            ^m│               ^n■ = Default device                  ^m│
 │ ^nSet default values   ^m│                                                   ^m│
 │ ^nAuto installation    ^m│                                                   ^m│
 ╘══════════════════════╧═══════════════════════════════════════════════════╛^n

 ^hMaximum baud rates^n

 Since setting up the serial port is one of the most important things in any
 terminal program, you must remember the following rules:

   Maximum bps rates:

   4.77 MHz PC (8088)      9600 bps
      8 MHz PC (8088)     19200 bps
      8 MHz PC (286)      57600 bps
     16 MHz PC (386)     115200 bps

 ^hWhen to use a fast 16550A serialchip with FIFO buffer^n

 You need 16550A serial UART chips if you want to have error free connections
 when using: an 8 MHz PC (8088); any kind of multitasker - eg: OS/2, Windows,
 DESQview, etc; a modem connected to a network drive. It does not matter how
 fast your machine is, my 486DX2-66 still gives me errors when there is no
 FIFO buffer in the machine. And this happends with baud rates even at
 38400. If you have problems, set the speed to 19200 and see if that works.
 The 16550A UART chip gives you a small 16 byte FIFO buffer - which means the
 chip does not have to generate an interrupt every time a character arrives.
 Most PC's are delivered with the old 8250 or 16450 chips (almost the same),
 so if you get CRC errors, you should buy such a card. (Ask us or one of our
 Registration Sites where to obtain them.) All good internal high speed
 modems already have a 16550A UART implemented. When buying an internal modem
 make sure it has one!

 ^hDevice setup^n

 ^m╒════════════════════════════════════╤═════════════════════╡^t Device setup ^m╞╕
 │^r Serial interface                   ^m│ ^hUART/Serial                         ^m│
 │ ^nComport                            ^m│ ^h1                                   ^m│
 │ ^nDevice name                        ^m│ ^hAsync Modem COM1                    ^m│
 │ ^nBaudrate                           ^m│ ^h19200                               ^m│
 │ ^nLock port                          ^m│ ^hYes                                 ^m│
 │ ^nDatabits / Stopbits / Parity       ^m│ ^h8,1,N                               ^m│
 │ ^nPhonebook                          ^m│ ^hTERMINAT^n.FON                        ^m│
 │ ^nCostfile                           ^m│ ^hTERMINAT.CST                        ^m│
 │ ^nReceive buffer size                ^m│ ^h2048                                ^m│
 │ ^nTransmit buffer size               ^m│ ^h4096                                ^m│
 │ ^nSoftware flow control (Xon/Xoff)   ^m│ ^hOff                                 ^m│
 │ ^nHardware flow control (CTS/RTS)    ^m│ ^hOn                                  ^m│
 │ ^nHardware flow control (DSR/DTR)    ^m│ ^hOff                                 ^m│
 │ ^nUse 16550 fifo if available        ^m│ ^h14                                  ^m│
 │ ^nKeep 16550 fifo on in shell        ^m│ ^hNo                                  ^m│
 │ ^nRTS low while writing              ^m│ ^hNo                                  ^m│
 │ ^nAuto RTS low trigger               ^m│ ^h2                                   ^m│
 │ ^nCarrier detect mask                ^m│ ^h128                                 ^m│
 │ ^nInit string                        ^m│ ^hATZ^M                               ^m│
 │ ^nRestore port on close              ^m│ ^hNo                                  ^m│
 │ ^nClose port in shell                ^m│ ^hNo                                  ^m│
 ╘════════════════════════════════════╧═════════════════════════════════════╛^n

 ^hSerial interface^n

  Terminate supports 4 different interfaces.

  ^hUART/Serial         ^nDirect serial chips
  ^hInterrupt 14h       ^nVia BIOS int 14h max 9600 baud
  ^hFossil              ^nResident serial devices, like X00/BNU
                      or ISDN fossil devices.
  ^hDigiboard           ^nVery fast intelligent multiport adapter.

 ^hComport^n

  Select which port to assign for this device, COM1..COM8 can be selected.

 ^hDevice name^n

  Enter the string to be shown everywhere the device is shown. You should
  enter your modem name here, 'Spirit II 19200 8N1' or whatever you have.

 ^hBaudrate^n

  Which baudrate to use for this device as default.
  Note that if you want to use a special baudrate that is not shown in the
  list, just press D and define it.

 ^hLock port^n

  When using a high speed modem (bps>=9600) you should always choose to lock
  the port.

 ^hDatabits / Stopbits / Parity^n

 ^hDatabits^n

  A data byte can contain 5,6,7 or 8 bits. The vast majority of applications
  will use either 7 or 8 bits since most of the data we are used to dealing
  with is expressed in 8-bit bytes (although text data can often be expressed
  in only 7-bits).
  Many time-sharing systems, such as CompuServe, work with only 7 data bits
  because that's all they need to display text data. When transfering binary
  data though, for example with a file transfer protocol, you usually switch
  to 8 data bits. 
  If you use 8N1 and 7E1 on different systems, you must define 2 different
  devices and select the correct device in the phonebook.
  Create 2 devices which looks the same. They could be called:
  Device 1:^hMODEM COM2 2400 8N1^n  Device 2:^hMODEM COM2 2400 7E1^n

 ^hStopbits^n

  Stop bits follow the data bits in the serial stream. The value for stop
  bits will always be either 1 or 2. Generally, 1 stop bit is used.

 ^hParity^n

  Parity describes a bit checking scheme. When used, all of the bits in a
  data byte are added together. A final bit, called the parity bit, is added
  such that the sum of all bits will be either odd or even (whichever you
  specify). The transmitter calculates and transmits a parity bit. If it is
  correct then it is assumed that the characters were received without error.
  If not, then it is assumed that there was some sort of error during
  transmission. Possible choices are determined by the remote system:

  ^hNone  ^nNo parity is added, default
  ^hEven  ^nA parity bit is added such that the bit sum is always even
  ^hOdd   ^nA parity bit is added such that the bit sum is always odd
  ^hMark  ^nA parity bit of value one is always added
  ^hSpace ^nA parity bit of value zero is always added

 ^hPhonebook^n

  When this device is selected, then use this phonebook. This will only work
  when starting up Terminate.

 ^hCostfile^n

  Which costfile to use when using this device.

 ^hReceive buffer size^n  ^hTransmit buffer size^n

  Size of internal buffers used by Terminate. Only used with an interface
  that is buffered, otherwise these buffers are ignored. Only the UART/Serial
  interface is buffered. Do NOT change these values unless you are absolutely
  sure that you know what you are doing!

 ^hSoftware flow control (Xon/Xoff)^n

  This option controls the automatic software flow control.
  (Receive flow control - where Terminate tells the remote to stop
  transmitting characters, and Transmit flow control - where Terminate
  responds to the remote's request to stop transmitting characters as its
  input buffer fills. Whenever the input buffer is more than 75% full, an
  Xoff (#19) character is sent to the remote. It is up to the remote to
  recognize the Xoff (#19) and cease sending data. When the input buffer
  empties again to below 75% of buffer size, Terminate will send an Xon (#17)
  character to the remote. It is then up to the remote to recognize this
  character and resume sending data.)

 ^hHardware flow control (CTS/RTS)^n

  Hardware flow control is always preferred when available, because it is
  faster and much safer. Hardware flow control works with lowering and
  raising the modem lines. First you need to setup your modem to work with
  CTS/RTS hardware flow control. CTS means Clear-To-Send and when using
  hardware flow control the CTS line must be high (with the CTS light in
  modem lit) before anything will be sent to the modem. When the receive
  buffer is more than 90% full the RTS (Request-To-Send) line will be set low
  telling the modem not to send again until the buffer is less than 90% full.

 ^hHardware flow control (DSR/DTR)^n

  Some strange modems need DSR (Data-Set-Ready) instead of CTS and DTR
  (Data-Terminal-Ready) or both options together, but it is not advised
  to ever use this option unless you are sure you know what you are doing.
  Data-Set-Ready is sometime refered as Modem-Ready (MR) on your modem.

 ^hUse 16550 fifo if available^n

  Tests whether a 16550A is available in the serial chip and, if it is, uses
  its' FIFO buffer. Windows cannot use this by default.

 ^hKeep 16550 fifo on in shell^n

  When calling an external program or exiting Terminate, we normally disable
  the FIFO buffer. Some utilities cannot detect the 16550A chip or do not
  support the FIFO. The best thing is to disable (No) and let external
  utilities detect for themselves.

 ^hRTS low while writing^n

  If you do not have a 16550A chip and have problems with errors, you can try
  to set RTS low while writing. This means Terminate will stop receiving
  while writing protocol blocks to the disk. This will slow down performance
  a little, but is safer and could prevent hangups.

 ^hAuto RTS low trigger^n

  If you get more than X errors then the Auto RTS low function can be set to
  go into progress, a good way of keeping up performance to a maximum and
  only turn on RTS low when really needed.

 ^hCarrier detect mask^n

  When checking the modem status register this determines which bit should be
  used for checking carrier detect. Normally bit 7 (128) is used and you
  should only change this if you really know what you are doing.

 ^hInit string^n

  Select which init string you want to sent to the modem after changing
  device and before dialing. This string is also sent to modem at startup 
  if it is the current device.

 ^hRestore port on close^n

  After Terminate closes the port you can choose to restore the port as
  it was before. But this means that you will get hung up if Terminal
  ready was low at startup and you call any external program. You should
  only turn this on if you really know what you are doing.

 ^hClose port in shell^n

  Normally there is no reason for closing the ports while shelling to
  DOS. But some external protocols might need this. Closing the port
  will save you a little in swap space, but if you are using fossil/ISDN
  you might get hung up if you close the port.

 ^hConfigure comports^n

  ^m╒═══════╡^t Configure comports ^m╞╕
  │^n        Address  Irq  Vector ^m│
  ├──────┬──────────────────────┤
  │ ^nCOM1 ^m│ ^h$03F8    04     0C   ^m│
  │^r COM2 ^m│ ^h$02F8    03     0B   ^m│
  │ ^nCOM3 ^m│ ^h$03E8    04     0C   ^m│
  │ ^nCOM4 ^m│ ^h$02E8    03     0B   ^m│
  │ ^nCOM5 ^m│ ^h$4220    03     0B   ^m│
  │ ^nCOM6 ^m│ ^h$4228    03     0B   ^m│
  │ ^nCOM7 ^m│ ^h$5220    03     0B   ^m│
  │ ^nCOM8 ^m│ ^h$5228    03     0B   ^m│
  ╘══════╧══════════════════════╛^n

  When using the UART/Serial interface, you can change the actual port IO
  address, the hardware IRQ and the software interrupt.

  You should not need to change anything here, but if you do, you must
  beware of potential hardware conflicts. Do not try to change the IRQ on
  your internal modems or serial card without knowing exactly what you are
  doing. If you have an internal modem and 2 external comports, you should 
  always choose COM1 for the mouse and COM4 for the modem. If you choose COM3
  you will conflict with IRQ4. Do not try changing the hardware jumpers/
  switches without help and a manual for the modem. Before you change
  anything on the modem, always make a note of the current jumper
  settings so you always can go back. If your internal modem is capable of
  using IRQ 5 or 7, please be aware that the modem could conflict
  with other hardware, like netcards or SoundBlaster cards. If it does not
  work at once with the internal modem, please seek professional help.
  It is your hardware supplier that is responsible for ensuring the modem
  works. Terminate uses only standard calls, so if the default settings do 
  not work, contact your hardware supplier.
  
  Please always remember to turn off the power before doing anything.
  The vector number is where to install the software interrupt, this
  number should always be  IRQ + 8. IRQ>7 = IRQ+$68

    IRQ0 , Vector $08 ( 8)  Timer
    IRQ1 , Vector $09 ( 9)  Keyboard
    IRQ2 , Vector $0A (10)  Screen
    IRQ3 , Vector $0B (11)  COM2,COM4
    IRQ4 , Vector $0C (12)  COM1,COM3
    IRQ5 , Vector $0D (13)  Free
    IRQ6 , Vector $0E (14)  Floppy
    IRQ7 , Vector $0F (15)  Free
    IRQ8 , Vector $70 (112)
    IRQ9 , Vector $71 (113)
    IRQ10, Vector $72 (114)
    IRQ11, Vector $73 (115)
    IRQ12, Vector $74 (116)
    IRQ13, Vector $75 (117)
    IRQ14, Vector $76 (118)
    IRQ15, Vector $77 (119)

  These are the defaults for normal machines. If you have an internal
  modem that is capable of using IRQ 5 or 7, you should consider this.
  If you try to use IRQ0, IRQ1 orIRQ6 you could get in serious trouble
  and your machine could hang.

 ^hCheck IRQ^n

  ^m╒══════════════════════════════════════════════╡^t Check IRQ ^m╞╕
  │ ^nFound   COM1, $03F8, testing...uses IRQ 4                 ^m│
  │ ^nFound   COM2, $02F8, testing...uses IRQ 3                 ^m│
  │ ^nFound   COM3, $03E8, testing...uses IRQ 4                 ^m│
  │ ^nFound   COM4, $02E8, testing...uses IRQ 5                 ^m│
  │ ^nNo chip COM5, $4220                                       ^m│
  │ ^nNo chip COM6, $4228                                       ^m│
  │ ^nNo chip COM7, $5220                                       ^m│
  │ ^nNo chip COM8, $5228                                       ^m│
  │                                                           ^m│
  ╘═══════════════════════════════════════════════════════════╛^n

  This function tries to determine which hardware IRQ the comports are using.
  Even if this routine fails to find the IRQ, it will work anyway, if you
  specify the correct IRQ. Not all machines will show the correct IRQ.

 ^hSet default values^n

  Set all devices to the default parameters. If you make some kind of
  mistake and cannot remember what you did wrong, you could use this
  function.

 ^hAuto installation^n

  Detect IRQ's on ports and finds on which port your modem is connected.
  Test for maximum baudrate on device and select initstrings.

