home *** CD-ROM | disk | FTP | other *** search
/ kermit.columbia.edu / kermit.columbia.edu.tar / kermit.columbia.edu / extra / promit.mss < prev    next >
Text File  |  1988-08-16  |  78KB  |  1,577 lines

  1. @Part(PROKERMIT,root="KER:KUSER")
  2.  
  3. @PageHeading(Even,Left="Page @ref(page)",Right="@b<Pro/Kermit>")
  4. @PageHeading(Odd,Left="@b<Pro/Kermit>",Right="Page @ref(page)")
  5. @Chapter<Pro/Kermit>
  6. @label(-PROK)
  7. @index[P/OS]
  8. @Index[DEC Professional]
  9. @index[PROFESSIONAL-350]
  10. @Begin<Description,Leftmargin +12,Indent -12,spread 0>
  11. @i(Program:)@\Stuart Hecht, David Stevens, Robert C. McQueen, Nick Bush,@*
  12. Stevens Institute of Technology
  13.  
  14. @i(Documentation:)@\Robert C. McQueen, Stuart Hecht,@*
  15. Stevens Institute of Technology
  16.  
  17. @i(Version:)@\1.0
  18.  
  19. @i(Date: )@\July 1984
  20.  
  21. @i(Documentation Date: )@\October 1984
  22. @end<Description>
  23. @i<Pro/Kermit Capabilities At A Glance:>
  24. @begin<format,leftmargin +2>
  25. @tabclear()@tabset(3.5inches,4.0inches)
  26. Local operation:@\Yes
  27. Remote operation:@\Yes
  28. Transfers text files:@\Yes
  29. Transfers binary files:@\Yes (with limitations)
  30. Wildcard send:@\Yes
  31. @q<^X/^Y> interruption:@\Yes
  32. Filename collision avoidance:@\Unneeded
  33. Can time out:@\Yes 
  34. 8th-bit prefixing:@\Yes
  35. Repeat count prefixing:@\Yes
  36. Alternate block checks:@\Yes
  37. Terminal emulation:@\Yes, uses PRO firmware (VT102)
  38. Communication settings:@\Yes; local echo, parity, baud rate
  39. Transmit BREAK:@\Yes
  40. IBM communication:@\Yes
  41. Transaction logging:@\No
  42. Session logging (raw download):@\No
  43. Raw upload:@\No
  44. Act as server:@\Yes
  45. Talk to server:@\Yes
  46. Advanced commands for servers:@\Yes
  47. Local file management:@\Yes; Full P/OS services
  48. Handle file attributes:@\No
  49. Command/init files:@\No
  50. Printer control:@\No
  51. @end<format>
  52.  
  53. Pro/Kermit is a program that implements the KERMIT file transfer protocol for
  54. the Digital Professional 350 under the P/OS operating system.  This
  55. section will describe the things you
  56. should know about the P/OS file system in order to make effective use of
  57. KERMIT, and then it will describe Pro/Kermit.
  58.  
  59. @Section<The P/OS File System>
  60.  
  61. The features of the P/OS file system of greatest interest to KERMIT users are
  62. the form of the file specifications.
  63.  
  64. @Subheading<P/OS File Specifications>
  65.  
  66. P/OS file specifications are of the form
  67. @example(DEVICE:[DIRECTORY]FILENAME.TYPE;VERSION)
  68. where DEVICE is name of the disk drive, DIRECTORY is up to 9 alphanumeric
  69. characters enclosed in square brackets, FILENAME is up to 9 alphanumeric
  70. characters,
  71. TYPE is three alphanumeric characters and VERSION is a decimal number.
  72. DEVICE, DIRECTORY and VERSION may be omitted.
  73. The DEVICE and DIRECTORY names when omitted will default to the user's
  74. current (default) disk and a directory.  Then VERSION when omitted will
  75. default to the highest version of the file.  Thus
  76. @q<FILENAME.TYPE> is normally sufficient to specify a file.
  77.  
  78. The DEVICE, DIRECTORY, FILENAME and TYPE fields may contain alphabetic or
  79. numeric characters.  There are no embedded or trailing spaces in these
  80. fields.  Other characters may not be included within the P/OS environment.
  81. The fields of the file specification are set off from one another by the
  82. punctuation indicated above.
  83.  
  84. The DEVICE name specifies the device upon which the file is resident.
  85. The DEVICE name can be BIGDISK, BIGVOLUME, DISKETTE1, DISKETTE2, or
  86. the volume name of a currently inserted diskette.  The directory name
  87. identifies an area on the device.  Pro/Kermit may or may not send the
  88. device, directory or generation to the remote Kermit.  The exact
  89. functioning of Pro/Kermit depends on the setting of the File Naming
  90. option in the File Parameters menu.  Normally Pro/Kermit will only send
  91. the file name and type.
  92.  
  93. The file name is a unique identifier for the file.  The type, also called the
  94. "extension", is an indicator which, by convention, tells what kind of file
  95. being referenced.  For instance @Q<FOO.MAC> is the source of an assembler
  96. program named FOO; @q<FOO.OBJ> might be the relocatable object module produced
  97. by assembling @q<FOO.MAC>; @q<FOO.TSK> could be an executable program produced
  98. by task building @q<FOO.OBJ>, and so on.
  99.  
  100. @index<Wildcard>
  101. P/OS allows a group of files to be specified in a single file specification
  102. by including the special "wildcard" characters,"@q<*>" and "@q<%>".
  103. A "@q<*>"" matches any string of characters from the current position
  104. to the end of the FILENAME or TYPE fields, including no characters at all.
  105. The "@q<%>" will match a single character in either the
  106. FILENAME or TYPE fields.
  107. Here are some examples:
  108.  
  109. @Begin(Description,spread 0.5,leftmargin +10, indent -10)
  110. @q<*.BAS>@\Will match all files of type @q<BAS> (all PRO/BASIC source files) in
  111. the current directory.
  112.  
  113. @q<FOO.*>@\Matches files of all types with name @q<FOO>.
  114.     
  115. @q<F*.*>@\Matches all files with names starting with F.
  116.  
  117. @q<*F*.*>@\Matches all files with names containing an F.
  118.  
  119. @q<F%X*.*>@\Matches all files with names starting with F, containing an X in 
  120. the third character position.
  121.  
  122. @q<%.*>@\Matches all files with names are exactly one character long.
  123. @End(Description)
  124. Wildcard notation is used on many computer systems in similar ways, and it is
  125. the mechanism most commonly used to instruct KERMIT to send a group of files.
  126.  
  127. The Pro/Kermit user must bear in mind that other (non-@|P/OS) systems use
  128. different wildcard characters; for instance MS-DOS KERMIT uses ? instead of
  129. the %
  130. as the single character wildcard.  When using Pro/Kermit to request a wildcard
  131. file group from a KERMIT-86 server, the P/OS "%" must be replaced by MS DOS
  132. "?" characters.
  133.  
  134. @Subheading<Text Files and Binary Files>
  135.  
  136. The file system used by P/OS provides for a large number of attributes to
  137. be associated with each file.  These attributes provide some indication of
  138. whether the file is a text file, or is some other type of non-text data.
  139. The two major attributes that affect Pro/Kermit are the record type and
  140. record attribute.  The record type describes how logical records are stored
  141. in the file.  Records may be of some fixed length (specified by another
  142. attribute), or variable length (specified within each record), or stream
  143. (implying no real record divisions).  The record attributes describe
  144. how the breaks between records are to be treated.  For example, a record
  145. attribute of implied carriage return means that any program reading the
  146. file with intentions of printing it out should add a carriage return/line
  147. feed sequence between each record.  Other attributes include FORTRAN
  148. carriage control and print file format.
  149.  
  150. The "standard" method of storing text in a file under P/OS is to store
  151. one line of text per record (variable length records),
  152. with a carriage return/line feed sequence
  153. implied by the end of the record (implied carriage return).
  154. This is the method Pro/Kermit uses to store files it receives when
  155. using file type text.
  156.  
  157. There is no standard format for storing binary files.  Basically, any
  158. record format with no record attributes are used for binary files.  Since
  159. programs which work with binary files under P/OS expect to see some
  160. particular format, more infomation is needed for transfer of binary files
  161. than for transfer of text files.  The current version of Pro/Kermit
  162. is not capable of transferring all types binary files which were created on
  163. a P/OS system to another system and retrieving them intact, nor is
  164. is capable of transferring all types binary files created on a P/OS system to
  165. another P/OS, RSX-11M/M+, or VAX/VMS system intact.  However, certain
  166. formats of binary files can be transferred, and binary files from some
  167. other systems may be transferred to a PRO and recovered intact.
  168.  
  169. Binary files which are created on a PRO (or other Files-11 systems)
  170. with fixed 512 byte records (a fairly common format) can be transferred
  171. using Pro/Kermit.  The only required action is to set the file type
  172. to "fixed" in the receiving Pro/Kermit.  Binary files which have
  173. variable length records can be transferred from one PRO to another
  174. providing the maximum record length is less than 8192 bytes.
  175. This requires that both the sending and receiving Pro/Kermit's
  176. be set for file type block.
  177.  
  178. Using two programs supplied with Pro/Kermit, it is possible to
  179. transfer almost any type of sequential file between PRO's, or
  180. between a PRO and a VAX/VMS or RSX-11M/M+ system.  These two
  181. programs (PROHEX and PRODEH) will convert the binary files to text
  182. (using a variation on Intel hex format).  The resulting text file
  183. can be transferred like any other, and finally "dehexified" reproducing
  184. the original file, with the major attributes intact.  Unfortunately,
  185. the text files tend to be about twice the size of the original binary
  186. files, so the transfers take a bit longer than regular text files.
  187. On the plus side, the
  188. text versions of the files can be transferred to any system
  189. with a Kermit and still retrieved intact.  They can also be transferred
  190. over 7-bit data paths without any problems.
  191. The bootstrap procedure (described below), makes use of hexified versions
  192. of the binary files which make up Pro/Kermit.
  193.  
  194. @section<Program Operation>
  195.  
  196. Pro/Kermit is different from most of the Kermit implementations in that it is
  197. menu driven.  P/OS has a menu based command interface with callable routines
  198. to display menus.  Pro/Kermit utilizes these routines to provide an interface
  199. that is compatible with P/OS.
  200.  
  201. Pro/Kermit is run from the menu in which you install it.  You select the Kermit
  202. application and the press the DO or RETURN key.  After you have done so, the
  203. Pro/Kermit main menu, figure @ref(Mainmenu), will appear on the screen.
  204. After the menu has been displayed you can select the command you wish to
  205. execute by positioning the pointer before the command and pressing the RETURN
  206. or DO key.
  207.  
  208. At any point you may press the HELP key to get help on the current menu that
  209. you are in.  Additionally you can position the pointer to an item that can be
  210. selected and press the HELP key to receive help on that item.
  211.  
  212. @Section(Pro/Kermit Terminal Emulation)
  213.  
  214. Pro/Kermit provides its own terminal emulation.  It does not rely on any other
  215. software package to provide the terminal emulator.  When in terminal emulation
  216. mode Pro/Kermit will respond to the Professional escape sequences.  Terminal
  217. emulation mode is entered from the Kermit main menu CONNECT command.  The
  218. following
  219. functions keys are currently supported in terminal emulation mode.
  220.  
  221. @Begin(Description,leftmargin +10,indent -10)
  222.  
  223. BREAK@\Send a break to the remote computer system.
  224.  
  225. MAIN SCREEN@\Return to the Pro/Kermit main menu.
  226.  
  227. EXIT@\Return to the Pro/Kermit main menu.
  228.  
  229. HELP@\Print a short help message.
  230.  
  231. F11 (ESC)@\Send an escape (octal 33).
  232.  
  233. F12 (BS)@\Send a backspace character (octal 10).
  234.  
  235. F13 (LF)@\Send a line feed (octal 12).
  236.  
  237. @End(Description)
  238.  
  239. Additionally you can set an escape character specifing the "@b<Escape>
  240. Character" in the Terminal Emulation menu, figure @ref(TERMMENU).  The default
  241. for the escape character is ^\ (Control backslash).  The escape character
  242. prefixes the following set of single character commands.  If you want to type
  243. the escape character at the remote system, then you must type two escape
  244. characters.
  245.  
  246. @Begin(Description,leftmargin +10,indent -10)
  247.  
  248. B@\Send a break
  249.  
  250. C@\Close the connection.
  251.  
  252. S@\Type a short status display.
  253.  
  254. ?@\Display a short help message.
  255.  
  256. @End(Description)
  257. @Section(Pro/Kermit Commands)
  258. This section contains a description of the Pro/Kermit commands.  They are
  259. described in detail where they differ from the "ideal" KERMIT and
  260. briefly where they coincide.
  261. @Subheading<Main menu>
  262. @case(device,x9700="@begin(figure,facecode U,leftmargin +4)",
  263.     imprint10="@begin(figure,facecode U,leftmargin +4)",
  264.     else="@begin(figure)"
  265. )
  266. *********************** Pro/Kermit          Version 1.0 ****************
  267. *                                                                      *
  268. *  Press MAIN SCREEN or EXIT to return to P/OS main menu               *
  269. *  Press HELP for help information                                     *
  270. *  Press ADDTNL OPTIONS for Remote Kermit commands                     *
  271. *                                                                      *
  272. *            ->                                                        *
  273. *                  @ux<Bye> - Logout server Kermit and exit to P/OS         *
  274. *                  @ux<Connect> to host computer                            *
  275. *                  @ux<Get> a file from a server Kermit                     *
  276. *                  @ux<Receive> a file from host                            *
  277. *                  @ux<Send> a file to host                                 *
  278. *                  @ux<Enter> server mode                                   *
  279. *                  Set @ux<parameters>                                      *
  280. *                  @ux<Status>                                              *
  281. *                  @ux<P/OS> Services                                       *
  282. *                                                                      *
  283. *                                        Additional Options available  *
  284. ************************************************************************
  285. Make a choice and press DO:
  286. @Caption(Main menu)
  287. @Tag(MAINMENU)
  288. @end(Figure)
  289. The main menu, as seen in figure @ref(Mainmenu), is the first menu that is
  290. displayed.  The user can select a function from this menu or from the Remote
  291. Kermit commands menus.  The remote Kermit command menus are accessed by
  292. pressing the ADDTNL OPTIONS key.
  293.  
  294. The commands that are available in the main menu are:
  295. @Begin(Description,leftmargin +10,indent -10)
  296. BYE@\Generic LOGOUT command and exit to P/OS
  297.  
  298. CONNECT@\Enter the terminal emulation mode.
  299.  
  300. GET@\Get a file from the remote server Kermit.
  301.  
  302. RECEIVE@\Receive a file from the remote system.
  303.  
  304. SEND@\Send a file or a group of files to the remote host.  The user will be
  305. prompted with a menu of files that can be sent to the remote kermit.  The
  306. user can press the ADDTNL OPTIONS key and change the directory, or type in
  307. a full wildcarded file specification.
  308.  
  309. ENTER@\Enter server mode.
  310.  
  311. Parameters@\Enters the Parameter Setting menu (figure @ref(SETMENU)).
  312.  
  313. STATUS@\Causes the various counters to be displayed.
  314.  
  315. P/OS@\Enters the P/OS Services menu (figure @ref(POSMENU)).
  316.  
  317. @End(Description)
  318. Three of the function keys are also valid in the main menu.  These function
  319. keys are:
  320. @Begin(Description,leftmargin +10,indent -10)
  321.  
  322. ADDTNL OPTIONS@\This key will cause the first of two remote Kermit command
  323. menus to be displayed.  The menu that this displays is show by figure
  324. @ref(REMMENU1).
  325.  
  326. EXIT@\This key will cause Pro/Kermit to exit to P/OS.
  327.  
  328. MAIN SCREEN@\This key will also cause Pro/Kermit to exit to P/OS.
  329. @End(Description)
  330. @Subheading<Remote commands menus>
  331. @case(device,x9700="@begin(figure,facecode U,leftmargin +4)",
  332.     imprint10="@begin(figure,facecode U,leftmargin +4)",
  333.     else="@begin(figure)"
  334. )
  335. *************************** Remote Kermit Commands *********************
  336. *                                                                      *
  337. *  Press MAIN SCREEN to return to the main menu                        *
  338. *  Press EXIT to return to the previous menu                           *
  339. *  Press ADDTNL OPTIONS for additional Remote Kermit commands          *
  340. *                                                                      *
  341. *            ->                                                        *
  342. *                  @ux<Type> remote file                                    *
  343. *                  @ux<Directory> of remote files                           *
  344. *                  @ux<Disk> usage                                          *
  345. *                  @ux<Delete> remote file                                  *
  346. *                  @ux<Change> working directory                            *
  347. *                  @ux<Status> of Server Kermit                             *
  348. *                  @ux<Help> on commands the Server Kermit supports         *
  349. *                  @ux<Logout> Server Kermit                                *
  350. *                  @ux<Finish> using Server Kermit                          *
  351. *                  Perform a command on Server's @ux<Host>                  *
  352. *                                                                      *
  353. *                                        Additional Options available  *
  354. ************************************************************************
  355. Make a choice and press DO:
  356. @Caption(Remote Kermit Commands - Menu #1)
  357. @Tag(REMMENU1)
  358. @End(Figure)
  359. There are two menus that provide access to the remote Kermit commands.  The
  360. first menu, @ref(REMMENU1), provides the following commands:
  361. @Begin(Description,leftmargin +10,indent -10)
  362. @b<Type> remote file@\Implementing the "REMOTE TYPE" command.  You
  363. will be prompted to type in
  364. the remote file specification to be displayed.
  365.  
  366. @b<Directory> of remote files@\Implementing the "REMOTE DIRECTORY" command.
  367. You will be prompted for the directory name.
  368.  
  369. @b<Disk> usage@\Implementing the "REMOTE DISK-USAGE" command.  You will be
  370. prompted for the disk area.
  371.  
  372. @b<Delete> remote file@\Implementing the "REMOTE DELETE" command.  You will
  373. be prompted for the remote file specification(s) to be deleted.
  374.  
  375. @b<Change> working directory@\Implementing the "REMOTE CWD" command.  You
  376. will be prompted for the
  377. working directory to change to and the password that may be required to access
  378. that directory.
  379.  
  380. @b<Status> of Server Kermit@\This command implements the "REMOTE STATUS"
  381. generic command.
  382.  
  383. @b<Help> on commands the Server Kermit supports@\This command implements the
  384. "REMOTE HELP" generic command.
  385.  
  386. @b<Logout> Server Kermit@\This command implements the "REMOTE LOGOUT" generic
  387. command.
  388.  
  389. @b<Finish> using Server Kermit@\This menu item implements the "REMOTE FINISH"
  390. generic command.
  391.  
  392. Perform a command on Server's @b<Host>@\This command implements the "REMOTE
  393. HOST" generic command.  The user will be prompted for the command string to
  394. send to the host system.
  395. @End(Description)
  396. The commands that can be found in the second remote commands menu are:
  397. @case(device,x9700="@begin(figure,facecode U,leftmargin +4)",
  398.     imprint10="@begin(figure,facecode U,leftmargin +4)",
  399.     else="@begin(figure)"
  400. )
  401. **************************** Remote Kermit Commands ********************
  402. *                                                                      *
  403. *  Press MAIN SCREEN to return to the main menu                        *
  404. *  Press EXIT to return to the previous menu                           *
  405. *  Press ADDTNL OPTIONS to return to the main menu                     *
  406. *                                                                      *
  407. *                                                                      *
  408. *                                                                      *
  409. *                                                                      *
  410. *                ->                                                    *
  411. *                      @ux<Copy> remote files                               *
  412. *                      @ux<Rename> remote files                             *
  413. *                      @ux<Who> is logged into the remote system            *
  414. *                                                                      *
  415. *                                                                      *
  416. *                                                                      *
  417. *                                                                      *
  418. *                                                                      *
  419. *                                        Additional Options available  *
  420. ************************************************************************
  421. Make a choice and press DO:
  422. @Caption(Remote Kermit commands - Menu #2)
  423. @tag(REMMENU2)
  424. @end(Figure)
  425. @Begin(Description,leftmargin +10,indent -10)
  426. @b<Copy> remote files@\Implements the generic "REMOTE COPY" command.
  427. Pro/Kermit will prompt for the two remote file specifications and then
  428. will send the command to the remote server Kermit for execution.
  429.  
  430. @b<Rename> remote files@\Implements the generic "REMOTE RENAME" command.
  431. Pro/Kermit will prompt for the two remote file specifications and then
  432. will send the generic command to the remote server Kermit for execution.
  433.  
  434. @b<Who> is logged into the remote system@\Will ask for the information that
  435. is to be passed to the remote server Kermit for this command.  The information
  436. that you have to type in, if any, depends on the server Kermit implementation.
  437. @end(Description)
  438. @Subheading<Setting parameters>
  439. @case(device,x9700="@begin(figure,facecode U,leftmargin +4)",
  440.     imprint10="@begin(figure,facecode U,leftmargin +4)",
  441.     else="@begin(figure)"
  442. )
  443. ****************************** Parameter Setting ***********************
  444. *                                                                      *
  445. *  Press EXIT to return to the previous menu                           *
  446. *  Press MAIN SCREEN to return to the Pro/Kermit main menu             *
  447. *                                                                      *
  448. *                                                                      *
  449. *                                                                      *
  450. *                                                                      *
  451. *                        ->                                            *
  452. *                              @ux<General> parameters                      *
  453. *                              @ux<Send> parameters                         *
  454. *                              @ux<Receive> parameters                      *
  455. *                              @ux<File> parameters                         *
  456. *                              @ux<Line> characteristics                    *
  457. *                              @ux<Terminal> emulation                      *
  458. *                                                                      *
  459. *                                                                      *
  460. *                                                                      *
  461. ************************************************************************
  462. Make a choice and press DO:
  463. @Caption(Parameter Setting menu)
  464. @tag(Setmenu)
  465. @end(Figure)
  466. The "Setting parameters" menu is entered into from the main menu.  This will
  467. allow you to choose the type of parameters that you can set.  Entering this
  468. menu is much the type the "SET" of a generic SET command.
  469. @Begin(Description,leftmargin +10,indent -10)
  470. @b<General> parameters@\This option will allow you to set general Pro/Kermit
  471. parameters.  These parameters include the number of retries to attempt
  472. when sending packets, eigtht bit quoting, the repeat character and the
  473. state of the debugging flag.  The "General Parameters" menu, figure
  474. @ref(GENMENU), will be displayed to allow you to set these parameters.
  475.  
  476. @b<Send> parameters@\Selection this option will cause the "Send Packet
  477. Parameters"
  478. menu to be displayed.  Selecting this option is equivalent to typing
  479. the generic "SET SEND" command.  The "Send Packet Parameters" menu is show in
  480. figure @ref(SENDMENU).
  481.  
  482. @b<Receive> parameters@\Selecting this option will cause the "Receive
  483. Parameters" menu to be displayed.  The selection of the option is equivalent
  484. to typing the "SET RECEIVE" generic command.  The "Receive Parameters" menu
  485. is show in figure @ref(RECMENU).
  486.  
  487. @b<File> parameters@\This option will display the "File Parameters" menu.  This
  488. allows the setting of the file disposition, file type and file specification
  489. translation.  This menu is show in figure @ref(FILEMENU).
  490.  
  491. @b<Line> characteristics@\This option allows changing of some of the
  492. communications port (XK0) parameters.  These parameters include the transmit
  493. and receive speeds, parity and flow control.  The "Line Parameters" menu is
  494. displayed when this option is selected.  This menu is show in figure
  495. @ref(LINEMENU).
  496.  
  497. @b<Terminal> emulation@\The "Terminal Emulation Parameters" menu will be
  498. displayed when this option is selected.  This will allow you to change
  499. various terminal emulation parameters like the escape character, local
  500. echo and others.  The menu is show in figure @ref(TERMMENU).
  501. @End(Description)
  502. @Subheading<General Parameters>
  503. @case(device,x9700="@begin(figure,facecode U,leftmargin +4)",
  504.     imprint10="@begin(figure,facecode U,leftmargin +4)",
  505.     else="@begin(figure)"
  506. )
  507. ****************************** General Parameters **********************
  508. *                                                                      *
  509. *  Press EXIT to return to the previous menu.                          *
  510. *  Press MAIN SCREEN to return to the Pro/Kermit main menu             *
  511. *                                                                      *
  512. *                                                                      *
  513. *                                                                      *
  514. *                                                                      *
  515. *      ->                                                              *
  516. *            @ux<Block check> type                1 character(s)            *
  517. *            @ux<Repeat> quoting character        ~ (176)                   *
  518. *            @ux<Eighth> bit quoting character    & (46)                    *
  519. *            Retries for @ux<initial> packet      5.                        *
  520. *            Retries for @ux<subsequent> packets  16.                       *
  521. *            @ux<Debugging>                       (ON/@ux<OFF>)                  *
  522. *                                                                      *
  523. *                                                                      *
  524. *                                                                      *
  525. ************************************************************************
  526. Make a choice and press DO:
  527. @Caption(General Parameters menu)
  528. @Tag(GENMENU)
  529. @end(Figure)
  530. The following describes the general parameters that can be set.  These
  531. parameters are set from the "General Parameters" menu, figure @ref(GENMENU).
  532. @Begin(Description,leftmargin +10,indent -10)
  533. @b<Block check> type@\This will set the new error detection method.  This
  534. command is similar to the "SET BLOCK-CHECK" generic command.  The default
  535. value for this option is 1 character checksums.  If this option is selected
  536. the next menu that will appear is the Block Check Charaters menu as shown in
  537. figure @ref(CHKMENU).
  538.  
  539. @b<Repeat> quoting character@\The default for this option is "~" (octal 176).
  540.  
  541. @b<Eighth> bit quoting character@\The default for this option is "&" (octal
  542. 46).
  543.  
  544. Retries for @b<initial> packet@\This command is similar to the "SET RETRY
  545. INITIAL-CONNECTION" generic command.  The default for this command is 5.
  546.  
  547. Retries for @b<subsequent> packets@\This command is similar to the "SET RETRY
  548. PACKETS" generic command.  The default for this command is 16.
  549.  
  550. @b<Debugging>@\This command is the same as the "SET DEBUGGING ON/OFF" commands
  551. in the generic Kermit.  Selection of this item will toggle the state of the
  552. debugging flag.  The default is for debugging to be off.
  553. @End(Description)
  554. @Subheading<Send Packet Parameters>
  555. @case(device,x9700="@begin(figure,facecode U,leftmargin +4)",
  556.     imprint10="@begin(figure,facecode U,leftmargin +4)",
  557.     else="@begin(figure)"
  558. )
  559. **************************** Send Packet Parameters ********************
  560. *                                                                      *
  561. *  Press EXIT to return to the previous menu                           *
  562. *  Press MAIN SCREEN to return to the Pro/Kermit main menu             *
  563. *                                                                      *
  564. *                                                                      *
  565. *                                                                      *
  566. *                     ->                                               *
  567. *                           @ux<End-of-Line>      ^M (15)                   *
  568. *                           @ux<Packet-Length>    80.                       *
  569. *                           @ux<Padding>          0.                        *
  570. *                           @ux<Pad character>    @q<^@@> (0)                    *
  571. *                           @ux<Timeout>          15. Sec.                  *
  572. *                           @ux<Start of packet>  ^A (1)                    *
  573. *                           @ux<Quote>            # (43)                    *
  574. *                                                                      *
  575. *                                                                      *
  576. *                                                                      *
  577. ************************************************************************
  578. Make selection and press DO:
  579. @Caption(Send Packet Parameters menu)
  580. @Tag(SENDMENU)
  581. @end(Figure)
  582. This menu implements most of the SET SEND generic Kermit commands.  The
  583. values will be prompted for on the last line of the screen.  To set one of the
  584. values you should select the item from the menu, press the DO key and then
  585. enter the value terminated by the DO key.
  586. @Begin(Description,leftmargin +10,indent -10)
  587. @b<End-of-Line>@\This command performs the function of the generic Kermit
  588. command SET SEND END-OF-LINE.  The default value for this is a control-M
  589. (octal 15).
  590.  
  591. @b<Packet-Length>@\This command performs the function of the generic Kermit
  592. command SET SEND PACKET-LENGTH.  The default value is 80 decimal.
  593.  
  594. @b<Padding>@\This command will set the number of padding characters to send.
  595. It is the same as the first part of the generic command SET PADDING.  The
  596. default is to send no padding characters.
  597.  
  598. @b<Pad character>@\This command will set the padding character that is to be
  599. sent.  It is the same as the second part of the generic command SET PADDING.
  600. The default is to send a null character (0 octal).
  601.  
  602. @b<Timeout>@\This will set the number of seconds to wait for a packet before
  603. trying again.  It is the same as the generic Kermit command SET SEND TIMEOUT.
  604. The default value is 15 seconds.
  605.  
  606. @b<Start of packet>@\This command is identical to the SET SEND START-OF-PACKET
  607. generic Kermit command.  The default for this command is a control-A (1 octal).
  608.  
  609. @b<Quote>@\This command performs the same function as the SET SEND QUOTE
  610. generic command.  The default value for this is "#" (43 octal).
  611. @End(Description)
  612. @Subheading<Receive Packet Parameters>
  613. @case(device,x9700="@begin(figure,facecode U,leftmargin +4)",
  614.     imprint10="@begin(figure,facecode U,leftmargin +4)",
  615.     else="@begin(figure)"
  616. )
  617. ************************** Receive Packet Parameters *******************
  618. *                                                                      *
  619. *  Press EXIT to return to the previous menu.                          *
  620. *  Press MAIN SCREEN to return to the Pro/Kermit main menu.            *
  621. *                                                                      *
  622. *                                                                      *
  623. *                                                                      *
  624. *                     ->                                               *
  625. *                           @ux<End-of-Line>      ^M (15)                   *
  626. *                           @ux<Packet-Length>    80.                       *
  627. *                           @ux<Padding>          0.                        *
  628. *                           @ux<Pad character>    @q<^@@> (0)                    *
  629. *                           @ux<Timeout>          15. Sec.                  *
  630. *                           @ux<Start of packet>  ^A (1)                    *
  631. *                           @ux<Quote>            # (43)                    *
  632. *                                                                      *
  633. *                                                                      *
  634. *                                                                      *
  635. ************************************************************************
  636. Make a choice and press DO:
  637. @Caption(Receive Packet Parameters menu)
  638. @Tag(RECMENU)
  639. @end(Figure)
  640. This menu implements most of the SET RECEIVE generic Kermit commands.  The
  641. values will be prompted for on the last line of the screen.  To set one of the
  642. values you should select the item from the menu, press the DO key and then
  643. enter the value terminated by the DO key.
  644. @Begin(Description,leftmargin +10,indent -10)
  645. @b<End-of-Line>@\This option implements the generic Kermit command SET RECEIVE
  646. END-OF-LINE command.  The default for this is a carriage return (control-M,
  647. 15 octal).
  648.  
  649. @b<Packet-Length>@\This option implements the generic Kermit command SET
  650. RECEIVE PACKET-LENGTH command.  The default value for this parameter is 80.
  651.  
  652. @b<Padding>@\The generic Kermit command SET RECEIVE PADDING is implmented by
  653. this option and the following option, @b<Pad character>.  This option
  654. implements the first part of the command, the number of padding characters.
  655. The default for this option is no padding characters.
  656.  
  657. @b<Pad character>@\This option implements the second part of the SET
  658. RECEIVE PADDING generic command.  The padding charcter is set by this option.
  659. The default for this is a null (0 octal).
  660.  
  661. @b<Timeout>@\This option implements the generic Kermit command SET RECEIVE
  662. TIMEOUT.  The default for this command is 15 seconds.
  663.  
  664. @b<Start of packet>@\This option implements SET RECEIVE START-OF-PACKET generic
  665. Kermit command.  The default for this command is a control-A (1 octal).
  666.  
  667. @b<Quote>@\This option implements the SET RECEIVE QUOTE generic command.  The
  668. default for this option is "#" (43 octal).
  669. @End(Description)
  670. @Subheading<File Parameters>
  671. @case(device,x9700="@begin(figure,facecode U,leftmargin +4)",
  672.     imprint10="@begin(figure,facecode U,leftmargin +4)",
  673.     else="@begin(figure)"
  674. )
  675. ****************************** File Parameters *************************
  676. *                                                                      *
  677. *  Press EXIT to return to the previous menu.                          *
  678. *  Press MAIN SCREEN to return to the Pro/Kermit main menu             *
  679. *                                                                      *
  680. *                                                                      *
  681. *                                                                      *
  682. *                                                                      *
  683. *                                                                      *
  684. *      ->                                                              *
  685. *            File @ux<type>                                  ASCII          *
  686. *            File @ux<specification>                         Normal         *
  687. *            @ux<Disposition> for incomplete received files  Delete         *
  688. *                                                                      *
  689. *                                                                      *
  690. *                                                                      *
  691. *                                                                      *
  692. *                                                                      *
  693. ************************************************************************
  694. Make a choice and press DO:
  695. @Caption(File Parameters menu)
  696. @Tag(FILEMENU)
  697. @end(Figure)
  698. The File Parameters menu, @ref(FILEMENU),
  699. implements the SET FILE and SET INCOMPLETE generic Kermit commands.  This menu
  700. will invoke other menus to set the parameters.
  701. @Begin(Description,leftmargin +10,indent -10)
  702. File @b<type>@\Selection of this option will invoke the Set File mode menu,
  703. as show in figure @ref(FMODMENU).  The default value for this item is ASCII.
  704.  
  705. File @b<specification>@\This option will invoke the File Specification Handling
  706. menu, as show in figure @ref(FSPECMENU).  The default for this option
  707. is NORMAL.
  708.  
  709. @b<Disposition> for incomplete received files@\Selection of this option is
  710. the same as the SET INCOMPLETE generic Kermit command.  The menu that is
  711. invoked by selection of this option is show in figure @ref(FDISPMENU).
  712. The default value is DELETE.
  713. @End(Description)
  714. @Subheading<File Specification Handling>
  715. @case(device,x9700="@begin(figure,facecode U,leftmargin +4)",
  716.     imprint10="@begin(figure,facecode U,leftmargin +4)",
  717.     else="@begin(figure)"
  718. )
  719. ************************ File Specification Handling *******************
  720. *                                                                      *
  721. *  Press EXIT to return to the previous menu                           *
  722. *  Press MAIN SCREEN to return to the Pro/Kermit main menu             *
  723. *                                                                      *
  724. *                                                                      *
  725. *                                                                      *
  726. *                                                                      *
  727. *                                                                      *
  728. *                  ->                                                  *
  729. *                        @ux<Full> file specifications                      *
  730. *                        @ux<Normal> form file specifications               *
  731. *                        @ux<Untranslated> file specifications              *
  732. *                                                                      *
  733. *                                                                      *
  734. *                                                                      *
  735. *                                                                      *
  736. *                                                                      *
  737. ************************************************************************
  738. Make a choice and press DO:
  739. @Caption(File Specification Handling menu)
  740. @Tag(FSPECMENU)
  741. @end(Figure)
  742. This command will set the type of translation that must be done on the file
  743. sepcification when sending and receiving one.  This command is similar
  744. to the Kermit-10 and Kermit-32 SET FILE NAMING commands.
  745. @Begin(Description,leftmargin +10,indent -10)
  746. @b<Full> file specifications@\This option will cause Kermit to send the full
  747. file specification without any modifications.
  748.  
  749. @b<Normal> form file specifications@\This will cause Kermit to send only the
  750. file name and file type, and
  751. perform translations on received file specifications to force them
  752. to be only a valid file name and type.
  753.  
  754. @b<Untranslated> file specifications@\This option will cause Kermit to send
  755. only the file name and type to the remote Kermit.  It will not do any
  756. translations on the name and type.  The device and directory information will
  757. be removed before the transfer.  Kermit will do not translation on the incoming
  758. file specification.
  759. @End(Description)
  760. @Subheading<File Disposition>
  761. @case(device,x9700="@begin(figure,facecode U,leftmargin +4)",
  762.     imprint10="@begin(figure,facecode U,leftmargin +4)",
  763.     else="@begin(figure)"
  764. )
  765. ******************************* File Disposition ***********************
  766. *                                                                      *
  767. *  Press EXIT to return to the previous menu                           *
  768. *  Press MAIN SCREEN to return to the Pro/Kermit main menu             *
  769. *                                                                      *
  770. *                                                                      *
  771. *                                                                      *
  772. *                                                                      *
  773. *                                                                      *
  774. *                                                                      *
  775. *                ->                                                    *
  776. *                      @ux<Keep> incompletely transfered files              *
  777. *                      @ux<Delete> incompletely transfered files            *
  778. *                                                                      *
  779. *                                                                      *
  780. *                                                                      *
  781. *                                                                      *
  782. *                                                                      *
  783. ************************************************************************
  784. Make a choice and press DO:
  785. @Caption(File Disposition menu)
  786. @Tag(FDISPMENU)
  787. @end(Figure)
  788. The File Disposition menu, figure @ref(FDISPMENU), implements the SET
  789. INCOMPLETE generic Kermit command.  The options that you can select are
  790. the values you can specify for the command.
  791. @Begin(Description,leftmargin +10,indent -10)
  792. @b<Keep> incompletely transfered files@\This option implements the SET
  793. INCOMPLETE KEEP generic command.  This specifies that files that are received
  794. should always be kept.
  795.  
  796. @b<Delete> incompletely transfered files@\The SET INCOMPLETE DELETE generic
  797. command is implemented by this option.  This is the default for the command.
  798. @End(Description)
  799. @Subheading<File mode>
  800. @case(device,x9700="@begin(figure,facecode U,leftmargin +4)",
  801.     imprint10="@begin(figure,facecode U,leftmargin +4)",
  802.     else="@begin(figure)"
  803. )
  804. ******************************** Set File mode *************************
  805. *                                                                      *
  806. *  Press EXIT to return to previous menu                               *
  807. *  Press MAIN SCREEN to return to the Pro/Kermit main menu             *
  808. *                                                                      *
  809. *                                                                      *
  810. *                                                                      *
  811. *                                                                      *
  812. *                                                                      *
  813. *                               ->                                     *
  814. *                                     @ux<Ascii>                            *
  815. *                                     @ux<Binary>                           *
  816. *                                     @ux<Block>                            *
  817. *                                     @ux<Fixed>                            *
  818. *                                                                      *
  819. *                                                                      *
  820. *                                                                      *
  821. *                                                                      *
  822. ************************************************************************
  823. Make choice and press DO:
  824. @Caption(File Mode menu)
  825. @Tag(FMODMENU)
  826. @end(Figure)
  827. The File Mode menu, figure @ref(FMODMENU), implement one of the SET FILE
  828. generic Kermit commands.  This menu is used to sent the type of file that
  829. Kermit is dealing with, for more information on file types, see the
  830. section on Text and Binary files.
  831. @Begin(Description,leftmargin +10,indent -10)
  832. @b<Ascii>@\This is the default for this command.
  833.  
  834. @b<Binary>@\File type BINARY is for non-text files.  Note that binary files which
  835. are generated on a P/OS system cannot be transferred to another VMS system
  836. without losing file attributes.  This means that (for example), an .EXE
  837. file cannot be transmitted with Pro/Kermit.  (This problem should be
  838. resolved in a future verison of Kermit).
  839.  
  840. @b<Block>@\
  841.  
  842. @b<Fixed>@\
  843. @End(Description)
  844. @Subheading<Terminal Emulation Parameters>
  845. @case(device,x9700="@begin(figure,facecode U,leftmargin +4)",
  846.     imprint10="@begin(figure,facecode U,leftmargin +4)",
  847.     else="@begin(figure)"
  848. )
  849. ************************ Terminal Emulation Parameters *****************
  850. *                                                                      *
  851. *  Press EXIT to return to the previous menu                           *
  852. *  Press MAIN SCREEN to return to the Pro/Kermit main menu             *
  853. *                                                                      *
  854. *                                                                      *
  855. *                                                                      *
  856. *                                                                      *
  857. *        ->                                                            *
  858. *              @ux<Local> echo                 (On/@ux<Off>)                     *
  859. *              @ux<Turn around>                ^Q (21)                      *
  860. *              @ux<Escape> Character           ^\ (34)                      *
  861. *              @ux<IBM - Flag>                 (On/@ux<Off>)                     *
  862. *              Transparent @ux<function> keys  (On/@ux<Off>)                     *
  863. *              @ux<7-Bit> character codes      (@ux<On>/Off)                     *
  864. *                                                                      *
  865. *                                                                      *
  866. *                                                                      *
  867. ************************************************************************
  868. Make a selection and press DO:
  869. @Caption(Terminal Emulation Parameters menu)
  870. @Tag(TERMMENU)
  871. @end(Figure)
  872. @Begin(Description,leftmargin +10,indent -10)
  873. @b<Local> echo@\The default is off.
  874.  
  875. @b<Turn around>@\The default character is Control-Q (Octal 21).
  876.  
  877. @b<Escape> Character@\The default character is Control-\ (Octal 34).
  878.  
  879. @b<IBM - Flag>@\The default is off.
  880.  
  881. Transparent @b<function> keys@\The default is off.
  882.  
  883. @b<7-Bit> character codes@\The default is on.
  884. @End(Description)
  885. @subsection(Parity menu)
  886. @case(device,x9700="@begin(figure,facecode U,leftmargin +4)",
  887.     imprint10="@begin(figure,facecode U,leftmargin +4)",
  888.     else="@begin(figure)"
  889. )
  890. ********************************** Set Parity **************************
  891. *                                                                      *
  892. *  Press EXIT to return to previous menu                               *
  893. *  Press MAIN SCREEN to return to the Pro/Kermit main menu             *
  894. *                                                                      *
  895. *                                                                      *
  896. *                                                                      *
  897. *                                                                      *
  898. *                               ->                                     *
  899. *                                     @ux<Even>                             *
  900. *                                     @ux<None>                             *
  901. *                                     @ux<Mark>                             *
  902. *                                     @ux<Odd>                              *
  903. *                                     @ux<Space>                            *
  904. *                                                                      *
  905. *                                                                      *
  906. *                                                                      *
  907. *                                                                      *
  908. ************************************************************************
  909. Make a selection and press DO:
  910. @Caption(Set Parity menu)
  911. @Tag(PARMENU)
  912. @end(Figure)
  913. @index(SET PARITY)
  914. Making a selection from the Parity menu, figure @ref(PARMENU),
  915. is equivalent to issuing the "SET PARITY"
  916. command to a generic Kermit.  If you were to select the @b<Space> option in
  917. this menu, it would be equivalent to issuing the generic command "SET PARITY
  918. SPACE", or selecting @b<None> would be equivalent to "SET PARITY NONE".
  919.  
  920. @Begin(Description,leftmargin +10,indent -10)
  921.  
  922. @b<Even>@\Selecting this option is equivalent to giving the "SET PARITY EVEN"
  923. generic Kermit command.
  924.  
  925. @b<None>@\Selecting this option is equivalent to giving the "SET PARITY NONE"
  926. generic Kermit command.  This is the default.
  927.  
  928. @b<Mark>@\Selecting this option is equivalent to the "SET PARITY MARK" generic
  929. Kermit command.
  930.  
  931. @b<Odd>@\Selecting this option is equivalent to the "SET PARITY ODD" generic
  932. Kermit command.
  933.  
  934. @b<Space>@\Selecting this option is equivalent to the "SET PARITY SPACE"
  935. generic Kermit command.
  936. @End(Description)
  937. @Subheading<Set Line Characteristics>
  938. @case(device,x9700="@begin(figure,facecode U,leftmargin +4)",
  939.     imprint10="@begin(figure,facecode U,leftmargin +4)",
  940.     else="@begin(figure)"
  941. )
  942. *************************** Set Line Characteristics *******************
  943. *                                                                      *
  944. *  Press EXIT to return to previous menu                               *
  945. *  Press MAIN SCREEN to return to the Pro/Kermit main menu             *
  946. *                                                                      *
  947. *                                                                      *
  948. *                                                                      *
  949. *                                                                      *
  950. *   ->                                                                 *
  951. *         @ux<Receive> speed (baud)      9600.                              *
  952. *         @ux<Transmit> speed (baud)     9600.                              *
  953. *         @ux<Parity>                    None                               *
  954. *         @ux<XON/XOFF> flow control     (@ux<ENABLED>,DISABLED)                 *
  955. *         @ux<Modem> type                No modem, hard-wired line          *
  956. *                                                                      *
  957. *                                                                      *
  958. *                                                                      *
  959. *                                                                      *
  960. ************************************************************************
  961. Make a choice and press DO:
  962. @Caption(Set Line Characteristics menu)
  963. @Tag(LINEMENU)
  964. @end(Figure)
  965. The Set Line Characteristics menu, figure @ref(LINEMENU), will allow you to
  966. change the communications port parameters.  These parameters currently include
  967. the receive and transmit speeds, the flow control (XON/XOFF) processing and
  968. the type of parity to use.
  969. @Begin(Description,leftmargin +10,indent -10)
  970. @b<Receive> speed (baud)@\This option will allow you to change the speed that
  971. the Professional receives characters at over the communications port.  The
  972. default  receive speed is 1200 baud.
  973.  
  974. @b<Transmit> speed (baud)@\Selection of this option will allow you to change
  975. the transmit speed of the communications port.  The default for
  976. the communications port is 1200 baud.
  977.  
  978. @b<Parity>@\This option allows you to set the type of parity checking that
  979. is done for characters received and the type that is added to characters
  980. sent.  The default is no parity (@b<None>).
  981.  
  982. @b<XON/XOFF> flow control@\The default is @b<ENABLED>.
  983.  
  984. @b<Modem> type@\The default is "No modem, hard-wired line".  This parameter
  985. should @b<not> be changed even if you are using a modem.
  986. @end(Description)
  987. @subheading<Setting - Line Characteristics>
  988. @case(device,x9700="@begin(figure,facecode U,leftmargin +4)",
  989.     imprint10="@begin(figure,facecode U,leftmargin +4)",
  990.     else="@begin(figure)"
  991. )
  992. ***************************** Line Characteristics *********************
  993. *                                                                      *
  994. *  Press EXIT to return to the previous menu                           *
  995. *  Press MAIN SCREEN to return to the Pro/Kermit main menu             *
  996. *                                                                      *
  997. *                                                                      *
  998. *                                                                      *
  999. *                                                                      *
  1000. *                                                                      *
  1001. *           ->                                                         *
  1002. *                 Set @ux<default> line characteristics                     *
  1003. *                 Set @ux<current> line characteristics                     *
  1004. *                 @ux<Reset> current line characteristics to defaults       *
  1005. *                                                                      *
  1006. *                                                                      *
  1007. *                                                                      *
  1008. *                                                                      *
  1009. *                                                                      *
  1010. ************************************************************************
  1011. Make a choice and press DO:
  1012. @Caption(Line Characteristics menu)
  1013. @Tag(LCHARMENU)
  1014. @end(Figure)
  1015. Pro/Kermit will allow you to set the default communications line parameters.
  1016. The Line Characteristics menu, figure @ref(LCHARMENU), will allow you to
  1017. modify the default values, the current values or reset the current values from
  1018. the stored defaults.  The default values are kept in a binary file on the
  1019. Professional.
  1020. @Begin(Description,leftmargin +10,indent -10)
  1021. Set @b<default> line characteristics@\Selection of this option will cause
  1022. the default line characteristics to be modified.  The next menu that will
  1023. be displayed is the Set Line Characteristics menu, figure @REF(LINEMENU).
  1024.  
  1025. Set @b<current> line characteristics@\Selecting this option will cause
  1026. the current line characteristics to be modified.  The next menu will be
  1027. the Set Line Characteristics menu, figure @REF(LINEMENU), with the current
  1028. parameters being displayed.
  1029.  
  1030. @b<Reset> current line characteristics to defaults@\Selecting this option
  1031. will cause the current line characterics to be reset to the defaults.
  1032. @end(Description)
  1033. @subheading<Setting - Modem type>
  1034. The modem type should be set to "@b<No modem>, hard-wired line.  It should
  1035. never be changed to something else.
  1036. @case(device,x9700="@begin(figure,facecode U,leftmargin +4)",
  1037.     imprint10="@begin(figure,facecode U,leftmargin +4)",
  1038.     else="@begin(figure)"
  1039. )
  1040. ******************************** Set modem type ************************
  1041. *                                                                      *
  1042. *  Press EXIT to return to the previous menu.                          *
  1043. *  Press MAIN SCREEN to return to the Pro/Kermit main menu             *
  1044. *                                                                      *
  1045. *                                                                      *
  1046. *                                                                      *
  1047. *                                                                      *
  1048. *                ->                                                    *
  1049. *                      @ux<No modem>, hard-wired line                       *
  1050. *                      USFSK- 0..300 baud Bell @ux<103J>                    *
  1051. *                      @ux<CCITTV.21> - 0..300 baud European                *
  1052. *                      CCITTV.23 @ux<Mode 1> - 75/0..300 split              *
  1053. *                      CCITTV.23 @ux<Mode 2> - 75/0..1200 split             *
  1054. *                      DPSK - 1200 baud Bell @ux<212>                       *
  1055. *                                                                      *
  1056. *                                                                      *
  1057. *                                                                      *
  1058. ************************************************************************
  1059. Make a choice and press DO:
  1060. @Caption(Set modem type menu)
  1061. @Tag(MODEMMENU)
  1062. @end(Figure)
  1063. @subheading<Setting - Block Check Characters>
  1064. @case(device,x9700="@begin(figure,facecode U,leftmargin +4)",
  1065.     imprint10="@begin(figure,facecode U,leftmargin +4)",
  1066.     else="@begin(figure)"
  1067. )
  1068. **************************** Block Check Characters ********************
  1069. *                                                                      *
  1070. *  Press EXIT to return to the previous menu                           *
  1071. *  Press MAIN SCREEN to return to the Pro/Kermit main menu             *
  1072. *                                                                      *
  1073. *                                                                      *
  1074. *                                                                      *
  1075. *                                                                      *
  1076. *                                                                      *
  1077. *                       ->                                             *
  1078. *                             @ux<1> character checksum                     *
  1079. *                             @ux<2> character checksum                     *
  1080. *                             @ux<3> character CRC-CCITT                    *
  1081. *                                                                      *
  1082. *                                                                      *
  1083. *                                                                      *
  1084. *                                                                      *
  1085. *                                                                      *
  1086. ************************************************************************
  1087. Make a choice and press DO:
  1088. @Caption(Block Check Characters menu)
  1089. @Tag(CHKMENU)
  1090. @end(Figure)
  1091. The Block Check Characters menu, figure @ref(CHKMENU), will allow you to set
  1092. the check characters that are used in the messages that are sent and received.
  1093. This menu implements the generic command "SET BLOCK-CHECK".
  1094. @Begin(Description,leftmargin +8,indent -10)
  1095. @b<1> character checksum@\This option implements the SET BLOCK-CHECK
  1096. 1-CHARACTER-CHECKSUM generic command.  This is the default for
  1097. the SET BLOCK-CHECK.
  1098.  
  1099. @b<2> character checksum@\This option implements the SET BLOCK-CHECK
  1100. 2-CHARACTER-CHECKSUM generic command.
  1101.  
  1102. @b<3> character CRC-CCITT@\This option implements the SET BLOCK-CHECK
  1103. 3-CHARACTER-CRC generic command.
  1104. @end(Description)
  1105. @subheading<P/OS Services>
  1106. @case(device,x9700="@begin(figure,facecode U,leftmargin +4)",
  1107.     imprint10="@begin(figure,facecode U,leftmargin +4)",
  1108.     else="@begin(figure)"
  1109. )
  1110. ******************************** P/OS Services *************************
  1111. *                                                                      *
  1112. *                                                                      *
  1113. *  Press EXIT or MAIN SCREEN to return to the Pro/Kermit main menu.    *
  1114. *                                                                      *
  1115. *                                                                      *
  1116. *                                                                      *
  1117. *                                                                      *
  1118. *                       ->                                             *
  1119. *                             @ux<Disk>/diskette services                   *
  1120. *                             @ux<File> services                            *
  1121. *                             @ux<Print> services                           *
  1122. *                             @ux<View> Message/Status                      *
  1123. *                             P/OS @ux<Set-Up>                              *
  1124. *                                                                      *
  1125. *                                                                      *
  1126. *                                                                      *
  1127. *                                                                      *
  1128. ************************************************************************
  1129. Make a choice and press DO:
  1130. @Caption(P/OS Services menu)
  1131. @tag(POSMENU)
  1132. @end(Figure)
  1133. Pro/Kermit will allow you to enter into any of the normal P/OS services that
  1134. can be found in the P/OS Main Menu.  The P/OS Services menu, figure
  1135. @ref(POSMENU), lists the different services that are available.  The P/OS
  1136. Services menu will be displayed when you choose the "@b<P/OS> services"
  1137. from the Kermit Main menu, figure @ref(MAINMENU).
  1138.  
  1139. The P/OS services that are available are:
  1140.  
  1141. @begin(Description,leftmargin +8,indent -10)
  1142.  
  1143. @b<Disk>/diskette services@\This will enter the normal disk/diskette services.
  1144. You can initialize diskettes, install applications, copy diskettes and the
  1145. other various functions normally found in this menu.
  1146.  
  1147. @b<File> services@\Provides access to the normal file services on the
  1148. Professional-350.  This will allow you to delete, rename, copy files, purge
  1149. old versions of a file and the other functions associated with the file
  1150. services.
  1151.  
  1152. @b<Print> services@\Provides access to the P/OS Print services.  This will
  1153. allow you to print files after you have transfered them.
  1154.  
  1155. @b<View> messages/status@\Will provide access to the message board and the
  1156. disk drive status information.
  1157.  
  1158. P/OS @b<setup>@\Displays the Setup menu that you normally get when you have
  1159. pressed the SET-UP key when in the P/OS Main Menu.  This will allow you to
  1160. change the date/time of the machine, key click and other features.
  1161. @end(discription)
  1162. @subheading<Transfer task active menu>
  1163. @case(device,x9700="@begin(figure,facecode U,leftmargin +4)",
  1164.     imprint10="@begin(figure,facecode U,leftmargin +4)",
  1165.     else="@begin(figure)"
  1166. )
  1167. ********************** Pro/Kermit transfer task is active **************
  1168. *                                                                      *
  1169. *                                                                      *
  1170. *  Press MAIN SCREEN or EXIT to return to P/OS                         *
  1171. *                                                                      *
  1172. *                                                                      *
  1173. *                                                                      *
  1174. *                                                                      *
  1175. *                                                                      *
  1176. *                                                                      *
  1177. *                   ->                                                 *
  1178. *                         @ux<Abort> file transfer task                     *
  1179. *                         @ux<Resume> transfer status typeout               *
  1180. *                                                                      *
  1181. *                                                                      *
  1182. *                                                                      *
  1183. *                                                                      *
  1184. *                                                                      *
  1185. ************************************************************************
  1186. Make a choice and press DO:
  1187. @Caption(Active transfer menu)
  1188. @Tag(ACTMENU)
  1189. @end(Figure)
  1190.  
  1191. When Pro/Kermit is asked to perform a function that requires the communications
  1192. port (XK0:), it will first determine if it is currently in use.  (It could be
  1193. left in use by pressing the MAIN SCREEN key when a transfer is active.)  If the
  1194. port is active, the menu shown in figure
  1195. @ref(ACTMENU) will be displayed.
  1196.  
  1197. When this menu is displayed, you have three choices:
  1198.  
  1199. @begin(enumerate)
  1200. You can press either the MAIN SCREEN or EXIT key to return to P/OS.
  1201.  
  1202. You can choose the @b<Abort> option, which will cause the currently active
  1203. transfer to be aborted.
  1204.  
  1205. You can choose the @b<Resume> option, which will resume typing the transfer
  1206. information for the currently active transfer.  Once the currently active
  1207. transfer
  1208. completes the operation that you requested before this menu was displayed
  1209. will be started.
  1210. @end(enumerate)
  1211. @section<Installation>
  1212. There are two different ways to install Pro/Kermit.  The first and the
  1213. easiest, is to obtain a version on a floppy disk that can be directly installed
  1214. on your machine.  The more difficult way is to downline load Pro/Kermit from
  1215. a host system.
  1216. @Subheading<From a floppy>
  1217. If you have obtained a floppy with Pro/Kermit, you can install it using
  1218. the Disk/Diskette services from the P/OS main menu.  The following steps will
  1219. allow you to install Pro/Kermit on your machine.
  1220.  
  1221. @begin(enumerate)
  1222. You begin the installation by inserting the Pro/Kermit floppy, into either
  1223. of the floppy drives on the PRO-350.
  1224.  
  1225. After the floppy has been inserted into the drive select "@b<Disk>/diskette
  1226. services" from the P/OS main menu.
  1227.  
  1228. The "Disk/Diskette Services Menu" should now be displayed on the screen.
  1229. Select the "@b<Install> application" entry from the menu.  You will be notified
  1230. that P/OS is locating the application.
  1231.  
  1232. P/OS will list the applications that can be installed
  1233. on your machine the "Application Installation Menu" should be displayed.
  1234. The application from the floppy should be "Pro/Kermit
  1235. version 1.0".  You should select this application from the menu.
  1236.  
  1237. The "Application Group Menu" will now be displayed on the screen.  You should
  1238. position the arrow to the group in which you would like Pro/Kermit installed
  1239. in and press the DO key.
  1240.  
  1241. The "Application Group/Name Change Form" will now be displayed on the screen.
  1242. This form will allow you to change the name of the group or the name of the
  1243. application that you are installing.  If you do not want to change the name you
  1244. can just press DO and the Pro/Kermit installation will start.  Otherwise you
  1245. can modify the names as you wish and the press DO to start the Pro/Kermit
  1246. installation.
  1247.  
  1248. If you have enough disk space on your machine Pro/Kermit should successfully
  1249. install
  1250. with no problems.  Once it is installed you can run it from the menu in which
  1251. you have installed it.
  1252. @end(enumerate)
  1253. @Subheading<From a hexified version>
  1254. The following will take about two hours at 1200 baud.  Much of the time
  1255. will be spent waiting for the computer so this will be a good time to read
  1256. the Pro/Kermit documentation.  You will be needed at
  1257. various times throughout the process so don't stray too far from the
  1258. computer. 
  1259.  
  1260. Note that this procedure assumes that you do not have any communications
  1261. program available on your PRO, and therefore do not have any other
  1262. method of getting the files to your PRO.  It is also assumed that you
  1263. do not have any way to change the default parameters for the communications
  1264. port.  This requires that the bootstrap be done at 1200 baud, eight-bit
  1265. characters, one stop bit and no parity.
  1266.  
  1267. The procedure to bootstrap Pro/Kermit to the Professional is as follows: 
  1268. @begin(enumerate)
  1269. First make sure that the 'Caps Lock' indicator is lighted on the Professional's
  1270. keyboard.  This will prevent any problems with case sensitive input. 
  1271.  
  1272. On the Professional, choose the "@b<Disk>/diskette services" option from the
  1273. Professional's Main Menu.  Insert a blank diskette in drive one and choose
  1274. "@b<Initialize> diskette".  Select "@b<DISKETTE1>" from the menu and then
  1275. enter 'KERMIT' for the volume name.  Now choose "@b<Create> directory" and
  1276. create two directories.  One called 'KERMIT' and one called 'ZZKERMIT' on
  1277. the floppy (This is done by pressing the ADDITIONAL OPTIONS key,
  1278. choosing "@b<Create> a directory on a different volume" and then selecting
  1279. the KERMIT volume). When this is done choose "@b<Specify> new current
  1280. directory" and select KERMIT on the KERMIT volume (the floppy). 
  1281.  
  1282. Next press MAIN SCREEN to return to the Main Menu and choose "@b<PRO/BASIC
  1283. Version 1.2>" (or a version later than 1.2).
  1284. In Basic type in the Basic loader program (leave out the
  1285. REMs so that the program will execute faster).  Once this is done type
  1286. 'SAVE LOAD'. 
  1287.  
  1288. Call and login to the mainframe on which Pro/Kermit resides. If you have
  1289. PRO/BASIC V1.2 or later and have a 1200 baud line (the default baud rate
  1290. when PRO/BASIC starts, then you can type in the terminal emulator program
  1291. given at the end of this document (don't forget to type 'NEW' and also save
  1292. it using the command 'SAVE PROTERM').  If you do not have version 1.2 or
  1293. later of PRO/BASIC, you will not be able to use the basic terminal emulator.
  1294. You will also need to bootstrap Pro/Kermit over the printer port
  1295. rather than the communications port.  This is because earlier versions
  1296. of PRO/BASIC were not capable of performing I/O to the communications
  1297. port.
  1298.  
  1299. Tell the host not to echo characters. If the loader program will be using
  1300. the printer port then set the line speed on the host to be no more then 1200
  1301. baud (reset your terminal if necessary).  The commands to do this for a
  1302. DECsystem-10 are: 
  1303. @example(SET TTY NOECHO)
  1304. @example(SET TTY SPEED 1200)
  1305. Next compile and execute PROBOOT.FOR on the host.  When this executes it will
  1306. ask you
  1307. for a file name.  Respond with the name 'PROLOAD.HEX'.  This will be used
  1308. along with LOAD.BAS on the Professional to create the LOAD.TSK program.
  1309. Once PROBOOT is executing on the mainframe, give control back to the
  1310. Professional (if you are using a terminal emulator on the PRO) or
  1311. connect the modem or hard-wired line to the printer
  1312. port or communications port depending on which you have decided to use.
  1313.  
  1314. If you have chosen to use the printer port there are a few things you
  1315. will need to do.  You will need a special cable to connect the printer
  1316. port on the Professional to a modem or hard-wired line.  The normal
  1317. printer cable provides a female RS-232 25 pin D connector which
  1318. is a DCE (data communications equipment) interface.  This is intended
  1319. to connect to a DTE (data terminal equipment) interface, which is
  1320. what is provided on a printer.  Since the communications port (and
  1321. most terminals) also provide DTE interfaces, while modems provide
  1322. DCE interfaces, a null modem must be provided between the printer
  1323. cable and the modem or hard-wired line.  It is also possible
  1324. to construct a cable which plugs directly into the printer port
  1325. connector on the back of the Professional which can connect to
  1326. a modem or hard-wired line.  See the technical manual on the
  1327. Professional for the pin configuration of the printer port connector.
  1328.  
  1329. The Professional must be told
  1330. the speed at which the printer port should operate.  If you have the
  1331. PRO/Tool kit you can enter it and type: 
  1332. @example(SET TERM TT2:/SPEED=1200/NOECHO)
  1333. If you do not have the PRO/Tool kit but you have version 2.0 of P/OS or
  1334. later you can go into Print Services and choose '@b<Set> printer
  1335. characteristics', set the printer type to 'Other', press Addtnl Option
  1336. and set the baud rate to the correct value.  If you use Print
  1337. Services to set the baud rate, make sure that you print a file that contains
  1338. at least a carriage return (but not much more) or else the baud rate will
  1339. not actually be set.  It is only set when a file is printed.
  1340. If you do not have either the Tool kit or P/OS 2.0, you will have to
  1341. run the bootstrap process at 4800 baud.  This is not very reliable,
  1342. since the PRO/BASIC program cannot always keep up with the data.
  1343.  
  1344. Next enter PRO/BASIC and type 'RUN LOAD' on the Professional. This will
  1345. create a file called LOAD.TSK that will do all the rest of the work. It
  1346. will first type out around seven lines of the alphabet from A to Y.  This
  1347. tells you that the program is really doing something.  When the BASIC program
  1348. finishes, press the EXIT key to return to the Main Menu. 
  1349.  
  1350. Connect to the main frame host and press a few carriage returns.  This will
  1351. exit from the FORTRAN program (if pressing return does not work, try pressing
  1352. control-C a few times).  Now execute PROBOOT.FOR again.  This time when it
  1353. asks you for a file name, respond with the name 'PROKRM.HEX'. This will be
  1354. used along with LOAD.TSK on the Professional to load the rest of the files
  1355. that are needed to run Pro/Kermit.
  1356.  
  1357. Next enter either PRO/DCL or the PRO/Tool kit and type:
  1358. @example(Copy/CONTiguous LOAD.TSK LOAD.TSK)
  1359. This will create an executable task image.  At this point you may either
  1360. leave the modem connected to the printer port (if it was hooked up to it
  1361. before) or connect the modem to the communications port, (the communications
  1362. port works slightly better and can operate at any speed your line can
  1363. handle), it does not matter.  If you use the communications port the
  1364. program will ask you if the port is set correctly.  If it is set correctly,
  1365. then press 'Y' and the Return key; if not, press 'N' and the Return key and
  1366. then choose the baud rate that your host is using. 
  1367.  
  1368. Now type 'Run LOAD.TSK' from PRO/DCL or the PRO/Tool kit.  It will ask you
  1369. if you are using the communications port or the printer port (or a disk
  1370. file which you are not). If you have the modem hooked up to the printer
  1371. port press a '2' and press the Return key, otherwise you have the modem
  1372. hooked up to the communications port and should press '1' and the Return
  1373. key. 
  1374.  
  1375. At this point the computer starts to do a lot of work.  It will create
  1376. every file you need.  You will see many 'Y' on the screen.  Each 'Y' means
  1377. that a line was read in.  Each 'N' means that a line was rejected and must
  1378. be resent.  This happens more often on a noisy line.  A 'U' means that
  1379. LOAD.TSK does not recognize a command sent to it from the host.  This
  1380. should never happen but probably will not cause a problem if it does occur.
  1381. You will also see about nine file names come up on the screen.  These are
  1382. the files that are being created. 
  1383.  
  1384. When LOAD.TSK finishes, you will have a copy of Pro/Kermit on your floppy
  1385. diskette.  Now press the MAIN SCREEN key to return to the Main Menu. From
  1386. here follow the instructions to install Pro/Kermit from a floppy. 
  1387.  
  1388. Do not forget that you are still logged in on the host and must log out. 
  1389. This can be done through the CONNECT command in Pro/Kermit or the same way
  1390. that you used to log in. 
  1391. @end(enumerate)
  1392.  
  1393. The Basic program for using the printer port on the PRO-350 is as follows:
  1394. (The program should be typed in with all upper case letters!)
  1395.  
  1396. @begin(example,free,leftmargin +0)
  1397. 10 REM LOADER program for Pro/Kermit for printer port
  1398. 20 HEX$="123456789ABCDEF"
  1399. 30 OAD=0\FLAG%=0\TOT%=0
  1400. 40 TOT1%=0\CTR%=0\NM%=-1
  1401. 100 OPEN "LP:" FOR INPUT AS FILE #2%
  1402. 110 OPEN "LP:" FOR OUTPUT AS FILE #3%
  1403. 170 GOTO 200
  1404. 180 INPUT #2%,A$\ GOTO 210
  1405. 190 PRINT "N";\ PRINT #3,"N"\ INPUT #2%,A$\ GOTO 210
  1406. 200 PRINT #3,"Y"\ INPUT #2%,A$
  1407. 210 IF A$="" THEN FLAG%=FLAG%+1%\ IF FLAG%>4% THEN 1100 ELSE 180
  1408. 220 FLAG%=0
  1409. 230 IF MID$(A$,1%,1%)<>":" THEN A$=MID$(A$,2%,LEN(A$))\ GOTO 210
  1410. 240 H$=MID$(A$,2%,2%)\ GOSUB 1200\LN%=H\ REM LENGTH OF DATA
  1411. 250 REM FIND CHECKSUM OF ALL 8-BIT PAIRS
  1412. 260 CHKSUM%=LN%
  1413. 270 FOR L1%=4% TO (LN%+5%)*2% STEP 2%\H$=MID$(A$,L1%,2%)\ GOSUB 1200
  1414. 280 CHKSUM%=CHKSUM%+H
  1415. 290 NEXT L1%
  1416. 300 CHKSUM%=CHKSUM%-256%*INT(CHKSUM%/256)
  1417. 310 IF CHKSUM%<>0% THEN 190
  1418. 320 IF MID$(A$,2%,6%)="000000" THEN 1100
  1419. 330 H$=MID$(A$,8%,2%)\ IF H$<>"FC" THEN 380
  1420. 340 H$=MID$(A$,10%,4%)\ GOSUB 1200\TOT1%=H*256%
  1421. 350 DIM #1%,ARR%(TOT1%)
  1422. 360 OPEN "LOAD.TSK" FOR OUTPUT AS FILE #1%, VIRTUAL 
  1423. 370 GOTO 490
  1424. 380 GOSUB 1200\ IF H<>0 THEN 200\ REM CHECK FIELD TYPE
  1425. 390 IF TOT1%=0 THEN PRINT "ERR - No length field"\ GOTO 1300
  1426. 400 H$=MID$(A$,4%,4%)\ GOSUB 1200\OAD1=H\ REM ADDRESS TO LOAD AT
  1427. 410 REM UNPACK ANY COMPRESSED NULLS
  1428. 420 L%=0%\ FOR LP=OAD TO OAD1-1\ GOSUB 1000\ NEXT LP
  1429. 430 OAD=OAD1
  1430. 440 REM GET DATA AS 8-BIT VALUES & WRITE TO DISK (REPEAT LN% TIMES)
  1431. 450 FOR L1%=10% TO LN%*2%+9% STEP 2%
  1432. 460 H$=MID$(A$,L1%,2%)\ GOSUB 1200\L%=H\ GOSUB 1000
  1433. 470 OAD=OAD+1
  1434. 480 NEXT L1%
  1435. 490 PRINT CHR$(CTR%+65%);\CTR%=CTR%+1%
  1436. 495 IF CTR%>24% THEN CTR%=0%\ PRINT 
  1437. 500 GOTO 200
  1438. 510 STOP 
  1439. 990 REM WRITE - PUT THE DATA INTO THE TASK FILE
  1440. 1000 IF NM%=-1 THEN NM%=L%\ RETURN 
  1441. 1010 N=NM%+L%*256
  1442. 1020 IF N>32767 THEN N=N-65536
  1443. 1030 NB%=N
  1444. 1040 ARR%(TOT%)=NB%
  1445. 1050 NM%=-1\TOT%=TOT%+1%
  1446. 1060 RETURN 
  1447. 1090 REM FINISHED - CLOSE FILE
  1448. 1100 PRINT \ PRINT \ PRINT "TASK FILE WRITTEN."
  1449. 1110 CLOSE 
  1450. 1120 GOTO 1300
  1451. 1190 REM HEX-DEC
  1452. 1200 H=0
  1453. 1210 FOR LP%=1% TO LEN(H$)
  1454. 1220 H=H*16+POS(HEX$,MID$(H$,LP%,1%),1%)
  1455. 1230 NEXT LP%
  1456. 1240 RETURN 
  1457. 1300 END 
  1458. @end(example)
  1459.  
  1460. The BASIC program for loading Pro/Kermit
  1461. using the communications port if you have PRO/BASIC V1.2 or later is as
  1462. follows:
  1463.  
  1464. @begin(example,free,leftmargin +0)
  1465. 10 REM LOADER program for Pro/Kermit using the communications port
  1466. 20 HEX$="123456789ABCDEF"
  1467. 30 OAD=0\FLAG%=0\TOT%=0
  1468. 40 TOT1%=0\CTR%=0\NM%=-1
  1469. 100 OPEN "XK:" AS FILE #2%
  1470. 110 REM 
  1471. 170 GOTO 200
  1472. 180 REM 
  1473. 190 PRINT "N";\ PRINT #2,"N"+CHR$(13)+CHR$(10)\ GOTO 210
  1474. 200 PRINT #2,"Y"+CHR$(13)+CHR$(10)
  1475. 205 IF POS(Z$,CHR$(13),0)<>0 THEN 208
  1476. 206 LINPUT #2%,X$\Z$=MID$(Z$+X$,POS(Z$+X$,":",0),LEN(Z$+X$))
  1477. 207 GOTO 205
  1478. 208 A$=MID$(Z$,1,POS(Z$,CHR$(13),0))\Z$=MID$(Z$,LEN(A$)+1,LEN(Z$))
  1479. 209 IF POS(A$,":",0)=0 THEN 205
  1480. 210 IF A$="" THEN FLAG%=FLAG%+1%\ IF FLAG%>4% THEN 1100 ELSE 205
  1481. 220 FLAG%=0
  1482. 230 IF MID$(A$,1%,1%)<>":" THEN A$=MID$(A$,2%,LEN(A$))\ GOTO 210
  1483. 240 H$=MID$(A$,2%,2%)\ GOSUB 1200\LN%=H\ REM LENGTH OF DATA
  1484. 250 REM FIND CHECKSUM OF ALL 8-BIT PAIRS
  1485. 260 CHKSUM%=LN%
  1486. 270 FOR L1%=4% TO (LN%+5%)*2% STEP 2%\H$=MID$(A$,L1%,2%)\ GOSUB 1200
  1487. 280 CHKSUM%=CHKSUM%+H
  1488. 290 NEXT L1%
  1489. 300 CHKSUM%=CHKSUM%-256%*INT(CHKSUM%/256)
  1490. 310 IF CHKSUM%<>0% THEN 190
  1491. 320 IF MID$(A$,2%,6%)="000000" THEN 1100
  1492. 330 H$=MID$(A$,8%,2%)\ IF H$<>"FC" THEN 380
  1493. 340 H$=MID$(A$,10%,4%)\ GOSUB 1200\TOT1%=H*256%
  1494. 350 DIM #1%,ARR%(TOT1%)
  1495. 360 OPEN "LOAD.TSK" FOR OUTPUT AS FILE #1%, VIRTUAL 
  1496. 370 GOTO 490
  1497. 380 GOSUB 1200\ IF H<>0 THEN 200\ REM CHECK FIELD TYPE
  1498. 390 IF TOT1%=0 THEN PRINT "ERR - No length field"\ GOTO 1300
  1499. 400 H$=MID$(A$,4%,4%)\ GOSUB 1200\OAD1=H\ REM ADDRESS TO LOAD AT
  1500. 410 REM UNPACK ANY COMPRESSED NULLS
  1501. 420 L%=0%\ FOR LP=OAD TO OAD1-1\ GOSUB 1000\ NEXT LP
  1502. 430 OAD=OAD1
  1503. 440 REM GET DATA AS 8-BIT VALUES & WRITE TO DISK (REPEAT LN% TIMES)
  1504. 450 FOR L1%=10% TO LN%*2%+9% STEP 2%
  1505. 460 H$=MID$(A$,L1%,2%)\ GOSUB 1200\L%=H\ GOSUB 1000
  1506. 470 OAD=OAD+1
  1507. 480 NEXT L1%
  1508. 490 PRINT CHR$(CTR%+65%);\CTR%=CTR%+1%
  1509. 495 IF CTR%>24% THEN CTR%=0%\ PRINT 
  1510. 500 GOTO 200
  1511. 510 STOP 
  1512. 990 REM WRITE - PUT THE DATA INTO THE TASK FILE
  1513. 1000 IF NM%=-1 THEN NM%=L%\ RETURN 
  1514. 1010 N=NM%+L%*256
  1515. 1020 IF N>32767 THEN N=N-65536
  1516. 1030 NB%=N
  1517. 1040 ARR%(TOT%)=NB%
  1518. 1050 NM%=-1\TOT%=TOT%+1%
  1519. 1060 RETURN 
  1520. 1090 REM FINISHED - CLOSE FILE
  1521. 1100 PRINT \ PRINT \ PRINT "TASK FILE WRITTEN."
  1522. 1110 CLOSE 
  1523. 1120 GOTO 1300
  1524. 1190 REM HEX-DEC
  1525. 1200 H=0
  1526. 1210 FOR LP%=1% TO LEN(H$)
  1527. 1220 H=H*16+POS(HEX$,MID$(H$,LP%,1%),1%)
  1528. 1230 NEXT LP%
  1529. 1240 RETURN 
  1530. 1300 END 
  1531. @end(example)
  1532.  
  1533. The terminal emulator program that can be used if you have PRO/BASIC V1.2 
  1534. or later is:
  1535.  
  1536. @begin(example,leftmargin +0)
  1537. 10 REM TERMINAL EMULATOR FOR PRO/BASIC V1.2 OR LATER
  1538. 20 REM          USING THE COMMUNICATIONS PORT
  1539. 30 REM 
  1540. 40 ESC$=CHR$(27)\CLEAR$=ESC$+"[H"+ESC$+"[J"
  1541. 50 BIGT$=ESC$+"#3"\BIGB$=ESC$+"#4"
  1542. 60 SAVE$=ESC$+"7"\UP$=ESC$+"[3A"\REST$=ESC$+"8"
  1543. 70 INT$=CHR$(171)
  1544. 80 REM For better performance you can change
  1545. 90 REM    the values of SPC, MAXLIN & BREAK$
  1546. 100 SPC=12
  1547. 110 BREAK$=CHR$(13)+ESC$+" "+CHR$(9)\BRLEN%=LEN(BREAK$)
  1548. 120 MAXLIN=65
  1549. 130 CTR=0
  1550. 140 PRINT CLEAR$
  1551. 150 PRINT BIGT$;" type ";INT$;" to send a control-C "
  1552. 160 PRINT BIGB$;" type ";INT$;" to send a control-C "
  1553. 170 OPEN 'XK:' AS FILE #1
  1554. 180 LINPUT #1,A$
  1555. 190 IF LEN(A$)=0 THEN 320
  1556. 200 A=999
  1557. 210 FOR LP%=1 TO BRLEN%
  1558. 220 B=POS(A$,MID$(BREAK$,LP%,1%),SPC)
  1559. 230 IF B<>0 AND B<A THEN A=B
  1560. 240 NEXT LP%
  1561. 250 IF CTR+LEN(MID$(A$,1,A))>MAXLIN THEN A=1\ GOTO 280
  1562. 260 IF A=999 THEN PRINT A$;\CTR=CTR+LEN(A$)\ GOTO 320
  1563. 270 PRINT MID$(A$,1,A-1);
  1564. 280 PRINT SAVE$;UP$\ PRINT REST$;
  1565. 290 PRINT MID$(A$,A,1);\A$=MID$(A$,A+1,LEN(A$))
  1566. 300 CTR=0
  1567. 310 GOTO 190
  1568. 320 CALL INKEY (A$)
  1569. 330 IF LEN(A$)=0 THEN 180
  1570. 340 IF A$=INT$ THEN A$=CHR$(3)
  1571. 350 IF ASCII(A$)=155 THEN A$=CHR$(27)
  1572. 360 IF ASCII(A$)=143 THEN A$=CHR$(27)+'['
  1573. 370 PRINT #1,A$
  1574. 380 GOTO 320
  1575. 390 END 
  1576. @end(example)
  1577.