home *** CD-ROM | disk | FTP | other *** search
/ kermit.columbia.edu / kermit.columbia.edu.tar / kermit.columbia.edu / trs80model4 / m4mit.nr < prev    next >
Text File  |  1986-10-21  |  60KB  |  1,874 lines

  1. .po 13
  2. .na
  3. .nh
  4. .LP
  5. .ND
  6. .NP
  7. .tl ''\fITRS-80 Model 4(p) KERMIT:   Version 5.2\fR''
  8. .sp
  9. .tl ''\fIFor Use Under TRSDOS 6.1 or Later\fR''
  10. .sp 2
  11. .IP \fIProgram\ by:\fR 19
  12. Gregg Wonderly Oklahoma State University, (gregg@okstate)
  13. rewritten from the original Model-4 KERMIT which was derived
  14. from the TRS-80 KERMIT done by Stan Barber, Rice University who
  15. modified the CP/M-80 version by Bill Catchings and others.
  16. .IP \fILanguage:\fR 19
  17. Z80 Assembler, compatible with M80 and EDAS from Misosys
  18. .IP \fIVersion:\fR 19
  19. 5.2
  20. .IP \fIDate:\fR 19
  21. Wed Oct 22 10:17:07 CDT 1986
  22. .IP \fIDocumentation\ by:\fR 19
  23. Gregg Wonderly
  24. .sp 2
  25. .NH
  26. Summary of TRSDOS 6.1
  27. .sp
  28. .PP
  29. \fITRSDOS\fR (The Radio Shack Disk Operating System)
  30. has a large library of built
  31. in commands dealing with files, directory maintenance, device I/O, etc.
  32. Programs are also used for some functions on some \fITRSDOS\fR-based DOS's.
  33. Model 4(p) KERMIT gives you access to all of the library
  34. commands of \fITRSDOS\fR versions 6.x via the LOCAL command.
  35. Issue the \fILIBRARY\fR command at \fITRSDOS Ready\fR to obtain a list.
  36. .PP
  37. \fITRSDOS\fR file specifications can be represented as a sequence of
  38. characters of the form
  39. .RS
  40. .sp
  41. FILESPEC/EXT.PASSWORD:D
  42. .sp
  43. .RE
  44. .IP \fIFILESPEC\fR 11
  45. is the filename up to eight characters.
  46. .IP \fIEXT\fR
  47. is the file type, up to three characters.
  48. .IP \fIPASSWORD\fR
  49. is the password for that file, up to eight characters.
  50. .IP \fID\fR
  51. is a numerical drive specification (0-7).
  52. .PP
  53. File names, file types and passwords may contain letters and numbers, but the
  54. first character in each must be a letter.  No special characters or spaces are
  55. allowed.  All fields are optional except the filespec.  Any field added must be
  56. preceded by its special delimiter '/' for file type, '.' for passwords
  57. and ':' for drive specifications.  Upper and lower case characters are
  58. equivalent.
  59. .NH
  60. TRSDOS Commands of Interest
  61. .sp
  62. .NH 2
  63. CAT PARTSPEC:D (OTHER OPTIONS)
  64. .sp
  65. .RS
  66. This command is specific to \fITRSDOS\fR version
  67. 6.2 and later.  It displays only
  68. the names of visible files on the drive specified, or all drives if
  69. no \fIpartspec\fR is given.  \fI(other options)\fR allows different formats
  70. and invisible as well as system files to be selected.  See the \fITRSDOS\fR
  71. manual for specifics
  72. .RE
  73. .NH 2
  74. DIR PARTSPEC:D (OTHER OPTIONS)
  75. .sp
  76. .RS
  77. DIR is common to all version of TRSDOS.  Versions after 6.1 replaced the
  78. DIR command with CAT, and changed the DIR command so that always
  79. produces a long listing.
  80. .RE
  81. .NH 2
  82. FREE :D
  83. .sp
  84. .RS
  85. Gives statistics on disk usage.  If D is present,
  86. it indicates a drive number, and only the
  87. statistics for the specified disk will be shown.
  88. .RE
  89. .NH 2
  90. REMOVE/PURGE FILESPEC (PARAMETERS)
  91. .sp
  92. .RS
  93. Remove the file(s) given by FILESPEC from the directory and frees the space
  94. allocated to the file for reassignment.  Purge allows PARTSPECs that
  95. specify groups of files.  With no PARAMETERS, PURGE prompts before
  96. deleting any file.  REMOVE requires a full filespec as the name of the
  97. file to remove.  REMOVE allows more than one filespec to
  98. be given on the command line.
  99. .RE
  100. .NH 2
  101. LIST FILESPEC (PARAMETERS)
  102. .sp
  103. .RS
  104. Lists the file on the display.  Parameters are described in the \fITRSDOS\fR
  105. manual in detail.  \fI(HEX)\fR is sometimes useful to display the hexidecimal
  106. values of the characters in a file.
  107. .RE
  108. .NH 2
  109. RENAME oldfile newfile
  110. .sp
  111. .RS
  112. Changes the name of oldfile to newfile, provided that newfile is a
  113. unique file name on that disk.
  114. .RE
  115. .NH
  116. Copying Disks and Files:
  117. .RS
  118. .NH 2
  119. COPY file1 file2
  120. .sp
  121. .RS
  122. Copies file1 and name the copy file2. If file2 exists, it
  123. will be replaced.
  124. .RE
  125. .NH 2
  126. BACKUP :D :E
  127. .sp
  128. .RS
  129. Makes a copy of the disk in drive D on the the disk in drive E.
  130. .RE
  131. .NH 2
  132. FORMAT :D
  133. .sp
  134. .RS
  135. Formats the disk in drive D.  The disk will be ready for any normal
  136. read or write operation following successful completion of this
  137. operation. This operation must be performed before use of a blank disk.
  138. Reformatting a previously formatted disk will cause all previously
  139. stored information to be lost.
  140. .RE
  141. .RE
  142. .NH
  143. Transfers without the KERMIT Protocol
  144. .PP
  145. Model 4(p) KERMIT adds
  146. 2 logical devices to the already resident devices.  These devices are
  147. used to access the communications port.  These devices,
  148. *FI (File Input) and *FO (File Output), can be used as the source, and
  149. destination of a copy command, respectively.  They make use of the status of
  150. the SET FLOW-CONTROL parameter, to send and receive data using the
  151. communications port.  For instance, say you are communicating with a computer
  152. that does not have KERMIT.  Say you also wish to transfer a file to
  153. this computer to do some further processing.  The normal method involves
  154. starting a program on the remote computer to collect the data into a file
  155. on that system.  On a VAX/VMS system, you might use the CREATE command to
  156. capture the file.  The following \fIKERMIT\fR commands will accomplish
  157. the transmition of a file in this case.
  158. .sp
  159. .RS
  160. OUTPUT CREATE MYPROG.DAT<CR>
  161. .br
  162. LOCAL COPY PROG/DAT *FO
  163. .RE
  164. .sp
  165. The KERMIT command, OUTPUT,
  166. will send the string "CREATE MYPROG.DAT<CR>" to the host.
  167. Let's say for now that this is sufficient to cause all future characters sent
  168. to the host to be placed into the file MYPROG.DAT on that system.
  169. The KERMIT command LOCAL is then used to invoke the \fITRSDOS\fR library
  170. command COPY.  COPY will copy the contents of the file "PROG/DAT" to the
  171. *FO device.  The driver for this device is part of the KERMIT program,
  172. and will take care of transmitting the data out of the communications
  173. port to the HOST.  If the HOST sends XOFF because DATA is arriving TOO
  174. fast, then the XON/XOFF option to the \fIKERMIT\fR command, SET FLOW-CONTROL,
  175. will allow the transfer to pause while the HOST catches up.
  176. You may wish to collect the contents of a file that is on another computer.
  177. If particular computer does not have \fIKERMIT\fR,
  178. you can use a series of commands similar to those listed below to
  179. retrieve the file.  It should be noted that the \fISESSION-LOG\fR
  180. can also be used to trap the contents of a file.
  181. For that very reason, this is only one of several possible ways
  182. to get a file from another computer that does not have \fIKERMIT\fR.
  183. .sp
  184. .RS
  185. OUTPUT TYPE MYPROG.DAT<CR>    
  186. .br
  187. INPUT TYPE MYPROG.DAT<CR><LF>
  188. .br
  189. LOCAL COPY *FI MYPROG/DAT:1
  190. .RE
  191. .PP
  192. It may help to
  193. clarify the use of the \fIOUTPUT\fR command, and the corresponding
  194. \fIINPUT\fR command.  If you use the \fIKERMIT\fR command \fICONNECT\fR to
  195. enter terminal mode, and then proceed to tell the host
  196. to type out a file, it may start sending data
  197. before you can escape back, and type the \fICOPY\fR command.
  198. This means that some
  199. of the data would be lost.  With \fIFLOW-CONTROL\fR set to \fIXON/XOFF,\fR
  200. and the remote
  201. host recognizing this fact, the previous commands would not allow any data
  202. to be lost.  The use of \fIINPUT\fR is only to remove the characters
  203. ECHOed by the
  204. host from the input buffer (The TEXT of the command
  205. "TYPE MYPROG.DAT").  If you are communicating with a half-duplex system
  206. in which \fIModel (4)p KERMIT\fR is echoing the
  207. characters typed on the keyboard, then the \fIINPUT\fR command
  208. need not be used.
  209. .sp 3
  210. .NH
  211. Control of File Transfers Using the KERMIT Protocol
  212. .sp
  213. .PP
  214. During the transfer of a file using either \fISEND\fR, or \fIGET\fR and possibly
  215. during the use of the \fIREMOTE\fR command, protocol operations may need to be
  216. aborted, or altered.  Several key strokes allow
  217. the user to control the protocol operations.  These are listed below,
  218. and are listed on the screen after issuing either the \fISEND\fR or \fIGET\fR
  219. commands.  The operation of the \fIREMOTE\fR command is purposefully silent.
  220. The key strokes are available to the user during \fIREMOTE\fR commands,
  221. for added flexibility.  This allows
  222. the user to cancel commands like \fIREMOTE TYPE\fR that may otherwise cause
  223. large amounts of data to be displayed for an extended amount of time.
  224. The valid key strokes are:
  225. .sp
  226. .IP \fIControl-F\fR 15
  227. During data transfers using the \fIKERMIT\fR protocol,
  228. \fIControl-F\fR will terminate the current transaction.
  229. If there are more files to transfer, the next transaction will be started.
  230. \fIModel 4(p) KERMIT\fR will send a signal to the remote \fIKERMIT\fR
  231. telling it to stop sending packets for the current transaction.
  232. If the remote \fIKERMIT\fR understands this signal
  233. (not all implementations of \fIKERMIT\fR
  234. do), it will comply, otherwise the transaction will continue.
  235. .IP \fIControl-B\fR
  236. Like  \fIControl-F\fR, except that if a group of files is being processed
  237. this will stop the entire group.  If only a
  238. single file is being \fISENT\fR or \fIRECEIVED\fR, \fIControl-B\fR
  239. behaves exactly like \fIControl-F\fR.
  240. .IP \fIControl-C\fR
  241. Aborts the protocol immediately.  This should be a last resort to
  242. stopping a transmission as it will leave the remote \fIKERMIT\fR in an
  243. unknown state.
  244. .IP \fIControl-E\fR
  245. Aborts the protocol after sending an ERROR packet to the remote \fIKERMIT\fR.
  246. .IP \fIControl-D\fR
  247. Toggles \fIDEBUG\fR mode \fION\fR and \fIOFF.\fR  This is helpful when
  248. trying to figure out why a particular host is unable to talk to
  249. \fIModel 4(p) KERMIT\fR.
  250. .IP \fI<ENTER>\fR
  251. If you type \fI<ENTER>\fR, \fIModel 4(p) KERMIT\fR will resend
  252. the current packet.
  253. .IP \fIControl-H\fR
  254. Displays the list of \fIKEYS\fR that you may press during a transfer.  I.E.
  255. the keys described above.  This is the same message that is printed when
  256. a SEND, GET, or RECEIVE command is issued.
  257. .sp 3
  258. .NH
  259. Model 4(p) KERMIT Commands
  260. .sp
  261. .PP
  262. \fIModel 4(p) KERMIT\fR uses a subset of the
  263. the \fIDECSYSTEM-20\fR keyword style command language.  Each
  264. keyword may be abbreviated to its minimum unique length.  "?" may be typed to
  265. request a list of the available options for the current field at any point in a
  266. command.  If insufficient characters have been typed to identify the
  267. current field uniquely, \fIModel 4(p) KERMIT\fR will display all
  268. available choices,
  269. and then reprompt to allow you to continue from that point.  If there are
  270. sufficient characters, then only a single choice will be displayed.  The
  271. following list of commands are available when using \fIModel 4(p) KERMIT\fR.
  272. .NH 2
  273. BYE
  274. .sp
  275. .RS
  276. When talking to a remote \fIKERMIT\fR Server, this command should shut down a
  277. remote server and terminate the login that you had there.
  278. \fIModel 4(p) KERMIT\fR will then exit to \fITRSDOS Ready\fR.
  279. .RS
  280. .sp
  281. NOTE: Due to some
  282. deviations from the specification, some systems do not perform exactly
  283. in this manner.  You should check the documentation of the \fIKERMIT\fR on the
  284. remote system in order to obtain the operation performed by this command.
  285. .RE
  286. .RE
  287. .NH 2
  288. CLEAR
  289. .sp
  290. .RS
  291. .NH 3
  292. INPUT-PORT
  293. .sp
  294. .RS
  295. \fIModel 4(p) KERMIT\fR uses the "Interrupt on received character available"
  296. feature of the COM/DVR communications line driver.  This driver is part of the
  297. standard software on your system diskette.
  298. All characters received via the interrupt vector, are placed in a 256 byte
  299. circular buffer.  This command clears all characters currently buffered.
  300. This is used most commonly with the INPUT, OUTPUT, PULSE, and PAUSE
  301. commands, none of which explicitly clear the input buffer.  YOU MUST DO
  302. THIS YOURSELF.  The execution of this command will \fInot\fR send
  303. an \fIXON\fR character to the communications port.  This is also left
  304. up to you to do.
  305. .RE
  306. .NH 3
  307. SCREEN
  308. .sp
  309. .RS
  310. As you would expect, this command clears the screen.
  311. .RE
  312. .RE
  313. .NH 2
  314. CLOSE
  315. .sp
  316. .RS
  317. .NH 3
  318. DEBUG-LOG
  319. .sp
  320. .RS
  321. Closes the file previously opened with the LOG DEBUG-LOG command.  If
  322. there is not a debug logfile active, then a message is printed telling
  323. you so.
  324. .RE
  325. .NH 3
  326. SESSION-LOG
  327. .sp
  328. .RS
  329. Closes the file previously opened with the LOG SESSION-LOG command.  If
  330. no file is open, you will be advised so.
  331. .RE
  332. .NH 3
  333. TRANSACTION-LOG
  334. .sp
  335. .RS
  336. Closes the file previously opened with the LOG TRANSACTION-LOG command.  As
  337. with the other logfiles, if a file is not currently open, then a message
  338. to that affect is printed.
  339. .RE
  340. .NH 2
  341. CONNECT (can be abbreviated to 'C')
  342. .sp
  343. .RS
  344. Establish a "virtual terminal" connection to any host that may be
  345. connected to the serial port, i.e. pass all typed characters
  346. to the serial port and display all input from the serial port on the screen.
  347. A two character sequence of characters is required to return the user to the
  348. \fIKERMIT\fR program.  An escape character must be typed followed by a 'c'
  349. (Case is \fInot\fR significant).
  350. The default <ESCAPE> character is entered by pressing the
  351. <SHIFT> key, and then and <CLEAR> key, while holding the <SHIFT> key down.
  352. Pressing '?'
  353. after the <ESCAPE> character will display a list of valid keystrokes
  354. that do helpful things during connect mode.
  355. The first time that
  356. you issue the \fICONNECT\fR command, a
  357. message will be displayed telling you what the <ESCAPE> character is.
  358. The <ESCAPE> character should generally be an uncommonly-used control character.
  359. The following characters are valid following the \fI<ESCAPE>\fR character,
  360. and generate specific actions.  The actions are described beside the
  361. character.
  362. .RS
  363. .IP \fIC\fR
  364. Return to \fIModel 4(p) KERMIT\fR command level.  The contents of the
  365. screen and
  366. the cursor location will be saved prior to displaying the \fIKERMIT\fR screen.
  367. When you reconnect to the \fIHOST\fR using the \fIKERMIT\fR command,
  368. \fICONNECT,\fR the old screen will be restored.
  369. .IP _?
  370. List available single-character commands, I.E. These commands.
  371. .IP \fIB\fR
  372. Send a TRUE modem break.
  373. .IP \fIR\fR
  374. Resume logging if file open, and <ESCAPE>Q was used
  375. previously to turn logging off.  See the \fILOG\fR command for more
  376. information.
  377. .IP \fIQ\fR
  378. Quit logging to file but leave it open.
  379. .IP \fI0\ (zero)\fR
  380. Send a null (0) character out the communications port.
  381. .IP \fI<ESCAPE>\fR
  382. Send the \fI<ESCAPE>\fR character itself to the remote host.
  383. .RE
  384. .RE
  385. .NH 2
  386. DIR partspec
  387. .sp
  388. .RS
  389. Produces a listing of the directory for "partspec".  If partspec is
  390. not given, than the directory will be displayed for the \fIDEFAULT-DISK\fR
  391. drive as established by \fISET DEFAULT-DISK\fR.
  392. .RE
  393. .NH 2
  394. EXIT
  395. .sp
  396. .RS
  397. Exit \fIModel 4(p) KERMIT\fR, and return to \fITRSDOS\fR.  Before the
  398. \fIKERMIT\fR program is terminated, all open files will be closed.  This
  399. includes the LOGFILES used for SESSION, TRANSACTION, and DEBUG logging.
  400. The *FO, and *FI devices will also be removed.
  401. .RE
  402. .NH 2
  403. ECHO
  404. .sp
  405. .RS
  406. This command echoes text given as an argument to the screen.  It can used
  407. in take files to put messages on the screen when TAKE-DISPLAY is OFF,
  408. although other uses are possible.
  409. .RE
  410. .NH 2
  411. FINISH
  412. .sp
  413. .RS
  414. Shuts down a remote server without logging it out.
  415. Leaves you at \fIModel 4(p) KERMIT\fR command level.
  416. A subsequent \fICONNECT\fR command will reconnect you to the
  417. remote host.  The \fIremote KERMIT\fR should return to the
  418. mode it was in prior to entering \fISERVER\fR mode.
  419. .RE
  420. .NH 2
  421. GET filespec
  422. .sp
  423. .RS
  424. Get allows you to retrieve files from a remote host.  Get works
  425. with either a \fISERVER\fR or a \fIKERMIT\fR that has initiated
  426. a \fISEND\fR command.  Filespec is a filename compatible with
  427. \fIthat\fR system.  When \fIModel 4(p) KERMIT\fR is talking to
  428. a \fIKERMIT\fR Server, you may include
  429. a filespec in a form legal to the \fIHOST KERMIT\fR.
  430. .RE
  431. .NH 2
  432. INPUT <control string>
  433. .sp
  434. .RS
  435. INPUT provides one of 4 commands that provide an automatic logon facility.
  436. INPUT allows
  437. you to watch for the occurrence of certain text strings that are made up
  438. characters arriving in the communications port.
  439. This is useful in \fITAKE\fR files that can automatically log you
  440. onto a certain system.
  441. .PP
  442. When \fIINPUT\fR in initiated, it begins matching
  443. characters in the input to those given in the control string.  When
  444. an exact match is found as established by the \fISET INPUT\fR options then
  445. \fIINPUT\fR will return to the \fIKERMIT\fR command level.
  446. If \fITAKE\fR is active
  447. than the next line of the \fITAKE\fR file will be read.  The Control string
  448. may be comprised of any printable \fIASCII\fR characters.  \fISPACE\fR
  449. must not occur as either the beginning or end of the string.
  450. .PP
  451. \fIASCII\fR character codes
  452. 0-32 are denoted as \fI<NUL>\fR - \fI<SPA>,\fR and \fI<DEL>\fR represents
  453. character 127.
  454. The string \fI<DLY*>\fR signifies an immediate delay.  The * should be replaced
  455. by a character.  The significance of the character is this.  Decimal 48
  456. is subtracted from the \fIASCII\fR value of the character to obtain the
  457. number of seconds to delay.  Thus, you can obtain delays
  458. 1-9 seconds, with no trickery.  Delays longer than that will have
  459. to be calculated since the formula (ASCII code - 48 decimal) is used
  460. to calculate the binary value to use as a counter.  The "*" should
  461. be replaced with the single proper ASCII character.
  462. .PP
  463. If you use \fI<DLY*>\fR in
  464. a \fIPULSE\fR command, it should be noted that it will only be done once.
  465. An alternative format for control characters is to explicitly type
  466. a carat ("^") preceding a character.  The result of subtracting
  467. 64 from the \fIASCII\fR code for the character following will then be
  468. used.  Since <, >, and ^ now have special meanings, you will need
  469. some way to specify them explicitly.  To do this you should precede
  470. them with a backslash, "\\", character.  In this case, backslash itself
  471. now must be represented as "\\\\".  Finally, any and all characters
  472. can be represented using a string of the form \\nnn where nnn is 1 or
  473. more octal digits.  nnn is evaluated, and the resulting value will
  474. be the ASCII value of the character.  Some examples might be:
  475. .sp
  476. .RS
  477. INPUT login:<SPA>
  478. .sp
  479. .RS
  480. Find the string "login:" followed by a space.
  481. .RE
  482. .sp
  483. INPUT <SPA>^M^Jenter \\\\userid\\\\:<CR><LF>
  484. .sp
  485. .RS
  486. Find the string with a space followed by a carriage
  487. return followed by a line feed followed by the text
  488. "enter \\userid\\:" followed by carriage return and another
  489. linefeed.
  490. .RE
  491. .sp
  492. INPUT USERNAME\\77\\40
  493. .sp
  494. .RS
  495. Find the string "USERNAME? ".  Note that \\77 is the \fIONLY\fR
  496. way that a question mark can be specified since a question mark is
  497. recognized by the command stream as a request for help.
  498. .RE
  499. .RE
  500. .sp
  501. While input is waiting for a match, you may type characters on the
  502. keyboard to be transmitted.  \fIBREAK\fR will abort the \fIINPUT\fR
  503. command and if \fITAKE\fR is active, close the take file.  \fIESCAPE\fR
  504. will abort the INPUT command, but will just skip to the next line in
  505. a \fITAKE\fR file, if \fITAKE\fR is active.  These same 2 actions apply
  506. to the \fIPULSE\fR command while no input has been received.
  507. .RE
  508. .NH 2
  509. KILL wildspec
  510. .sp
  511. .RS
  512. This command performs the task of deleting one or more files from
  513. disk.  \fIWildspec\fR is a wild card filespec that will be evaluated.
  514. All files that match the \fRwildspec\fR will be removed.  A \fIwildspec\fR
  515. may contain any characters valid is a TRSDOS filespec, plus zero or more
  516. occurances of the characters '*', and '$'.  These two characters
  517. have special meanings.
  518. .PP
  519. When comparing the \fIwildspec\fR with the
  520. name of a file, a '*' matches zero or more of the characters in the
  521. filename.  E.g.  If a file FOO/ASM is compared with '*/ASM', then it
  522. would match, because '*' can be thought of as 'FOO', and then '/ASM'
  523. is matched literally.  M4*/ASM matches M4MIT/ASM, M4XFER/ASM, M4SEND/ASM,
  524. and any other filename that begins with M4, and ends with /ASM.  The '$'
  525. character matches any single character.  This means that FILE$/DOC matches
  526. the filename FILE1/DOC, but not FILE1A/DOC.
  527. .PP
  528. A drivespec may be appended to the \fIwildspec\fR to force the search for
  529. matches to be restricted to a single drive.  An example might be M4*/ASM:1,
  530. which limits the matches to those file on drive 1.
  531. .PP
  532. Normally, only visible, nonsystem files are considered in the search.
  533. However, the inclusion of a parameter list containing either, or both of the
  534. keywords, INVIS or SYSTEM, will include invisible and/or system files.
  535. An example would be:
  536. .RS
  537. KILL (I,S) config/sys (I) backup/cmd
  538. .RE
  539. This example would cause \fIModel 4(p) KERMIT\fR to attempt to remove
  540. the two files listed.  Note that as this example shows, you must specify
  541. the parameters with each \fIwildspec\fR that you wish to apply them to, as
  542. they are nullified each time that a new \fIwildspec\fR is evaluated.
  543. Other examples are given in the description of the \fISEND\fR command.
  544. .RE
  545. .NH 2
  546. LOCAL <TRSDOS library command>  (Can be abbreiviated to L)
  547. .sp
  548. .RS
  549. This command allows you to issue commands from within
  550. \fIModel 4(p) KERMIT\fR.  You must remember where Model 4(p) KERMIT
  551. resides in memory, to assure that you do not overwrite it.  KERMIT
  552. loads at 6000H, and continues up through LOW$.  From within KERMIT,
  553. you can issue the command:
  554. .RS
  555. .sp
  556. LOCAL MEMORY
  557. .RE
  558. .sp
  559. to see where KERMIT ends.  The value of LOW$ tells you this information.
  560. KERMIT was placed at 6000H to allow most of the TRSDOS library
  561. programs and commands to work in conjunction with KERMIT.  Some commands
  562. extend above 3000H, and must have memory available up to approximately
  563. 5300H.  The COPY command creates a problem because it apparently tries
  564. to examine HIGH$ to see if there is space to load a large portion of
  565. the source file into memory before writing it to the destination.  This
  566. creates problems because KERMIT moves LOW$ up so that HIGH$ has a value
  567. that will allow additional high memory module to be loaded.  It is suggested
  568. that you not use COPY while KERMIT is running, as the machine may crash when
  569. COPY completes.  This is because it will have copied data into the KERMIT
  570. memory space.
  571. .RE
  572. .NH 2
  573. LOG
  574. .RS
  575. .NH 3
  576. DEBUG-LOG
  577. .sp
  578. .RS
  579. The debug log can be used to debug transfer problems that sometimes
  580. arrise when talking to a newly written KERMIT.  The information written
  581. to the DEBUG-LOG is nearly identical to that which is displayed on the
  582. screen when the command, SET DEBUG ON, is issued, or the CTRL-D key is
  583. pressed during a transfer.  This file can be closed explicitly with the
  584. \fICLOSE DEBUG-LOG\fR command.  The EXIT command also causes an implicit
  585. closing of this file.
  586. .RE
  587. .NH 3
  588. SESSION-LOG
  589. .sp
  590. .RS
  591. When CONNECTed to a foreign host as a terminal, this command establishes
  592. a log of the terminal session in the file specified.
  593. This function depends, to
  594. some extent, on the remote host's ability to do \fIXON/XOFF\fR flow control.
  595. Without \fIFLOW-CONTROL,\fR data may be lost when \fIKERMIT\fR writes to
  596. the file.  The log file is closed by explicitly
  597. typing the \fIKERMIT\fR command \fICLOSE SESSION-LOG\fR or implicitly when
  598. \fIKERMIT\fR is exited via the \fIEXIT\fR command.
  599. It will also be closed if an I/O error occurs in file processing for
  600. the file involved.  \fILOGGING\fR may be toggled on and off
  601. during \fICONNECT\fR using the sequence of keys described in
  602. the \fICONNECT\fR description.
  603. .RE
  604. .NH 3
  605. TRANSACTION-LOG
  606. .sp
  607. .RS
  608. The transaction log is used to keep a record of the files transfered
  609. during a KERMIT session.  The information includes whether or not
  610. the transaction was SENDING, or RECEIVING, the name of the
  611. file transfered, and the number of bytes involved in the transfer.
  612. .RE
  613. .RE
  614. .NH 2
  615. LOGOUT
  616. .sp
  617. .RS
  618. Logout tells a \fIremote kermit server\fR to terminate itself, as
  619. well as your login session.  When this is completed, you are left
  620. at \fIModel 4(p) KERMIT\fR command level.
  621. .RE
  622. .NH 2
  623. OUTPUT <control string>
  624. .sp
  625. .RS
  626. This is the other side of the \fIINPUT\fR command.  Control string follows
  627. the same conventions as in \fIINPUT,\fR and the resulting character(s) will
  628. be output to the communications port immediately.  It should be noted
  629. that \fINO\fR characters other than what you specify are transmitted.  In
  630. other words if you want to simulate typing some string, followed by
  631. pressing \fI<ENTER>,\fR then you will have to use a command similar to:
  632. .sp
  633. .RS
  634. OUTPUT mypassword<CR>
  635. .sp
  636. .RE
  637. .sp
  638. The \fI<CR>\fR will explicitly send the \fIASCII\fR
  639. character 13 to the communications port.
  640. .RE
  641. .NH 2
  642. PAUSE <number of seconds>
  643. .sp
  644. .RS
  645. This command is usually used in conjunction with \fIINPUT,\fR
  646. \fIOUTPUT,\fR and \fIPULSE\fR as a means of syncronizing
  647. \fIModel 4(p) KERMIT\fR to a remote host.
  648. A delay of the specified number of seconds will be generated based on
  649. the accuracy of the 60HZ interrupt.  No means has been made for
  650. aborting the delay.  The maximum delay is 65536 seconds by specifying
  651. 0 as the number.
  652. .RE
  653. .NH 2
  654. PULSE <control string>
  655. .sp
  656. .RS
  657. This command is an extension/combination of \fIINPUT\fR and \fIOUTPUT.\fR
  658. It allows you to transmit one or more characters repeatedly until a character
  659. appears in the input port.  The use of this command is valuable when
  660. logging onto systems that don't always respond immediately after
  661. the reception of some control character(s).  For instance, you might
  662. (Now that all of the functions of this nature have been described)
  663. use the following commands as part of a logon sequence to log onto a
  664. computer system.
  665. .sp
  666. .RS
  667. SET INPUT CASE-IGNORE ON
  668. .br
  669. SET INPUT DISPLAY ON
  670. .br
  671. SET OUTPUT HOST-ECHO ON
  672. .br
  673. SET OUTPUT DISPLAY ON
  674. .br
  675. CLEAR INPUT-PORT
  676. .br
  677. PULSE ^T<CR>
  678. .br
  679. INPUT <CR><LF>XYZ:
  680. .br
  681. PAUSE 2
  682. .br
  683. CLEAR INPUT-PORT
  684. .br
  685. PULSE <CR>
  686. .br
  687. INPUT Username:<SPA>
  688. .br
  689. OUTPUT joeblow<CR>
  690. .br
  691. INPUT <CR><LF>Terminal type:
  692. .br
  693. OUTPUT h19<CR>
  694. .br
  695. SET KEY 8 <DEL>
  696. .br
  697. SET KEY 128 <ETX>
  698. .RE
  699. .sp
  700. After you study this awhile, it should make sense.  If these commands
  701. are placed into a \fITAKE\fR file, then
  702. you could use a \fICONNECT\fR command after the last command, to
  703. connect immediately to the host.  If this is done, then \fIonly\fR
  704. after you escape back to \fIModel 4(p) KERMIT\fR, will the \fITAKE\fR file
  705. finally be closed.
  706. .RE
  707. .NH 2
  708. RECEIVE <filespec>
  709. .RS
  710. This command is synonomous with the GET command.  It may be abbreviated to
  711. the single character 'R', as in:
  712. .RS
  713. .sp
  714. R *.asm
  715. .sp
  716. .RE
  717. .RE
  718. .NH 2
  719. REMOTE <command>
  720. .sp
  721. .RS
  722. \fIRemote\fR commands are not supported in totality by all \fIservers\fR.
  723. If a \fIserver\fR supports remote commands, then \fIremote help\fR should
  724. display all of the commands available to the \fIremote\fR user of the
  725. server.  Below are descriptions of the \fIremote\fR commands that
  726. \fIModel 4(p) KERMIT\fR knows how to send to a \fIremote server\fR.
  727. The arguments to most commands are dependent on the \fIremote\fR
  728. system.  You should be familiar with any system before using the
  729. \fIremote server\fR commands available from that server.  Usually only
  730. a small number of these commands are supported since some require
  731. abilities that some operating systems just don't have.
  732. .sp
  733. .NH 3
  734. CLOSE-LOG
  735. .sp
  736. .RS
  737. Close a remote \fILOG\fR previously opened via the command
  738. \fIREMOTE START-LOG\fR.
  739. .RE
  740. .NH 3
  741. COPY
  742. .sp
  743. .RS
  744. Copy one file to another.
  745. .RE
  746. .NH 3
  747. CWD <directory path>
  748. .sp
  749. .RS
  750. If a particular server's operating system supports the concept of
  751. separate directories, then this command will allow you to change to
  752. a different directory.
  753. .RE
  754. .NH 3
  755. DELETE
  756. .sp
  757. .RS
  758. Deletes file(s) from the \fIremote\fR system.  Any arguments will probably
  759. be file names in the format of the \fIremote\fR system.
  760. .RE
  761. .NH 3
  762. DIR
  763. .sp
  764. .RS
  765. Display a list of files on the \fIremote\fR system.
  766. .RE
  767. .NH 3
  768. DISK
  769. .sp
  770. .RS
  771. Display information about disk utilization on the \fIremote\fR system.
  772. .RE
  773. .NH 3
  774. HELP
  775. .sp
  776. .RS
  777. Get information about \fIremote\fR capabilities on the \fIremote\fR system.
  778. .RE
  779. .NH 3
  780. HOST
  781. .sp
  782. .RS
  783. Execute a command on the \fIremote\fR system.
  784. .RE
  785. .NH 3
  786. KERMIT
  787. .sp
  788. .RS
  789. Execute a \fIKERMIT\fR command on the \fIremote\fR system.  This command should
  790. accept a normal \fIKERMIT\fR command as an argument.  The command,
  791. if valid, will then be executed by the remote \fIKERMIT\fR server.
  792. .RE
  793. .NH 3
  794. LOGIN
  795. .sp
  796. .RS
  797. Create a login entity on the \fIremote\fR system.  This may be incorporated
  798. into a dedicated server.
  799. .RE
  800. .NH 3
  801. MESSAGE
  802. .sp
  803. .RS
  804. Send a message to a user on the \fIremote\fR system.
  805. .RE
  806. .NH 3
  807. PROGRAM
  808. .sp
  809. .RS
  810. Feed command input to a command executing on the remote system, or
  811. control the execution of a program.
  812. .RE
  813. .NH 3
  814. QUERY-VARIABLE
  815. .sp
  816. .RS
  817. Get the value of a variable maintained on the \fIremote\fR system.
  818. .RE
  819. .NH 3
  820. RENAME
  821. .sp
  822. .RS
  823. Change the name of a file on the \fIremote\fR system.
  824. .RE
  825. .NH 3
  826. SEND-LOG
  827. .sp
  828. .RS
  829. Tells the server to close any open log, and then transfer it to the
  830. user.
  831. .RE
  832. .NH 3
  833. SERVER-STATUS
  834. .sp
  835. .RS
  836. Retrieve certain information about the status of a REMOTE server.  The
  837. information returned is dependent on the REMOTE system.
  838. .RE
  839. .NH 3
  840. SET-VARIABLE
  841. .sp
  842. .RS
  843. Set the value of a variable on the \fIremote\fR system.
  844. .RE
  845. .NH 3
  846. START-LOG
  847. .sp
  848. .RS
  849. Start a transaction log on the \fIremote\fR system.
  850. .RE
  851. .NH 3
  852. STOP-LOG
  853. .sp
  854. .RS
  855. Stops logging to the log file started by the \fIREMOTE START-LOG\fR
  856. command.  The file is not closed.  Logging may be started again by
  857. using the the command, \fIREMOTE START-LOG\fR.
  858. .RE
  859. .NH 3
  860. TYPE
  861. .sp
  862. .RS
  863. Display the contents of the file/files given as arguments.  The \fIremote\fR
  864. server should use the \fIKERMIT\fR protocol to send the contents of the
  865. specified file/files to \fIModel 4(p) KERMIT\fR.  The file contents will be
  866. displayed on the screen using the *SO device.
  867. .RE
  868. .NH 3
  869. WHO
  870. .sp
  871. .RS
  872. Display a list of users on the \fIremote\fR system.
  873. .RE
  874. .RE
  875. .NH 2
  876. SEND <wildspec>        (May be abbreviated to 'S');
  877. .sp
  878. .RS
  879. File specifications may contain wild card characters.  The recognized
  880. wild card characters are '*' and '$'.  '*' means zero or more of
  881. any character.  '$' means exactly one of any character.  There are a lot
  882. of specifics associated with wild carding, and search order through the
  883. drives.
  884. .PP
  885. When files by the same name exist on different drives, a wild card match
  886. of one will also match all other occurances.  e.g. if drive 0 contains the
  887. file report/dat, and report.dat also exist on drive 1, then the command
  888. 'SEND */dat' will collect both names for sending.  On the other hand,
  889. other variations can be used to send only one of the 2 files.  'SEND
  890. */dat:1' will only match files on drive 1.  Another alternative would be
  891. 'SEND report/dat:1' which would send only report/dat on drive 1.
  892. .PP
  893. Case is NOT significant, so both REPORT/DAT and report/dat are identical.
  894. '/' is not significantly different from other characters in a file name,
  895. so "*/*" is the same as "*" for all file names with an extension.  "*/*",
  896. however, does not match names of the form "data", "fred", "file", "temp",
  897. or others without extensions.  Other examples are given in the description
  898. of the \fIKILL\fR command.
  899. .RE
  900. .NH 2
  901. SET <parameter [value(s)...]>
  902. .sp
  903. .RS
  904. Set the specified parameter to the specified value.  Possible settings:
  905. .sp
  906. .NH 3
  907. BELL ON (or OFF)
  908. .sp
  909. .RS
  910. When \fIDUMB\fR terminal emulation is in effect, a simple noise generator
  911. is used to produce a tone like a bell each time the \fIBELL\fR character is
  912. received.  If you don't like it, than use \fISET BELL OFF\fR to disable it.
  913. .RE
  914. .NH 3
  915. BLOCK-CHECK-TYPE
  916. .sp
  917. .RS
  918. The options are:
  919. .NH 4
  920. 1 (character checksum)
  921. .sp
  922. .RS
  923. Normal, default, standard 6-bit checksum.
  924. .RE
  925. .NH 4
  926. 2 (character checksum)
  927. .sp
  928. .RS
  929. A 12-bit checksum encoded as two characters.
  930. .RE
  931. .NH 4
  932. 3 (character crc-ccitt)
  933. .sp
  934. .RS
  935. A 16-bit CCITT-format Cyclic Redundancy Check,  encoded
  936. as 3 characters.
  937. .RE
  938. .sp
  939. The 2 and 3 character options should only be used under
  940. conditions of extreme line noise.  Many implementations of \fIKERMIT\fR
  941. only support the single character checksum.
  942. .RE
  943. .NH 3
  944. DEBUGGING OFF (or ON)
  945. .sp
  946. .RS
  947. When transmitting or receiving packets, controls whether the
  948. packets are displayed on the local screen.
  949. .RE
  950. .NH 3
  951. DEFAULT-DISK <drive number>
  952. .sp
  953. .RS
  954. The default-drive value is used for received files.  The file names created
  955. by \fIModel 4(p) KERMIT\fR will have a ':' and the default drive number
  956. affixed to the end so that they will be forced to be saved on the selected
  957. drive.
  958. .RE
  959. .NH 3
  960. EIGHT-BIT-QUOTING ON (or OFF)
  961. .sp
  962. .RS
  963. This command enables or disables 8th bit quoting.  This is useful when
  964. a full 8 bit path is available for binary file transfers.
  965. .RE
  966. .NH 3
  967. EMULATION NONE (or DUMB)
  968. .sp
  969. .RS
  970. When connected as a terminal to a foreign host, \fISET EMULATION\fR controls
  971. whether the Model 4 emulates no terminal, allowing the use
  972. of a terminal filter, or whether a \fIDUMB\fR terminal emulation is used.
  973. No emulation is the default.
  974. .RE
  975. .NH 3
  976. ESCAPE
  977. .sp
  978. .RS
  979. Change the escape character for virtual terminal connections.
  980. \fIModel 4(p) KERMIT\fR will prompt you for the new escape
  981. character, which you type in locally.
  982. .RE
  983. .NH 3
  984. FILE
  985. .RS
  986. .NH 4
  987. DISPOSITION KEEP (or DISCARD)
  988. .sp
  989. .RS
  990. When the transfer of a file is interrupted, this tells Model 4(p) KERMIT
  991. what to do if it receives only a partial file.  If FILE-DISPOSITION is
  992. DISCARD, then any partial file is removed.  Otherwise, the file is left as
  993. it is when a transfer is interrupted.
  994. .RE
  995. .NH 4
  996. TYPE (ASCII or BINARY)
  997. .sp
  998. .RS
  999. Tells \fIModel 4(p) KERMIT\fR how to deal with the file being
  1000. sent/received. It is \fIIMPORTANT\fR to tell KERMIT if the file
  1001. is in \fIASCII\fR when sending to a \fINON Model 4(p) KERMIT\fR.
  1002. The action taken with this value is as follows.  If \fIASCII\fR mode
  1003. is set, then CR-LF pairs of characters are translated to CR on
  1004. input, and CR is translated to CR-LF on output.  When binary mode
  1005. is in effect, this translation does not occur.
  1006. .RE
  1007. .RE
  1008. .NH 3
  1009. FLOW-CONTROL XON/XOFF (or NONE)
  1010. .sp
  1011. .RS
  1012. When this feature is set to \fIXON/XOFF\fR (the default),
  1013. \fIModel 4(p) KERMIT\fR
  1014. will try its best to obey and use \fIXON\fR characters and \fIXOFF\fR
  1015. characters for all transmitions through the communications
  1016. port.  \fINONE\fR will disable all attempts at this sort of flow-
  1017. control.
  1018. .RE
  1019. .NH 3
  1020. INPUT
  1021. .RS
  1022. .NH 4
  1023. CASE-IGNORE OFF (or ON)
  1024. .sp
  1025. .RS
  1026. Controls whether of not case matching is done on
  1027. characters during the input command. In most
  1028. instances, you will want this \fION\fR.
  1029. .RE
  1030. .NH 4
  1031. DISPLAY OFF (or ON)
  1032. .sp
  1033. .RS
  1034. Controls the display of characters that are input
  1035. during the execution of the \fIINPUT\fR command.
  1036. .RE
  1037. .RE
  1038. .NH 3
  1039. KEY <key value> <string>
  1040. .sp
  1041. .RS
  1042. This command allows you to send an arbitrary (the length of the
  1043. \fIKERMIT\fR command line is the limit)
  1044. string with a single key stroke.  The definition of string is identical
  1045. for that of the \fIINPUT\fR, \fIOUTPUT\fR, and \fIPAUSE\fR commands.
  1046. KEY VALUE is the ASCII value of the key stroke as given in the TRSDOS
  1047. manual.  If KEY VALUE is not given, then you will be asked to press
  1048. the key corresponding to the key that you wish to define.  All keys are valid
  1049. in \fIstring\fR except BREAK.  Pressing BREAK signals the end of the definition
  1050. string.  While in \fICONNECT\fR mode, typing the defined key will cause the
  1051. characters typed as the definition to be typed instead.  Defining a key
  1052. to have a \fINULL\fR length deletes any previous definition.
  1053. .RE
  1054. .NH 3
  1055. LOCAL-ECHO OFF (or ON)
  1056. .sp
  1057. .RS
  1058. When you \fICONNECT\fR to a remote host, you must set \fILOCAL-ECHO ON\fR
  1059. if the host is half duplex, \fIOFF\fR if full duplex.
  1060. .RE
  1061. .NH 3
  1062. OUTPUT
  1063. .RS
  1064. .NH 4
  1065. HOST-ECHO ON (or OFF)
  1066. .sp
  1067. .RS
  1068. When using \fIOUTPUT\fR, and communicating with a remote host,
  1069. the host commonly echoes the characters as you type.
  1070. Since \fIOUTPUT\fR effectively types characters for you,
  1071. these characters may be echoed back.  If \fIHOST-ECHO\fR is
  1072. \fION\fR, \fIOUTPUT\fR will wait for the echoed character to
  1073. reappear in the input buffer before it sends the next.
  1074. In the example for sending and receiving raw data,
  1075. that is above, setting \fIHOST-ECHO ON\fR, will enable us
  1076. to remove the \fIINPUT TYPE MYPROG.DAT<CR><LF>\fR command.
  1077. Control characters are \fINOT\fR normally echoed, so this
  1078. feature when set \fION\fR, will not wait for them.  If you
  1079. must catch the echo of a control character, then
  1080. follow the \fIOUTPUT\fR command with the appropriate \fIINPUT\fR
  1081. command.
  1082. .RE
  1083. .NH 4
  1084. DISPLAY OFF (or ON)
  1085. .sp
  1086. .RS
  1087. This parameter when on controls the display of characters
  1088. that are received when \fIHOST-ECHO\fR is \fION\fR.  Otherwise,
  1089. They are displayed based on the status of the \fILOCAL-ECHO\fR
  1090. setting.
  1091. .RE
  1092. .RE
  1093. .NH 3
  1094. PRINTER OFF (or ON)
  1095. .sp
  1096. .RS
  1097. Turns copying of \fICONNECT\fR session to printer on  and
  1098. off.  With \fIFLOW-CONTROL\fR turned on, and a sending host that will
  1099. acknowledge the \fIXOFF\fR, you should have no problems using the
  1100. printer continuously.
  1101. .RE
  1102. .NH 3
  1103. RECEIVE
  1104. .RS
  1105. .NH 4
  1106. END-OF-LINE <ASCII code>
  1107. .sp
  1108. .RS
  1109. Set the end of line character in packets to some other
  1110. character than \fI<CR>\fR which is the default.
  1111. .RE
  1112. .NH 4
  1113. PAD-CHAR <ASCII code>
  1114. .sp
  1115. .RS
  1116. If the host you are communicating with needs one or
  1117. more padding characters before it receives actual data
  1118. during packet transfers, this character will be sent
  1119. \fIPADDING\fR times.
  1120. .RE
  1121. .NH 4
  1122. PADDING <decimal number>
  1123. .sp
  1124. .RS
  1125. The repeat count for the number of times the padding
  1126. character is transmitted.
  1127. .RE
  1128. .NH 4
  1129. QUOTE-CHARACTER <ASCII code>
  1130. .sp
  1131. .RS
  1132. The character used to quote control characters.  The default is pound "#"
  1133. .RE
  1134. .NH 4
  1135. START-OF-PACKET <ASCII code>
  1136. .sp
  1137. .RS
  1138. The character used to syncronize the packets that
  1139. \fIKERMIT\fR transmits.  By default \fI<SOH>\fR.
  1140. .RE
  1141. .NH 4
  1142. TIME-OUT <decimal number>
  1143. .sp
  1144. .RS
  1145. \fIModel 4(p) KERMIT\fR uses this value as the number of seconds to wait for
  1146. a response to a packet.  If no response is received within the number of
  1147. seconds given, then the packet for which the response has not been received
  1148. is retransmitted.
  1149. .RE
  1150. .NH 4
  1151. TURN-CHAR
  1152. .sp
  1153. .RS
  1154. The character used to syncronize KERMIT when used over a half duplex
  1155. line.  \fIModel 4(p) KERMIT\fR will wait for this character at the
  1156. end of a packet, and will send the SEND TURN-CHAR at the end of a packet.
  1157. .RE
  1158. .RE
  1159. .NH 3
  1160. SEND
  1161. .RS
  1162. .NH 4
  1163. END-OF-LINE <ASCII code>
  1164. .sp
  1165. .RS
  1166. Set the end of line character in packets to some other
  1167. character than \fI<CR>\fR which is the default.
  1168. .RE
  1169. .NH 4
  1170. PAD-CHAR <ASCII code>
  1171. .sp
  1172. .RS
  1173. If the host you are communicating with needs one or
  1174. more padding characters before it receives actual data
  1175. during packet transfers, this character will be sent
  1176. \fIPADDING\fR times.
  1177. .RE
  1178. .NH 4
  1179. PADDING <decimal number>
  1180. .sp
  1181. .RS
  1182. The repeat count for the number of times the padding
  1183. character is transmitted.
  1184. .RE
  1185. .NH 4
  1186. QUOTE-CHARACTER <ASCII code>
  1187. .sp
  1188. .RS
  1189. The character used to quote control characters.  The default is pound "#"
  1190. .RE
  1191. .NH 4
  1192. START-OF-PACKET <ASCII code>
  1193. .sp
  1194. .RS
  1195. The character used to syncronize the packets that
  1196. \fIKERMIT\fR transmits.  By default \fI<SOH>\fR.
  1197. .RE
  1198. .NH 4
  1199. TIME-OUT <decimal number>
  1200. .sp
  1201. .RS
  1202. This value is given to the \fIother\fR host as its' timeout value.  You
  1203. should assure that this is different from the RECEIVE TIME-OUT value so
  1204. that both timeouts do not occur simultaneously.
  1205. .RE
  1206. .NH 4
  1207. TURN-CHAR <ASCII code>
  1208. .sp
  1209. .RS
  1210. The character used to syncronize KERMIT when used over a half duplex
  1211. line.  \fIModel 4(p) KERMIT\fR will send this character at the end of a
  1212. packet.  The RECEIVE TURN-CHAR will be waited for before data is transmitted.
  1213. .RE
  1214. .RE
  1215. .NH 3
  1216. TAKE-DISPLAY OFF (or ON)
  1217. .sp
  1218. .RS
  1219. Controls the display of \fITAKE\fR files as they are executed.
  1220. By default this feature is off.
  1221. .RE
  1222. .NH 3
  1223. WARNING ON (or OFF)
  1224. .sp
  1225. .RS
  1226. Warns user if filename conflicts when receiving files from
  1227. remote host, and attempt to generate a unique name by modifying
  1228. the given one.  \fION\fR by default.
  1229. .RE
  1230. .RE
  1231. .NH 2
  1232. SETCOM <TRSDOS SETCOM command parameter>
  1233. .sp
  1234. .RS
  1235. Sets/shows the status of the communications driver, \fICOM/DVR\fR.  If no
  1236. arguments are given, than the current status will be shown.  Any
  1237. arguments must be enclosed in parenthesis as the result of this
  1238. command, is a generated \fITRSDOS\fR command as in:
  1239. .RS
  1240. .sp
  1241. SETCOM (B=9600,P=N,W=8)
  1242. .RE
  1243. .sp
  1244. The default values are established according to you.  If you set up
  1245. the driver for a certain configuration, and then use \fISYSGEN\fR to save
  1246. it, then that will be the default.  \fINO\fR sysgen should give you:
  1247. .RS
  1248. .sp
  1249. 300 BAUD
  1250. .br
  1251. EVEN PARITY
  1252. .br
  1253. DTR=YES
  1254. .br
  1255. 7 DATA BITS
  1256. .br
  1257. 1 STOP BIT
  1258. .RE
  1259. .RE
  1260. .sp
  1261. .NH 2
  1262. SHOW
  1263. .sp
  1264. .RS
  1265. Allows one or ALL of the options of the \fISET\fR command to be displayed.
  1266. Using the "?" feature will aid you if you can't figure out where to
  1267. find something.  All of the things that can be SET can be displayed.
  1268. The items not listed below can be displayed by using a command like:
  1269. .RS
  1270. .sp
  1271. SHOW BLOCK
  1272. .RE
  1273. .sp
  1274. or
  1275. .sp
  1276. .RS
  1277. SHOW DEFAULT
  1278. .RE
  1279. .sp
  1280. SHOW ALL will display all of the set values except keys.  You must use
  1281. SHOW KEY to see these values.
  1282. .RE
  1283. .NH 3
  1284. SEND
  1285. .sp
  1286. .RS
  1287. Displays all options described under the \fISET SEND\fR command.
  1288. .RE
  1289. .NH 3
  1290. RECEIVE
  1291. .sp
  1292. .RS
  1293. Displays all options described under the \fISET RECEIVE\fR command.
  1294. .RE
  1295. .NH 3
  1296. KEY <ASCII key value>
  1297. .sp
  1298. .RS
  1299. If <ASCII key value> is specified, then the definition for the specified
  1300. key number is display.  Otherwise, a prompt is issued for the user to
  1301. type the keystroke that should be taken as the key to display.  \\nnn
  1302. is used to display all values greater than 127.  ^x where x is a
  1303. character 64 greater than 0 through 31, and 127 is used to display
  1304. control characters.  Any other printable ASCII character is displayed
  1305. normally.
  1306. .RE
  1307. .RE
  1308. .NH 2
  1309. STATUS
  1310. .sp
  1311. .RS
  1312. Shows certain information about the status of \fIModel 4(p) KERMIT\fR.  Items
  1313. currently displayed include the amount of space left in the \fIKEY\fR definition
  1314. table, the number of bytes written to files during transfers, the number
  1315. of bytes read from files during transfers, as well as statistics on the
  1316. latest transfer.
  1317. .RE
  1318. .NH 2
  1319. TAKE <filespec>
  1320. .sp
  1321. .RS
  1322. TAKE allows commands to be stored in a file, and then executed by
  1323. the \fIKERMIT\fR command interpreter.  Only \fIone\fR level of \fITAKE\fR
  1324. files is
  1325. supported.  This means that a \fITAKE\fR command can not appear inside of
  1326. a \fITAKE\fR file.  No checking is done to enforce this, so good luck if you
  1327. want to try it.  When \fIKERMIT\fR is first entered, a check is made for
  1328. a file called \fIKERMIT/INI\fR on all of the active disk drives as per
  1329. normal \fITRSDOS\fR searching order.  If it is found, than it is used as
  1330. a \fITAKE\fR file where you can store initialization commands.  Pressing the
  1331. \fIBREAK\fR key, or the \fIENTER\fR key during the startup of KERMIT (before the
  1332. TAKE file is opened) will cause \fIKERMIT\fR to skip
  1333. processing of the \fITAKE\fR file.
  1334. .RE
  1335. .sp 3
  1336. .NH
  1337. Setting up to use Model 4(p) KERMIT
  1338. .PP
  1339. To use \fIModel 4(p) KERMIT\fR, you need to have your Model 4 set up
  1340. properly.  The program expects that the *CL device will be driven by the
  1341. COM/DVR Communications Driver that comes with TRSDOS.  It also expects that
  1342. the *SO device is ROUTED to the *DO device, and that the *SI device is
  1343. ROUTED to the *KI device.  The former 2 are the defaults, and in general,
  1344. you should not worry about them, unless you have changed them.  Setting up
  1345. the *CL device involves typing the command:
  1346. .RS
  1347. .sp
  1348. SET *CL COM/DVR
  1349. .RE
  1350. .sp
  1351. at the \fITRSDOS Ready\fR prompt.  If you do not do this, you will get a message
  1352. of the form
  1353. .RS
  1354. .sp
  1355. Can't find *CL DCB
  1356. .RE
  1357. .sp
  1358. from \fIModel 4(p) KERMIT\fR when it is starting up.  The program will return
  1359. control to TRSDOS after issuing this message, as it is a fatal error.
  1360. .PP
  1361. \fRModel 4(p) KERMIT\fR is not a small program.  It occupies memory starting
  1362. at 6000H, and extends up past 0D300H.  If you have parts of TRSDOS resident
  1363. (Using the SYSTEM (SYSRES=....) command), or perhaps other filters or memory
  1364. resident modules, then you should make sure that they do not extend below
  1365. the maximum address used by the program.
  1366. The last memory address used by \fIModel 4(p) KERMIT\fR can
  1367. be obtained by using the command
  1368. .RS
  1369. .sp
  1370. LOCAL MEMORY
  1371. .RE
  1372. .sp
  1373. from within the \fIModel 4(p) KERMIT\fR program.
  1374. .sp 3
  1375. .NH
  1376. Installation
  1377. .PP
  1378. To install \fIModel 4(p) KERMIT\fR, you must obtain the two
  1379. files \fIM4BOO.BAS\fR and \fIM4MIT.HEX\fR.  Because of the size of the
  1380. executable, the hex file could not be placed into a basic program as data
  1381. statements.  Instead, the basic program
  1382. opens and reads the file \fIM4MIT.HEX\fR.  This file is an \fIASCII\fR image of
  1383. the executable.  All that needs to be done, is to run the \fIBASIC\fR program
  1384. which will convert the file back to its original binary format.
  1385. The resulting executable should probably be called \fIKERMIT/CMD\fR.
  1386. Follow the prompts of the BASIC program and there should not be any problems.
  1387. .NH
  1388. Building \fIModel 4(p) KERMIT\fR from the Source.
  1389. .PP
  1390. The Source for \fIModel 4(p) KERMIT\fR is in approximately 15 modules.  The
  1391. names of the modules are:
  1392. .RS
  1393. .IP M4ADD/ASM 15
  1394. Code for miscellaneous routines.
  1395. .IP M4CMD/ASM
  1396. Command parser code.
  1397. .IP M4EQU/ASM
  1398. Mosts constants are defined here
  1399. .IP M4FILE/ASM
  1400. Additional logfile code such as the LOG command, and the CLOSE command.
  1401. .IP M4GET/ASM
  1402. Receive file routines + other miscellany.
  1403. .IP M4KEY/ASM
  1404. Code for handling the SET KEY functions
  1405. .IP M4LOG/ASM
  1406. INPUT, OUTPUT, PAUSE, PULSE commands.
  1407. .IP M4MAC/ASM
  1408. Macros used in the program
  1409. .IP M4MIT/ASM
  1410. Main entry and some command routines.
  1411. .IP M4PKT/ASM
  1412. New packet routines for encoding and decoding packets.
  1413. .IP M4RMT/ASM
  1414. The base of what will be the remote command.
  1415. .IP M4SEND/ASM
  1416. Send file routines.
  1417. .IP M4SET/ASM
  1418. Set options routines.
  1419. .IP M4SHOW/ASM
  1420. Show settings routines.
  1421. .IP M4STR/ASM
  1422. The majority of storage, prompts, and messages.
  1423. .IP M4TERM/ASM
  1424. Terminal Emulation, and I/O routines.
  1425. .IP M4WILD/ASM
  1426. Wild card file name processing.
  1427. .IP M4XFER/ASM
  1428. File processing, and some packet stuff.
  1429. .RE
  1430. .PP
  1431. \fIModel 4(p) KERMIT\fR was developed using the \fIEDAS\fR assembler from
  1432. Misosys.  Other macro assemblers should be able to assemble the program
  1433. with minor conversions.
  1434. \fIM4MIT/ASM\fR is the main source module. It will call the other
  1435. source files into
  1436. the assembly (using the *GET directive) as needed.
  1437. If any system calls need to be changed, they are
  1438. all defined in \fIM4ADD/ASM\fR
  1439. for the most part.  All of the SVC's are coded in
  1440. \fIM4ADD/ASM\fR as subroutines that are accessed by CALL Xaaaaa, where aaaaa is
  1441. the name of the \fITRSDOS\fR supervisor call (SVC) without the "@" sign.
  1442. .PP
  1443. If this version is moved to another OS, there are several things that you
  1444. should consider.  The things that come to mind are:
  1445. .sp
  1446. .RS
  1447. .IP 1. 5
  1448. Consider the format of the TRSDOS directory structure.  The wild card routines
  1449. depend on this structure for validating directory entries, and for retrieving
  1450. the file name.
  1451. .IP 2.
  1452. There are 2 places where real time counting is required.  The delay specified
  1453. in a PAUSE statement can be handled with a counter, as all other processing
  1454. is halted (except the interrupt tasks) during the pause.  Currently, the
  1455. Real Time Clock task is used to measure the appropriate delay.  The other
  1456. use of a Real Time counter occurs in the Receive packet timeout.  This must
  1457. be handled using asyncronous processes in order to be accurate.
  1458. .IP 3.
  1459. There exist code at the beginnning and end of the segment that accesses the
  1460. screen which outputs the bytes 14, and 15 to the *DO device.  These are used
  1461. to force the cursor to be invisible before the screen is accessed, and to then
  1462. make it reappear after the screen access is completed.
  1463. .IP 4.
  1464. The interrupt driven receiver must also be delt with.  The code in the
  1465. routine SETINT, establishes the interrupt vector that the *CL driver will
  1466. call when a "character received interrupt" is generated.
  1467. .IP 5.
  1468. In many instances, the characters having values 16, and 17 are used to
  1469. enable, and disable reverse video respectively.  If the driver for *DO
  1470. does not recognize this convention, as the current one does, then these
  1471. characters must be handled in some manner.  I.E. either removed from the
  1472. source, or filtered from the terminal output stream.  The PRTSTR() routine
  1473. is a good place to mask these characters at, as it is the sole source of
  1474. output for strings containing these type of characters.
  1475. .RE
  1476. .sp
  1477. .PP
  1478. It should be noted that \fIKERMIT/CMD\fR loads into RAM at 6000H.  This avoids
  1479. high memory filters and drivers, and also allows use of \fITRSDOS\fR library
  1480. commands that use low memory beyond 3000H, as FORMAT, and BACKUP do.
  1481. Exclusive use is made of the *DO device for screen output from the KERMIT
  1482. program, for informational messages and the like.  During
  1483. connect mode, *SI and *SO are used as the input and output
  1484. devices to allow filters to be attached that will not effect the operation
  1485. of \fIModel 4(p) KERMIT\fR during command operations.
  1486. If you install a different driver or filter it must be compatible in
  1487. these areas.
  1488. .NH
  1489. Performance Specifics of Model 4(p) KERMIT
  1490. .PP
  1491. The \fIModel 4(p) KERMIT\fR has been tested and proven to work properly at
  1492. 9600 BAUD with flow control on, transferring files between 2 Model 4's.
  1493. What makes the \fIModel 4(p) KERMIT\fR perform so well is
  1494. the idea of flow control, and the interrupt driven receiver.  With out these
  1495. features, I expect that 2400 baud would be the reliable limit.  Flow control
  1496. can be disabled at speeds less than or equal to ~2400 baud, but greater speeds
  1497. require that flow control be functional in order to protect the integrity of
  1498. data in the input buffer.
  1499. .sp 3
  1500. .NH
  1501. The Heath 19 Filter
  1502. .PP
  1503. The files \fIM4H191.ASM, M4H192.ASM, M4H19.MAC\fR, and \fIM4H19.EQU\fR
  1504. make up the sources for a Heath 19 terminal emulation filter for the
  1505. TRS-80 Models 4 and 4p.  The assembler used was EDAS by Misosys.
  1506. To build the filter from sources, you need the above 4 files on a
  1507. disk.  \fIM4H191.ASM\fR is the main source module, and it *GETs all the other
  1508. necessary files.
  1509. .PP
  1510. The structure of the program is pretty simple.  Single character
  1511. (non escape) sequences, are passed to the
  1512. filtered device via the \fI@CHNIO\fR svc.  This filter depends on the
  1513. \fITRSDOS *DO\fR driver being at the end of the chain.  Several control
  1514. characters are merely translated, and then the new values are passed
  1515. to *DO.
  1516. .PP
  1517. A multi-character escape sequence is handled by remembering the previous
  1518. characters that the filter was passed.  The previous characters are
  1519. remembered by the presence of a non-zero value in the contents
  1520. of \fISTATE\fR.  The value in \fISTATE\fR represents the address of
  1521. the code to
  1522. handle the next character, given the previous string of characters.
  1523. .PP
  1524. The filter is relocatable, but \fIMUST\fR reside below screen memory because
  1525. it accesses it directly when performing several of the advanced terminal
  1526. functions.  For this reason, it will never load \fIabove F3ffH\fR.
  1527. .NH
  1528. The SETH19 Program
  1529. .PP
  1530. The \fISETH19\fR program allows you to configure a few options
  1531. that are available to you when using the \fIH19 filter\fR.
  1532. The \fISETH19\fR program is created from the sources
  1533. \fIM4H19S.ASM, M4H19.EQU,\fR and \fIM4H19.MAC\fR.  \fIM4H19S.ASM\fR
  1534. is the main source module, and will *GET the other 2 files.
  1535. The program supports a few parameters that are listed below.
  1536. .RS
  1537. .sp
  1538. .IP REMOVE 15
  1539. Remove and reclaim if possible.
  1540. .IP DURATION
  1541. Length of BELL tone.
  1542. .IP FREQUENCY
  1543. Frequency value (bigger value is lower tone) for BELL.
  1544. .IP BELL
  1545. Turn audible BELL ON or OFF.
  1546. .IP BLOCK
  1547. Block cursor character.
  1548. .IP CURSOR
  1549. Normal cursor character.
  1550. .IP STRIP8
  1551. Control display of 8 bit data.
  1552. .IP HELP
  1553. Displays information similiar to this.
  1554. .IP SHOW
  1555. Displays the current settings of the parameters, this is the default.
  1556. .LP
  1557. .RE
  1558. These options are specified when you invoke \fISETH19\fR, as per the usual
  1559. TRSDOS 6.x parameter list.  An example is shown below:
  1560. .RS
  1561. .sp
  1562. SETH19 (BLOCK=191,CURSOR=23,BELL=ON,SHOW)
  1563. .RE
  1564. .PP
  1565. This command sets the normal CURSOR, and the edit mode CURSOR values, as
  1566. well as turning the audible bell on.  The show parameter causes 2
  1567. lines similiar to those below to be printed on the screen.
  1568. .RS
  1569. .sp
  1570. Normal Cursor: 23, Block Cursor: 191
  1571. .br
  1572. Bell: ON, Frequency: 20, Duration: 120
  1573. .br
  1574. Strip8: ON
  1575. .sp
  1576. .RE
  1577. .PP
  1578. The REMOVE option takes several things for granted, as it tries to
  1579. thoroughly remove the device.  It assumes that the H19 filter is
  1580. attached to the *HP device, and that this device is a filter hooked
  1581. to *SO.  Further more, it assumes that *SO is routed to *DO.
  1582. .PP
  1583. This particular set up can be used easily if the following commands
  1584. are used to set up the filter:
  1585. .RS
  1586. .sp
  1587. SET *HP H19/FLT
  1588. FILTER *SO *HP
  1589. .RE
  1590. .sp
  1591. This is assuming that *SO is routed to *DO.  The SETH19 command
  1592. will perform these very operations if you invoke it, and the memory
  1593. module, \fI$HEATH\fR, is not in place.
  1594. .PP
  1595. The other parameters to the SETH19 command can be used to control
  1596. certain preferable options to the filter.  Setting \fIBELL\fR off causes
  1597. the filter to flash the screen when it receives an ASCII(7) character.
  1598. If BELL is set \fION\fR, then an audible bell is issued when an ASCII(7) is
  1599. received.
  1600. .PP
  1601. When BELL is ON, then the \fIDURATION,\fR and \fIFREQUENCY\fR parameters take
  1602. effect.  These 2 parameters select the length and pitch, respectively,
  1603. of the BELL tone.  The FREQUENCY value is used as a delay between
  1604. oscillations of the sound port, so the bigger the number, the lower the
  1605. tone will be.
  1606. .PP
  1607. The \fIdefault DURATION\fR is set to 20, and the FREQUENCY
  1608. is set to 125.  You can adjust them as you please.  The DURATION
  1609. is inversely proportional to the FREQUENCY, since the delay caused
  1610. by the FREQUENCY value is part of the overall DURATION of the sound.
  1611. This means that as you increase FREQUENCY, you must \fIdecrease\fR
  1612. DURATION to maintain the same length of BELL, and vice-versa.
  1613. .PP
  1614. The \fIBLOCK\fR and \fICURSOR\fR parameters are used to control
  1615. the characters that are used as the cursor by the H19 filter.
  1616. The H19 terminal has the
  1617. ability to use a visual mode cursor, or a line mode cursor.  Since
  1618. the normal visual mode cursor is usually a block cursor, the parameter
  1619. BLOCK is used to set the ASCII value of the visual mode cursor.  The
  1620. CURSOR parameter sets the normal line mode cursor.
  1621. .PP
  1622. The switch between cursors must be done by the HOST computer that is
  1623. attached to the Model 4's communications port.  There is no magic
  1624. to when the BLOCK cursor is selected, see the description of the
  1625. recognized control sequences below.
  1626. .PP
  1627. The STRIP8 parameter controls whether or not data is printed on the
  1628. screen with the eighth bit set.  Normally, the filter now trims the
  1629. eighth bit off so that parity can be ignored.  The command
  1630. .RS
  1631. .sp
  1632. SETH19 (STRIP8=NO)
  1633. .RE
  1634. .sp
  1635. will cause the eighth bit to not be stripped.  That is to say, data will be
  1636. used as it is received by the filter.  Note that when this is done, some
  1637. control characters with parity bits attached may not be recognized.
  1638. .PP
  1639. .NH
  1640. Future modifications
  1641. .PP
  1642. It should be fairly straight forward to build extra states into the
  1643. filter so that it will recognize the ANSI 3.64 sequences for the
  1644. operations the filter knows how to perform.  Full support of all
  1645. the ANSI 3.64 sequences would be a non-trivial investment in time.  The
  1646. best bet here would, be a completely new device driver, since the
  1647. overhead of going to *DO is already costly, and trying to implement
  1648. scroll regions with *DO would be a HACK at best.
  1649. If somebody wants to do the conversion, I would like to have a
  1650. copy of the result.
  1651. .NH
  1652. HEATH-19 filter capabilities
  1653. .PP
  1654. The HEATH-19 terminal supports several advanced video capabilities
  1655. that make it an ideal source for a terminal emulation package.  Below
  1656. is a list of the functions supported by the Model 4(p) H-19 emulator,
  1657. and the escape sequences that perform the operations.
  1658. .NH
  1659. Heath/Zenith-19 Control Codes
  1660. .PP
  1661. The  Heath/Zenith-19 terminal is equivalent to the DEC VT52 with extensions for
  1662. line and character insertion and deletion.  Items marked with an  asterisk  are
  1663. not currently supported by Model 4(p) H19 emulation.
  1664. .sp 2
  1665. .na
  1666. .nf
  1667. Cursor Functions
  1668. .sp
  1669.   Sequence    Mnemonic    Definition
  1670. .br
  1671.    ESC H      HCUH        Cursor Home
  1672. .br
  1673.    ESC C      HCUF        Cursor Forward
  1674. .br
  1675.    ESC D      HCUB        Cursor Backward
  1676. .br
  1677.    ESC B      HCUD        Cursor Down
  1678. .br
  1679.    ESC A      HCUU        Cursor Up
  1680. .br
  1681.    ESC I      HRI         Reverse Index
  1682. .br
  1683.   *ESC n      HCPR        Cursor Position Report
  1684. .br
  1685.    ESC j      HSCP        Save Cursor Position
  1686. .br
  1687.    ESC k      HRCP        Set Cursor to Previously Saved Position
  1688. .br
  1689.    ESC Y      HDCA        Direct Cursor Addressing, 1-based:
  1690. .br
  1691.                           31+line# 31+col# (same as VT52)
  1692. .sp 3
  1693. Erasing and Editing
  1694. .sp
  1695.   Sequence    Mnemonic    Definition
  1696. .br
  1697.    ESC E      HCD         Clear Display (Shift Erase)
  1698. .br
  1699.    ESC b      HBD         Erase Beginning of Display
  1700. .br
  1701.    ESC J      HEOP        Erase to End of Page (Erase Key)
  1702. .br
  1703.    ESC l      HEL         Erase Entire Line
  1704. .br
  1705.    ESC o      HEBL        Erase Beginning of Line
  1706. .br
  1707.    ESC K      HEOL        Erase to End of Line
  1708. .br
  1709.    ESC L      HIL         Insert Line
  1710. .br
  1711.    ESC M      HDL         Delete Line
  1712. .br
  1713.    ESC N      HDCH        Delete Character
  1714. .br
  1715.    ESC @      HEIM        Enter Insert Character Mode
  1716. .br
  1717.    ESC O      HERM        Exit Insert Character Mode
  1718. .sp 3
  1719. Configuration
  1720. .sp
  1721.   Sequence    Mnemonic    Definition
  1722. .br
  1723.   *ESC z      HRAM        Reset to Power-Up Configuration
  1724. .br
  1725.   *ESC r Bn   HMBR        Modify Baud Rate: Bn=
  1726. .br
  1727.                             A=110, B=150, C=300, D=600, E=1200,
  1728. .br
  1729.                             F=1800, G=2000, H=2400, I=3600, J=4800,
  1730. .br
  1731.                             K=7200, L=9600, M=19200
  1732. .sp 2
  1733.    ESC x Ps   HSM         Set Mode(s): Ps=
  1734. .br
  1735.   *                         1 = Enable 25th line
  1736. .br
  1737.   *                         2 = No key click
  1738. .br
  1739.   *                         3 = Hold screen mode
  1740. .br
  1741.                             4 = Block cursor
  1742. .br
  1743.                             5 = Cursor off
  1744. .br
  1745.   *                         6 = Keypad shifted
  1746. .br
  1747.   *                         7 = Alternate keypad mode
  1748. .br
  1749.                             8 = Auto line feed on CR
  1750. .br
  1751.                             9 = Auto CR on line feed
  1752. .sp 2
  1753.    ESC y Ps   HRM         Reset mode(s): Ps=
  1754. .br
  1755.   *                         1 = Disable 25th line
  1756. .br
  1757.   *                         2 = Enable key click
  1758. .br
  1759.   *                         3 = Exit hold screen mode
  1760. .br
  1761.                             4 = Underscore cursor
  1762. .br
  1763.                             5 = Cursor on
  1764. .br
  1765.   *                         6 = Keypad unshifted
  1766. .br
  1767.   *                         7 = Exit alternate keypad mode
  1768. .br
  1769.                             8 = No auto line feed
  1770. .br
  1771.                             9 = No auto CR
  1772. .sp 2
  1773.   *ESC <      HEAM        Enter ANSI Mode
  1774. .sp
  1775. Modes of Operation
  1776. .sp
  1777.   Sequence    Mnemonic    Definition
  1778. .br
  1779.   *ESC [      HEHS        Enter Hold Screen Mode
  1780. .br
  1781.   *ESC \\      HXHS        Exit Hold Screen Mode
  1782. .br
  1783.    ESC p      HERV        Enter Reverse Video Mode
  1784. .br
  1785.    ESC q      HXRV        Exit Reverse Video Mode
  1786. .br
  1787.   *ESC F      HEGM        Enter Graphics Mode
  1788. .br
  1789.   *ESC G      HXGM        Exit Graphics Mode
  1790. .br
  1791.   *ESC t      HEKS        Enter Keypad Shifted Mode
  1792. .br
  1793.   *ESC u      HXKS        Exit Keypad Shifted Mode
  1794. .br
  1795.   *ESC =      HAKM        Enter Alternate Keypad Mode
  1796. .br
  1797.   *ESC >      HXAM        Exit Alternate Keypad Mode
  1798. .sp 3
  1799.   Additional Operations
  1800. .sp
  1801.   Sequence    Mnemonic    Definition
  1802. .br
  1803.   *ESC }      HDK         Keyboard Disable
  1804. .br
  1805.   *ESC {      HEK         Keyboard Enable
  1806. .br
  1807.   *ESC v      HEWA        Wrap Around at End of Line
  1808. .br
  1809.   *ESC w      HXWA        Discard at End of Line
  1810. .br
  1811.   *ESC Z      HID         Identify as VT52 (ESC / K)
  1812. .br
  1813.   *ESC ]      HX25        Transmit 25th Line
  1814. .br
  1815.   *ESC #      HXMP        Transmit Page
  1816. .sp 3
  1817.   Enhanced Character Support
  1818. .sp
  1819.    ESC [ p1 ; ... pn m    Set Graphics Rendition
  1820. .br
  1821.    where p1, ..., pn are chosen from the following:
  1822. .br
  1823.    *0            Reset to normal character display.
  1824. .br
  1825.    *1            Display characters in high intensity.
  1826. .br
  1827.    *4            Display characters underlined.
  1828. .br
  1829.    *5            Display characters blinking.
  1830. .br
  1831.    *7            Display characters in reverse video.
  1832. .br
  1833. .fo
  1834. .ad
  1835. .sp 2
  1836. .PP
  1837. The  Heath-19  transmits  the following sequences, but
  1838. it will not respond to
  1839. them if they are received.  Model 4(p) Kermit will transmit them
  1840. only if they are programmed with SET KEY.
  1841. .sp
  1842. .nf
  1843. .na
  1844.    ESC S      HF1         Function Key #1
  1845. .br
  1846.    ESC T      HF2         Function Key #2
  1847. .br
  1848.    ESC U      HF3         Function Key #3
  1849. .br
  1850.    ESC V      HF4         Function Key #4
  1851. .br
  1852.    ESC W      HF5         Function Key #5
  1853. .br
  1854.    ESC P      HF7         Function Key #7
  1855. .br
  1856.    ESC Q      HF8         Function Key #8
  1857. .br
  1858.    ESC R      HF9         Function Key #9
  1859. .fo
  1860. .PP
  1861. My thanks to Michael Carter and Roland Stolfa for their help in testing and
  1862. debugging this implementation.
  1863. .sp 2
  1864. .nf
  1865. Gregg Wonderly
  1866. .br
  1867. Department of Computing and Information Sciences
  1868. .br
  1869. Oklahoma State University
  1870. .sp 2
  1871. UUCP: {cbosgd, ea, ihnp4, isucs1, mcvax, uokvax}!okstate!gregg
  1872. .br
  1873. ARPA:  gregg@A.CS.OKSTATE.EDU
  1874.