home *** CD-ROM | disk | FTP | other *** search
/ GEMini Atari / GEMini_Atari_CD-ROM_Walnut_Creek_December_1993.iso / zip / telecomm / serfx20.lzh / serialfx.doc < prev   
Text File  |  1992-12-15  |  11KB  |  265 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.                                Serial Fix © 1993
  10.                           by Medical Designs Software
  11.                                   Version 2.0
  12.  
  13.     Written by: Bill Penner and Bruce D. Noonan, M.D.
  14.  
  15.  
  16.         This  program may be distributed and used, free of charge, provided
  17.     that  the program is distributed in complete form and UNmodified.  This
  18.     software is not to be sold, however, may be included on disks which are
  19.     sold  for  a  small  handling fee.  Medical Design Software retains all
  20.     copyright   exclusive   rights  except  exclusive  distribution.   This
  21.     software  consists  of  the following files: SERFX20.PRG, SERIALFX.CPX,
  22.     and SERIALFX.DOC (this file).
  23.  
  24.  
  25.  
  26.     PURPOSE
  27.  
  28.         Serial  Fix  is  now  a  universal serial port patch for use on the
  29.     ATARI  ST/STe/TT  computers.   Serial Fix now incorporates the TOS14FIX
  30.     and SERPATCH patches from ATARI, so no longer do you need several patch
  31.     programs.   A  problem  in the serial port software appears when a high
  32.     speed  or  high speed buffered modem is used in conjunction with ZMODEM
  33.     or  any  near-continuous flow transfer program.  The ST/TT has problems
  34.     properly  recognizing  when  the modem deasserts CTS (telling the ST/TT
  35.     that the buffer is full and don't send any more data), resulting in the
  36.     ST overflowing the modem's buffer.  This results in bad data being sent
  37.     which  results  in  CRC  errors,  packet  size problems, and other data
  38.     transmission errors.
  39.  
  40.         TurboCTS  (an  old  program  of mine) was only a partial fix of the
  41.     problem.  TurboCTS did manage to speed things up to the point where CTS
  42.     response  was  generally  ok, however, that program did not work on the
  43.     TT,  did not support XBRA programming requirements, and only worked for
  44.     RTS/CTS handshaking.
  45.  
  46.         Serial FIX works with all versions of TOS from 1.0 through 3.06 and
  47.     FALCON  TOS.   Serial  FIX  supports  both  RTS/CTS,  XON/XOFF,  and no
  48.     handshaking  modes.  The desired handshaking mode is set from the RS232
  49.     control  panel  or other program as you currently do now.  Simultaneous
  50.     XON/XOFF  and RTS/CTS can be selected by locking the RTS/CTS mode on in
  51.     the  SERIALFX  CPX  and selecting XON/XOFF from the control panel/RS232
  52.     CPX.   This is a REAL fix to the RTS/CTS problem.  Previous fixes (like
  53.     my TurboCTS) only fixed some of the symptoms of the problem.
  54.  
  55.     INSTALLATION:
  56.  
  57.         Serial  FIX is composed of two parts, a program for the AUTO folder
  58.     and  a  CPX  file to be used with the extensible CONTROL (XCONTROL.ACC)
  59.     panel.
  60.  
  61.  
  62.  
  63.  
  64.  
  65.  
  66.  
  67.  
  68.  
  69.  
  70.  
  71.  
  72.  
  73.         SERFX20.PRG  is  the heart of the Serial FIX solution.  SERFX20.PRG
  74.     is intended to be installed in your AUTO folder, although it can be ran
  75.     from  the desktop.  Serial FIX replaces the current serial routines for
  76.     the ST compatible port.  The ST compatible port is the only port on the
  77.     ST  and  STe  machines,  or  the  Modem  1  port  on the MegaSTe and TT
  78.     machines.
  79.  
  80.         SERIALFX.CPX  is  a  control  panel  to be used with the extensible
  81.     control  panel  (XCONTROL.ACC).   The  CPX  is  used to lock the serial
  82.     routines into using RTS/CTS handshaking, regardless of the desires of a
  83.     program.   The  file  SERIALFX.CPX is to be placed in in your folder of
  84.     CPX files (often called 'CPX').
  85.  
  86.     OPERATION:
  87.  
  88.         SERFX20.PRG:   Once  the program has been started (either booted in
  89.     the  'AUTO'  folder or run from the desktop), no special operations are
  90.     needed.   The  program  replaces the system routines and the port speed
  91.     and  handshaking  are  set  just  as  they  are now, either by terminal
  92.     software, CONTROL panel, or the extensible control panel.
  93.  
  94.         SERIALFX.CPX:   This program will allow you to lock the handshaking
  95.     in  RTS/CTS  mode.   This  is often needed because a number of programs
  96.     have  been  written to ignore RTS/CTS mode (like FLASH).  If the CPX is
  97.     not  used  to  lock  the  mode  on, if the mode is set from the control
  98.     panel,  and  a  terminal  program  is started, very likely, the program
  99.     would  turn  off  RTS/CTS.   With  the mode locked, the program will be
  100.     unable  to  disable  RTS/CTS.  The CPX will give you the option to save
  101.     the  current  lock setting.  Saving the setting will cause the selected
  102.     mode  to  be entered every time the CPX boots up.  So, note, to be able
  103.     to  lock the RTS/CTS mode on, you must use both the SERFX20.PRG and the
  104.     SERIALFX.CPX.
  105.  
  106.  
  107.     MODEM PROBLEMS:
  108.  
  109.         If you are having problems getting RTS/CTS to work with your modem,
  110.     you need to check a few things:
  111.  
  112.         1.    Modem:    You will need to verify that the modem is set up to
  113.     use  RTS/CTS.   For  error correcting/compression modems the command us
  114.     usually  'AT&K3'  to  enable RTS/CTS mode.  Remember, when you get your
  115.     modem working, be sure to save the configuration into the modem with an
  116.     'AT&W'.   If  your  modem  is  a non-error correcting/compression type,
  117.     RTS/CTS  may not be desired as most of the modems do not really support
  118.     RTS/CTS,  and  besides,  it  is  not necessary since the modem does not
  119.     buffer  data.   For  most  modems, if you wish to check to see what the
  120.     settings are, use a terminal program and type 'AT&V' and the modem will
  121.     display the current settings.  Verify the &K option has a 3 shown (i.e.
  122.     &K3)  is  shown in the active configuration portion of the display.  If
  123.     you type the AT&V and the modem replies ERROR, then that command is not
  124.     supported  and  you will have to check the documentation with the modem
  125.     to determine how to verify the setting.
  126.  
  127.  
  128.  
  129.  
  130.  
  131.  
  132.  
  133.  
  134.  
  135.  
  136.  
  137.  
  138.  
  139.         2.    Cable:     Most  manufactured  RS232  cables  should not be a
  140.     problem,  but some commercial cables and home built cables may not have
  141.     the RTS and CTS pins connected.  For RTS/CTS to work, the RTS pins (pin
  142.     4) and CTS pins (pin 5) need to be connected through the cable.  If you
  143.     want  to  check  the  cable and are familiar with the use of a meter in
  144.     doing  a  continuity test, verify that the pin 4s on the two connectors
  145.     are  connected  together,  the pin 5's are connected together, and that
  146.     the pin 4's are NOT connected to the pin 5's.
  147.  
  148.         3.   Software incompatiblity: If you are still having problems, try
  149.     removing   all  other  AUTO  folder  programs  and  ACCESORIES  (except
  150.     SERFX20.PRG  and  XCONTROL.ACC).   If things still do not work, you may
  151.     have a hardware problem.
  152.  
  153.         4.    Hardware Problem:   If you have checked everything above, and
  154.     RTS/CTS  is  still not working, you may have a hardware problem.  It is
  155.     possible  that the RTS or CTS circuitry in the computer or in the modem
  156.     may have failed.  Attempt to use the modem on another computer and/or a
  157.     different  modem  on  your computer to verify whether the problem is in
  158.     the modem or the computer.
  159.  
  160.         5.    Last  (and hopefully LEAST) possiblity is that there is a bug
  161.     in  my  software (or an undocumented, possibly undesirable, feature, as
  162.     some call it).  Let me know if you cannot get SERIALFX to work and I'll
  163.     see what help I can provide.
  164.  
  165.  
  166.     PROGRAMMING INFORMATION:
  167.  
  168.         This  version  of  the  software is fully XBRA compliant.  When the
  169.     software  starts and installs the replacement routines, the TOS version
  170.     is  checked  to  determine  the  best  method of installation (read for
  171.     maximum speed).  Under TOS 1.0, traps 1, 13, and 14 are intercepted and
  172.     processed.   Under  TOS  1.2,  1.4,  and  1.6 (non-Bconmap() compatible
  173.     machines after 1.2), the xcon vector table is used, and only trap 14 is
  174.     used  to  receive Rsconf() calls.  Under Bconmap() compatiable systems,
  175.     bconmap  (port  6)  and  xcon  vectors  are  modified  so  that no trap
  176.     interception is necessary.
  177.  
  178.         Other  software  can be used to lock or unlock the serial routines.
  179.     To  perform  this function, look in the cookie jar for a 'MDSa' cookie.
  180.     The long data byte is a pointer to the following data structure:
  181.  
  182.     struct {
  183.          int  lockfg;        /* RTS/CTS locked flag (bit 1 = locked) */
  184.          int  (*setlock)();  /* Routine to set lock status           */
  185.          char bcon[6];       /* Flag for following table = "BCON"    */
  186.          int  (*auxistat)(); /* AUX port input status routine        */
  187.          int  (*auxin)();    /* AUX port input character routine     */
  188.          int  (*auxostat)(); /* AUX port output status routine       */
  189.          int  (*auxout)();   /* AUX port output character routine    */
  190.          long (*rsconf)();   /* Rsconf() routine for AUX port        */
  191.          struct *iorec;      /* Pointer to Iorec buffer              */
  192.     } serfx;
  193.  
  194.  
  195.  
  196.  
  197.  
  198.  
  199.  
  200.  
  201.  
  202.  
  203.  
  204.  
  205.  
  206.     The lock status is set by pushing an integer with the value of either 0
  207.     (to disable lock) or 1 (to enable) and then jsr'ing the setlock routine
  208.     (i.e.  (*serfx->setlock)(1)  to enable the lock).  The call can be made
  209.     in user or super mode.
  210.  
  211.     Direct  access  to  the ST compatible serial port.  This is intended to
  212.     provide  faster  access  to serial routines on systems running an older
  213.     version  of  TOS.   Access  to  the  routines  is the same as accessing
  214.     current Bconmap compatible routines.
  215.  
  216.  
  217.     WRAP UP
  218.  
  219.         As  normal,  PLEASE  let  me know if you have any problems with the
  220.     program.  I have attempted to make the program as compatible with other
  221.     software as possible.
  222.  
  223.     Bill Penner
  224.     3235 Wright Avenue
  225.     Bremerton, WA  98310-4753
  226.  
  227.     Phone: (206) 373-4840 (before 9pm Pacific)
  228.     GEnie: BPENNER
  229.  
  230.  
  231.     CHANGES SINCE VERSION 1.0
  232.  
  233.         Two  bugs  that  were  discovered were fixed.  Both bugs would only
  234.     occur  if  no  cookie  jar  was  found.  One bug resulted in creating a
  235.     cookie  jar  that  was  full of garbage and the other would not build a
  236.     cookie  jar.  The second bug was the more common, which would result in
  237.     the  CPX  reporting  that  the  program  was  not  loaded.  Running the
  238.     SERIALFX.PRG program a second time often worked to fix the problem.
  239.  
  240.     CHANGES SINCE VERSION 1.1
  241.  
  242.         Two  more  bugs  were  found that prevented the software from being
  243.     loaded  on  some  systems and a couple of obscure problems were fixed.
  244.     SERPATCH  and TOS14FIX routines have been incorporated to make SERIALFX
  245.     a  universal patch.  A new vector table was added for people who wanted
  246.     to  have  faster access to the original ST serial port so that software
  247.     can  directly  interface to the serial routines (as with newer versions
  248.     of  TOS)  to  bypass  the  overhead  in  exception  vector  execution.
  249.     SERFX20.PRG replaces the older SERIALFX.PRG.
  250.  
  251.  
  252.  
  253.  
  254.  
  255.  
  256.  
  257.  
  258.  
  259.  
  260.  
  261.  
  262.  
  263.  
  264.  
  265.