home *** CD-ROM | disk | FTP | other *** search
/ kermit.columbia.edu / kermit.columbia.edu.tar / kermit.columbia.edu / researchmachines / rmlinfdoc.txt < prev    next >
Text File  |  1985-07-10  |  33KB  |  720 lines

  1.  
  2. File RMKINFO.DOC
  3. ----------------            10th July 1985.
  4.  
  5.                     C. J. Kennington
  6.                     Research Machines Ltd.
  7.                     Mill Street
  8.                     OXFORD.
  9.  
  10.  
  11.  
  12.         Research Machines Kermit for 480Z & Nimbus    
  13.         ------------------------------------------
  14.  
  15.  
  16. 0.  Overview & Status
  17.     -----------------
  18.  
  19.      RM Kermit is an implementation of the KERMIT file-transfer protocol
  20. to run on RML 480Z and Nimbus computers.  Kermit is a file-transfer 
  21. system developed by the University of Columbia, New York, and implemented
  22. on a large number of both mainframe and micro computers.  It is fully
  23. described in the Kermit User Guide, a shortened version of which is included
  24. on this disk.  In the rest of this note, familiarity with the contents of
  25. the User Guide is assumed.  Complete copies of both the User Guide and the
  26. Kermit Protocol Manual are available from:
  27.  
  28.         Center for Computing Activities
  29.         Columbia University
  30.         New York,  N.Y.  10027
  31.  
  32. at $10 (ten dollars) apiece.
  33.  
  34.      RM Kermit used as a starting-point the (1983) C-coded version for Unix
  35. systems, published as an appendix to the Protocol Manual  The status of
  36. this is not "Public Domain", but "Copyright - freely available".  The status
  37. of RM Kermit is "Copyright Research Machines and U. of Columbia", but
  38. free permission is given to copy the binary version and use it.
  39. The high-level program (i.e. that part which is coded in C) is also made
  40. freely available, as requested by Columbia; the low-level routines which
  41. drive keyboard, screen and the various communications devices on 480Z and
  42. Nimbus are RML copyright, and may not be further distributed without
  43. permission from RML.
  44.  
  45.      RM Kermit Capabilities At A Glance:
  46.  
  47.     Local operation:            Yes
  48.     Remote operation:            No
  49.     User Interface:                Menu-driven
  50.     Transfers text files:            Yes (with CR/LF validation)
  51.     Transfers binary files:            Yes (image or prefixed)
  52.     Wildcard send:                Yes
  53.     ESC interruptions:            Many
  54.     Filename collision avoidance:        Yes (with filename validation)
  55.     Can time out:                Yes (fuzzy)
  56.     8th-bit prefixing:            Yes
  57.     Repeat count prefixing:            Yes
  58.     Alternate block checks:            No
  59.     Terminal emulation:            Yes (dumb)
  60.     Communication settings:            Most (depends on hardware)
  61.     Transmit BREAK:                Yes (fixed length)
  62.     IBM communication:            No
  63.     Transaction logging:            No
  64.     Session logging:            No
  65.     Raw upload/download:            No
  66.     Act as server:                No
  67.     Talk to server:                Yes
  68.     Advanced commands for servers:        Some
  69.     Local file management:            Yes
  70.     Handle file attributes:            No
  71.     Command/init files:            No
  72.     Printer control:            No
  73.  
  74.  
  75.  
  76. 1.  Hardware Supported and Program Versions.
  77.     ----------------------------------------
  78.  
  79.      RM Nimbus Kermit supports communications via the Nimbus Auxiliary Port
  80. in RS422 mode and via the Piconet Serial Interface Module.  Support for the
  81. RS232C Data Communications Controller will be added in due course.  For a note
  82. on connection of the RS422 port to RS232 equipment, see Appendix I.
  83.  
  84.      RM 480Z Kermit has been designed specifically to make use of the
  85. facilities of the Mark II 480Z (ROS level 2.?), but will run with a few minor
  86. imperfections on earlier 480Zs.  This version supports three quite different
  87. configurations.  On a Link-480Z connected to a Chain Network, without local
  88. disks, the communications-line is plugged into the SIO4 port on the back of the
  89. 480Z.  Where local disk units (MD1, MD2 or MQ2) are connected to the 480Z, they
  90. also use this port; the communications-line is therefore plugged into the SIO4
  91. port on the back of the Disk Unit ("IDC") and all communications are relayed
  92. by the processor in the IDC.  If both an IDC and Chain Network are in use,
  93. the port on the IDC is once again used but the program logic is different.
  94. Quite different code is used for driving the communications in these three
  95. configurations, and it is essential that the correct version of 480Z Kermit
  96. is loaded.
  97.  
  98.      RM Kermit will not run on 380Z, but a version for 380Z (double-density
  99. disk models only) is available from the Computer Centre at Oxford University.
  100.  
  101.      480Z Kermit consists of a single .COM module, whose name is:
  102.  
  103.             dKMITnn.COM
  104.  
  105.      Nimbus Kermit consists of a single .EXE module whose name is:
  106.  
  107.             cKMITnn.EXE
  108.  
  109. where:
  110.         d   =    I for IDC (local disks),
  111.             N for Network disks,
  112.             X for IDC and Network;
  113.         c   =   A for communications by Aux port (RS422),
  114.             P for communications via Piconet SIM (RS232C),
  115.             D for communications via DCC (RS232C);
  116.         nn  =   decimal part of version-number.
  117.  
  118. The versions current at the time this is written are IKMIT22.COM
  119. (480Z for local disks), NKMIT22.COM (480Z for network disks),
  120. XKMIT13.COM (480Z for both local and network disks), AKMIT22.EXE
  121. (Nimbus via Aux port) and PKMIT22.EXE (Nimbus via Piconet SIM). 
  122. 480Z silicon disk and shared disk systems have not been tested.
  123.  
  124.      The header information displayed when Kermit is loaded identifies
  125. the type of communications for which the version is designed.  You are
  126. advised to check this before proceding!
  127.  
  128.  
  129. 2.  Program Loading and Startup.
  130.     ----------------------------
  131.  
  132.      Kermit (the appropriate version) is loaded from disk in the normal
  133. way by a command such as:
  134.  
  135.             d:NKMIT21
  136.  
  137. When loaded, Kermit puts up a 4-line heading which identifies it
  138. and provides a display for monitoring file-transfer activity.  This
  139. display, with a divider underneath it, occupies the top 5 lines of the
  140. screen, leaving 19 lines for general use (20 on Nimbus).  An additional
  141. header is placed on lines 20-22 whenever command-mode is entered.
  142. Included in this second header is a field "Communications:", which will be set
  143. to either "Direct" or "via Disks" (480Z), "by Aux" or "via Piconet"
  144. (Nimbus), showing which version has been loaded.
  145.  
  146.     In the Nimbus Piconet version only it is necessary to select
  147. the piconet address of the SIM before the program proper starts;
  148. this can be in the range 1-8 (the recommended addresses for SIMs).
  149. The prompt for this address must be answered by a single digit or
  150. ENTER (which defaults to 1); invalid entries are rejected.  If the
  151. SIM is not found at this address, the program immediately aborts.
  152.  
  153.  
  154. 3.  Line-Speed and Performance.
  155.     ---------------------------
  156.  
  157.      480Z Kermit handles line-speeds from 75 to 19200baud; the same speed
  158. must be used both for transmission and receipt of data.  Nimbus Kermit will
  159. handle line-speeds from 110 to 9600baud via tha Aux port or 110 to 2400baud
  160. via the Piconet SIM.
  161.  
  162.      In the both versions, during CONNECT, data can be displayed on the screen
  163. at up to 1000 char/sec depending on the proportion of line-feed characters in
  164. the data.  Kermit's data-reception is buffered, so that if the screen falls
  165. behind the data received, it will catch up without data loss when the
  166. incoming flow pauses.  (The size of the receive buffer is 600 bytes; data
  167. will be lost if the screen falls this much behind.)  Flow-control by
  168. CTS/RTS, XON/OFF or ENQ/ACK is available on the 480Z version, but is not
  169. needed for running Kermit transfers.
  170.  
  171.      Net transfer rates during SEND and RECEIVE operations are about
  172. 60% of the basic line-speed, e.g. some 600 char/sec at 9600baud.  This
  173. performance will degrade if any debugging or listing display is switched
  174. on, or if the responses from the mainframe are less than prompt, or if
  175. there are delays in the connecting network.  Contention for the Winchester
  176. disks on an RML Network can also reduce throughput.
  177.  
  178.  
  179.  
  180. 4.  Facilities Supplied and User Interface.
  181.     ---------------------------------------
  182.  
  183.      RM Kermit is still under development.  The current (July 1985)
  184. version supplies the normal communications facilities of a local-only Kermit,
  185. but with an easy-to-use menu-driven interface for commands etc.
  186.  
  187.      Control of RM Kermit is by menus.  The main menu is displayed when the
  188. program is loaded, and again whenever any major activity is completed.  The
  189. various facilites of the program are listed, and a cursor shows which one is
  190. currently selected.  The up and down arrow-keys and F1 & F3 keys are used to
  191. move this cursor; help information is automatically displayed at the bottom
  192. of the screen.  When the desired facility has been selected, RETURN / ENTER
  193. causes it to be started.
  194.  
  195.      When any activity is complete, Kermit returns automatically to the
  196. main menu (in some cases after a RETURN has been entered, so that information
  197. on the screen is not wiped before it can be read).  At almost any time a
  198. precipitate return to the main menu may be caused by hitting the F4 key
  199. and entering K in response to the special prompt displayed; entering
  200. Q rather than K will cancel the Kermit program (after seeking confirmation).
  201. If a file-transfer is in progress, there may be a pause while this is
  202. suitably aborted in cooperation with the mainframe Kermit.
  203. In modes other than CONNECT, the ESC key has the same effect as F4.
  204. On Nimbus the F9 & F8 keys generate the character-pairs ESC K and ESC Q
  205. respectively, producing the same effects with a single keystroke.  In many
  206. modes, an isolated RETURN will also cause reversion to the main menu.
  207. Entering CTRL-C when any input is expected (e.g. file-names) usually
  208. causes cancellation of the immediate activity; it also cancels displays
  209. in disk-maintenance mode.
  210.  
  211.      When in CONNECT mode, all the normal keys (including ESC) and
  212. key-combinations will transmit the expected characters to the mainframe.
  213. In addition, F2 will send a TAB character.  The 4 arrow-keys (up, down,
  214. right & left) send control-characters 0bH, 0aH (LF), 18H and 08H respectively.
  215. DELT/DEL sends 7fH.  Most other special keys will send either nothing or
  216. character-combinations which are meaningless.
  217.  
  218.      Data transfers may be carried out in two ways.  If the remote
  219. mainframe is running a simple Kermit, this must be set to either
  220. send or receive files and the corresponding Receive or Send mode 
  221. then used on RM Kermit.  If the mainframe Kermit has server capability,
  222. it may be set going in this mode and RM Kermit then used in Commands to
  223. Server mode.
  224.  
  225.      The way in which data is handled depends on whether 7-bit, 8-bit-image
  226. or 8th-bit-prefixed mode has been selected (see below).  In 7-bit mode,
  227. all data is sent and received as 7-bit ASCII characters.  In image mode
  228. it is sent and received as 8-bit characters, but there is no guarantee
  229. that the communications path may not have altered the 8th-bit values
  230. en route; if this happens the received file is likely to be garbage, and
  231. no warning message will be given.  In 8th-bit-prefixed, special encoding
  232. is used to transfer the setting of the 8th bit of every character, but this
  233. slows down the transfer.  In general, for text files, 7-bit mode should be used.
  234. To transfer binary files image mode may be used with direct local
  235. communications; prefixed may be used over any communications path provided
  236. the mainframe Kermit will cooperate.  Both these last modes may require special
  237. instructions to be given to the mainframe Kermit.
  238.  
  239.      In 7-bit mode only, special processing is used on all incoming CR
  240. and LF characters, particularly CR/LF and LF/CR pairs to ensure that all
  241. lines of text are terminated by a CR/LF pair before being stored in the
  242. received file.  This is to avoid problems which have been encountered with
  243. mainframe systems which use different conventions to terminate lines in
  244. text files.  8-bit transfers are assumed to be binary and are stored as
  245. received.
  246.  
  247.      RM Kermit implements repeat-count-prefixing, which enables strings
  248. of repeated characters to be compressed in transmission.  This facility
  249. is always active but has to be accepted by the mainframe Kermit before
  250. it can be made use of.  Its use it may speed up transfers considerably,
  251. but does not affect the data received in any other way.
  252.  
  253.      On Nimbus, care must be taken with the "CAPS LOCK" and "NUM LOCK"
  254. keys.  These are "push-push" switches, i.e. they alter the overall state
  255. of the keyboard without remaining locked down or giving any other indication.
  256. The effect of the CAPS-LOCK should be obvious.  NUM-LOCK however nullifies all
  257. the special sequences which have been installed in the arrow and F keys; this
  258. is very inhibiting and non-obvious.  If the arrow and F keys are not responding
  259. as expected, try hitting NUM-LOCK!
  260.  
  261.  
  262. 5.  Help Systems & Confirmation.
  263.     ----------------------------
  264.  
  265.      The main & server-command menus display help-texts automatically.
  266. When in the parameter-setting menu, help may be obtained at any time by
  267. entering "?" (for specific help) or "H" (for general help).  Help on the
  268. possible F4 break-in actions may be obtained at (almost) any time
  269. by the sequence "F4 ?".  The amount of text displayed is limited since no
  270. separate help-file on disk is currently implemented.
  271.  
  272.      There are a number of points in controlling RM Kermit where action
  273. can be requested which is potentially catastrophic (e.g aborting a file
  274. transfer).  In these cases the query "Yes?" will be displayed.  If the
  275. user's response is "Y", "y" or RETURN/ENTER, then the action will be taken;
  276. any other character will prevent the action from being carried out.
  277.  
  278.  
  279.  
  280. 6.  CP/M & MSDOS File-Handling.
  281.     ---------------------------
  282.  
  283.      All names of files in CP/M and MSDOS are inherently upper-case.
  284. When using RM Kermit they may be entered in either upper or lower case
  285. and will be translated to upper before action is taken; similarly
  286. if lower-case characters occur in filenames received from the mainframe
  287. Kermit (which they should not), they will be converted to upper-case.
  288.  
  289.      Filenames under CP/M or MSDOS are of the format:
  290.  
  291.         d:name.ext
  292.  
  293. where:
  294.         d    =   disk-letter,
  295.         name    =   filename, 1-8 alphanumerics,
  296.         ext    =   extension, 0-3 alphanumerics.
  297.  
  298. If the extension is null, the dot preceding it is omitted.  All
  299. alphabetics are upper-case.  If the disk-letter is omitted, so is the
  300. colon following it; in this case the default-disk is used.  The name
  301. and extension normally consist only of letters, digits and "$"; although
  302. a few other special symbols are not illegal, their use is discouraged.
  303. (Under MSDOS only, the names of files whose extension is null may need
  304. to have the dot appended before MSDOS utilities will recognize them
  305. correctly.)
  306.  
  307.      Two wildcard characters are accepted whenever a filename is specified
  308. by the user.  A "?" in any position matches any valid character (including
  309. blank/null); a "*" is the equivalent of entering enough ?s to complete
  310. either the filename or the extension.  (In general neither CP/M nor MSDOS
  311. diagnose names which are too long; surplus characters are merely ignored.
  312. The Kermit name-input routines, however, do check for such overlong names.)
  313.  
  314.      In MSDOS the file may also have a "path"; in CP/M it may have a
  315. "user-number".  RM Kermit takes no account of these; the user must make sure
  316. that path or user number are correctly set before the transfers commence
  317. (which can be done in Disk-mode.)  Filenames are sent without disk-letters.
  318.  
  319.      Received filenames are processed to remove any disk-letter and ensure
  320. that they conform to this format.  Invalid characters are dropped (including
  321. special characters other then "$").  A single dot is accepted as terminating
  322. the filename and starting the extension.  For names (not including a dot)
  323. of between 9 and 11 characters, the first 8 characters are taken as the name
  324. and the next 1-3 as the extension.  Surplus characters (beyond 11) are dropped.
  325. If processing results in a null name, the file is stored as "INVALID.NAM".
  326. The same processing is applied to overriding names specified for files
  327. received, except that the disk-letter is respected.  If a disk-letter only 
  328. (which must be entered with its normal trailing colon) is
  329. given as an override, the incoming file is stored under its own name
  330. but on this disk.  If overriding names are entered but more files are sent by
  331. the remote Kermit than names entered, then the extra files will be stored
  332. under their received names.
  333.  
  334.      Filename collision avoidance (which ensures that an incoming file
  335. cannot overwrite an existing one of the same name without warning) is
  336. under control of the user.  By default, collisions are avoided, by
  337. modification of the incoming file's extension, in cases where a file of
  338. the same name already exists on the specified disk.  Alternatively, the
  339. File-Collision parameter may be changed to overwrite existing files,
  340. to reject incoming files which would cause collisions, or to query
  341. the user as to whether overwriting is permissible.  The modification is
  342. to replace the second character of the extension by "$" and/or to increment
  343. its last character by 1.  If the extension is null, this algorithm is
  344. applied to the last letters of the name; if extension or name is less than
  345. 3 characters long, it is extended to 3 characters before the modification
  346. is applied.  If the name after modification
  347. still matches an existing file, the same algorithm is reapplied to the
  348. modified name.  If after successive modifications the result is an invalid
  349. name (e.g. if the extension was originally .A$9 and the last character has
  350. been incremented to ":"), the transfer is refused.
  351.  
  352.  
  353. 8.  Parameter Setting and Displaying.
  354.     ---------------------------------
  355.  
  356.      All adjustable parameters may be inspected and set in Parameter Mode
  357. (entered from the main menu); the current and all possible values may be
  358. displayed.  A few of these parameters may also be set by low-level breakins.
  359. In the list below, if a key-letter is given, this is what is to be entered
  360. after ESC/F4 when breaking-in.
  361.  
  362.     Baud-Rate    Sets line-speed to one of the permitted values.
  363.     E    Local Echo    If ON, all characters sent in Connect Mode are
  364.               also displayed on the screen.
  365.     File Collision    See above for the meanings of the settings of
  366.               this parameter.
  367.     Flow-Control    Selects either no flow-control, or CTS-RTS,
  368.               of XON/OFF (Tandem), or ENQ/ACK, or combinations
  369.               of these.
  370.     8th-bit        If off, 7-bit characters are handled; if "image"
  371.               8-bit characters are sent and received
  372.               (image-mode); if "prefixed", then 8th-bit prefixing
  373.               will be attempted.
  374.     L    List/Debug    Normally set to display a dot for each good block
  375.               sent/received (and a letter for each bad block).
  376.               May be set OFF, in which case nothing is displayed
  377.               to show progress of the transfer; or may be set to
  378.               value 2 to list all data as it is sent/received
  379.               (this is not advised on binary files).
  380.               Extra settings (values 3-6) permit increasing
  381.               amounts of debug information to be displayed
  382.               on the screen as blocks are sent and received.
  383.     N    Slow-Network    If ON, steps are taken to discard any duplicate 
  384.               packets which may have been buffered by the
  385.               network.  This is OFF by default, since if it is
  386.               used with high-speed (back-to-back) connections
  387.               it may cause the loss of blocks of genuine data.
  388.     Packet-Size    Defines an overriding maximum to the size of packet
  389.               which will be sent or received.
  390.     Page-Wait    Normally OFF.  If set to a number of lines, then during
  391.               Connect or Disk-Utility Modes the screen will wait for
  392.               an input character (which is then discarded) after
  393.               every so many lines.  (The legend "[more]" is
  394.               displayed at the end of the last line, if there
  395.               is room, while waiting for this input.)
  396.         Parity        Defines the parity to be generated as 0 = none,
  397.               1 = odd, 2 = even, 3 = mark; applies to data sent.
  398.               (There is no provision to check the parity of
  399.               data received; this is stripped to 7-bit unless
  400.               image or 8th-prefixed has been set.)  For image
  401.               transfers, parity must be 0.
  402.  
  403.      In modes where loss of information is not likely to be caused, ESC-P
  404. also calls up the main parameter-setting menu so that any parameters may be
  405. changed.  Exit from this menu (by RETURN) picks up whatever activity was
  406. interrupted.
  407.  
  408.      On any particular version of RM Kermit, there will be parameters or values
  409. on the menu which are not implemented.  An attempt to use such a parameter
  410. results in a warning message and no other action.
  411.  
  412.  
  413. 9.  Other Break-Ins.
  414.     ----------------
  415.  
  416.      At most times either the F4 or ESC keys cause a break-in which
  417. interrupts the current activity; CTRL-C usually does the same; all
  418. other normal keys have no effect.  In Connect mode, only the F4 key
  419. causes a break-in, since ESC is a valid character to be sent to the
  420. mainframe (see above).
  421.  
  422.      As well as the parameters that may be set by break-in after F4,
  423. various other actions can be requested.  For any given mode, only some
  424. of them are valid; "F4 ?" at any time will show which are and are not
  425. currently possible.
  426.  
  427.      The possible actions, and the break-in key-letters which call 
  428. them, are:
  429.  
  430.         ?    -   Get Help
  431.     *   A    -   Abort current transfer
  432.         B    -   Send line-break, approx 1 second
  433.         C    -   Clear screen
  434.         F    -   Call "Front-Panel" (480Z only)
  435.         H   -   Get general Help
  436.         K   -   Return to Kermit Main Menu
  437.         P    -   Call Parameter-Setting Menu
  438.     *   Q    -   Quit - Cancel Kermit program
  439.         R    -   Enter Receive Mode
  440.         S    -   Enter Send Mode
  441.         T    -   Simulate Timeout / Send NAK
  442.         Z    -   Toggle DTR up/down
  443.  
  444.     *    these actions request confirmation before proceding.
  445.  
  446.      Note particularly that after F4 causes a breakin, all other activities
  447. (except interrupt-driven data reception) are inhibited.  If this is done
  448. during a file transfer, timeouts will occur; if the period of inactivity is
  449. prolonged, the transfer will probably abort.
  450.  
  451.      On Nimbus, the extra F-keys are programmed so that they send the
  452. following sequences:
  453.  
  454.         F5    `     back-quote character
  455.         F6    ESC S    enter Send mode
  456.         F7    ESC R    enter Receive mode
  457.         F8    ESC Q    Quit (after confirmation)
  458.         F9    ESC K    back to main menu
  459.         F10    ESC B    send Break
  460.  
  461. In addition, PG UP and PG DN are programmed to correspond with F1 & F3
  462. (up and down page), and END is also programmed as down page.  The pound-
  463. sign (shift-3), which sends a non-ASCII character when in its standard
  464. state, is reprogrammed to send back-quote (`).
  465.  
  466.  
  467. 10. Terminal Emulation.
  468.     -------------------
  469.  
  470.      In Connect Mode, RM Kermit does not attempt to emulate any particular
  471. screen-editing terminal.  Its responses to control-characters are a small
  472. subset of those defined for the 480Z in the RML Firmware Reference Manual.
  473. It is always in "scroll" mode, i.e. any attempt
  474. to write text beyond the right or bottom margin causes wrap-around and/or
  475. screen scrolling.  The cursor reponds to CR by inserting a newline (but
  476. special code traps CR/LF and LF/CR pairs so that each produces only a
  477. single newline).  The cursor moves up, down, right or left in response to 
  478. the characters transmitted by the arrow-keys (see above).
  479.  
  480.      It is assumed that if a substantial terminal session is required with
  481. a mainframe, the RML VT100 Terminal Emulator Program will be used rather
  482. than Kermit.
  483.  
  484.  
  485. 11. Disk Utility Mode.
  486.     ------------------
  487.  
  488.      This mode emulates (in a system-independent manner) the basic
  489. file-control functions of CP/M or MSDOS.  The commands available are:-
  490.  
  491.      *    CHAnge        -   Reset all disk drives;
  492.     DELete        -   Remove named files;
  493.     DIRectory   -   List file directory;
  494.     ERAse        -   synonym for DELete;
  495.     HELp        -   Print help-text;
  496.      *    REName        -   Rename one file to another;
  497.     TYPe        -   List a file on the screen;
  498.     UPAth        -   Show user environment;
  499.      *    USEr        -   Set user-number;
  500.     d:        -   Change default drive to "d";
  501.     ?        -   synomym for HELp.
  502.  
  503.      The starred functions differ between CP/M and MSDOS, and the action
  504. is altered to resemble that of the OS being used.
  505.  
  506.      Only the first 3 letters of each command need be entered.
  507.  
  508.      Wildcards (? = any character, * = any string of characters) are
  509. accepted, but since the code is emulating the OS they may not work in
  510. quite the same way.  Note that on a 480Z network system, wildcards take
  511. a considerable time to interpret.
  512.  
  513.      ERAse (DELete) lists all the files it proposes to delete and 
  514. requests confirmation before doing so.  Only one filename (possibly with
  515. wildcards) may be entered for a single ERAse.
  516.  
  517.  
  518.  
  519. 12. Sending Commands to Server-Kermits.
  520.     -----------------------------------
  521.  
  522.      If the mainframe Kermit is a "Server", it is capable of performing
  523. a range of activities on command from the local (micro) Kermit.  Commands
  524. of this nature may be sent if the item "Commands to Server" is selected
  525. on the RM Kermit Main Menu.  Since there are very many different mainframe
  526. Kermits, it may be necessary to consult the documentation or help-texts of
  527. the one being used in order to find out which server commands are accepted
  528. by it.  If an unacceptable command is sent, most server Kermits will
  529. return a sensible error-message.
  530.  
  531.      The commands which may be sent are shown on a "Commands to Server"
  532. menu.  This provides the following options:-
  533.  
  534.     a.      Kermit Commands.
  535.       ----------------
  536.        In this case a line of text entered by the user will be sent
  537.     to the mainframe Kermit for execution as though it had been
  538.     typed in (to the mainframe Kermit) when in Connect mode.
  539.  
  540.     b.      Mainframe Commands.
  541.       -------------------
  542.        In this case a line of text entered by the user will be submitted
  543.     by the mainframe Kermit to the mainframe Operating Sytem for action
  544.     as though it were a normal command to the OS.
  545.  
  546.     c.      Get Files.
  547.       ----------
  548.        In this case the line of text entered by the user should be a
  549.     list of files for the mainframe Kermit to send to the micro.  The
  550.     user should remember that wildcards (* & ?) will be sent to the
  551.     mainframe "as is"; whether this is useful depends on the mainframe
  552.     Kermit.
  553.  
  554.     d.      Send Files.
  555.       -----------
  556.        This is the equivalent of "Send Files" from the Main Menu,
  557.     and the list of files should be entered in the same way.
  558.  
  559.     e.      Cancel Mainframe Kermit.
  560.       ------------------------
  561.        This sends an error-message to the mainframe Kermit, which
  562.     should force it to abort and leave you connected to the
  563.     mainframe Operating System (in Connect mode).
  564.  
  565.     f.      Logout from Mainframe.
  566.       ----------------------
  567.        This sends a "BYE"  message to the mainframe Kermit, which
  568.     should cause it to disconnect you and terminate your mainframe
  569.     session.
  570.  
  571.     g.      Back to Main Menu.
  572.       ------------------
  573.        No message is sent to the mainframe; RM Kermit returns
  574.     to the Main Menu to permit further actions.
  575.  
  576.     h.      Terminate Kermit Run.
  577.       ---------------------
  578.        No message is sent to the mainframe; RM Kermit is cancelled
  579.     and control returns to CP/M or MSDOS.
  580.  
  581.      The last 4 actions do not require any additional input from the user.
  582. The user input to "Send Files" consists of filenames as known to the micro.
  583. For the first three actions, the text input by the user will be sent to
  584. the mainframe Kermit without any editing at all; its format must therefore
  585. be exactly what the mainframe requires, and this will differ according to
  586. the make of mainframe and type of server-Kermit running on it.  For details,
  587. reference should be made to the documentation of the mainframe Kermit.
  588. (Note particularly that text will be sent in upper or lower case as entered;
  589. this is highly significant to certain mainframes.)
  590.  
  591.      The first two actions may be expected to generate a smaller or greater
  592. amount of data in reply.  This is displayed on the 480Z/Nimbus screen.  It
  593. is not buffered on disk, so if it is held up by paging, the mainframe Kermit is
  594. likely to time out.  A risk of cancellation of the whole mainframe session
  595. exists if this output is held up for more than a minute or so.
  596.  
  597.      (These facilities have not been subject to the same amount of testing
  598. as the Connect-Send-Receive facilities; reports of bugs, omissions or problems
  599. would be very welcome.)
  600.  
  601.  
  602. 13.  Adaptation of RM Kermit.
  603.      -------------------------
  604.  
  605.      RM Kermit has been produced to run on the 480Z and Nimbus micros,
  606. under CP/M and MSDOS respectively.  The C-code which controls the overall
  607. program behaviour is however not believed to depend on specific hardware and
  608. could be adapted to run on other systems.  RML will permit the code to
  609. be used for this purpose (since it is a fundamental principle of the
  610. Kermit world that all Kermit code is to be made freely available),
  611. but are not in any way liable for anything which may result from such actions.
  612. The way in which this code interfaces to the low-level routines which
  613. drive the keyboard, the screen and the communications port in a way is
  614. defined in file RMKIFACE.DOC.  Techniques and tools for handling the code
  615. and modules of RM Kermit are described in file RMKGEN.DOC.
  616.  
  617.  
  618.  
  619.                     Chris Kennington.
  620.  
  621.  
  622.  
  623.  
  624.                 Appendix
  625.                 --------
  626.  
  627.         Connection of Nimbus RS422 Port to RS232 Equipment.
  628.         ---------------------------------------------------
  629.  
  630.      RS232 & RS422 use different signalling systems and voltage levels, but
  631. in practice most RS232 equipment will connect to and function with the
  632. Nimbus RS422 port.  An interworking standard is in fact defined in an
  633. annexe to the ISO specifications.  RS232 voltages are higher than RS422
  634. ones, so there is little likelihood of damage to an RS232 equipment by
  635. connecting it to Nimbus' RS422 port (provided that the connections are
  636. not inadvertently miswired).  Nimbus itself is considered to be relatively
  637. robust.
  638.  
  639.      The RS422 port on Nimbus uses a small 6-wire "Bell" connector and a
  640. standard flat 6-wire cable.  This is fully described in RML documentation,
  641. but not all cables/connectors comply with the description.  The rest of
  642. this appendix assumes that the cable is inserted into the connector so
  643. that the blue wire is on the left, with the other 5 in the order
  644. yellow, green, red, black, white.  This is as viewed with the plastic
  645. spring on your side of the connector, and the cable coming out of the 
  646. bottom of the connector.  If the cable has been inserted the other way
  647. round (and it is a 50/50 chance), then the following colour-interchanges
  648. should be (mentally) performed:
  649.  
  650.         blue        <===>    white
  651.         yellow        <===>    black
  652.         green        <===>    red    
  653.  
  654.      The Nimbus RS422 provides only two signals, each using two wires.  In
  655. principle these may be used to provide a simplex data channel (either sent or
  656. received) with a flow-control handshake in the opposite direction, or a
  657. duplex data-channel with no handshake or control signals.  It is this
  658. limited full-duplex mode which is used by Kermit.
  659.  
  660.      Different pinning-out of the wires in the connecting cable is required
  661. for the three different modes of use.  The duplex connection is provided if
  662. a standard Nimbus bell plug and 6-wire cable is connected to an RS232 25-pin
  663. plug with the following colour-coding:
  664.  
  665.         Green    -   Tx, RS232 pin 2
  666.         Red    -   Rx, RS232 pin 3
  667.         Yellow )
  668.         White  ) -  Both paralleled to RS232 pin 7
  669.  
  670. This is for a cable to a DCE (modem), i.e. no crossover of the data wires.
  671. If connection to another DTE (e.g. another micro) is required, the Tx & Rx
  672. wires should be crossed over.
  673.  
  674.      The other two wires carry the power-supply used in Piconet mode and
  675. should be left disconnected.
  676.  
  677.  
  678.  
  679.  
  680.             Appendix II
  681.             -----------
  682.  
  683.            Current Restrictions.
  684.            ---------------------
  685.  
  686.      There are a  number of restrictions and infelicities in
  687. the current version of the program.  Among those known are:-
  688.  
  689.   a.  The 480Z IDC-version cannot hold DTR high during a disk transfer;
  690.     the connecting cable must be wired to hold DTR high at the
  691.     modem/mainframe/switch if this is needed.  The Nimbus Aux
  692.     version handles no control-lines at all.  The control-line
  693.     handling of the Nimbus Piconet version is not yet validated.
  694.   b.  There are no facilities for half-duplex or split-speed working.
  695.   c.  A few disk I/O errors (e.g. file locked) are not trapped effectively.
  696.     On 480Z, either NDOS error-messages are displayed,
  697.     or the Kermit program fails and returns control to CP/M.
  698.     Under MSDOS, normal disk-error messages appear (in a different
  699.     colour), but normal Kermit activity resumes if and when the
  700.     problem has been solved.  An extreme case of undiagnosed
  701.     disk problems is that if the receiving disk is removed from
  702.     a 480Z in mid-transfer, no error is sent to the mainframe.
  703.   d.  If a Mark I 480Z is in use, block-graphics characters are displayed
  704.     in place of inverse-video ones at a few points.
  705.   e.  RML Kermit cannot act as a server.
  706.   f.  Flow-control is not yet implemented on Nimbus Kermit.
  707.   g.  The Piconet SIM generates errors when receiving data at 4800baud
  708.     or above; it can transmit data (and receive the ACK/NAK packets)
  709.     at up to 9600baud.
  710.   h.  Nimbus Kermit uses code for communications which is not yet
  711.     integrated with the MSDOS drivers.  After running Kermit it
  712.     is necessary to reload MSDOS by CTRL-ALT-DEL; this should be
  713.     done before attempting to load another program, otherwise it
  714.     will be necessary to switch off the Nimbus power-supply to
  715.     regain control.
  716.  
  717.  
  718.     ********************************************************
  719.  
  720.