home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / archives / trs80model1and3.zip / trsmitdoc.txt < prev    next >
Text File  |  1984-05-28  |  16KB  |  319 lines

  1. TRS-80 KERMIT
  2.  
  3.  
  4. Program: Stan Barber, Rice University developed from the CP/M-80 version by
  5. Bill Catchings and others.
  6.  
  7. Language: Z80 Assembler, compatable with M80 and EDAS from Mysosys
  8.  
  9. Version: 3.5 (adapted from that version of CP/M 80 Kermit)
  10.  
  11. Date: March 1984
  12.  
  13. Documentation: Stan Barber, Rice University
  14.  
  15.                 Summary of TRSDOS and TRSDOS-bases Operating Systems
  16.  
  17. TRSDOS (The Radio Shack Disk Operating System) has a large library of built
  18. in commands dealing with files, directory maintenance, device I/O, etc.
  19. Programs are also used for some functions on some TRSDOS-bases DOS's. Only
  20. those of major interest will be discussed here.
  21.  
  22. TRSDOS file specifications are of the form FILESPEC/EXT.PASSWORD:D, where:
  23.  
  24. FILESPEC        is the filename up to eight characters.
  25. EXT            is the file type, up to three characters.
  26. PASSWORD        is the password for that file.
  27. D            is a numerical drive specification (0-9).
  28.  
  29. Filenames, file types and passwords may contain letters and numbers, but the
  30. first character in each must be a letter. No special characters or spaces are
  31. allowed. All fields are optional except the filespec. Any field added must be
  32. preceeded by its special delimiter (/ for file type, . for passwords and
  33. : for drive specifications). Upper and lower case characters are equivalent.
  34.  
  35. Wildcard file-group specifications are supported on some of the TRSDOS-based
  36. DOS's but is not a standard feature. Consult your DOS manual for more specific
  37. information. It should be noted that TRSDOS has no concept of a default drive
  38. when no drive specification is given in the file specification. It will search
  39. for an existing file on all available drives before it will open a new file.
  40. Further, it will not open a file on a disk that is already full, instead it
  41. will generate a disk full error (if all disks in the system are full or write
  42. protected).
  43.  
  44. TRSDOS commands of interest include:
  45.  
  46. DIR :D [other options] lists the names of all visible files on the specified
  47. drive. If no drive is specified, some DOS's give the directories of all mounted
  48. drives. Some give the directory of the system drive (drive 0).
  49.  
  50. FREE gives statistics on disk usage.
  51.  
  52. KILL file removes the file from the directory and frees the space allocated to
  53. the file for reassignment.
  54.  
  55. LIST file lists the file on the display.
  56.  
  57. RENAME oldfile newfile changes the name of oldfile to newfile if newfile is a
  58. unique file name on that disk.
  59.  
  60. To duplicate files and disks, there are a variety of commands available. Which
  61. one is available will depend on the operating system you are using. A sampling
  62. is given below:
  63.  
  64. COPY file1 file2 will copy file1 and name the copy file2. If file2 exists, it
  65. will be replaced.
  66.  
  67. BACKUP :D :E will make a copy of the disk in drive D on the the disk in drive
  68. E.  In some DOS's, this is part of the COPY command (e.g. COPY :D :E or
  69. COPY 0 1).
  70.  
  71. FORMAT :D will format the disk in drive D. It will ready for any normal read or
  72. write operation following successful completion of this operation. This
  73. operation must be performed before use of a blank disk. Reformatting a
  74. previously formatted disk will cause all previously stored information to be
  75. lost. FORMAT is usually a program but on some DOS's, it is a part of the DOS
  76. command library.
  77.  
  78.  
  79.  
  80.                KERMIT-TRS80 Description
  81.  
  82. This implementation of the Kermit protocol is compatable with all DOS's
  83. available for the TRS80 Model I or Model III (and the Model 4 running in Model
  84. III mode).  It has been checked out under the following DOS's: TRSDOS 2.3
  85. (Model I), TRSDOS 1.3 (Model III), NEWDOS/80 V 2.0, LDOS 5.1.3, DOS+ 3.5 and
  86. VTOS 3.0 (Model I).
  87.  
  88. Since Kermit-TRS80 runs on a TRS-80, it is always local. The screen is
  89. contantly updated with the filename and the packet number, whether sending or
  90. receiving.  Kermit-TRS80 will also automatically translate file names to
  91. conform with the Kermit standard when sending and the TRSDOS standard when
  92. receiving. (This does not apply to the GET command.)
  93.  
  94. If despite the timeout capability, the transmission appears to be stuck (and
  95. you can tell that this has happened if the screen fails to change for a while)
  96. you can hit <ENTER> to have the micro do what it would have done on a timeout,
  97. namely NAK the expected packet to cause to foreign host to send it again (or,
  98. if the micro is sending, to retransmit the last packet).  Micro/Micro or
  99. Micro/IBM-mainframe transfers could require this kind of manual intervention.
  100.  
  101.  
  102. File transfers may be interrupted in several ways.
  103. [A reminder: Control characters are generated by holding down the Left-shift
  104. and the down arrow keys while striking the alpha key corresponding to the
  105. control character that you wish to generate.]
  106.  
  107. Control-C       This will return you to Kermit-TRS80 command level immediately,
  108.         so that you can connect back to the remote  system,  or  take
  109.         any other desired action.
  110.  
  111. Control-X       When  sending  a  file,  this will terminate the sending of the
  112.                 current file with a signal to the KERMIT on the other  side  to
  113.                 discard  what  it  got  so  far.  If there are more files to be
  114.                 sent, KERMIT-TRS80 will go on to the next one.  When
  115.         receiving a file, KERMIT-TRS80 will send a signal to the remote
  116.         KERMIT to stop sending  this file.  If the remote KERMIT
  117.         understands this signal (not all implementations of KERMIT
  118.         do), it will comply, otherwise the file will keep coming.  In
  119.         any case, the remote KERMIT will go on to the next file in the
  120.         group, if any.
  121.  
  122. Control-Z       Like  Control-X,  except  if a file group is being transmitted,
  123.                 this will stop the transmission of the entire group.  If only a
  124.                 single file is being transmitted, it is exactly like Control-X.
  125.  
  126. <ENTER>s
  127.                 If you type <ENTER> repeatedly Kermit-TRS80 will retry the
  128.                 current packet up to its retry limit (something like 16  times)
  129.                 and  then,  if  no  valid  response  was  received,  return  to
  130.                 Kermit-TRS80 command level.
  131.  
  132.  
  133.                               KERMIT-TRS80 COMMANDS
  134.  
  135. KERMIT-TRS80 uses the DECSYSTEM-20 keyword style command language.  Each
  136. keyword may be abbreviated to its minimum unique length.  "?" may be typed to
  137. request a menu of the available options for the current field at any point in a
  138. command.  This must be followed by an <ENTER>. If sufficient characters have
  139. not been typed to identify the current field uniquely, KERMIT-TRS80 will
  140. reprompt and allow you to continue from that point.
  141.  
  142. CONNECT Establish a "virtual terminal" connection to any host that may be  con-
  143.         nected  to the serial port, i.e. pass all typein to the serial port and
  144.         display all input from the serial port on the screen.  Also, emulate  a
  145.         DEC   VT52   to   allow  cursor  control,  screen  clearing,  etc.,  if
  146.         VT52-EMULATION is ON (see below), in which case  you  should  also  set
  147.         your  terminal type on the remote host to VT52.  The escape character
  148.         defaults to CTRL-underbar (which is generated by <CLEAR> on the
  149.         keyboard).  When you issue the CONNECT command, the micro will print a
  150.     message telling you how to get back.   The escape sequence is
  151.     generally an uncommonly-used control character, like CTRL-underbar or
  152.         CTRL-uparrow, followed by a single letter "command".
  153.  
  154.         C   Close Connection, return to Kermit-TRS80> command level.
  155.         S   Display Status of connection, but maintain remote connection.
  156.         ?   List available single-character commands.
  157.         0   (zero) Send a null (0) character.
  158.         ^_  (or whatever - a second copy of the escape character) Send the  es-
  159.             cape character itself to the remote host.
  160.  
  161. SEND filespec
  162.         Send  file specified by filespec to the remote Kermit.  The filespec
  163.         may not contain wildcards.
  164.  
  165. RECEIVE Receive file(s) from the remote Kermit.  Store  them  under  the  names
  166.         provided in the file headers supplied by the remote host.  If the names
  167.         aren't  legal,  use  as many legal characters from the name as possible
  168.         (see the description of SET FILE-WARNING below).   If  there's  a  con-
  169.         flict,  and FILE-WARNING is ON, warn the user and try to build a unique
  170.         name for the file.
  171.  
  172. GET filespec
  173.         When Kermit-TRS80 is talking to a Kermit Server on the host, you  may
  174.     include a file wildcard IF the host supports wildcards. The filespec
  175.     must be in a legal form for the HOST system.
  176.  
  177. LOG filespec
  178.         When CONNECTed to a foreign host as a terminal, log the  terminal  ses-
  179.         sion  to  the  specified  diskette file.  This functionality depends to
  180.         some extent on the remote host's ability to do XON/XOFF  flow  control,
  181.         and  does  not  guarantee a complete transcript (after all, that's what
  182.         the KERMIT protocol is for).  The log file is closed when  the
  183.         connection is closed by typing the escape character followed by the
  184.         single-character command "C".
  185.  
  186. BYE     When talking to a remote Kermit Server, this  command  shuts  down  the
  187.         server  and  logs it out, and also exits from Kermit-TRS80 to DOS
  188.     command level.
  189.  
  190. LOGOUT  Like BYE, but leaves you at Kermit-TRS80 command level.
  191.  
  192. FINISH  Like LOGOUT, but shuts down the remote server without logging  it  out.
  193.         Leaves you at Kermit-TRS80 command level; subsequent CONNECT commands
  194.     will put you back at host system command level.
  195.  
  196. SET parameter [value]
  197.         Set the specified parameter to the specified value.  Possible settings:
  198.  
  199.         WARNING ON (or OFF)
  200.                 Warn  user  of  filename  conflicts  when  receiving files from
  201.                 remote host, and attempt to generate a unique name by modifying
  202.                 the given one.  ON by default.
  203.  
  204.         VT52-EMULATION ON (or OFF)
  205.                 When connected as  a  terminal  to  a  foreign  host,  controls
  206.                 whether  the  TRS80  emulates  a VT52 or runs in "native mode".
  207.                 VT52 emulation is ON by default.
  208.  
  209.     DEBUGGING ON (or OFF)
  210.         When transmitting or receiving packets, controls whether the
  211.         packets are displayed on the local screen. Debugging is OFF by
  212.         default.
  213.  
  214.         LOCAL-ECHO ON (or OFF)
  215.                 When you CONNECT to a remote host, you must set  LOCAL-ECHO  ON
  216.                 if  the  host  is  half  duplex,  OFF  if  full duplex.  OFF by
  217.                 default.
  218.  
  219.         ESCAPE  Change the escape character for virtual  terminal  connections.
  220.                 Kermit-TRS80  will  prompt you for the new escape character,
  221.         which you type in locally.
  222.  
  223.         BAUD    Change  the baud rate of the communications port.  Type SET
  224.         BAUD followed by a question mark, and follow the directions.
  225.  
  226.         PARITY  Sets  parity  for  outgoing characters to one of the following:
  227.                 NONE, SPACE, MARK, EVEN, or ODD.  On input, if parity is  NONE,
  228.                 then  the  8th  bit is kept (as data), otherwise it is stripped
  229.                 and ignored.  The parity setting applies to both terminal  con-
  230.                 nection and file transfer.
  231.  
  232.         IBM ON (or OFF)
  233.                 Allow  the  transfer of files to and from an IBM mainframe com-
  234.                 puter.  This makes Kermit-TRS80 wait for the IBM turnaround
  235.         character (XON), ignore parity on input, add appropriate parity
  236.                 to  output, and use local echoing during CONNECT.  If you don't
  237.                 give this command, IBM mode is OFF.
  238.  
  239.         FILE-TYPE (ASCII/BINARY/DEFAULT)
  240.                 Tells KERMIT-TRS80 how to deal with the file being
  241.                 send/received. IT IS IMPORTANT to tell KERMIT if the
  242.                 is in ASCII when sending to a non-TRS80 KERMIT. DEFAULT
  243.                 is the same as BINARY in this version.
  244.  
  245.        BLOCK-CHECK-TYPE
  246.                 The options are:
  247.  
  248.                 1-CHARACTER-CHECKSUM
  249.                         Normal, default, standard 6-bit checksum.
  250.                 2-CHARACTER-CHECKSUM
  251.                         A 12-bit checksum encoded as two characters.
  252.                 3-CHARACTER-CRC-CCITT
  253.                         A 16-bit CCITT-format Cyclic Redundancy Check,  encoded
  254.                         as 3 characters.
  255.  
  256.                 The  2  and  3 character options should only be used under con-
  257.                 ditions of extreme line noise.  Many implementations of  KERMIT
  258.                 only support the single character checksum.
  259.  
  260.         PORT    Allows  you  to  switch  between different communication ports.
  261.                 This command is not available at this time.
  262.  
  263.         PRINTER ON or OFF.  Turns copying of CONNECT session to printer on  and
  264.                 off.  No attempt is made to do buffering or flow control; it is
  265.                 assumed printer can keep up. Printer is OFF by default.
  266.  
  267. DIR     Provides a directory for the specified drive. If no drive is specified,
  268.     the directory display will be as if you had entered the command from
  269.     DOS command level. See the discussion of DIR above.
  270.  
  271. KILL    This executes the DOS KILL command on the specified file.
  272.  
  273.                 Installation
  274.  
  275. Kermit-TRS80 is easily installed. Simply download the program KERMAKE/BAS
  276. (KERMAKE.BAS on the mainframe), enter BASIC, load and run the program.
  277. KERMAKE/BAS is in ASCII format and will keep a running checksum while creating
  278. KERMIT/CMD. If there was some error in the downloading process, you will be
  279. notified by the program when it attempts to make KERMIT/CMD. Once this
  280. process is complete, you will have a running version of Kermit-TRS80.
  281.  
  282.            Building Kermit-TRS80 from the Source.
  283.  
  284. The Source for Kermit-TRS80 is in seven modules. KERMIT/SRC is the main source
  285. module. It will call the other source files into the assembly as needed. If any
  286. system calls needed to be changed, they are defined here and all labels for
  287. system calls start with an @. This would be useful for assembling a version for
  288. the Model 4 or a version for a TRS-80 work alike that has some hardware
  289. differences (MAX-80, etc.). All serial I/O routines are in this section as
  290. well.
  291.  
  292. GET/SRC and SEND/SRC contain the code for the RECEIVE (GET) and SEND commands.
  293. XFER/SRC contains the common code used by RECIEVE and SEND. MORE/SRC contains
  294. code for the other commands (with two exceptions) described above. KILLDIR/SRC
  295. contains the code for the KILL and DIR commands.  This code would have to be
  296. modified for use on the Model 4. KERSTR/SRC contains the strings and storage
  297. area.
  298.  
  299. It should be noted that KERMIT/CMD loads into RAM at 7000H.  This avoids
  300. conflicts with the DOS overlays that may be called by invoking the DIR command.
  301. Assembly at a lower address is possible if other methods are used to call for a
  302. DIR. I chose this method to be compatable with as many DOS's as possible
  303. without writing code specific to each.
  304.  
  305.         Getting a binary copy of KERMIT-TRS80
  306.  
  307. If you wish to have a binary copy of KERMIT-TRS80, you can call the SOBBS
  308. TEST MODE at (713) 660-9252 to download an binary copy with KERMIT or the
  309. Chistensen (XMODEM) protocol. At the "First Name or User Number?" prompt,
  310. enter KERMIT. At the "Last Name?" prompt, enter KERMIT. At the "Password?"
  311. prompt, enter KERMIT (will not echo). Select G at the "Command>" prompt.
  312. Just follow the instructions given following that.
  313.  
  314. Stan Barber
  315. May 1984
  316.  
  317. (thanks to Frank da Cruz for the documentation for Kermit and Stan Hanks
  318. for the encouragement.)
  319.