home *** CD-ROM | disk | FTP | other *** search
/ Columbia Kermit / kermit.zip / appleii / apple.txt < prev    next >
Text File  |  2020-01-01  |  102KB  |  2,159 lines

  1.  
  2.  
  3.  
  4.  
  5.  
  6.  
  7.  
  8.  
  9.  
  10.  
  11.  
  12.  
  13.  
  14.  
  15.  
  16.  
  17.  
  18.  
  19.                           APPLE II KERMIT USER GUIDE
  20.  
  21.  
  22.                                  VERSION 3.87
  23.  
  24.                                 Ted Medin, NOSC
  25.  
  26.  
  27.  
  28.                                   1990 Oct 10
  29.  
  30.  
  31.  
  32.                             Copyright (C) 1981,1989
  33.             Trustees of Columbia University in the City of New York
  34.  
  35.      Permission is granted to any individual or institution to use, copy,
  36.     or redistribute this document so long as it is not sold for profit, and
  37.                   provided this copyright notice is retained.
  38. 1. Apple II Kermit                                                       Page 1
  39.  
  40. -------------------------------------------------------------------------------
  41. 1. Apple II Kermit
  42.  
  43. Authors:    Antonino N. J. Mione (Stevens Institute of Technology),
  44.             Peter Trei (Columbia University),
  45.             Ted Medin (NOSC),
  46.             Bob Holley (SERDAC)
  47.  
  48. Version:    3.87
  49.  
  50. Date:       1990 Oct
  51.  
  52. Kermit-65 Capabilities At A Glance:
  53.  
  54.   Local operation:                   Yes
  55.   Remote operation:                  Yes
  56.   Transfers text files:              Yes
  57.   Transfers binary files:            Yes
  58.   Wildcard send:                     Yes
  59.   ^X/^Y interruption(Q):             Yes
  60.   Filename collision avoidance:      Yes
  61.   Can time out:                      Yes
  62.   8th-bit prefixing:                 Yes
  63.   Repeat count prefixing:            No
  64.   Alternate block checks:            No
  65.   Terminal emulation:                Yes (VT52, VT100)
  66.   Communication settings:            Yes
  67.   Transmit BREAK:                    Yes
  68.   IBM communication:                 Yes
  69.   Transaction logging:               No
  70.   Session logging (raw download):    Yes
  71.   Raw upload:                        No
  72.   Act as server:                     Yes
  73.   Talk to server:                    Yes
  74.   Advanced commands for servers:     Yes
  75.   Long packets:                      Yes
  76.   Sliding windows:                   No
  77.   Local file management:             Yes
  78.   Handle file attributes:            Yes
  79.   Command/init files:                Yes
  80.   Printer control:                   Yes
  81.  
  82. Kermit-65  is  a  program that implements the Kermit file transfer protocol for
  83. the Motorola 6502 processor family (hence the name, Kermit-65) on the Apple  II
  84. microcomputer  system.   It is written in 6502 assembly language and should run
  85. on any Apple II or compatible running DOS 3.3 or PRODOS.    This  section  will
  86. describe  the things you should know about the file system in order to make ef-
  87. fective use of Kermit, and then it will describe the special  features  of  the
  88. Kermit-65 program.
  89. 1.1. Supported Systems and Devices                                       Page 2
  90.  
  91. -------------------------------------------------------------------------------
  92. 1.1. Supported Systems and Devices
  93.  
  94. There  are  several  different Apple II's which can run Kermit-65.  Kermit will
  95. have no problems running on an Apple II, II+, //e, //c or //gs system.  Of  the
  96. different  communication devices available for the Apple II, Kermit-65 supports
  97. the ones shown in Table 1-1.
  98.  
  99. -------------------------------------------------------------------------------
  100.  
  101.  
  102.  
  103.                AE Serial Pro (super serial driver - sw 1 & 3 open 2 & 4 closed)
  104.                AIO II (Uses the Apple Com Card driver??? - untested)
  105.                ALS dispatcher (Uses the Apple Com Card driver)
  106.                Apple Cat Serial Card
  107.                Apple Com Serial Card
  108.                ASIO (Uses the Apple Com Card driver??? - untested)
  109.                Apple Super Serial Card & //c Serial Port
  110.                Apple //gs Serial Port
  111.                CCS 7710 Serial Card
  112.                CCS 7711 (Uses the Apple Com Card driver??? - untested)
  113.                D.C. Hayes Micromodem.
  114.                Microtek sv-622 Card
  115.                Prometheus Versacard (Uses the Apple Com Card driver)
  116.                SSM AIO (Uses the Apple Com Card driver??? - untested)
  117.  
  118.         Table 1-1:  Apple II Communication Cards Supported by Kermit-65
  119.  
  120. -------------------------------------------------------------------------------
  121.  
  122. It is possible that other  cards  may  have  operational  characteristics  very
  123. similar  or  identical to one of the devices above. If this is the case, it may
  124. work using one of the currently available device drivers.  The user may want to
  125. try  each  of  the above options to see if any of them work.  Kermit-65 must be
  126. told in which slot the card resides.  This may be done with the  'SET'  command
  127. (documented below).
  128.  
  129.  
  130. 1.2. The DOS 3.3 File System
  131.  
  132. Items  of  importance which will be discussed in this section include filenames
  133. and file characteristics.
  134.  
  135.  
  136.     Apple DOS Filenames
  137.  
  138. Filenames under Apple DOS may contain almost  any  ASCII  character  (including
  139. space). It is not recommended that special characters, (i.e. control characters
  140. or spaces) be used in a filename to be transferred by Kermit-65 since they  may
  141. cause problems when parsing the filename.  Filenames may be up to 40 characters
  142. in length.
  143.  
  144.  
  145.     Apple DOS File Characteristics
  146.  
  147. All files in Apple DOS have a file type associated with them which is contained
  148. 1.2. The DOS 3.3 File System                                             Page 3
  149.  
  150. -------------------------------------------------------------------------------
  151. in  the  directory  entry  for the file but is not part of the filename itself.
  152. There are four types of files in DOS 3.3. They are:
  153.  
  154.    1. APPLESOFT BASIC
  155.    2. INTEGER BASIC
  156.    3. BINARY
  157.    4. TEXT
  158.  
  159. All file types have their data stored in eight-bit bytes although  not  all  of
  160. them need the eighth bit. The two file types containing basic programs required
  161. the eighth bit due to the nature of the data being  stored.  BINARY  files  are
  162. images  of  memory  copied into a file. Often, these are machine code programs.
  163. These files require all eight bits. TEXT files normally contain only  printable
  164. or  carriage control characters. They are stored in the form of seven-bit ASCII
  165. characters but the eighth bit should always be set since Apples manipulate  all
  166. text internally as 'Negative ASCII'.  When transmitting non-text files the user
  167. must insure that both Kermits are handling eight-bit data  so  that  no  infor-
  168. mation  is  lost.  If  an eight-bit data path is not available (i.e. the remote
  169. Kermit needs to do parity checking with the eighth bit), then eight-bit quoting
  170. should  be used.  Of course, BINARY files as well as Apple BASIC files will not
  171. have much meaning on a different system.  If the user desires to edit  a  BASIC
  172. file  on  a mainframe, for instance, s/he must convert it to a TEXT file before
  173. sending it over. After receiving the file back on the Apple, the user may  con-
  174. vert  it back to BASIC once again.  The reason BASIC files would be meaningless
  175. to a different machine is that  the  Apple  stores  BASIC  keywords  as  single
  176. character tokens to save space and processing time.  To convert a BASIC program
  177. to and from a TEXT file, consult the Apple DOS 3.3 Manual.    File  information
  178. can be obtained by issuing the CATALOG command.  For example:
  179.  
  180.     ]CATALOG
  181.  
  182.      DISK VOLUME 010
  183.  
  184.        *A 002 HELLO
  185.         B 078 KERMIT
  186.         A 002 READER
  187.         T 005 TESTFILE
  188.  
  189.     ]
  190.  
  191. When  Kermit-65 is receiving a file, the file it creates on diskette will be of
  192. the type indicated by the FILE-TYPE parameter.  The file will always be left in
  193. an  unlocked  state  after  it  is  closed  by Kermit-65.  When sending a file,
  194. Kermit-65 will use the FILE-TYPE  parameter  to  determine  how  to  detect  an
  195. End-of-file  condition.  Thus, it is important to have this set properly in all
  196. cases.
  197.  
  198.  
  199.     Recommendations for Archiving Files
  200.  
  201. When using a large system for archiving purposes, there is no reason to convert
  202. Apple Basic programs into text files before sending them if there is no need to
  203. edit them on the mainframe.  The FILE-TYPE parameter must always  be  set  cor-
  204. rectly when sending and receiving files.  The procedure for archiving files is:
  205.  
  206.    1. Run Kermit on remote system.
  207. 1.2. The DOS 3.3 File System                                             Page 4
  208.  
  209. -------------------------------------------------------------------------------
  210.    2. SET FILE-TYPE TEXT (or APPLESOFT or ...) on Kermit-65.
  211.  
  212.    3. Send the files.
  213.  
  214.  
  215. 1.3. The PRODOS File System
  216.  
  217. The  PRODOS system is essentially the same as the DOS system with the exception
  218. that performance has been improved, hardware usage has been expanded  and  file
  219. names have different syntax.  File names are the major importance to the Kermit
  220. system.  File names have the following syntax:
  221.  
  222.   /volname/subdirectory1/.../subdirectoryn/filename
  223.  
  224. where "volname" is the volume name where the file is located.   Subdirectory(n)
  225. is  a  subdirectory  on the volume and may be omitted.  Filenames are much more
  226. restrictive than DOS filenames.  PRODOS filenames are limited to 15  characters
  227. with  no embedded spaces and few special characters, and must begin with an al-
  228. phabetic character.  /volname/sub ...  may be omitted from the filename by  use
  229. of the SET PREFIX command.
  230.  
  231. Binary  file  transfer  using  PRODOS  has its dangers when creating new files.
  232. PRODOS keeps the file's size and starting location in the directory which is of
  233. course  not  transferred.    Therefore a new binary file will have its starting
  234. location 0 which can cause some interesting problems if you try  and  BRUN  the
  235. file.  Basic files all start at $801 (it says here) so Kermit creates new basic
  236. files with a starting address of $801.
  237.  
  238.  
  239. 1.4. Program Operation
  240.  
  241. Prior to using Kermit-65 for transferring files, the modem  interface  must  be
  242. set  to  handle  data  in a certain manner.  First, the data format should be 8
  243. data bits and 1 stop bit.  Second, the card should be set to no  parity.    The
  244. baud  rate  (if  adjustable) must be set to whatever rate the modem can handle.
  245. For the D.C. Hayes Micromodem, these parameters are set correctly  by  default,
  246. so  very  little has to be done.  For the Apple Super Serial Card these are set
  247. from within Kermit-65 except the interrupt switch (sw6-2) which must be set for
  248. interrupts  on.   For the Microtek SV-622, all applicable parameters are set by
  249. Kermit-65.  Some mainframes may need parity checking (i.e. most IBM  machines).
  250. In  this  case  some  parity setting (other than none) will usually work.  When
  251. talking with such mainframes, binary and basic files on  the  Apple  cannot  be
  252. transferred  unless  Eighth-bit-quoting is acceptable to the host.  If you have
  253. the parameters set correctly then the "CONNECT" command will start Kermit talk-
  254. ing out the communication port.
  255.  
  256. File  transfer  is  very  dependent  upon  parity. Make sure the host and local
  257. parity are the same. Following are a couple of site's method for file transfer.
  258.  
  259. We have an IBM 3033 and 4381 and use both 3705/3725 and 7171 or Series/1  front
  260. ends.  The differences in front ends as far as any microcomputer Kermit is con-
  261. cerned duplex (local-echo on for the 3705,  local-echo  off  for  the  7171  or
  262. Series/1), parity (the two front ends might use different parity, e.g. Mark for
  263. the 3705 and Even for the 7171), and flow control (None for the 3705,  XON/XOFF
  264. for the 7171).
  265.  
  266. In Kermit-65, IBM mainframe users need to set the following parameters:
  267. 1.4. Program Operation                                                   Page 5
  268.  
  269. -------------------------------------------------------------------------------
  270.     BAUD            Whatever is supported.
  271.  
  272.     PARITY          EVEN, ODD, or MARK, whatever your front end requires.
  273.  
  274.     FLOW            XON for the 7171, NONE for the 3705.
  275.  
  276.     FLOW DELAY      00
  277.  
  278.     LOCAL-ECHO      OFF for 7171, ON for 3705
  279.  
  280. In Kermit-65, SERDAC VAX 8800 users need to set the following parameters:
  281.  
  282.     BAUD            SERDAC Dial-up & 300, 1200, or 2400 baud
  283.                     FIRN Dialup:(the highest your modem and the dial-up connec-
  284.                     tion will support) )
  285.                     Ethernet Hardwire: 300, 1200, 2400, or 4800 baud.
  286.  
  287.     PARITY          NONE
  288.  
  289.     FLOW            XON
  290.  
  291.     FLOW DELAY      00 (higher for printers, logging, or "slow" Apples)
  292.  
  293.     LOCAL-ECHO      OFF
  294.  
  295.     NOTE: If you want to do a binary  file  transfer  (Apple  binary  or  BASIC
  296.                     files)  via  a  FIRN  Network  connection to the SERDAC VAX
  297.                     8800, you must SET PARITY SPACE before the transfer is  in-
  298.                     itiated;  that  will insure that eight-bit quoting is used.
  299.                     If you dial directly into the VAX 8800,  SET  PARITY  NONE;
  300.                     eight-bit  quoting  (which  is  less  efficient) is not re-
  301.                     quired.
  302.  
  303.  
  304.     Conversing With Kermit-65
  305.  
  306. Kermit-65 reads file KERMIT.INIT from the default  drive  when  started.    The
  307. lines  of this file are executed one at a time starting at the beginning.  This
  308. file should be an ASCII text file and  contain  commands  to  set  up  Kermit's
  309. parameters as desired.  It will also execute Kermit's other commands.  However,
  310. any command which reads a file (like MODEM) or leaves local mode (like CONNECT)
  311. will  terminate  reading  of this file and continue with the command specified.
  312. Use your favorite editor to produce this file.  Here's a sample:
  313.  
  314.   set display 80 3
  315.   set keyboard 2e
  316.   set baud 4800
  317.   modem
  318.  
  319. Kermit-65's prompt is "Kermit-65>".  To run Kermit-65 and issue commands to it,
  320. type "brun kermit".  Example:
  321.  
  322.   ]BRUN KERMIT
  323.  
  324.   NOSC/STEVENS/CU - APPLE ][ KERMIT-65 - VER 3.87
  325.  
  326.   Kermit-65>send testfile
  327. 1.4. Program Operation                                                   Page 6
  328.  
  329. -------------------------------------------------------------------------------
  330.       (file is sent...)
  331.  
  332.   Kermit-65>status
  333.  
  334.       (performance statistics are printed...)
  335.  
  336.   Kermit-65>(other commands...)
  337.             .
  338.             .
  339.             .
  340.   Kermit-65>exit
  341.   ]
  342.  
  343. Like  many  Kermit  programs,  Kermit-65  uses  a  DEC-20 style command parser.
  344. During interactive operation, you may use the ?-prompting  help  feature  ("?")
  345. and recognition (ESC) features while typing commands.  A question mark typed at
  346. any point in a command displays the options available at that point; typing  an
  347. ESC  character  causes the current keyword to be completed (or default value to
  348. be supplied).  If you have not typed sufficient characters to uniquely  specify
  349. the  keyword  (or if there is no default value) then a beep will be sounded and
  350. you may continue typing.  Keywords may be abbreviated to  any  prefix  that  is
  351. unique.
  352.  
  353.  
  354.     Remote and Local Operation
  355.  
  356. Kermit-65  is  normally  run in local mode. It may be run as a remote Kermit as
  357. well although there is no advantage to doing things that  way.  Kermit-65  sup-
  358. ports User-mode commands for talking to a Server, and it does support a limited
  359. server mode.
  360.  
  361.  
  362. 1.5. Kermit-65 Commands
  363.  
  364.  
  365. 1.5.1. The CATALOG Command
  366.  
  367. Syntax: CATALOG
  368.     or LS
  369.  
  370. Typing CATALOG produces a catalog (directory) listing of your default drive.
  371.  
  372.  
  373. 1.5.2. The CONNECT Command
  374.  
  375. Syntax:  CONNECT
  376.  
  377. Establish a terminal connection to the remote system using all the current  SET
  378. parameters  for  terminal  type,  speed, parity, etc.  Get back to Kermit-65 by
  379. typing the escape character followed by the letter C. The escape  character  is
  380. Control-@   by   default.     When  you  type  the  escape  character,  several
  381. single-character commands are possible.  These are shown in Table 1-2.
  382.  
  383. You can use the SET ESCAPE command to  define  a  different  escape  character.
  384. When CONNECTed, Kermit-65 will be passing characters entered on the keyboard to
  385. the remote system, and passing characters from the remote system to  the  Apple
  386. 1.5.2. The CONNECT Command                                               Page 7
  387.  
  388. -------------------------------------------------------------------------------
  389. -------------------------------------------------------------------------------
  390.  
  391.  
  392.  
  393.     ?     List all the possible single-character arguments.
  394.     B     send a Break signal.
  395.     C     Command mode (returning to kermit-65).
  396.     D     Drop the phone line to the remote and return to Kermit-65.
  397.     E     Erase the screen (useful for clearing garbage on screen).
  398.     K     toggle Keypad application-mode on/off.
  399.     M     execute the Modem command.
  400.     P     toggle the Printer on/off.
  401.     Q     execute the Quit command.
  402.     R     pRint the screen, >= //e required
  403.     S     show Status of the connection.
  404.     V     cursor-keys-Vt100 toggle.
  405.     W     sWap the del and backspace key.
  406.     0     send a null (ASCII 0).
  407.     ^@    (or whatever the Connect-Escape character is): send the
  408.           Connect-Escape character itself.
  409.  
  410.         Table 1-2:  Kermit-65 Single-Character CONNECT Escape Commands
  411.  
  412. -------------------------------------------------------------------------------
  413.  
  414. screen.    Incoming  characters are interpreted according the selected terminal
  415. type (see SET TERMINAL).
  416.  
  417. On an Apple II+ with an incomplete keyboard, special characters can be typed by
  418. prefixing  regular  characters  with a right-arrow.  On uppercase-only screens,
  419. uppercase characters are shown in inverse and  lowercase  characters  are  dis-
  420. played as normal uppercase characters.
  421.  
  422. Here are the rules for using the special 2/2+ input, to get all printable ASCII
  423. characters, and how they appear on the screen.  Special meanings are applied in
  424. various  contexts to certain characters.  The left and right arrow keys do spe-
  425. cial things, and sometimes the escape key does  as  well.    For  letters,  the
  426. keyboard  is always in either default UPPERCASE mode or default lowercase mode.
  427. When in UPPERCASE, all letters typed are sent out as uppercase.  In  lowercase,
  428. all  letters  are sent as lowercase. To reverse the case for the next character
  429. only, hit the right-arrow ("prefix") key.  To switch the default case, hit  the
  430. prefix-key  twice  in a row.  For funny characters, the prefix key is also used
  431. to get the unusual punctuation characters which are not on the Apple  keyboard.
  432. Table  1-3  shows  the Apple II/II+ keyboard escapes; the letter "p" represents
  433. the prefix character.
  434.  
  435. The left-arrow key sends a rubout (ASCII 127).  With left-arrow and right arrow
  436. doing  special  things, it's a little hard to enter their characters (^H and ^U
  437. respectively).  There is therefore an escape from prefix mode sequence.  If you
  438. type prefix-ESC, the next character is sent without any interpretation.  If you
  439. have the capability for upper/lower case, etc, then use the 'SET KEYBOARD'  and
  440. 'SET DISPLAY' commands to specify complete keyboards.
  441.  
  442. While  in  connect mode if you have a //e or better with 80 column display, the
  443. cursor will blink. The rate of blink is tied  to  the  "SET  TIMING"  constant.
  444. Also the screen will be restored to state of the previous connect(if any).
  445. 1.5.3. The DELETE Command                                                Page 8
  446.  
  447. -------------------------------------------------------------------------------
  448. -------------------------------------------------------------------------------
  449.  
  450.  
  451.  
  452.     To Get                        Type      Appearance
  453.     Left Square Bracket            p(          [
  454.     Right Square Bracket           p)          ]
  455.     Left Curly Bracket             p<          {
  456.     Right Curly Bracket            p>          }
  457.     Underline                      p-          _
  458.     Backslash                      p/          \
  459.     Tilde (wiggle)                 p^          ~
  460.     Vertical Line                  p.          |
  461.  
  462.                    Table 1-3:  Apple II/II+ Keyboard Escapes
  463.  
  464. -------------------------------------------------------------------------------
  465.  
  466.  
  467. 1.5.3. The DELETE Command
  468.  
  469. Syntax: DELETE filespec
  470.     or RM filespec
  471.  
  472. Typing DELETE causes the file specified to be deleted.
  473.  
  474.  
  475. 1.5.4. The EXIT and QUIT Commands
  476.  
  477. Syntax: EXIT or QUIT
  478.  
  479. Exit  from  Kermit-65. When using dos 3.3 you can probably restart the program,
  480. provided you haven't run anything else, by typing 'CALL 4096'.
  481.  
  482.  
  483. 1.5.5. The GET Command
  484.  
  485. Syntax: GET remote-filespec[,local-filespec]
  486.  
  487. The GET command requests a remote Kermit server to send the file or file  group
  488. specified by remote-filespec.  This command can be used with a Kermit server on
  489. the other end.  The remote filespec is any string that  can  be  a  legal  file
  490. specification for the remote system; it is not parsed or validated locally.  So
  491. if  the  remote  Kermit  supports  wildcards  you  can  specify  them  in   the
  492. remote-filespec.    Local-filespec  is optional and is the file name to be used
  493. locally.  The "\" escape character may be used to accept the next character  of
  494. the filespec asis and two escape characters will parse to a single "\".  If the
  495. remote Kermit is not capable of server functions, then you will probably get an
  496. error  message back from it like "Illegal packet type".  In this case, you must
  497. connect to the other Kermit, give a SEND  command,  escape  back,  and  give  a
  498. RECEIVE  command.   Currently, a packet can be retransmitted manually by typing
  499. anything on the keyboard. If a 'Q' is typed, the entire  transmission  will  be
  500. canceled.    During file transfer if the remote kermit supports file attributes
  501. then the percent of the file transferred will be accurate else 0.
  502. 1.5.6. The HELP Command                                                  Page 9
  503.  
  504. -------------------------------------------------------------------------------
  505. 1.5.6. The HELP Command
  506.  
  507. Syntax: HELP
  508.  
  509. Typing HELP alone prints a brief summary of the Kermit-65 commands.
  510.  
  511.  
  512. 1.5.7. The LOCK Command
  513.  
  514. Syntax: LOCK filespec
  515.  
  516. LOCK will file lock the given filespec on the default drive.
  517.  
  518.  
  519. 1.5.8. The LOG Command
  520.  
  521. Syntax: LOG filespec
  522.  
  523. When connected to a remote  site,  log  the  remote  session's  output  to  the
  524. specified  file.    The file type and file warning protocols are observed. This
  525. command is dependent upon the flow control (XON/XOFF) working.    Without  flow
  526. control  there  is little possibility of getting a correct copy of the terminal
  527. session.  The logging begins when you connect to the remote and  is  terminated
  528. when  you escape back to the local Kermit with the ESCAPE character followed by
  529. the "C" command.
  530.  
  531.  
  532. 1.5.9. The MODEM Command
  533.  
  534. Syntax: MODEM
  535.  
  536. This command is designed for the hayes smart modem.  Typing  MODEM  causes  the
  537. file  KERMIT.MODEM in the default drive/path to be used as a menu.  You will be
  538. able to select any line in the file to be sent to the modem.  Sorry, you  can't
  539. back  up  to  a previous menu, you will have to Quit and execute MODEM again. A
  540. "CONNECT" response from the smart modem will cause Kermit to  leave  the  modem
  541. command  and execute the CONNECT command. The Hayes smart modem must reply with
  542. text status responses (not numbers).  One command per line  with  comments  al-
  543. lowed  after  the first space (blank). Use your favorite editor to produce this
  544. ASCII text file.  Since the attention Hayes command (AT) requires a  delay  the
  545. "&"  character  becomes  the time delay for Kermit.  Each "&" causes a delay of
  546. one second on a 6502 chip.  If you have a //gs or an accelerator board you  may
  547. have  to  use  the  SET  TIMING  command to produce a one second delay.  If you
  548. really need to send the "&" character to the modem then the "\" is  the  escape
  549. character.  Put  a  "\" before any character and that character will be sent as
  550. is. Of course two "\"'s will produce one "\".  Normally Kermit will wait for 27
  551. seconds  (again  on  a  6502  chip) for the modem to respond, but any character
  552. typed on the keyboard will terminate this wait. You may hear  the  busy  signal
  553. and there is no sense waiting any longer, so hit (ouch!-not so hard) any key on
  554. the keyboard.
  555.  
  556. Following is an example of the KERMIT.MODEM file:
  557.  
  558.   +++&&ATH    Get the Hayes Smartmodem's attention and then hang up.
  559.   ATDP1234567 Call your local BBS with pulse dialing.
  560.   ATDT8901234 Call your work dialup phone with touch tone dialing.
  561. 1.5.10. The RECEIVE Command                                             Page 10
  562.  
  563. -------------------------------------------------------------------------------
  564. 1.5.10. The RECEIVE Command
  565.  
  566. Syntax: RECEIVE [filespec]
  567.  
  568. The RECEIVE command tells Kermit-65 to receive a file or file  group  from  the
  569. other system.  If only one file is being received, you may include the optional
  570. filespec as the name to store the incoming file under; otherwise, the  name  is
  571. taken  from the incoming file header.  If the name in the header is not a legal
  572. filename, Kermit-65 will attempt  to  change  it  into  something  legal.    If
  573. FILE-WARNING  is on and an incoming file has a name identical to a file already
  574. existing on the diskette, Kermit-65 will issue a warning to the  user  and  at-
  575. tempt  to  modify  the  filename to make it unique.  Currently, a packet can be
  576. retransmitted manually by typing anything on the keyboard.  If a 'Q' is  typed,
  577. the  entire  transmission  will be aborted.  During file transfer if the remote
  578. kermit supports file attributes then the percent of the file  transferred  will
  579. be accurate else 0.  Filespec is required when xmodem protocol is used.
  580.  
  581.  
  582. 1.5.11. The REMOTE Command
  583.  
  584. Syntax: REMOTE [option character-string]
  585.  
  586. The  only  option  currently  is  "kermit".  This  command  submits the command
  587. "character-string" to the remote Kermit's command processor.  Long replies  are
  588. not  paged so you will have to use ^S to stop the screen.  The obvious usage is
  589. for setting and showing parameters on the remote Kermit.
  590.  
  591.  
  592. 1.5.12. The RENAME Command
  593.  
  594. Syntax: RENAME filespec,new-filespec
  595.  
  596. RENAME will rename filespec to new-filespec on the default drive.
  597.  
  598.  
  599. 1.5.13. The SEND Command
  600.  
  601. Syntax: SEND filespec[,remote-filespec]
  602.  
  603. The SEND command causes a file to be sent from the Apple to the remote  system.
  604. The  Filespec  is  the  name of the file on the Apple diskette to be sent.  The
  605. parser will not accept control characters and certain special characters  in  a
  606. filename (like comma).  The "\" escape character may be used to accept the next
  607. character of the filespec asis and two escape characters will parse to a single
  608. "\".    Remote-filespec  is  optional and is the name of the file on the remote
  609. kermit.  Thanks to Dick Atlee, wildcards are now acceptable when sending  files
  610. (they  have always been acceptable when receiving files). The "*" is a multiple
  611. character wildcard and the "=" is a single character wildcard.
  612.  
  613. The default disk drive is used for file transfers this can be changed with  the
  614. 'SET  DEFAULT-DISK'(DOS) or 'SET PREFIX'(PRODOS) command (explained below).  As
  615. a file is being sent, the screen  displays  'RECEIVING  NUMBER  OF  BYTES'  and
  616. 'SENDING  NUMBER  OF  BYTES' with the decimal number of bytes transferred since
  617. start of transmission.  If a packet must be transmitted several  times  and  it
  618. reaches  the  maximum  retry count, the transfer will fail and the 'Kermit-65>'
  619. prompt will return. If the remote Kermit sends an error packet, the text of the
  620. 1.5.13. The SEND Command                                                Page 11
  621.  
  622. -------------------------------------------------------------------------------
  623. packet  will be displayed on the screen, the transfer will fail, and the prompt
  624. will return.  Currently, a packet can be retransmitted manually by typing  any-
  625. thing  on  the  keyboard.  If  a  'Q' is typed, the entire transmission will be
  626. aborted.
  627.  
  628.  
  629. 1.5.14. The SERVER Command
  630.  
  631. Syntax: SERVER
  632.  
  633. Typing SERVER alone turns Kermit into a file server to a remote Kermit.    Cur-
  634. rently  server  mode  will handle remote "send", "get", "remote" and "fin" com-
  635. mands.  Variants of the above commands will probably work but file  serving  is
  636. very  limited  at  present.  Because the Apple requires knowledge of file types
  637. you can use the "remote Kermit" (or whatever the  remote  Kermit's  syntax  is)
  638. command  to  set the file-type on the server.  Yes, the server will execute any
  639. command so you can really get the server into trouble (this is not a BBS).  You
  640. must  have  the  appropriate  file type set before transferring files.  You can
  641. exit server mode by typing Control-C (^C) when not doing file transfers or  the
  642. remote can of course terminate via the "fin" command.
  643.  
  644.  
  645. 1.5.15. The SET Command
  646.  
  647. Syntax: SET parameter [option [value]]
  648.  
  649. Establish  or  modify  various parameters for file transfer or terminal connec-
  650. tion.  You can examine their values with  the  SHOW  command.    The  following
  651. parameters may be SET:
  652.  
  653.  
  654.     APPLICATION-MODE   Set VT100 gs keypad in/out of application mode.
  655.                 BAUD   Which baud rate should the com card use?
  656.         CLEAR-SCREEN   Should screen be cleared when returning from connect?
  657.    CURSOR-KEYS-VT100   In VT100 mode cursor keys give VT100 sequences.
  658.            DEBUGGING   TERSE or VERBOSE packet information.
  659.         DEFAULT-DISK   Which Diskette drive is used for DOS 3.3 file transfer?
  660.              DISPLAY   Which type of screen display is being used?
  661.               ESCAPE   Character for terminal connection.
  662.            FILE-TYPE   Type of Apple file being sent/received.
  663.         FILE-WARNING   Warn users if incoming file exists?
  664.                 FLOW   Should xon/xoff flow control be used to the remote?
  665.             KEYBOARD   II+ or //e keyboard.
  666.           LOCAL-ECHO   Full or half duplex switch.
  667.               PARITY   Character parity to use
  668.               PREFIX   Which default prefix to use with PRODOS?
  669.              PRINTER   Should the printer be used for the display?
  670.             PROTOCOL   Which protocol is to be used for file transfer.
  671.              RECEIVE   Various parameters for receiving files
  672.                 SEND   Various parameters for sending files
  673.                 SLOT   Which slot # is communication device in?
  674.                 SWAP   Swap the del and backspace key?
  675.                TIMER   Should Kermit observe the receive timeout value?
  676.               TIMING   Change the time loop for 1 ms. delays.
  677.             TERMINAL   Which type of terminal should Kermit emulate?
  678. 1.5.15. The SET Command                                                 Page 12
  679.  
  680. -------------------------------------------------------------------------------
  681.     SET APPLICATION-MODE
  682.  
  683. Syntax: SET APPLICATION-MODE {ON, OFF}
  684.  
  685. For  VT100  emulation  with a gs keypad you can set the keypad in or out of ap-
  686. plication mode. Some computer systems set this via escape sequences so  it  may
  687. not be necessary to use this command.
  688.  
  689.  
  690.     SET BAUD
  691.  
  692. Syntax: SET BAUD value
  693.  
  694. Value  is  the baud rate for your communication card.  For the super serial and
  695. the microtek it can be 300 to 19200.  The actual values will  depend  upon  the
  696. com card you are running with.
  697.  
  698.  
  699.     SET CLEAR-SCREEN
  700.  
  701. Syntax: SET CLEAR-SCREEN {ON, OFF}
  702.  
  703. When  returning  from a connect the screen will be cleared if on. This is for a
  704. //e or better machine.
  705.  
  706.  
  707.     SET CURSOR-KEYS-VT100
  708.  
  709. Syntax: SET CURSOR-KEYS-VT100 {ON, OFF}
  710.  
  711. In VT100 emulation the cursor keys can also emulate the VT100 cursor keys.
  712.  
  713.  
  714.     SET DEBUGGING
  715.  
  716. Syntax: SET DEBUGGING {TERSE, VERBOSE, OFF}
  717.  
  718. Record the packet traffic on your terminal.  Options are:  TERSE,  Show  packet
  719. info only (brief).  VERBOSE displays packet field descriptions with packet info
  720. (lengthy).   OFF  disables  display  of  debugging  information  (this  is  the
  721. default).
  722.  
  723.  
  724.     SET DEFAULT-DISK
  725.  
  726. Syntax: SET DEFAULT-DISK {SLOT, VOLUME, DRIVE} value
  727.  
  728. This  DOS  command will tell Kermit-65 which disk drive should be used for file
  729. transfers.  The three parameters which may be set separately are  SLOT,  VOLUME
  730. and  DRIVE.   The value for SLOT ranges from 1 to 7. The value for DRIVE is ei-
  731. ther 1 or 2.  The value for VOLUME ranges from 0 to 255.
  732.  
  733.  
  734.     SET DISPLAY
  735.  
  736. Syntax: SET DISPLAY {2E, 2P}
  737. 1.5.15. The SET Command                                                 Page 13
  738.  
  739. -------------------------------------------------------------------------------
  740.     or SET DISPLAY 80-COL number
  741.  
  742. This command will tell Kermit-65 which kind of screen display you want to  use.
  743. If you have an Apple II or II+ without an 80 column card, use the first syntax.
  744. If you have any kind of an Apple with an 80 column card, enter: SET DISPLAY 80,
  745. followed  by  a  space and the slot number where the card resides (if you don't
  746. know the slot number, or the card is built-in to the set, try 3 ).
  747.  
  748.  
  749.     SET ESCAPE
  750.  
  751. Syntax: SET ESCAPE hexadecimal-number
  752.  
  753. Specify the control character you want to use to "escape" from  remote  connec-
  754. tions  back to Kermit-65.  The default is 0 (Control-@).  The number is the hex
  755. value of the ASCII control character, 1 to 37, for instance 2 is  Control-B,  B
  756. is Control-K.
  757.  
  758.  
  759.     SET FILE-TYPE
  760.  
  761. Syntax: SET FILE-TYPE {APPLESOFT, INTEGER, TEXT, BINARY, OTHER hex-value}
  762.  
  763. This  will  inform Kermit-65 what type of file is being sent or received. It is
  764. important that this is set correctly since Kermit-65 must create a file of  the
  765. appropriate  type  when  receiving.  With the advent of file attributes (if the
  766. other kermit does them) this has been improved  somewhat  but  since  file  at-
  767. tributes  usually only knows about text and binary one may endup with the wrong
  768. type.  So keep your type changing utility handy.  When Kermit-65 is sending, it
  769. will  know  the  type of file but again be careful of file attributes (assuming
  770. the other kermit does them) for the file may end up as binary on the other end.
  771. The  keywords  for  this  parameter  are listed below.  OTHER includes an added
  772. hex-value so that the user may specify the hex value of the  file-type.    This
  773. has  meaning only in PRODOS and allows the user to specify any of the many dif-
  774. ferent file types used in PRODOS, see Tables 1-5 and 1-6 (thanks to Phil Chien,
  775. M L Stier et al).
  776.  
  777.     APPLESOFT       The file being transferred is an Applesoft Basic program.
  778.  
  779.     INTEGER         The file being sent/received is an Integer Basic program.
  780.  
  781.     TEXT            The file being sent/received is an ASCII Text file.
  782.  
  783.     BINARY          The file being sent/received is a Binary image.
  784.  
  785.     OTHER           The  type  of  file being sent/received is specified by the
  786.                     hex-value.
  787.  
  788.  
  789.     SET FILE-WARNING
  790.  
  791. Syntax: SET FILE-WARNING {ON, OFF}
  792.  
  793. This tells Kermit-65 whether to warn the user  about  incoming  filenames  con-
  794. flicting with existing files or not.  If there is a conflict Kermit-65 will at-
  795. tempt to change the file name to something unique.
  796. 1.5.15. The SET Command                                                 Page 14
  797.  
  798. -------------------------------------------------------------------------------
  799.     SET FLOW
  800.  
  801. Syntax: SET FLOW {OFF, XON, DELAY number}
  802.  
  803. SET FLOW allows one to use the XON/XOFF protocol when  connected  to  a  remote
  804. site.  Delay timings are part of this command.  Using delay times is probably a
  805. desperation move to keep the screen/printer from losing  characters.    Setting
  806. the timings will have to be set by experience.  Perhaps the best way to set the
  807. timings is to bring the values down until you get failures and then double  the
  808. timing figure.  Both LOG and SET PRINTER will probably depend on flow control.
  809.  
  810.     OFF             Turn off flow control
  811.  
  812.     XON             Turn on xon/xoff flow control with the remote
  813.  
  814.     DELAY number    Delay the micro until XOFF takes effect
  815.  
  816. Delay  followed by a number (including 0) delays the program for that many mil-
  817. liseconds after the XOFF is given to the remote.  This delay allows the XOFF to
  818. take effect before the program continues.
  819.  
  820. NOTE:  Except for printing and logging, most Apples will not require you to use
  821. a flow delay, even at rates up thru 19200  baud;  for  proper  screen  control,
  822. however,  certain  older  Apple  IIe's may require a fairly high delay (120-160
  823. dec), even at 300 baud.
  824.  
  825.  
  826.     SET KEYBOARD
  827.  
  828. Syntax: SET KEYBOARD {2P, 2E}
  829.  
  830. SET KEYBOARD tells Kermit-65 if the user has a full keyboard (2E) or not  (2P).
  831. If  the  user  is  on  an  Apple  II+,  this  should be set to 2P (which is the
  832. default).  When set to that, character translations are available by using  the
  833. right-arrow key as a prefix character, as shown in Table 1-3.
  834.  
  835.  
  836.     SET LOCAL-ECHO
  837.  
  838. Syntax: SET LOCAL-ECHO {ON,OFF} [Default: OFF]
  839.  
  840. This  command  tells Kermit-65 to echo to the screen characters you type on the
  841. keyboard (LOCAL-ECHO = ON), or to let the remote system echo the typed  charac-
  842. ters (LOCAL-ECHO = OFF).  If, when CONNECTed to the remote, you see a duplicate
  843. of every character you type, escape back to Kermit-65, and SET LOCAL-ECHO  OFF.
  844. If,  when CONNECTed to the remote, you see nothing echoed to the screen, escape
  845. back to Kermit-65, and SET LOCAL-ECHO ON.
  846.  
  847.  
  848.     SET PARITY
  849.  
  850. Syntax: SET PARITY {NONE, EVEN, ODD, MARK, SPACE} [Default: NONE]
  851.  
  852. This command tells Kermit-65 which parity you want to use  while  communicating
  853. with the remote.  Most remotes use NONE; some use EVEN, a few may use the other
  854. possible values. If you have a choice of parity to use with a  remote  machine,
  855. 1.5.15. The SET Command                                                 Page 15
  856.  
  857. -------------------------------------------------------------------------------
  858. if possible, choose NONE.
  859.  
  860.  
  861.     SET PREFIX
  862.  
  863. Syntax: SET PREFIX string [Default: boot volume]
  864.     or CD string
  865.  
  866. This command allows you to specify a ProDOS volume/file prefix.
  867.  
  868.  
  869.     SET PRINTER
  870.  
  871. Syntax: SET PRINTER {ON, SLOT} number
  872.     or SET PRINTER OFF
  873.  
  874. This  allows  one  to turn the printer on for printing what is displayed on the
  875. screen.  The printer can also be toggled on/off via the ESCAPE  character  fol-
  876. lowed by the command "P".
  877.  
  878. Remember  when you use your printer there are a lot of variables here. What was
  879. being sent to the screen now is being sent  to  your  printer.    If  you  were
  880. emulating  the  VT52  your  printer  may  not know how to handle the escape se-
  881. quences, tabs, etc. It may be you can tell the host you are a tty or some  such
  882. device  that  will  produce  control  codes that your printer can handle.  Some
  883. printers may require the flow control and delay to get readable printing.
  884.  
  885.     ON              Turn the printer on, slot number is required.
  886.  
  887.     OFF             Turn the printer off.
  888.  
  889.     SLOT number     Printer card is in slot "number".
  890.  
  891.  
  892.     SET PROTOCOL
  893.  
  894. Syntax: SET PROTOCOL {KERMIT, XMODEM}
  895.  
  896. SET PROTOCOL tells kermit-65 which protocol to use for file  transfer.    NOTE:
  897. When  XMODEM  is  used you will probably want to change the carriage return and
  898. carriage return/line feed translation in the send/receive parameters.  eg. "SET
  899. SEND CR<->CR,LF OFF" and "SET RECEIVE CR<->CR,LF OFF".
  900.  
  901.  
  902.     SET RECEIVE
  903.  
  904. Syntax:  SET  RECEIVE  {CR-CR,LR,  EIGHT-BIT-QUOTE, END-OF-LINE, PACKET-LENGTH,
  905. PAD-CHAR, PADDING, QUOTE-CHAR, START-OF-PACKET, TIMEOUT}
  906.  
  907. This will inform Kermit what to use to form and handle receive packets for file
  908. transfer.
  909.  
  910.     CR<->CR,LF      {ON, OFF}
  911.                     Terminate lines with cr or cr and lf.
  912.  
  913.     EIGHT-BIT-QUOTE hexadecimal-number
  914. 1.5.15. The SET Command                                                 Page 16
  915.  
  916. -------------------------------------------------------------------------------
  917.                     Char for eighth bit quoting.
  918.  
  919.     END-OF-LINE     hexadecimal-number
  920.                     Char for line termination.
  921.  
  922.     PACKET-LENGTH   hexadecimal-number
  923.                     Size of packet.
  924.  
  925.     PAD-CHAR        hexadecimal-number
  926.                     Char for padding.
  927.  
  928.     PADDING         hexadecimal-number
  929.                     Number of padding chs.
  930.  
  931.     QUOTE-CHAR      hexadecimal-number
  932.                     Char for quoting.
  933.  
  934.     START-OF-PACKET hexadecimal-number
  935.                     Char for start of packet.
  936.  
  937.     TIMEOUT         hexadecimal-number
  938.                     Number of seconds for timeout.
  939.  
  940.  
  941.     SET SEND
  942.  
  943. Syntax:  SET  SEND  {CR-CR,LR,  EIGHT-BIT-QUOTE,  END-OF-LINE,   PACKET-LENGTH,
  944. PAD-CHAR, PADDING, QUOTE-CHAR, START-OF-PACKET, TIMEOUT}
  945.  
  946. This  will  inform  Kermit what to use to form and handle send packets for file
  947. transfer. The options are the same as the "SET RECEIVE ..." packets.
  948.  
  949.  
  950.     SET SLOT
  951.  
  952. Syntax: SET SLOT number
  953.  
  954. This option tells Kermit-65 in which slot the communication device is  located.
  955. The range for the number parameter is 1-7.
  956.  
  957.  
  958.     SET SWAP
  959.  
  960. Syntax: SET SWAP {ON, OFF}
  961.  
  962. This  option  tells  Kermit-65  to  swap the functions of the del and backspace
  963. keys.
  964.  
  965.  
  966.     SET TIMER
  967.  
  968. Syntax: SET TIMER {ON, OFF}
  969.  
  970. SET TIMER will turn on or off the timeout checking for receive file  transfers.
  971. Since there is no clock for exact timing a loop of instructions has been set up
  972. assuming a 1 megacycle CPU.  CPUs which run faster may have to make  allowances
  973. 1.5.15. The SET Command                                                 Page 17
  974.  
  975. -------------------------------------------------------------------------------
  976. via the SET RECEIVE TIMEOUT command or the SET TIMING command.
  977.  
  978.  
  979.     SET TIMING
  980.  
  981. Syntax: SET TIMING { number }
  982.  
  983. Kermit uses a timing loop with the rom address $fca8 to produce a 1 ms.  delay.
  984. If you have a machine that runs faster than the 6502 chip you may have  to  in-
  985. crease this number to get the 1 ms delay.
  986.  
  987.  
  988.     SET TERMINAL
  989.  
  990. Syntax: SET TERMINAL {MONITOR, NONE, VT100, VT52}
  991.  
  992. When  TERMINAL  is NONE, then all incoming characters (except nulls) are passed
  993. directly to the display.
  994.  
  995. MONITOR emulation simply displays all the characters received from  the  remote
  996. (except  nulls)  without  any formatting of the screen (40 or 80 characters per
  997. line).  Control characters are displayed inverse.
  998.  
  999.  
  1000. VT100 Emulation
  1001.  
  1002. The Kermit-65 VT100 emulator is a small but working set of a  true  VT100  ter-
  1003. minal.    It  appears to work with most of the standard full screen editors and
  1004. processors on BSD UNIX and VAX/VMS machines.  An  Apple//e,  //c,  or  //gs  is
  1005. probably  required  with  the  Apple 80 column text card.  The VT100 keypad has
  1006. also been defined for the application mode via the OA/CA/game button.    Figure
  1007. 1-1  shows  the  vt100  keypad  on an apple keyboard with EDIT (VMS) usage, and
  1008. Figure 1-2 shows the layout on an Apple//gs keypad.  When using EVE  (VMS)  the
  1009. meaning of the keys will of course change.
  1010.  
  1011. As  you  can see the keypad is physically laid out like the VT100 keypad except
  1012. for the lower right corner.  Notice that above the keys are  the  VT100  labels
  1013. while  in  middle of the box (key) is the Apple key label.  Also the arrow keys
  1014. work as VT100 arrow keys with the OA/CA/game button.
  1015.  
  1016.  
  1017. VT52 Emulation
  1018.  
  1019. SET TERMINAL VT52 will turn on the VT52 terminal emulation.  One thing that  is
  1020. required  is  your  80-column  card  must  handle  the $16 command in order for
  1021. reverse scrolling to work.  The Apple//e 80 column card handles this fine.  The
  1022. VT52  keypad  has  been defined using the open/closed Apple.  For II or II+ one
  1023. will have to have a game paddle or joy stick (key shift mod too????)   and  use
  1024. the  buttons.  When a button/open/closed Apple is pushed then the keys starting
  1025. with 6,7,8 & 9 form the top of the keypad. Key 6 is the blue key key 7  is  the
  1026. red  key etc. The keys directly below the 6,7,8 & 9 and shifted one-half key to
  1027. the right form the second row of the keypad etc. Every thing is fine until  you
  1028. get to the last row on the keypad. There the sp bar is 0 and the other two keys
  1029. are moved to the upper right as the 0 & - keys.  This way the  arrow  keys  are
  1030. available  as  VT52 keys with the OA/CA/game button combination (thanks to Dick
  1031. Atlee for this idea).  With those  two  exceptions  the  keypad  is  physically
  1032. 1.5.15. The SET Command                                                 Page 18
  1033.  
  1034. -------------------------------------------------------------------------------
  1035. -------------------------------------------------------------------------------
  1036.  
  1037.  
  1038.  
  1039.                        PF1     PF2     PF3     PF4     .(period)
  1040.                      ------- ------- ------- ------- -------
  1041.                     |       |       |findnxt|delline|select |
  1042.                     |   6   |   7   |   8   |   9   |   0   |
  1043.                     | gold  | help  | find  |undelln| reset |
  1044.                      ------- ------- ------- ------- -------
  1045.                           7       8       9       -
  1046.                         ------- ------- ------- -------
  1047.                        | page  |section|append |delword|
  1048.                        |   Y   |   U   |   I   |   O   |
  1049.                        |command| fill  |replace|undelwd|
  1050.                         ------- ------- ------- -------
  1051.    vt100 key ---->            4       5       6       ,
  1052.                            ------- ------- ------- -------
  1053.    vms edit usage ---->    |advanc|backup |  cut  |delchar|
  1054.    apple key ---->         |  H   |   J   |   K   |   L   |
  1055.    vms edit usage ---->    |bottom|  top  | paste |undelch|
  1056.                            ------- ------- ------- -------
  1057.                                 1       2       3       ENTER
  1058.                               ------- ------- ------- -------
  1059.                              | word  |  eol  | char  | enter |
  1060.                              |   N   |   M   |   ,   |   .   |
  1061.                              |chgcase|deleol |specins|  sub  |
  1062.                               ------- ------- ------- -------
  1063.                                     0
  1064.         ---------------------------------------
  1065.                                     bline      |
  1066.              space bar                         |
  1067.                                    openline    |
  1068.         ---------------------------------------
  1069.  
  1070.                 Figure 1-1:  VT100 Keypad on an Apple Keyboard
  1071.  
  1072. -------------------------------------------------------------------------------
  1073.  
  1074. similar  to  a  VT52 keypad.  Remember the open/closed Apple or the game button
  1075. must be pushed (like the control key) to get the keypad emulation.  Figure  1-3
  1076. should clear up the questions.
  1077.  
  1078.  
  1079. 1.5.16. the SHOW command
  1080.  
  1081. Syntax: SHOW [option]
  1082.  
  1083. The SHOW command displays various information:
  1084.  
  1085.     ALL                     All parameter settings (this is quite long).
  1086.  
  1087.     BAUD                    Baud rate of the com card.
  1088.  
  1089.     APPLICATION-MODE        Keypad in application mode?
  1090.  
  1091.     CLEAR-SCREEN            Clear screen on return from connect?
  1092. 1.5.16. the SHOW command                                                Page 19
  1093.  
  1094. -------------------------------------------------------------------------------
  1095. -------------------------------------------------------------------------------
  1096.  
  1097.  
  1098.  
  1099.                        PF1     PF2     PF3     PF4
  1100.                      ------- ------- ------- -------
  1101.                     |       |       |findnxt|delline|
  1102.                     | CLEAR |   =   |   /   |   *   |
  1103.                     | gold  | help  | find  |undelln|
  1104.                      ------- ------- ------- -------
  1105.                        7       8       9       -
  1106.                      ------- ------- ------- -------
  1107.                     | page  |section|append |delword|
  1108.                     |   7   |   8   |   9   |   +   |
  1109.                     |command| fill  |replace|undelwd|
  1110.                      ------- ------- ------- -------
  1111.    vt100 key ---->      4       5       6       ,
  1112.                      ------- ------- ------- -------
  1113.    vms edit usage ->| advanc|backup |  cut  |delchar|
  1114.    gs key ------->  |   4   |   5   |   6   |   -   |
  1115.    vms edit usage ->| bottom|  top  | paste |undelch|
  1116.                      ------- ------- ------- -------
  1117.                        1       2       3       ENTER
  1118.                      ------- ------- ------- -------
  1119.                     | word  |  eol  | char  |       |
  1120.                     |   1   |   2   |   3   |       |
  1121.                     |chgcase|deleol |specins|       |
  1122.                      ------- ------- -------| enter |
  1123.                             0          .    | ENTER |
  1124.                      -----------------------|  sub  |
  1125.                     |    bline      |select |       |
  1126.                     |      0        |   .   |       |
  1127.                     |  openline     | reset |       |
  1128.                      -------------------------------
  1129.  
  1130.                    Figure 1-2:  VT100 Keypad on an Apple//gs
  1131.  
  1132. -------------------------------------------------------------------------------
  1133.  
  1134.     CURSOR-KEYS-VT100       Are  the  cursor  keys  emulating  the VT100 cursor
  1135.                             keys?
  1136.  
  1137.     DEBUGGING               Debugging mode.
  1138.  
  1139.     DEFAULT-DISK            Which Diskette drive is used for file transfer?
  1140.  
  1141.     DEVICE-DRIVER           Which communication device is being used?
  1142.  
  1143.     DISPLAY                 Which screen display is being used?
  1144.  
  1145.     ESCAPE                  Character for terminal connection.
  1146.  
  1147.     FILE-TYPE               Of Apple DOS/PRODOS file being sent/received.
  1148.  
  1149.     FILE-WARNING            Warn users if incoming file exists?
  1150.  
  1151.     FLOW                    Should XON/XOFF flow control be used to the remote?
  1152. 1.5.16. the SHOW command                                                Page 20
  1153.  
  1154. -------------------------------------------------------------------------------
  1155. -------------------------------------------------------------------------------
  1156.  
  1157.  
  1158.  
  1159.     ^ is up arrow    BLUE     RED     GRAY     ^    .(period) ENTER
  1160.                      ------- ------- ------- ------- ------- -------
  1161.                     |       |       |delline|  up   |select | enter |
  1162.                     |   6   |   7   |   8   |   9   |   0   |   -   |
  1163.                     | gold  | help  |undelln|replace| reset |  sub  |
  1164.                      ------- ------- ------- ------- ------- -------
  1165.       v is down arrow     7       8       9       v
  1166.                         ------- ------- ------- -------
  1167.                        | page  |findnxt|delword| down  |
  1168.                        |   Y   |   U   |   I   |   O   |
  1169.                        |command| find  |undelwd|section|
  1170.                         ------- ------- ------- -------
  1171.        vt52 key ---->         4       5       6       ->
  1172.                            ------- ------- ------- -------
  1173.     vms edit usage ---->   |advanc|backup |delchar| right |
  1174.        apple key ---->     |  H   |   J   |   K   |   L   |
  1175.     vms edit usage ---->   |bottom|  top  |undelch|specins|
  1176.                            ------- ------- ------- -------
  1177.                                 1       2       3      <-
  1178.                               ------- ------- ------- -------
  1179.                              | word  |  eol  |  cut  | left  |
  1180.                              |   N   |   M   |   ,   |   .   |
  1181.                              |chgcase|deleol | paste |append |
  1182.                               ------- ------- ------- -------
  1183.                                    0
  1184.         ---------------------------------------
  1185.                                     bline      |
  1186.              space bar                         |
  1187.                                    openline    |
  1188.         ---------------------------------------
  1189.  
  1190.                  Figure 1-3:  VT52 Keypad on an Apple Keyboard
  1191.  
  1192. -------------------------------------------------------------------------------
  1193.  
  1194.     KEYBOARD                II+ or //e keyboard.
  1195.  
  1196.     LOCAL-ECHO              Full or half duplex switch.
  1197.  
  1198.     LOG                     Are we logging connect data?
  1199.  
  1200.     PARITY                  Character parity to use
  1201.  
  1202.     PREFIX                  Which default prefix to use with PRODOS? Alias PWD.
  1203.  
  1204.     PRINTER                 Should the printer be used for the display?
  1205.  
  1206.     PROTOCOL                Which protocol is to be used for file transfer.
  1207.  
  1208.     RECEIVE                 Various parameters for receiving files
  1209.  
  1210.     SEND                    Various parameters for sending files
  1211. 1.5.16. the SHOW command                                                Page 21
  1212.  
  1213. -------------------------------------------------------------------------------
  1214.     SLOT                    Which slot # is communication device in?
  1215.  
  1216.     SWAP                    Swap the del and backspace keys?
  1217.  
  1218.     TIMER                   Is the receive timeout on or off?
  1219.  
  1220.     TIMING                  Count for timing loop
  1221.  
  1222.     TERMINAL                Which terminal (if any) should Kermit emulate?
  1223.  
  1224.     VOLUMES                 Show the online volumes.
  1225.  
  1226. The above options are analogous to the equivalent SET commands.
  1227.  
  1228.  
  1229. 1.5.17. The STATUS Command
  1230.  
  1231. Syntax: STATUS
  1232.  
  1233. Give statistics about the most recent file transfer. This includes  information
  1234. such   as  number  of  characters  sent/received,  number  of  data  characters
  1235. sent/received, and last error encountered.
  1236.  
  1237.  
  1238. 1.5.18. The TAKE Command
  1239.  
  1240. Syntax: TAKE filespec
  1241.  
  1242. The TAKE commands tells kermit-65 to execute commands from the  specified  file
  1243. similarly  to  the  KERMIT.INIT  file.  See discussion on KERMIT.INIT above for
  1244. details.
  1245.  
  1246.  
  1247. 1.5.19. The TYPE Command
  1248.  
  1249. Syntax: TYPE filespec
  1250.  
  1251. The TYPE commands tells kermit-65 to print to the  screen  from  the  specified
  1252. file. Text files only and works best with 80 characters per line or less.
  1253.  
  1254.  
  1255. 1.5.20. The UNLOCK Command
  1256.  
  1257. Syntax: UNLOCK filespec
  1258.  
  1259. UNLOCK will unlock the given filespec on the default drive.
  1260.  
  1261.  
  1262. 1.6. Installation
  1263. 1.6.1. Standard Installation                                            Page 22
  1264.  
  1265. -------------------------------------------------------------------------------
  1266. 1.6.1. Standard Installation
  1267.  
  1268. To  bootstrap  Kermit  to  prodos, get the file APPPRO.BNS on a apple diskette.
  1269. Use binscii to convert this file into a shrinkit file. Use shrinkit to  extract
  1270. the  files  onto a prodos diskette with your own prodos and basic.system files.
  1271. Then "-read.me" for further instructions. Thanks to Les Ferch for this  install
  1272. system & thanks to Bird for his "birds better bye" in the menu.system.  For dos
  1273. 3.3 get the files APP387.[1-2] on a master diskette  then  read  the  first  of
  1274. app387.1 for further instructions.  Thanks to Alan Kalker for this install sys-
  1275. tem.
  1276.  
  1277. The kermit binaries will run on either system.  Simply use the  PRODOS  conver-
  1278. sion  routines (if they have them fixed, better to use copy II+ or whatever) to
  1279. move kermit, kermit.help and kermit.init files.  If you want other options as a
  1280. regular thing then you can change file kermit.init with your favorite editor.
  1281.  
  1282.  
  1283.     Files Supplied for Kermit-65
  1284.  
  1285. The following files should be supplied on the columbia distribution tape:
  1286.  
  1287.     APP387.1       Install system for dos 3.3 (1 of 2)
  1288.     APP387.2       Install system for dos 3.3 (2 of 2)
  1289.     APPAAA.HLP     List of files (like this one)
  1290.     APPAAA.NEW     Whats new in this release
  1291.     APPACC.HEX     Apple com card hex
  1292.     APPACC.M65     Apple com card source
  1293.     APPACE.HEX     Ace dual card hex
  1294.     APPACE.M65     Ace dual card source
  1295.     APPBEL.BNS     Apple gs alternate bell
  1296.     APPCAT.HEX     Apple cat hex
  1297.     APPCAT.M65     Apple cat source
  1298.     APPCCS.HEX     CCS 7710 com card hex
  1299.     APPCCS.M65     CCS 7710 com card source
  1300.     APPCPS.HEX     CPS com card hex
  1301.     APPCPS.M65     CPS com card source
  1302.     APPGS.HEX      GS serial port hex
  1303.     APPGS.M65      GS serial port source
  1304.     APPHMM.HEX     Hayes micro modem card hex
  1305.     APPHMM.M65     Hayes micro modem card source
  1306.     APPICON.BNS    Kermit icon for gs users
  1307.     APPLE.DOC      Complete documentation (it says here)
  1308.     APPLE.MSS      Scribe text formatter source for documentation
  1309.     APPLE.PS       Documentation ready for a postscript printer
  1310.     APPMAI.HEX     Main kermit pgm hex
  1311.     APPMAI.M65     Main kermit pgm source
  1312.     APPMAK.UNX     Make file for UNIX cross assembly (to assemble Kermit)
  1313.     APPMSV.HEX     Microtec com card hex
  1314.     APPMSV.M65     Microtec com card source
  1315.     APPPRO.BNS     Install system for prodos
  1316.     APPSSC.HEX     Super serial com card hex
  1317.     APPSSC.M65     Super serial com card source
  1318.     APPXAS.1       65c02 cross assembler for UNIX system part 1
  1319.     APPXAS.2       65c02 cross assembler for UNIX system part 2
  1320.     APPXAS.3       65c02 cross assembler for UNIX system part 3
  1321. 1.6.1. Standard Installation                                            Page 23
  1322.  
  1323. -------------------------------------------------------------------------------
  1324. The  syntax  of the filenames may vary.  On UNIX systems, the filenames will be
  1325. in lowercase.  On VM/CMS systems, the period will be replaced by a space.   All
  1326. files are text, however the suffix of BNS are binsciied binary files.
  1327.  
  1328.  
  1329. 1.6.2. Alternate Installation
  1330.  
  1331. The  main  problem exists in getting the hex files onto your diskette as a text
  1332. file.  But again that is a test of your creativity. If you have  a  version  of
  1333. Kermit running then GET or RECEIVE the file as a text file and you are in busi-
  1334. ness.  Since Kermit has been separated into two assemblies then two  hex  files
  1335. will  have  to be present on the diskette. Get the main hex file APPMAI.HEX and
  1336. select which com card hex you will need. First "exec APPMAI.HEX".   Your  Apple
  1337. (or  compatible)  will  go  into  monitor and show you *'s for several minutes.
  1338. This is the monitor loading the hex into binary.  If you  get  beeps  from  the
  1339. monitor  its probably because you didn't get a good copy of the text file.  Now
  1340. EXEC the com card driver you are going to use.  You will have to get back  into
  1341. basic(aha  another  test for you, try "3d0G") to do this.  And you will see the
  1342. monitor loading the com driver. The order of EXEC's is important.  The com card
  1343. should   be   loaded  last.    Next  get  back  into  basic  and  do  a  "bsave
  1344. kermit,A$1000,L$7400".  You may have to specify the drive  to  do  this  binary
  1345. save, with a slot or drive on the end of the BSAVE (aha another test).  You now
  1346. run Kermit via "brun kermit".
  1347.  
  1348. If you want to customize Kermit for your needs, the recommended  method  is  to
  1349. use  file  "kermit.init"  OR do all your SETs, etc, and then do an "exit".  Now
  1350. you should be back in BASIC.  At this point do a "bsave name,A$1000,L$7400" and
  1351. when  you  do  a  "brun name" all your setups will be remembered.  NOTE: If you
  1352. save your current settings via "bsave kermit ..." you may find that moving that
  1353. binary  to  another type of Apple (e.g. from a //e to an //e+) will not be pos-
  1354. sible.  So make sure you keep the  original  binary  to  move  between  machine
  1355. types.
  1356.  
  1357. Since  the org is now $1000 if you have been using Kermit and then went back to
  1358. basic for some trivial thing a "CALL  4096"  should  start  up  Kermit  without
  1359. having to reload it.
  1360.  
  1361. In summary:
  1362.  
  1363.    1. EXEC APPMAI.HEX
  1364.  
  1365.    2. Choose the com card driver you will use.  For example APPSSC.HEX.
  1366.  
  1367.    3. 3D0G
  1368.  
  1369.    4. EXEC APPSSC.HEX
  1370.  
  1371.    5. BSAVE kermit,A$1000,L$7400
  1372.  
  1373. And you should be in business.  Remember there is the command HELP and whenever
  1374. you are into a command a "?" will give you the possible  options  available  at
  1375. that  point of a command.  The escape key will finish typing an option if it is
  1376. possible. The syntax of all the  commands  and  options  only  requires  enough
  1377. characters to make that command or option unique.
  1378. 1.7. Problems                                                           Page 24
  1379.  
  1380. -------------------------------------------------------------------------------
  1381. 1.7. Problems
  1382.  
  1383.  
  1384.     Installation
  1385.  
  1386. NOTE:  When  using  the  super  serial driver you must have the cards sw6-2 on.
  1387. This allows the card to use interrupts. The rest of the switches are  set  from
  1388. within  Kermit.  It  appears that you can run your Apple 2 with sw6-2 on and in
  1389. 99% of the cases will cause no problems.  This is because the OS runs with  in-
  1390. terrupts  locked  out  ("sei"  in  assembly  language) and the program must ex-
  1391. plicitly give a "cli" for interrupts to work (the super serial driver does).
  1392.  
  1393. The AE Serial Pro must have switches 1 & 3 open and 2 & 4 closed. This  appears
  1394. to disagree with the documentation since those settings turn off irq interrupts
  1395. and turn on nmi interrupts. So watch this it may get corrected  in  later  ver-
  1396. sions.
  1397.  
  1398. The Microtek driver is a super serial look alike which does not run with inter-
  1399. rupts.  If you have trouble with the super serial driver you might try the  MSV
  1400. driver.   For you people with the MSV-622c card, you might try running a jumper
  1401. from the UART 6551 pin 26 to the card edge pin 30.  This will enable interrupts
  1402. just like the SSC sw2-6, and then you can use the super serial driver.
  1403.  
  1404. The Prometheus card will work with the Apple com driver.  However you will have
  1405. to set the switches on the card for baud etc.  Evidently this card can  not  be
  1406. programmed by the software. If that is not true then here is an opportunity for
  1407. you to write a better driver. If you do please pass it on for other  Prometheus
  1408. users.
  1409.  
  1410. The  apple  cat  uses the modem's firmware for dialing. Type ";" for a 2 second
  1411. delay, or any control character to abort the dialing. ROM is not needed if  ex-
  1412. ternal  phone  is  used for dialing.  Supports 110-600 baud, and 45.5 baud (use
  1413. kermit-65's 135 baud setting).  Supports 1200 baud with apple-cat 212 card,  in
  1414. slot-saver  configuration.  Allows use of external serial port by typing "X" as
  1415. dialing string.  Thanks to Dick Wotiz for this driver.  Reports  have  it  that
  1416. the Apple Cat will also work with the Apple com driver.
  1417.  
  1418. Some  have  noted  the Apple com card must be initialized via the "IN#x" before
  1419. starting Kermit. Ike has now updated this driver and the initialization is  now
  1420. done within the Apple com driver.  Thanks Ike.
  1421.  
  1422.  
  1423.     Usage
  1424.  
  1425. There  is the command HELP and whenever you are into a command a "?"  will give
  1426. you the possible options available at that point of a command. The  escape  key
  1427. will  finish typing an option if it is possible. The syntax of all the commands
  1428. and options only requires enough characters to  make  that  command  or  option
  1429. unique.
  1430.  
  1431. When  using flow control you may appear to hang. Type a ^Q (Control-Q) and that
  1432. may free you up.
  1433.  
  1434. Remember when you use your printer there are a lot of variables here.  What was
  1435. being  sent  to  the  screen  now  is  being sent to your printer.  If you were
  1436. emulating the VT52 your printer may not know  how  to  handle  the  escape  se-
  1437. 1.7. Problems                                                           Page 25
  1438.  
  1439. -------------------------------------------------------------------------------
  1440. quences,  tabs  etc. It may be you can tell the host you are a tty or some such
  1441. device that will give carriage returns etc that your printer can handle.   Some
  1442. printers may require the flow control and delay to get readable printing.
  1443.  
  1444.  
  1445.     File Transfer Errors
  1446.  
  1447. "File  Transfer  Errors,"  was added to this document by the Southeast Regional
  1448. Data Center (SERDAC), '88 July 17.
  1449.  
  1450. In spite of the fact that successful Kermit file transfers  are  almost  always
  1451. error  free, there are a number of circumstances which can corrupt, prevent, or
  1452. interrupt/abort a transfer.  In the case of an actual abort, there may be  data
  1453. loss  or corruption, and an incomplete file may not have a correct end-of-file.
  1454. These circumstances may be roughly divided into two groups: (1) problems due to
  1455. file  or  disk  errors,  and  (2)  problems due to delays or failures in Kermit
  1456. packet exchange.
  1457.  
  1458. Common problems in category (1) include the following:
  1459.  
  1460. (a) improper file specification (b) wrong file type (c) protected  file(s)  (d)
  1461. disk problems
  1462.  
  1463. (1a) problems can occur when you specify, to either the Apple or host Kermit, a
  1464. non-existent  or  improperly  located  file.    Misspelling  and/or   incorrect
  1465. (sub)directory  specification  are popular villains!  If you are commanding ei-
  1466. ther Kermit to SEND a file (SEND filespec), the problem will be fairly obvious.
  1467. On  the  Apple  II, you'll see an error message like: "FILE NOT FOUND."  On the
  1468. VAX/VMS 8800, for example, you'll see the message: "%KERMIT32 .....,  file  not
  1469. found  for  'filespec'".  In either case, the transfer will not take place.  If
  1470. you're using Kermit-65 to GET (GET filespec)  files  from  the  VAX/VMS  Kermit
  1471. server,  and  the  requested file does not exist in your VAX default directory,
  1472. you should see a Kermit-32 generated "REMOTE MESSAGE %KERMIT32 ....., file  not
  1473. found  for  'filespec'" appear in the transmission status display, and then the
  1474. Kermit-65 message "CANNOT RECEIVE FILE-HEAD".   Transfer  of  the  questionable
  1475. file will not take place.
  1476.  
  1477. (1b)  problems  can occur if you forget to specify, to either the Apple or host
  1478. Kermit, what type of file you wish to transfer.  If you are using Kermit-65  to
  1479. send files to a host, you are fairly well protected against this error.  If you
  1480. attempt to send a  file  whose  CATALOG  type  does  not  match  the  FILE-TYPE
  1481. parameter setting, you will receive a "INCOMPATIBLE FILE FORMAT" error message,
  1482. or something similar, and the transfer will not take place.  If,  however,  you
  1483. are  receiving (via RECEIVE or GET) a file whose native type does not match the
  1484. FILE-TYPE setting, the file WILL be received.  It will be mis-typed  (according
  1485. to the FILE-TYPE setting), though, and any later attempt to use it on the Apple
  1486. will probably be unsuccessful.
  1487.  
  1488. The same sort of circumstances generally apply for a host Kermit. With the  VAX
  1489. 8800,  for  example,  when  Kermit-32 is sending a file, you generally need not
  1490. worry about setting its file  type.    When  Kermit-32  is  receiving  a  file,
  1491. however,  properly  setting its file type is very critical.  If you wish to put
  1492. Kermit-32 in server mode to receive multiple files, set the  file  type  BEFORE
  1493. using  the  SERVER command, and make sure that you only send it the appropriate
  1494. type of files during that server session.  You cannot switch file types  DURING
  1495. a given server session!
  1496. 1.7. Problems                                                           Page 26
  1497.  
  1498. -------------------------------------------------------------------------------
  1499. NOTE:  One other way you can get into trouble with "wrong file type" is by try-
  1500. ing to send a file which is mixed-- mostly text, but with some embedded charac-
  1501. ters that are not true 7-bit ASCII (i.e., ASCII codes 00-127).  This often hap-
  1502. pens when you are trying to transfer a file which  is  word  processor  output.
  1503. Most  word  processing  software  claims to allow you to output a true ASCII or
  1504. text file, but in some cases it really does not, and in others  the  choice  of
  1505. output  options  is  confusing.    If  you have set up either Kermit program to
  1506. send/receive a text file, and you try  to  transfer  illegal  ASCII  characters
  1507. (codes  128-256), your transfer may "hang" or be aborted.  At the very best, if
  1508. the transfer "works," the suspect characters will later probably be meaningless
  1509. or confusing to the destination machine.
  1510.  
  1511. (1c)  problems  can  occur  in two ways on the Apple II.  If your default drive
  1512. disk is write protected, and you attempt to receive a file, you will receive  a
  1513. "WRITE  PROTECTED" error message, and no transfer will take place.  If you have
  1514. set Kermit-65's FILE-WARNING parameter to OFF (normally NOT a good  idea),  and
  1515. you  attempt  to  receive  a file that already exists in a locked state on your
  1516. default diskette, you will receive a "FILE LOCKED" error message (if  the  file
  1517. is very short, you may have to check with a Kermit-65 STATUS command to see the
  1518. error message), and no transfer will take place.
  1519.  
  1520. Similar problems may occur on the  host  because  of  various  file  protection
  1521. schemes.    On  the VAX/VMS 8800, for example, Kermit-32 cannot send out a file
  1522. that you are unauthorized to read.  And, it cannot receive a  file  unless  you
  1523. are  authorized  to  write to that filename and its (sub)directory.  If you use
  1524. Kermit-32 to attempt to SEND (SEND filespec) a protected file, you should see a
  1525. "%KERMIT32  .....,  insufficient  privilege  or  file  protection violation for
  1526. 'filespec'" error message, and no transfer  will  take  place.    If  you  have
  1527. Kermit-32  in  server mode, and you are trying to GET a protected file from it,
  1528. or you are trying to SEND it a file whose space is protected, you should see  a
  1529. similar  Kermit-32  generated  REMOTE MESSAGE appear in the transmission status
  1530. display, and then, on GET, the Kermit-65 message  "CANNOT  RECEIVE  FILE-HEAD".
  1531. Transfer of the protected file will not take place.
  1532.  
  1533. (1d)  problems  are  most likely to occur because of Apple II diskette or drive
  1534. problems.  The following conditions will generate "DISK  I/O"  or  "I/O  ERROR"
  1535. messages when Kermit-65 transfer commands are entered:  bad diskette in default
  1536. drive, no diskette in default drive, default drive door open, and/or unINITial-
  1537. ized disk in default drive.
  1538.  
  1539. If  any  of  those  errors  are detected before the attempted transmission of a
  1540. given file, the transfer of that file will  not  begin.  If  any  are  detected
  1541. DURING a file transmission, the file transfer will likely abort; at best trans-
  1542. mitted data will be incomplete. Data which does reach the destination end of an
  1543. aborted  transfer should be considered very suspect; the disk problem should be
  1544. corrected and the transfer should be repeated!  (The best chance you  have  for
  1545. salvaging  text  file  data  in an abort is if the file destination is the host
  1546. machine and you have told its Kermit to save incomplete  files,  e.g.,  on  the
  1547. VAX-8800, you need to SET INCOMPLETE KEEP).
  1548.  
  1549. One  other  Apple  II  disk  problem  can  be  encountered  while you are using
  1550. Kermit-65 to receive files. If you exceed the storage capacity of your diskette
  1551. during  a  RECEIVE  or a GET, you should see a "DISK FULL" error message.  Data
  1552. that has been received up to the point of the overflow  will  be  automatically
  1553. DELETEd.   Make CERTAIN that you do not try to receive any more files until you
  1554. have DELETEd some files from the problem diskette, or until you  have  replaced
  1555. 1.7. Problems                                                           Page 27
  1556.  
  1557. -------------------------------------------------------------------------------
  1558. it with one that has adequate capacity to receive the complete file.  NOTE: See
  1559. Section 1.5.4.
  1560.  
  1561. It is less likely that (1d) problems would occur because of host  machine  disk
  1562. problems.    The  most  likely  circumstance you might encounter on the VAX/VMS
  1563. 8800, for example, would be in receiving a large file and, in the process,  ex-
  1564. ceeding  your  VAX  disk  quota.  In such a case, you should see an appropriate
  1565. Kermit-32 generated REMOTE MESSAGE appear  within  the  Kermit-65  transmission
  1566. status   display.      If  this  happens,  delete  some  files  from  your  VAX
  1567. (sub)directories, and/or have your VAX disk quota increased BEFORE you try  the
  1568. transfer  again. If you have issued a SET INCOMPLETE KEEP command to Kermit-32,
  1569. there may be some chance of salvaging text file data that  arrived  before  the
  1570. disk quota overage, but the best thing you can do is to repeat the transfer!
  1571.  
  1572. As  a  general rule, if some disk or file error prevents a transfer from begin-
  1573. ning, to get it to "go," you will need to correct the error and repeat all  the
  1574. steps that preceded it.
  1575.  
  1576. If  you are still commanding the host Kermit, and you see an error message, you
  1577. will have to get the host Kermit's prompt back and give it an  acceptable  com-
  1578. mand.  If  you  have commanded the host Kermit to SEND or RECEIVE, and are back
  1579. commanding Kermit-65 when you notice the error, you will have  to  correct  the
  1580. problem, CONNECT back to the host, get the host Kermit prompt (with the VAX/VMS
  1581. 8800, try typing RETURN or CTRL-Y), and repeat the SEND or RECEIVE command, be-
  1582. fore returning back to Kermit-65 to command it again.
  1583.  
  1584. If  you  have  placed  the host Kermit in server mode, and are giving Kermit-65
  1585. commands when you notice an Apple disk/file error prevents a file transfer from
  1586. starting, chances are good that you won't have to CONNECT back to the host.  It
  1587. is also important to note that within a single server  session,  when  you  are
  1588. transferring  multiple  files,  all  files  transferred  PRECEDING an error (or
  1589. abort) are probably good. To repeat the transfer, correct the error,  and  give
  1590. Kermit-65  the  appropriate  command  to  transfer the file that messed up. The
  1591. first time you do  it,  you  may  get  back  a  message  like  "REMOTE  MESSAGE
  1592. %KERMIT-32..... protocol error" This is just the host server trying to get back
  1593. "on track" after the error.  When the  Kermit-65>  prompt  returns,  enter  the
  1594. transfer command again, and it will probably be accepted.
  1595.  
  1596. If  the  second  attempt  should  fail,  wait for the Kermit-65> prompt, enter:
  1597. FINISH, wait for the prompt again, and enter: CONNECT.  If you do not  see  the
  1598. host operating system prompt ($ on the VAX 8800), type a few RETURNs (or on the
  1599. VAX/VMS a CTRL-Y). Re-invoke the host Kermit and put it back in server mode.
  1600.  
  1601. If disk or file errors prevent a transfer from completing, recovery will depend
  1602. on  the  error,  whether  you had the host Kermit in server mode or not, and on
  1603. your desire for accuracy.
  1604.  
  1605. Some disk/file error aborts are "fatal" (e.g., Apple DISK FULL,  and  uploading
  1606. to  the  VAX  8800 w/o having commanded Kermit-32 to SET INCOMPLETE KEEP).  The
  1607. destination file will be destroyed.  The transfer of the file will have  to  be
  1608. repeated  again from the beginning.  Again, unless you have set the host Kermit
  1609. for server mode, you will have to CONNECT back, get the host Kermit prompt, and
  1610. re-command  it.    If  you  were  in a server session, though, you can probably
  1611. repeat the transfer of the interrupted file without going back to the host (see
  1612. recovery procedures above).
  1613.  
  1614. Other  disk/file  errors  that interrupt/abort a transfer may leave salvageable
  1615. 1.7. Problems                                                           Page 28
  1616.  
  1617. -------------------------------------------------------------------------------
  1618. text data at the transfer destination.  The best policy, though, is  to  repeat
  1619. the transfer of the incomplete file (see recovery procedures above).
  1620.  
  1621. Common problems in category (2) include the following:
  1622.  
  1623. (a) bad parity
  1624.  
  1625. (b) noisy communications line
  1626.  
  1627. (c) timeout due to delays, "disaster," etc.
  1628.  
  1629. (d) Kermit-program incompatibility
  1630.  
  1631. (e) user error
  1632.  
  1633. (2a)
  1634.  
  1635. Parity  settings  are very critical to correct transfers.  If you do not inform
  1636. Kermit-65 of the correct parity being used by the remote host  machine  or  the
  1637. communications  path  to  it,  "checksum"  error  checking calculations will be
  1638. wrong, and packets will be consistently rejected when they arrive at their des-
  1639. tination.   In particular, most binary file Kermit transfers won't get very far
  1640. if parity is not set correctly.
  1641.  
  1642. [NOTE: If you want to do a binary file transfer (Apple binary or  BASIC  files)
  1643. via  a  FIRN Network connection to the SERDAC VAX/VMS 8800, you must SET PARITY
  1644. SPACE before the transfer is initiated; that will insure that eight-bit quoting
  1645. is  used.    If  you  dial  directly  into  the  VAX/VMS 8800, SET PARITY NONE;
  1646. eight-bit quoting (which is less efficient) is not required].
  1647.  
  1648. (2b)
  1649.  
  1650. Line noise can be the root cause for a variety of file transfer problems.   The
  1651. beauty  of  a  "packetized  protocol  transfer"  scheme like Kermit is that or-
  1652. dinarily, the scheme will overcome an occasional burst of line noise.  A packet
  1653. which  arrives  out  of sequence, or which does not have the same checksum "bit
  1654. count" as when it was sent, will get retransmitted, and the noise induced  data
  1655. error will correct itself.
  1656.  
  1657. Sometimes,  however,  bad  line  noise can outwit even the cleverest aspects of
  1658. Kermit.  There are some times where severe noise can corrupt the "checksum" er-
  1659. ror  checking  and lead to undetected transmission of a bad character (assuming
  1660. that the severe line noise exists, chances of this happening for one  character
  1661. are, for Kermit-65 error checking, less than two percent).
  1662.  
  1663. If  line  noise  is  bad  enough  and persistent enough, it is also a cause for
  1664. several problems that will eventually "hang" or totally  confuse  and  abort  a
  1665. transfer:
  1666.  
  1667. Each  transfer  is  preceded  by the Kermit-to-Kermit exchange of several short
  1668. "initialization packets.  These tell the controlling programs  critical  things
  1669. to  expect about the upcoming transfer. If line noise prevents the packets from
  1670. arriving, or scrambles them up, the transfer probably can't  get  started  cor-
  1671. rectly.
  1672.  
  1673. One  of  the biggest vulnerabilities of the Kermit scheme is that each arriving
  1674. 1.7. Problems                                                           Page 29
  1675.  
  1676. -------------------------------------------------------------------------------
  1677. packet must be acknowledged (ACK) by the receiver, and that the sender must ac-
  1678. tually  receive  back the acknowledgement (likewise, if an expected packet does
  1679. not arrive, there often must be a negative acknowledgement (NAK)).   Since  the
  1680. ACK/NAK packets are very short, they are rather vulnerable to severe noise.  If
  1681. too many of them are scrambled or lost, the transfer can get out of synch,  and
  1682. the transferring programs can lose track of where they are.
  1683.  
  1684. One other place Kermit is vulnerable is in the beginning of a data packet.  The
  1685. first several bytes of these longer packets are  reserved  for  control  infor-
  1686. mation:  packet  type,  byte  count,  sequence  number,  etc.    If  line noise
  1687. repeatedly coincides with the transmission of this control information,  it  is
  1688. very easy for the transfer to get confused-- particularly if the packet number-
  1689. ing gets garbled.
  1690.  
  1691. If you detect frequent line noise after you've connected to a host, but  before
  1692. you begin transfers (you will probably see extraneous junk characters appearing
  1693. on your screen), you're probably in for trouble. Once transfers actually begin,
  1694. line  noise  problems  are  often  characterized  by  incrementing of the RETRY
  1695. counter on the Kermit-65 transmission status display, and/or by long pauses  in
  1696. incrementing of the status display byte counter.
  1697.  
  1698. To minimize line noise, first see if there are any obvious loose connections in
  1699. your equipment (telephone line connection to wall box, telephone line to modem,
  1700. modem  cabling  to  serial connector, or, if appropriate, cabling from hardwire
  1701. port to serial connector).  If not, you may want to hang up and redial  to  get
  1702. another  telephone  connection  (almost every connection is unique, and you may
  1703. get a better one than you had).  Many line noise problems will  clear  up  with
  1704. those simple remedies, but some may be beyond your control!
  1705.  
  1706. If  all else fails, you may also try shortening the maximum length of your data
  1707. packets (SET SEND/RECEIVE PACKET-LENGTH) to possibly lessen the effects of per-
  1708. sistent noise.
  1709.  
  1710. (2c)
  1711.  
  1712. A Kermit transfer consists of a regular and predictable exchange of initializa-
  1713. tion, data, and, ACK/NAK packets.  If something  (line  noise,  busy  computer,
  1714. user  error,  etc.) interrupts or delays this regular exchange, there must be a
  1715. way for a Kermit program on at least one end to figure out something  is  wrong
  1716. and try to get the packet exchange back on track again.
  1717.  
  1718. This  is  usually  done with a timer and retry mechanism.  If a Kermit does not
  1719. receive an expected packet, within its timer's time limit (a timeout), it  will
  1720. resend  its  last sent packet to try to "wake up" the other Kermit (effectively
  1721. by asking it to send its last  packet  again).    This  resending  is  repeated
  1722. ("retried")  a  number of times before the program assumes it cannot get things
  1723. on track again.  Each packet resent by Kermit-65 is counted as a RETRY  on  its
  1724. transmission status display. If Kermit-65's retry count exceeds 20, it will try
  1725. to issue an error message according to what kind of packet it was  waiting  for
  1726. and/or it will say MAX RETRY COUNT EXCEEDED. The transfer will then be aborted.
  1727.  
  1728. Very  frequently,  timeouts  are caused by unexpected delays in the remote com-
  1729. puter, or in the network thru which you connect to it.  If you  know  that  the
  1730. host machine or network is very busy, and you repeatedly have aborted transfers
  1731. due to timeouts, you may be able to alleviate the  problem  by  increasing  the
  1732. value of the default Kermit-65 receive timeout parameter (SET RECEIVE TIMEOUT).
  1733. 1.7. Problems                                                           Page 30
  1734.  
  1735. -------------------------------------------------------------------------------
  1736. Other  common  ways  that  Kermit-65 can timeout and abort are: (1) if the host
  1737. machine "goes down" during a  transfer,  (2)  if  the  telephone,  network,  or
  1738. hardwire  connection  is completely broken during a transfer, (3) if you forgot
  1739. to "start up" the host Kermit and give it a transfer command (SEND, RECEIVE, or
  1740. SERVER)  BEFORE  giving  Kermit-65  a  transfer command, and (4) if (2a), (2b),
  1741. (2d), or (2e) problems occur and  critical  initialization  packets  are  never
  1742. received.
  1743.  
  1744. In cases (1) and (2), you will eventually probably see a CANNOT RECEIVE DATA or
  1745. MAX RETRY COUNT EXCEEDED message from Kermit-65.  Cases (3) and (4) may  result
  1746. in a CANNOT RECEIVE INIT message.
  1747.  
  1748. (2d)
  1749.  
  1750. To  do  effective Kermit transfers, there must be two Kermit programs working--
  1751. one on either end of a "computer connection."  In  addition,  the  two  Kermits
  1752. must  be  able  to "talk to" each other in a prescribed, standard way. Although
  1753. there are specific standards for writing all Kermit programs, most of them have
  1754. been  written  by  volunteers and are in the "public domain."  The protocol re-
  1755. quirements and resultant programs are generally rather complex, and it  is  all
  1756. too  easy to inadvertently program in a subtle error in a given Kermit version.
  1757. Additionally, there are many "levels of ability" of Kermit programs:  some  can
  1758. operate  in server mode, some cannot. Some can transfer binary files; some can-
  1759. not, etc.  Unless the Kermit programs you are using are both  error  free,  and
  1760. both  have the same capabilities for the transfers you wish to perform, you are
  1761. in trouble!
  1762.  
  1763. If there is a systematic "bug" in one of the Kermit programs, or if you are as-
  1764. king  one  Kermit  to  do something the other can't do, there will usually be a
  1765. problem with packet exchange; in many cases the  requested  transfer  will  not
  1766. even  get  started.  You may see a Kermit-65 error message, on the transmission
  1767. status display, saying that a packet was not received, or a REMOTE MESSAGE say-
  1768. ing  a  packet was unexpectedly received, or one that the command cannot be ex-
  1769. ecuted by the other Kermit.  In some cases, you may see  no  explanatory  error
  1770. messages  at  all;  the  transfer will just "hang" and will probably eventually
  1771. "timeout" and abort (MAX RETRY COUNT EXCEEDED).
  1772.  
  1773. (2e)
  1774.  
  1775. If you've read about category (1) errors above, you can see that  there  are  a
  1776. variety  of things you can do to with files or disks to mess up a Kermit trans-
  1777. fer.  You can also wreak havoc by issuing improper or illegal commands to  Ker-
  1778. mit  programs.    Before trying to transfer a lot of files, or trying out a new
  1779. type of transfer, be sure you understand the procedure you need to  follow  and
  1780. the various Kermit commands that will be involved.
  1781.  
  1782. New  Kermit  users  often  try  to  command  their  local Kermit program (e.g.,
  1783. Kermit-65) to send or receive a file, without having  first  invoked  and  com-
  1784. manded the host Kermit.
  1785.  
  1786. Another common error is to issue improper commands to a remote server.  For ex-
  1787. ample, when VAX/VMS Kermit-32 is in server mode, and you are  requesting  files
  1788. from  it via Kermit-65 commands, you cannot use a RECEIVE command; you must in-
  1789. stead use GET.
  1790.  
  1791. As with Kermit program incompatibilities,  illegal  or  inappropriate  commands
  1792. 1.7. Problems                                                           Page 31
  1793.  
  1794. -------------------------------------------------------------------------------
  1795. will  often  cause  a problem with packet exchange; in many cases the requested
  1796. transfer or action will not even get started.  You may see  a  Kermit-65  error
  1797. message,  on the transmission status display, saying a packet was not received,
  1798. a REMOTE MESSAGE that a packet was unexpectedly received, or one that the  com-
  1799. mand cannot be executed by the other Kermit.  In some cases, you may see no ex-
  1800. planatory error messages at all; the transfer will just "hang" and  will  prob-
  1801. ably eventually "timeout" and abort (MAX RETRY COUNT EXCEEDED).
  1802.  
  1803. Except  for  the  fact that you will probably never note a category (2) "packet
  1804. exchange" error while you are "talking to" the remote system or commanding  its
  1805. Kermit,  and  that  the  remedies you must employ to correct the errors will be
  1806. different, recovery procedures to get your file transferred correctly  will  be
  1807. much  the  same  as those we described at the end of the discussion on category
  1808. (1) "disk/file" errors.  Make sure to read that  discussion  for  more  details
  1809. than we have included below.
  1810.  
  1811. In  short,  if  an error prevents a given transfer from actually beginning, you
  1812. will need to correct the error and repeat all the steps that preceded it.  This
  1813. will be more difficult if you are transferring only one file-- having commanded
  1814. the remote Kermit to SEND or RECEIVE.  If you have placed the remote Kermit  in
  1815. server  mode,  and an error prevents the transfer of one file, all files trans-
  1816. ferred up to that point are probably  OK,  and  you  can  usually  correct  the
  1817. problem,  and  get a transfer started again without having to reCONNECT back to
  1818. the host.
  1819.  
  1820. If you are transferring a text file, and an abort occurs in mid-transfer,  some
  1821. data  may  be  salvageable  in the destination file, but the best rule with any
  1822. type of file is to repeat the transfer, in which case the  recovery  procedures
  1823. in the last paragraph apply.
  1824.  
  1825.  
  1826. 1.8. Customizing Kermit-65
  1827.  
  1828. The  source code to Kermit-65 is in 6502 Assembler. It has been formatted for a
  1829. cross assembler which runs on a unix 2's complement machine.    Files  appxas.1
  1830. thru appxas.3 are the cross assembler for UNIX.  Get the files on a UNIX system
  1831. and then look at the documentation at the start. They will easily  make  you  a
  1832. xasm  for  Kermit.  The file appmak.unx is the makefile to use with the xasm to
  1833. reassemble all of Kermit's parts.
  1834.  
  1835. Kermit-65 has been separated into two assemblies, the main routines and the com
  1836. card  routines for the devices shown in Table 1-1.  A vector has been set up in
  1837. low memory for the two assemblies to  communicate.  Look  at  the  working  com
  1838. drivers  for  tips  on  how to incorporate your version of the com driver. some
  1839. things to note: It is probably best to buffer the input from the remote and  to
  1840. get  input  characters from the remote every chance you get.  Note the Microtek
  1841. SV-622 driver, whenever the input is checked for a character and has a  charac-
  1842. ter  the character is put into the buffer immediately.  Also when the output is
  1843. checked for ready to output, if the card is not ready  to  output  then  it  is
  1844. checked  for a character to input.  All this should help prevent losing charac-
  1845. ters.
  1846.  
  1847. All the routines should return with the "rts" instruction.  Routines which  can
  1848. return  a  true/false indication should return with the P reg zero flag set ap-
  1849. propriately.  That is: a "beq" instruction will branch on  a  false  indication
  1850. and  the  "bne"  will branch on a true indication.  The com driver should start
  1851. Apple II Kermit                                                         Page 32
  1852.  
  1853. -------------------------------------------------------------------------------
  1854. its routines above the main routines and tell where the end of the  com  driver
  1855. is  via  location  $100c.  If your com driver gets too large then the bsave ad-
  1856. dress would have to be changed when you are saving the binary to diskette.
  1857. Apple II Kermit                                                         Page 33
  1858.  
  1859. -------------------------------------------------------------------------------
  1860.   address size  module   function
  1861.   1003    byte   main     This is the baud rate index as follows:
  1862.                            3 - 110
  1863.                            4 - 135.4
  1864.                            5 - 150
  1865.                            6 - 300
  1866.                            7 - 600
  1867.                            8 - 1200
  1868.                            9 - 1800
  1869.                           10 - 2400
  1870.                           11 - 3600
  1871.                           12 - 4800
  1872.                           13 - 7200
  1873.                           14 - 9600
  1874.                           15 - 19200
  1875.                           eg:if index is 6 then line should be 300 baud
  1876.   1004    byte            unused
  1877.   1005    word   driver   Address of a null terminated string.
  1878.                           address should point to a capitalized
  1879.                           string of the drivers id
  1880.   1007    byte   main     Com slot in the form $n0 where n is slot #.
  1881.   1008    byte   main     Force initialization flag when 0.
  1882.                           init routine should always initialize when
  1883.                           this flag is 0 & then set flag non-zero.
  1884.   1009    word   main     Address of the end of Kermit main routine.
  1885.   100b    byte   main     Flow control is on when high bit is set.
  1886.   100c    word   driver   Address of the end of the com driver.
  1887.   100e    byte   driver   Time constant-used with the 1040 rtn.
  1888.   100f    word   driver   Address of the end of screen save memory(//e).
  1889.   1011    byte   driver   Screen saved flag.
  1890.   1020  3 bytes  driver   Jump to initialization routine.
  1891.   1023  3 bytes  driver   Jump to command routine.  A reg has command
  1892.                             0 - hang up the line
  1893.                           $0b - set baud rate
  1894.                           $0c - set break on the line
  1895.                           $91 - do xon on the line
  1896.                           $93 - do xoff on the line
  1897.                           routine returns false (P reg zero flag) if unable
  1898.   1026  3 bytes  driver   Jump to check for input from the line.
  1899.                           routine returns false (P reg zero flag)
  1900.                           if no character on line
  1901.   1029  3 bytes  driver   Jump to get input character from line.
  1902.                           routine returns character in A reg
  1903.   102c  3 bytes  driver   Jump to put character in A reg on line.
  1904.   102f  3 bytes  driver   Jump to reset com driver.
  1905.   1040  3 bytes  main     Jump to Apple ROM wait rtn. microsecs delay
  1906.                           =1/2(26+27A+5A*A) where A is the accumulator
  1907.   1043  3 bytes  main     Jump to routine to print null-terminated string.
  1908.                           X reg contains least significant byte of address
  1909.                           Y reg contains most significant byte of address
  1910.                           routine does not issue a carriage return.
  1911.   1046  3 bytes  main     Jump to routine to read the keyboard.
  1912.                           A reg contains the character read
  1913.   1049  3 bytes  main     Jump to routine to print carriage rtn & line feed.
  1914.   104f  3 bytes  main     Jump to routine to set characters parity.
  1915.                           A reg contains the character before and after.
  1916.  
  1917.                   Table 1-4:  Communications card vector area
  1918. Apple II Kermit                                                         Page 34
  1919.  
  1920. -------------------------------------------------------------------------------
  1921. -------------------------------------------------------------------------------
  1922.  
  1923.  
  1924.  
  1925.               List of most of the prodos file types.
  1926.  
  1927.   Num      Name    OS      Definition
  1928.   $00                      typeless
  1929.   $01      BAD     both    BAD blocks file
  1930.   $02      PCD     SOS     Pascal CoDe file
  1931.   $03      PTX     SOS     Pascal TeXt file
  1932.   $04      TXT     both    ASCII text file
  1933.   $05      PDA     SOS     Pascal DAta file
  1934.   $06      BIN     both    BINary file
  1935.   $07      CHR     SOS     CHaRacter font file
  1936.   $08      PIC     both    PICture file
  1937.   $09      BA3     SOS     Business BASIC (SOS) program file
  1938.   $0A      DA3     SOS     Business BASIC (SOS) data file
  1939.   $0B      WPD     SOS     Word Processor Document
  1940.   $0C              SOS     SOS system file
  1941.   $0D              SOS     SOS reserved file type
  1942.   $0E              SOS     SOS reserved file type
  1943.   $0F      DIR     Both    subDIRectory file
  1944.   $10      RPD     SOS     RPS data file
  1945.   $11      RPI     SOS     RPS index file
  1946.   $12              SOS     Applefile diskcard file
  1947.   $13              SOS     Applefile model file
  1948.   $14              SOS     Applefile report format file
  1949.   $15              SOS     Screen library file
  1950.   $16              SOS     SOS reserved file type
  1951.   $17              SOS     SOS reserved file type
  1952.   $18              SOS     SOS reserved file type
  1953.   $19      ADB     ProDOS  AppleWorks Database file
  1954.   $1A      AWP     ProDOS  AppleWorks WordProcessing file
  1955.   $1B      ASP     ProDOS  AppleWorks Spreadsheet file
  1956.   $1C-$5F                  Reserved
  1957.   $60-$6F          ProDOS  PC Transporter (Applied Engineering)
  1958.    $60     PRE     ProDOS  ProDOS preboot driver
  1959.    $61-$6A         ProDOS  Reserved
  1960.    $6B     NIO     ProDOS  PC Transporter BIOS and drivers
  1961.    $6C             ProDOS  Reserved
  1962.    $6D     DVR     ProDOS  PC Transporter device drivers
  1963.    $6E             ProDOS  Reserved
  1964.    $6F     HDV     ProDOS  MSDOS HardDisk Volume
  1965.   $70-$9F                  Reserved
  1966.   $A0      WPF     ProDOS  WordPerfect document file
  1967.   $A1      MAC     ProDOS  Macrofile
  1968.   $A2      HLP     ProDOS  Help File
  1969.   $A3      DAT     ProDOS  Data File
  1970.   $A4                      Reserved
  1971.   $A5      LEX     ProDOS  Spelling dictionary
  1972.   $A6-$AB                  Reserved
  1973.  
  1974.                      Table 1-5:  PRODOS file types, part 1
  1975.  
  1976. -------------------------------------------------------------------------------
  1977. Apple II Kermit                                                         Page 35
  1978.  
  1979. -------------------------------------------------------------------------------
  1980. -------------------------------------------------------------------------------
  1981.  
  1982.  
  1983.  
  1984.   Num         Name    OS      Definition
  1985.   $AC         ARC     ProDOS  General Purpose Archive file
  1986.   $AD-$AF                     Reserved
  1987.   $B0         SRC     ProDOS  ORCA/M & APW source file
  1988.   $B1         OBJ     ProDOS  ORCA/M & APW object file
  1989.   $B2         LIB     ProDOS  ORCA/M & APW library file
  1990.   $B3         S16     ProDOS  ProDOS16 system file
  1991.   $B4         RTL     ProDOS  ProDOS16 runtime library
  1992.   $B5         EXE     ProDOS  APW shell command file
  1993.   $B6         STR     ProDOS  ProDOS16 startup init file
  1994.   $B7         TSF     ProDOS  ProDOS16 temporary init file
  1995.   $B8         NDA     ProDOS  ProDOS16 new desk accessory
  1996.   $B9         CDA     ProDOS  ProDOS16 classic desk accessory
  1997.   $BA         TOL     ProDOS  ProDOS16 toolset file
  1998.   $BB         DRV     ProDOS  ProDOS16 driver file
  1999.   $BC-$BE                     Reserved for ProDOS16 load file
  2000.   $BF         DOC     ProDOS  document file
  2001.   $C0         PNT     ProDOS  //gs paint document
  2002.   $C1         SCR     ProDOS  //gs screen file
  2003.   $C2-$C7                     Reserved
  2004.   $C8         FNT     ProDOS  Printer font file
  2005.   $C9                 ProDOS  finder files
  2006.   $CA                 ProDOS  finder icons
  2007.   $CB-$DF                     Reserved
  2008.   $E0         LBR     ProDOS  Apple archive library file
  2009.   $E1                         Unknown (unlisted)
  2010.   $E2         ATI     ProDOS  Appletalk init file
  2011.   $E3-$EE                     Reserved
  2012.   $EF         PAS     ProDOS  ProDOS Pascal file
  2013.   $F0         CMD     ProDOS  added command file
  2014.   $F1-$F8             ProDOS  User defined filetypes
  2015.                             (popular ones include:)
  2016.    $F1        OVL     ProDOS  Overlay file
  2017.    $F2        DBF     ProDOS  Database file
  2018.    $F3        PAD     ProDOS  MouseWrite file
  2019.    $F4        MCR     ProDOS  AE Pro macro file
  2020.    $F5        ECP     ProDOS  ECP batch file
  2021.    $F6        DSC     ProDOS  description file
  2022.    $F7        TMP     ProDOS  temporary work file
  2023.    $F8        RSX     ProDOS  linkable object module
  2024.   $F9         IMG     ProDOS  ProDOS image file
  2025.   $FA         INT     ProDOS  Integer BASIC program
  2026.   $FB         IVR     ProDOS  Integer BASIC variables file
  2027.   $FC         BAS     ProDOS  AppleSoft BASIC program
  2028.   $FD         VAR     ProDOS  AppleSoft BASIC variables file
  2029.   $FE         REL     ProDOS  ProDOS EDASM relocatable object module file
  2030.   $FF         SYS     ProDOS  ProDOS8 system file
  2031.  
  2032.                      Table 1-6:  PRODOS file types, part 2
  2033.  
  2034. -------------------------------------------------------------------------------
  2035. Apple II Kermit                                                         Page 36
  2036.  
  2037. -------------------------------------------------------------------------------
  2038. Index
  2039.  
  2040.           Apple II   1               Padding   16
  2041.           Apple II Keypad   17       Prodos file system   4
  2042.           Apple II+ keyboard   7     Prompting   6
  2043.           Applesoft   13
  2044.           Archiving files   3        Q   8, 10
  2045.                                      Quote-char   16
  2046.           Backspace key   16
  2047.           Binary   13                Readme   22
  2048.           Blink   7                  RECEIVE Command   10
  2049.                                      REMOTE Command   10
  2050.           CA key   17, 18            RENAME Command   10
  2051.           CATALOG Command   6        RM Command   8
  2052.           CD Command   15
  2053.           CONNECT Command   6        SEND Command   10
  2054.           Control-c   11             SERVER Command   11
  2055.           Cr-cr,lf   16              SET APPLICATION-MODE   12
  2056.                                      SET BAUD   12
  2057.           Del key   16               SET CLEAR-SCREEN   12
  2058.           Delay   9, 14, 17          SET Command   11
  2059.           DELETE Command   8         SET CURSOR-KEYS-VT100   12
  2060.           Dos   2                    SET DEBUGGING   12
  2061.           Dos filenames   2          SET DEFAULT-DISK   12
  2062.                                      SET DISPLAY   12
  2063.           Eight-bit-quote   16       SET ESCAPE   13
  2064.           End-of-line   16           SET FILE-TYPE   13
  2065.           Escape character   9       SET FILE-WARNING   13
  2066.           EXIT Command   8           SET FLOW   14
  2067.                                      SET KEYBOARD   14
  2068.           Game button   17, 18       SET LOCAL-ECHO   14
  2069.           GET Command   8            SET PARITY   14
  2070.                                      SET PREFIX   15
  2071.           HELP Command   9           SET PRINTER   15
  2072.                                      SET PROTOCOL   15
  2073.           Install   22               SET RECEIVE   15
  2074.           Integer   13               SET SEND   16
  2075.                                      SET SLOT   16
  2076.           Kermit   15                SET SWAP   16
  2077.           Kermit.help   22           SET TERMINAL   17
  2078.           Kermit.init   22           SET TIMER   16
  2079.           KERMIT.MODEM   9           SET TIMING   17
  2080.                                      SHOW command   18
  2081.           LOCK Command   9           Smart modem   9
  2082.           LOG Command   9            Start-of-packet   16
  2083.           LS Command   6             STATUS Command   21
  2084.  
  2085.           MODEM Command   9          TAKE Command   21
  2086.           Monitor   17               Text   13
  2087.                                      Timeout   16
  2088.           OA key   17, 18            TYPE Command   21
  2089.           Other   13
  2090.                                      UNLOCK Command   21
  2091.           Packet-length   16
  2092.           Pad-char   16              Vt100   17
  2093. Apple II Kermit                                                         Page 37
  2094.  
  2095. -------------------------------------------------------------------------------
  2096.           VT100 Emulation   17
  2097.           Vt52   17
  2098.           VT52 Emulation   17
  2099.  
  2100.           Xmodem   10, 15
  2101. Apple II Kermit                                                          Page i
  2102.  
  2103. -------------------------------------------------------------------------------
  2104.                                Table of Contents
  2105.  
  2106. 1. Apple II Kermit                                                            1
  2107.  
  2108.    1.1. Supported Systems and Devices                                         2
  2109.    1.2. The DOS 3.3 File System                                               2
  2110.    1.3. The PRODOS File System                                                4
  2111.    1.4. Program Operation                                                     4
  2112.    1.5. Kermit-65 Commands                                                    6
  2113.        1.5.1. The CATALOG Command                                             6
  2114.        1.5.2. The CONNECT Command                                             6
  2115.        1.5.3. The DELETE Command                                              8
  2116.        1.5.4. The EXIT and QUIT Commands                                      8
  2117.        1.5.5. The GET Command                                                 8
  2118.        1.5.6. The HELP Command                                                9
  2119.        1.5.7. The LOCK Command                                                9
  2120.        1.5.8. The LOG Command                                                 9
  2121.        1.5.9. The MODEM Command                                               9
  2122.        1.5.10. The RECEIVE Command                                           10
  2123.        1.5.11. The REMOTE Command                                            10
  2124.        1.5.12. The RENAME Command                                            10
  2125.        1.5.13. The SEND Command                                              10
  2126.        1.5.14. The SERVER Command                                            11
  2127.        1.5.15. The SET Command                                               11
  2128.        1.5.16. the SHOW command                                              18
  2129.        1.5.17. The STATUS Command                                            21
  2130.        1.5.18. The TAKE Command                                              21
  2131.        1.5.19. The TYPE Command                                              21
  2132.        1.5.20. The UNLOCK Command                                            21
  2133.    1.6. Installation                                                         21
  2134.        1.6.1. Standard Installation                                          22
  2135.        1.6.2. Alternate Installation                                         23
  2136.    1.7. Problems                                                             24
  2137.    1.8. Customizing Kermit-65                                                31
  2138.  
  2139. Index                                                                        36
  2140. Apple II Kermit                                                         Page ii
  2141.  
  2142. -------------------------------------------------------------------------------
  2143.                                 List of Figures
  2144.  
  2145.    Figure 1-1:   VT100 Keypad on an Apple Keyboard                           18
  2146.    Figure 1-2:   VT100 Keypad on an Apple//gs                                19
  2147.    Figure 1-3:   VT52 Keypad on an Apple Keyboard                            20
  2148. Apple II Kermit                                                        Page iii
  2149.  
  2150. -------------------------------------------------------------------------------
  2151.                                 List of Tables
  2152.  
  2153.    Table 1-1:   Apple II Communication Cards Supported by Kermit-65           2
  2154.    Table 1-2:   Kermit-65 Single-Character CONNECT Escape Commands            7
  2155.    Table 1-3:   Apple II/II+ Keyboard Escapes                                 8
  2156.    Table 1-4:   Communications card vector area                              33
  2157.    Table 1-5:   PRODOS file types, part 1                                    34
  2158.    Table 1-6:   PRODOS file types, part 2                                    35
  2159.