home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / old / ckermit5a190 / ck9ker.bwr < prev    next >
Text File  |  2020-01-01  |  7KB  |  132 lines

  1. CK9KER.BWR          "Beware File" for C-Kermit Version 5A        -*- text -*-
  2.  
  3.                   OS-9/68000 VERSION
  4.  
  5. Applies to 5A(188)
  6. Last update: Tue Dec  1 10:04:37 1992
  7.  
  8. Author: Christian Hemsing, Technical University of Aachen, Germany.
  9.         E-Mail: chris@lfm.rwth-aachen.de
  10.  
  11.   Copyright (C) 1985, 1992, Trustees of Columbia University in the City of New
  12.   York.  Permission is granted to any individual or institution to use this
  13.   software as long as it is not sold for profit.  This copyright notice must be
  14.   retained.  This software may not be included in commercial products without
  15.   written permission of Columbia University.
  16.  
  17. Report problems, suggestions, fixes, etc, to Frank da Cruz:
  18.  
  19.  Internet: fdc@watsun.cc.columbia.edu  (or)  fdc@columbia.edu
  20.  BITNET/EARN: FDCCU@CUVMA
  21.  
  22. Columbia University Center for Computing Activities
  23. 612 West 115th Street, New York, NY  10025  USA
  24.  
  25.  
  26. DOCUMENTATION
  27.  
  28. C-Kermit 5A is documented in the book "Using C-Kermit" by Frank da Cruz
  29. and Christine M. Gianone, Digital Press, Burlington, MA, USA.  Digital
  30. Press ISBN: 1-55558-108-0; Prentice-Hall ISBN: 0-13-037490-3.  Price: US
  31. $34.95.  In USA, call DECdirect at 1-800-344-4825, refer to order number
  32. EY-J896E-DP.  Available: January 1993.
  33.  
  34.  
  35. KNOWN BUGS AND LIMITATIONS
  36.  
  37. OS-9 C-Kermit has not yet been tested with OS-9000.  It is expected that some
  38. work will be necessary to make it run there (particularly on non-680x0
  39. processors), if for no other reason than that the program depends on a small
  40. 68000 assembly-language module (ck9asm.a) for items like signals, alarms, and
  41. sending BREAK.
  42.  
  43. SET FILE DISPLAY FULLSCREEN only works for VT100 and compatible terminals,
  44. emulators, and/or console drivers.  If it doesn't work for you, please use
  45. one of the other FILE DISPLAY styles, such as CRT.
  46.  
  47. During text-mode file transfer, linefeed characters are converted to
  48. carriage returns.
  49.  
  50. Unlike UNIX, OS-9/68000 has a built-in method to gain exclusive access to
  51. devices, so no lock files are needed.  The user will be told if the device is
  52. already in use.
  53.  
  54. 1)  Setting the speed of the communications line:
  55.  
  56.     With OS-9 there are two different ways to set the line speed which
  57.     need a little discussion.
  58.  
  59.     a) Assumption: you have a properly implemented driver for your teminal
  60.        lines.  This means that with any SS_Open and SS_Opt call to the driver
  61.        will check whether the speed has changed and will re-program the
  62.        hardware accordingly.  In this case everything is fine and kermit will
  63.        only have to do an _ss_opt call and the speed will be changed.  This is
  64.        what tmode does.
  65.  
  66.     b) Assumption (more likely): your driver does not check the speed change.
  67.        You could try to change the speed with the xmode command, close the
  68.        path currently open on it and reopen it again (xmode only modifies the
  69.        device descriptor in memory; NOT any currently existing path
  70.        descriptors).  But this won't help you much if your line was iniz'ed
  71.        before, because the driver's init routine will NOT be called again and
  72.        since the poorly implemented driver does not check the speed with an
  73.        SS_Open call the actual speed is not changed.  The only way is to have
  74.        the device not iniz'ed.  But this again might cause some problems:
  75.        again, a poorly implemented driver does not wait till output buffer
  76.        (the drivers!, not to be mixed up with the buffer e.g. setbuf(), works
  77.        on) is empty, before the termination routine runs.  So, when the device
  78.        was not iniz'ed and therefore the termination routine is called
  79.        everytime the last existing open path closes, characters might get lost
  80.        (e.g. a list file.name >/t3 on a previously not iniz'ed device often
  81.        will not show all characters on /t3 if the drivers termination routine
  82.        does not wait).  The best solution is to deiniz the device till there
  83.        are no interrupts running any more (with OS-9 V 2.3 and later use irqs)
  84.        then use xmode and iniz the device again.
  85.  
  86.     How to find out: let kermit change the speed (using _ss_opt) and see
  87.     wether the change worked.  Otherwise use the method mentioned above.  I
  88.     included the xmode version in kermit (which only works on non-iniz'd
  89.     line, but its use is strongly discouraged.  You can include the -dXMODE
  90.     option in the makefile to have this method used by kermit.
  91.  
  92.     Another problem could arise on a system with an installed memory
  93.     protection unit: if the device descriptor does not have public write
  94.     access, xmode cannot change the device descriptor unless you are
  95.     privileged.  In that case changing the speed with xmode from within kermit
  96.     will not work.  The _ss_opt (tmode) method works also with an installed
  97.     memory protection unit, because it acts only on the path descriptor (not
  98.     on the device descriptor) which is owned by the current user.  The best
  99.     solution is: already have or get or write a decent driver.
  100.  
  101. 2)  Setting raw mode on line: Again a remark: If you change XON/XOFF to 0 with
  102.     _ss_opt, the driver should wait until the output buffer is empty, because
  103.     if there is pending output the driver might receive an XOFF which will
  104.     result in an output halt.  Next time you change the mode with XON set to
  105.     0, and the driver will never start output again, because there is no XON
  106.     character anymore.  This might happen when you type the CONNECT command.
  107.     In this case kermit says something like "Connection thru blabla" and then
  108.     puts the terminal line in raw mode.  But your terminal might have sent an
  109.     XOFF (and shortly later an XON again), but the XON might be lost.  The
  110.     only way to circumvent this (unfortunately OS-9 currently offers no way to
  111.     find out whether the driver's output buffer is empty; there are many
  112.     situations when one would like to know that) is to wait.  If this happens
  113.     to you, edit ck9con.c to wait after the message.
  114.  
  115. 3)  Kermit now does an open with initial file size.  This prevents reception of
  116.     a long file to fail at the end because either the file has become too
  117.     fragmented or disk space is used up.
  118.  
  119. 4)  You can make the module (and its data requirements) a lot smaller by
  120.     adding certain compiler switches to the makefile like -dNODEBUG.
  121.     For the possible switches, read the file ckccfg.doc.
  122.  
  123. 5)  Sending a BREAK on a line is again a matter of the driver.  There is a
  124.     setstat call SS_Break, but again many carelessly implemented driver do
  125.     not support the call.  If there is no support, kermit will try to switch
  126.     to a lower speed for the BREAK, but again this may not work (see above).
  127.     Things would be much easier, if drivers were written more carefully.
  128.     One known device driver takes 5 hours (!) to return from the send-BREAK
  129.     code.
  130.  
  131. (End of CK9KER.BWR)
  132.