home *** CD-ROM | disk | FTP | other *** search
/ OS/2 Shareware BBS: 3 Comm / 03-Comm.zip / CKPM5X_S.ZIP / CKOPM.DOC < prev    next >
Text File  |  1990-05-29  |  15KB  |  299 lines

  1. Most recent changes fixes are described at the end of this document.
  2.  
  3.  
  4. Suppliment to the OS/2 Kermit manual.
  5.  
  6.  
  7. C-Kermit for the OS/2 Presentation Manager
  8.  
  9. Files
  10.  
  11.     The latest version of C-kermit for PM consists of two files. The
  12. Kermit executable and a .DLL file.  The .DLL file is not a dynamic
  13. link library as the extension might suggest.  Rather it is a font
  14. file.  This file sould be placed in a place referenced by the
  15. config.sys "libpath" parameter.  The executable should be placed
  16. somewhere in "PATH", or added to the program list.
  17.     Due to an idiosyncracy in the PM font loading procedure "libpath"
  18. is only used to search for the font file if no pathname and extension
  19. are supplied.  In this case the supplied extension is .DLL, not .FON
  20. as would seem sensible. Using a .FON extension causes the font not to
  21. be loaded.
  22.     The .DLL file contains a custom font used in displaying Tektronix
  23. graphics text.  It is much smaller than the usual system font to make
  24. it legible even when a smaller than full screen window is used.  The
  25. normal sized system font characters tend to overlap.  The Tektronix
  26. font was designed to be legible on a VGA screen, the spacings etc.
  27. still may not be correct on lower resolution devices.  (Anyone caring
  28. to submit a font for use with lower resolution devices should send
  29. the .FNT file to <ARMSTRONG@E11.PHY.BNL.GOV> - if anyone knows how to
  30. make a vector font file please let me know).  A vector font is not
  31. used as character drawing is EXTREMELY slow and the characters are
  32. extremly difficult to read.
  33.  
  34.     Since the original "kernel" mode OS/2 Kermit a number of new
  35. features have been added to the generic C-Kermit.  These include
  36. macros and a take file command language similar to that of MS-DOS
  37. Kermit.  These features will not be described in this suppliment.
  38.     Some new commands specific to OS/2 Kermit are the "SET TERMINAL
  39. TYPE" command and a number of "SET FLOW" commands. The syntax for
  40. these is shown below.
  41.  
  42.  
  43.                         New Commands
  44.         
  45.         SET TERMINAL TYPE    VT100   - VT100 emulation
  46.                              TEK4014 - Tektronix emulation
  47.         
  48.         SET FLOW ODSR ON             - Turn output DSR handshake ON 
  49.                       OFF            - Turn output DSR handshake OFF
  50.         SET FLOW IDSR ON             - Turn input DSR handshake ON
  51.                       OFF            - Turn input DSR handshake OFF
  52.         SET FLOW OCTS ON             - Turn output CTS handshake ON
  53.                       OFF            - Turn output CTS handshake OFF
  54.         (These commands correspond to the MODE ODSR, IDSR and OCTS
  55.         options)
  56.         
  57. A number of commands have been implimented as menu items.  At present
  58. there are more menu items displayed than implimented.  The
  59. "Terminal.." and "Communications..." menu items are implimented.  All
  60. of the "Log" menu items are implimented and the "Copy", "Paste",
  61. "Append" and "Copy and Paste" items in the "Edit" menu are
  62. implimented.
  63.  
  64. "Terminal..."
  65.  
  66. This displays a dialog which allows various terminal emulation
  67. characteristics to be modified.  This can be done at any time, i.e.
  68. in "Command line" mode, during "Connect" mode or during file
  69. transfer. Non of the terminal dialog parameters should affect file
  70. transfer.  The "Tektronix plot file format" refers to a dump file
  71. which is made while receiveing Tektronix graphics commands.  At
  72. present only the HPGL format is supported.  The dump file can be sent
  73. to a printer using the Shift-PrintScreen key combination.  This
  74. simply spawns a "PRINT" command, so it'll only do what "PRINT" does
  75. at the command line.  This happens to work for me, with 1.2 S.E., and
  76. an HP Laserjet with Plotter-in-a-Cartridge.  Tektronix output can be
  77. produced by logging the terminal session, editting out the garbage
  78. and printing the session log.  Selecting the WordPerfect or Tektronix
  79. file format will prevent the dump file from being made.
  80.  
  81. "Communications..."
  82.  
  83. This displays a dialog which allows various communications line
  84. parameters to be modified.  This can be done at any time, i.e.
  85. in "Command line" mode, during "Connect" mode or during file
  86. transfer.  
  87. ***** NOTE this will affect file transfer at present so must be *****
  88. ***** used with caution.                                        *****
  89.  
  90. The "Flow Control" options refer to the standard C-Kermit flow
  91. control options.  The ODSR, IDSR and OCTS options are referred to as
  92. "Handshake" as this is how the OS/2 manual refers to them.
  93.  
  94. "Log"
  95.  
  96. The "Log" menu items are fairly obvious.  I've no idea whether there
  97. is a convention for the various log extensions.  The ones shown are
  98. the ones I use.  Eventually there will be a listbox in the log dialog
  99. which will show files with the extensions shown - with the option to
  100. change it.  I will be using a similar dialog to run "Take files"
  101. eventually, these will have the default extension ".KER".
  102.     
  103. "Edit"
  104.  
  105. An area of the text screen i.e. the command line/VT100 window can be
  106. selected by positioning the mouse over the start of the region,
  107. pressing button 1 (usually the left button) and moving the mouse
  108. cursor to the end of the block.  The selected region will be
  109. highlighted.  Only the visible region can be selected.  The selected
  110. region can then be copied to the "clipboard" by selecting one of the
  111. "Edit" menu items.  Text in the clipboard can be transferred into
  112. Kermit by selecting the "Paste" item.  The function of the "Edit"
  113. copy items are;
  114.     "Copy"   Clears any text present in the clipboard and copies
  115.              the selected region into the clipboard.
  116.     "Append" Does not delete text already in the clipboard.  The
  117.              selected region is copied into the clipboard after any
  118.              text already present.
  119.     "Paste"  Enters any text in the clipboard into Kermit as if it
  120.              had been entered from the keyboard.  Carriage returns
  121.              are sent but not linefeeds (these cause problems with
  122.              Vax VMS editors!).  At low line speeds pasteing large
  123.              block of text can cause the error message "Keyboard
  124.              buffer not being emptied" to be displayed - at which
  125.              point the keyboard buffer starts to empty.  This is
  126.              because of a bug in the way the semaphore system works,
  127.              I think.  Anyway text does not seem to be lost.
  128.              NOTE There is no attempt made to truncate lines, at
  129.              present. Lines longer than 80 can lead to problems with
  130.              certain operating systems.  If pasting from the 1.2
  131.              System Editor ensure that the WordWrap mode was OFF
  132.              before  copying.  In WordWrap mode the System Editor
  133.              does not insert CRs or LFs at what appear to be the end
  134.              of lines.  This has caused me many problems.  It is not
  135.              a bug in the Kermit routines.
  136.     "Copy and Paste" 
  137.              Performs a "Copy" immediately followed by a "Paste"
  138.              
  139.     "Print graphics"
  140.              This uses the PM device independant
  141.              mechanism for printing, i.e. using whatever printer is
  142.              defined for the default spooler.  The function
  143.              used,PicPrint, is only available under OS/2 1.2 and
  144.              later I believe. During the printing process a metafile
  145.              called KERDEF.MET is created which is printed using
  146.              PicPrint.  These two names are what appear on the job
  147.              queue.  Once the print job appears on the job queue
  148.              KERDEF.MET can be deleted, on further printing can be
  149.              initiated.
  150.              
  151.     "Meta graphics"
  152.              Use this option to create a metafile containing the
  153.              current Tektronix emulation graphics.  The name of a
  154.              file is prompted for.  Metafiles are created using the
  155.              Helvetica vector font for the Tektronix text.             
  156.              
  157. Miscellaneous
  158.  
  159.     Undocumented features....
  160.         The marking system sometimes leaves highlighted sections
  161.         floating around.
  162.         No official means of aborting transfer, or a hung connection.
  163.         A hung connection can be broken by selecting the
  164.         "Communications..." menu item and clicking on "Enter" having
  165.         selected a different port.  This closes the current port and
  166.         tries to connect to the new port.
  167.         
  168.     Special keys.
  169.         The VT100 keypad is emulated by the PC numeric keypad as one
  170.         might expect.  The exceptions to this are PF1 and VT100
  171.         comma.  There is no equivalent to the comma and PF1 would be
  172.         the NumLock key.  I have experimented with using the NumLock
  173.         key but have found no way of controlling the NumLock state
  174.         from with in PM.  It is possible in kernel mode to turn
  175.         NumLock on and off (as shown by the NumLock light).  The
  176.         closest to success under PM is to do it once, thereafter
  177.         keyboard input to ALL PM programs is disabled!  So PF1 maps
  178.         to F2 and comma to F3.  F1 is used for help.  It doesn't even
  179.         generate a normal PM character press message.
  180.             
  181.             VT100 numeric keypad            PC Key
  182.             PF1                             F2
  183.             PF2                             Keypad /
  184.             PF3                             Keypad *
  185.             PF4                             Keypad -
  186.               1                             1
  187.               2                             2
  188.               3                             3
  189.               4                             4
  190.               5                             5 
  191.               6                             6
  192.               7                             7
  193.               8                             8
  194.               9                             9
  195.               0                             0
  196.               -                             Keypad +
  197.               ,                             F3
  198.               .                             Keypad .
  199.               Enter                         Enter
  200.               
  201.         With NumLock ON the numric keys generate the numeric
  202.         characters displayed on them.
  203.         
  204.         Shift-PrintScreen  Send the Tektronix dump file to the
  205.                            printer.
  206.         PrintScreen        Send a dump of the VT100 screen to the
  207.                            printer.
  208.                            
  209. Chris Armstrong 16-Apr-90
  210.  
  211. 06-May-90 Update
  212.  
  213. I finally discovered how to do PM graphics in a non-queue thread.
  214. It's not related to the presence of a queue of course, it just so
  215. happened that the boilerplate code used to kick off the queue thread
  216. contained the right function call without me realising it!  So the
  217. repaint now happens in a separate thread which means the PM doesn't
  218. "hang" when a Kermit with a complex Tektronix plot is resized etc..
  219. Resizing can be performed while a plot is in the process of being
  220. made without any ill effects (or none that I've detected - except
  221. that the redrawn lines seem to be thicker, which might be due to a
  222. rounding discrepancy in my scaling routines).  Resizing can also be
  223. preformed while the plot is in the process of redrawing.  This might
  224. sound obvious but it wasn't easy to achieve!
  225. I've retained the custom Tektronix font for Tektronix text as the
  226. vector fonts are not very readable at the dimensions required.
  227.  
  228.  
  229. The "Print graphics..." output should now include any text - in the
  230. default font.  For some reason I've not discovered the Gpi function
  231. used to select a vector font causes a memory protection violation
  232. when used with a presentation space associated with a printer device.
  233. The other routines work okay so I've simply omitted to select a font
  234. when printing.  Printing has yet to be converted to a separate thread
  235. so be prepared for a long period of inactivity when doing printing.
  236. I've tested the routines with an HP LASERJET II and it seems to work
  237. okay.  I tried using the driver for an HP 7475 and HP 7470 (plotters)
  238. and got some bizarre results.  The "kermit graph" appears on the
  239. print manger queue, says it's printing and disappears.  Nothing
  240. appears on the printer.  Then a continuous series of undefined
  241. "system" print jobs appear (I let it notch up 500 jobs before killing
  242. it).  Nothing ever makes it to the printer!  (HP Laserjet with
  243. Plotter cartridge).
  244.  
  245. The "Meta graphics..." now produces a metafile.  This is not
  246. performed by a separate thread yet and does take some time to
  247. complete.  The name of a meta file is prompted for - don't use an
  248. existing file as GpiSaveMetaFile refuses to overwrite an existing
  249. file.  PICDISPLAY (IBM OS/2 1.2) doesn't recognise the Tektronix font
  250. so the metafile uses the "Helvetica" vector font for Tektronix text.
  251.  
  252. All the menu items are implimented.  I gues that's how it might be
  253. marketed - I've removed the unimplimented menu items.  They require
  254. modifications to the kermit core source code which is currently in a
  255. state of flux.
  256.  
  257. Things to do....
  258. Having discovered how to make PM calls from non-queue threads some of
  259. the calls which currently have to be made by posting messages to the
  260. PM thread could be moved to the main kermit thread.  This mainly
  261. relates to the advanced VIO display calls. The Tektronix emulation is
  262. not limited by this system at present and it has advantages in terms
  263. of repainting the Tek plots.  However the VT100 emulation might be
  264. speeded up by moving the Vio calls back to the Kermit thread or by
  265. doing direct memory writes and posting buffer updates to the PM.
  266.  
  267. Put the "Print graphics..." and "Meta graphics..." routines in to
  268. threads separate from the PM queue thread.  This requires a system of
  269. semaphores to prevent printing whilst printing is in progress and for
  270. copying the current plot data so that screen updates do not affect
  271. the print or meta plots.
  272.  
  273. Some means of interupting the Kermit thread when it gets hung
  274. waiting for I/O on the comms ports.  The  serial port timeouts don't
  275. seem to work properly.
  276.  
  277. Some means for the PM thread to communicate dialog requests etc to
  278. the Kermit thread - especially the "Close" menu item which at present
  279. just closes down the whole process without warning the Kemrit thread.
  280.  
  281. Mouse click in VT100 mode sending cursor movement commands to bring
  282. the VT100 cursor to the mouse position.
  283.  
  284. Resolve the problem with the printer vector fonts.
  285.  
  286. And many more!!
  287.  
  288. C.P.Armstrong 10-May-90
  289.  
  290.     Printing is now carried out by a Presentation Manager function new to
  291. OS/2 1.2 called PicPrint.  This means printing is probably no longer
  292. possible under IBM OS/2 1.1.  This is no great disaster since 1.1 should
  293. be upgraded to 1.2.  Printing still does not work with the HP Plotter
  294. dirver, but I'm pretty sure that it's the driver at fault as
  295. PicDisplay behaves in the same way.
  296.     The "thicker" lines on resizing the plot have been corrected.
  297.     
  298. 29-May-90 C.P.Armstrong
  299.