home *** CD-ROM | disk | FTP | other *** search
/ kermit.columbia.edu / kermit.columbia.edu.tar / kermit.columbia.edu / cpm86 / c86xaa.txt < prev    next >
Text File  |  1988-08-15  |  6KB  |  135 lines

  1.  
  2. The version of Kermit implemented under the CP/M-86 operating system
  3. is called Kermit-86 (as is the MSDOS/PCDOS version).  The source file
  4. names all start with the prefix "86".
  5.  
  6. There are six machine-independent source modules in Kermit-86, and
  7. one machine-dependent module which is implemented separately for each
  8. machine supported.
  9.  
  10. The machine-independent modules are:
  11.     86KERMIT.A86    - top-level routines and system messages & prompts
  12.     86KERCMD.A86    - command parser
  13.     86KERFIL.A86    - send and receive local file handlers
  14.     86KERPRO.A86    - send and receive state table and protocol handler
  15.     86KERTRM.A86    - terminal mode routines
  16.     86KERUTL.A86    - CP/M-86 functions and utility routines
  17.  
  18. The machine-dependent module is:
  19.     86KERIO.A86    - idiosyncratic port and screen handlers
  20.  
  21. Currently the only two machines supported are the DEC Rainbow and the NEC
  22. Advanced Personal Computer (APC).  The machine-dependent code for these
  23. systems are in the files:
  24.     86KERIO.APC    for the NEC APC
  25.     86KERIO.RB    for the DEC Rainbow.
  26.  
  27. When implementing Kermit on your system, download all the machine-independent
  28. modules and the 86KERIO module for your system.  Then perform the following
  29. procedure to assemble a new command file.
  30.  
  31.     REN 86KERIO.A86=86KERIO.???    ; Where ??? represents your system
  32.     ASM86 86KERMIT $PZ        ; Assemble the source with no listing
  33.     GENCMD 86KERMIT            ; Generate a CMD file
  34.     REN KERMIT.CMD=86KERMIT.CMD    ; Make the CMD file real
  35.  
  36. Some of this work may be done for you already.  The H86 and CMD files for
  37. the Rainbow are available as RBKERMIT.H86 and RBKERMIT.CMD, and the APC
  38. files are available as APCKERMIT.H86 and APCKERMIT.CMD.  If you are able
  39. to download the H86 file, then you need only perform the last two steps.
  40. If you can do binary command file transfer, then you can obtain the CMD
  41. file directly and need only perform the final renaming step to make your
  42. Kermit operational.
  43.  
  44.  
  45. The system dependencies in the 86KERIO file take several forms.  The major
  46. difference between machines is the location and operation of the communication
  47. port.  The other main difference is the method of screen control and
  48. cursor positioning employed.  If there is to be terminal emulation performed,
  49. then that code should also be placed in this module.
  50.  
  51. Much effort has been made to isolate the major portion of Kermit from these
  52. dependencies, so that all operations are performed by calling machine-dependent
  53. routines according to a specified interface.  The routines that are required
  54. to be present in the 86KERIO module are:
  55.  
  56. * For port handling *
  57.  
  58. prtout - sets the parity bit if necessary and outputs the character in AL
  59.     to the currently selected serial port.  All registers are preserved.
  60.  
  61. instat - returns to the "skip" location (3 bytes following its call) if
  62.     a character is ready to be read from the currently selected serial
  63.     port, otherwise simply returns.  All registers are preserved.
  64.  
  65. inchr - returns in AL the next character read from the currently selected
  66.     serial port.  All other registers are preserved.
  67.  
  68. cfibf - clears the serial port input buffer, to get rid of extra NAK packets
  69.     and other random garbage.  All registers are preserved.
  70.  
  71. prtbrk - signals a break on the currently selected serial port.  No registers
  72.     are preserved.
  73.  
  74. serini - performs all system-dependent initialization of interrupt vectors,
  75.     port characteristics, and screen handling.  No registers are preserved.
  76.  
  77. serfin - performs de-initialization to clean up the environment when leaving
  78.     Kermit.  No registers are preserved.
  79.  
  80. bdset - the SET subcommand to change baud rates on the serial port.  This
  81.     need not be implemented, and in fact is not on the Rainbow.  No
  82.     registers are preserved.
  83.  
  84. prtset - the SET subcommand to select the communications port for subsequent
  85.     use.  This is not currently implemented on either the APC or the
  86.     Rainbow.  No registers are preserved.
  87.  
  88. shobd - called from the SHOW routine to display the current baud rate value.
  89.     No registers are preserved.
  90.  
  91. shoprt - called from the SHOW routine to display the current port selection
  92.     value.  No registers are preserved.
  93.  
  94.  
  95. * For screen control *
  96.  
  97. poscur - positions the cursor to a specified row and column.  The offset in DX
  98.     points to two consecutive one-byte locations containing the new row
  99.     and column, respectively.  No registers are preserved.
  100.  
  101. clrscr - homes the cursor to row 1 and column 1, then clears the screen.  No
  102.     registers are preserved.
  103.  
  104. clrlin - returns the cursor to the left margin and clears the current cursor
  105.     line.  No registers are preserved.
  106.  
  107. clreol - clears from the cursor location to the end of the current cursor line.
  108.     No registers are preserved.
  109.  
  110. revon - turns on the reverse video attribute, if available.  No registers are
  111.     preserved.
  112.  
  113. revoff - turns off the reverse video attribute.  No registers are preserved.
  114.  
  115. bldon - turns on the bold or highlighting attribute, if available.  No
  116.     registers are preserved.
  117.  
  118. bldoff - turns off the bold attribute.  No registers are preserved.
  119.  
  120. dotab - positions the cursor to the next tab stop, blanking intermediate
  121.     columns.  Just return "skip" if the system hardware handles this when
  122.     a tab character is displayed, otherwise perform the necessary functions
  123.     and return.  No registers are preserved.
  124.  
  125. delstr - this is a string of bytes to be displayed during command entry
  126.     whenever a DEL character (7F hex) is keyed in.  Its net effect should
  127.     be to cause the DEL to act as if a backspace had been typed, that is,
  128.     to move the cursor left one column.  This string will vary depending
  129.     on whether the DEL character causes an echo to the screen.
  130.  
  131. system - this is a string of bytes to identify the system being used.  It
  132.     is displayed in the screen header followed by the string " CP/M-86
  133.     Kermit-86 - Vx.x"
  134.  
  135.