Relay-Version: version B 2.10 5/3/83; site utzoo.UUCP Path: utzoo!mnetor!seismo!rutgers!im4u!ut-sally!utah-cs!utah-gr!uplherc!nrc-ut!iconsys!byucsa!cunyvm!ndsuvm1.bitnet!nu099138 From: NU099138@NDSUVM1.BITNET Newsgroups: comp.sys.cbm Subject: Re: c64 kermit Message-ID: <98NU099138@NDSUVM1> Date: Thu, 26-Mar-87 17:39:48 EST Article-I.D.: NDSUVM1.98NU099138 Posted: Thu Mar 26 17:39:48 1987 Date-Received: Sat, 11-Apr-87 00:00:14 EST Expires: Fri, 10-Apr-87 00:00:00 EST References: 315@sdics.ucsd.EDU Lines: 2089 Here is the C64 users guide some of you have been looking for!!!!! KERMIT-65 USERS GUIDE Commodore 64 Version 1.7(52) Eric Lavitsky Center For Computer and Information Services Rutgers University Piscataway, New Jersey This Copy Was Produced On: Sunday, 11 August 1985 at 11:54 Using Scribe 4(1405) Introduction Page 1 1. Introduction 1.1. Overview Authors: David Dermott, DREA Eric Lavitsky, Rutgers University Michael Marchiondo, University of New Mexico Frank Prindle, Naval Air Development Center Documentation: Eric Lavitsky, Rutgers University Version: 1.7(52) Date: August 1985 C-64 Kermit-65 Capabilities At A Glance: Local operation: Yes Remote operation: Yes Transfers text files: Yes Transfers binary files: Yes Wildcard send: No ^X/^Y interruption: Yes Filename collision avoidance: Yes Can time out: Yes 8th-bit prefixing: Yes Repeat count prefixing: No Alternate block checks: No Terminal emulation: Yes Communication settings: Yes Transmit BREAK: Yes IBM communication: Yes Transaction logging: No Session logging (raw download): No Raw upload: No Act as server: No Talk to server: Yes Advanced commands for servers: No Local file management: Yes Handle file attributes: No Command/init files: Yes Printer control: No KERMIT-65 is a program that implements the KERMIT file transfer protocol for the Commodore 64 micro computer system. It is written in 6502 assembly language and should run on any C64. KERMIT-65 also Converts your C64 into a powerful computer terminal. It emulates the popular Digital Equipment Corporation VT52 terminal or a simple glass TTY. The program handles all conversion of Com- modore to standard ASCII and can display all 96 standard ASCII characters. Page 2 C64 KERMIT User Guide 1.2. System Requirements What you will need: - C64 and Disk drive - Modem - any will do (300/1200, VIC, RS232) - Supermon64.V1 (or any equivalent relocatable monitor) Implementation Notes Page 3 2. Implementation Notes 2.1. Known Bugs, Restrictions C64 KERMIT-65 is still under development and may have some minor defficiencies. The known bugs and restrictions are as follows: - The SET BAUD option is not fully implemented. To get speeds under 300 baud, you will have to set the RS232-REGISTERS directly. Special patches to the Kernel RS232 routines have been implemented to allow reliable operation at 1200 baud. 1800 and 2400 baud have not been so patched. - If you change the RS232-REGISTERS directly, the change will not be reflected in the BAUD, PARITY, or WORD-SIZE parameters. - If a KERMIT.INI file is not present on the disk, the parameters in memory get garbaged to an unusable state and must be reset by hand. - To create a new KERMIT.INI file with the SAVE command, the old KERMIT.INI file must first be scratched with the DISK command : (DISK S0:KERMIT.INI). 2.2. HINTS If you wish to edit BASIC programs on the mainframe system, you should convert them to text files on the C64 before you send them since the BASIC interpreters store keywords as single character tokens. If the receiving system does not handle eight-bit ASCII or CBM ASCII characters well, KERMIT-65 should have its FILE-BYTE-SIZE set to SEVEN-BIT. It will send standard seven-bit ASCII to the receiving KERMIT. When KERMIT-65 is receiving from such a system, this will pick up the seven-bit characters and write out CBM ASCII on the disk file. 2.3. Notes Please note that typing a '^X' (control-x) at anytime during a file transaction will quit the current transaction, closing the current file. Kermit can also be forced to 'timeout' by typing a space at any point in the transaction. Kermit will then resend the current packet. 2.4. KERMIT Runtime Memory Map Location Description -------- ------------------------------------ $0801-$83ff Kermit program area (Reserved Area) $8400-$87ff Video matrix for both 40 and 80 column modes $8800-$8fff Character set 1 ram for 40 column mode $9000-$90ff RS-232 output buffer $9100-$91ff RS-232 input buffer $9200-$9fff Reserved for future use $a000-$bfff Hires screen (80 columns) Page 4 C64 KERMIT User Guide 2.5. Future Plans The following items are under consideration for implementation in future ver- sions of Kermit. Please mail any comments or suggestions to the authors, or im- plement it yourself and notify the authors. 1. Disk routines could be changed (Use TALK routines instead of CHRIN) 2. Cursor blink rate in parser must be slowed down 3. For sending files, jiffy wait should be a function of current baud rate! 4. Implement 4 & 5 with a flag indicating connect or command mode. 5. Ability to pause display in parser (CBM key) 6. Add disk commands: Kermit-65>SCRATCH file Kermit-65>RENAME newfile=oldfile 7. Change status display scheme for transfer: ----------------------------------------------------------------- Packets: 0 Status... Retries: 0 Filename: FILENAME.EXT ----------------------------------------------------------------- Packets: 0 Status... Retries: 0 Filename: FILENAME.EXT Additional Data Seq Number 00 Number Of Data Chars 00 Packet Checksum 00 ----------------------------------------------------------------- etc., etc... something like this anyway - The screen shouldn't constantly be cleared and redrawn. All pertinent fields should be written once and then updated as necessary. Implement using plot function to move cursor to correct position. For Verbose debug, display packet info two lines beneath filename. Implementation Notes Page 5 ----------------------------------------------------------------- 8. Ability to change screen colors: Kermit-65>SET COLOR nn 9. Add capability of selecting default drive and unit number for trans- fer. 10. Implement wildcard send - need info on 1541 DOS for this! 11. Disk command parsing should use CMUNQS (unquoted string) parse. Page 6 C64 KERMIT User Guide 3. Running KERMIT 3.1. Booting KERMIT Insert your working KERMIT-65 disk into the 1541 drive label side up. Type the following: LOAD"KERMIT",8 RUN The screen will come up with the following message: Commodore 64 Kermit Version 1.7(52) 40 Column Mode - ? For Help Kermit-65> You are now in the KERMIT-65 parser which is modeled after the COMND parser of the TOPS-20 Operating System from Digital Equipment Corporation. You may now type commands to the parser to set options or begin actions. During interactive operation, you may use the ?-prompting help feature ("?") and recognition (ESC) features while typing commands (The ESC character is presently ^[ - control Left Bracket or the left arrow key). A question mark typed at any point in a command displays the options available at that point; typing an ESC character causes the current keyword to be completed (or default value to be supplied). If you have not typed sufficient characters to uniquely specify the keyword or filename (or if there is no default value) then a beep will be sounded and you may continue typing. Keywords may be abbreviated to any prefix that is unique. 3.2. Commands in KERMIT Commands available in version 1.7 of Kermit-65 are: BYE CONNECT DIRECTORY DISK EXIT FINISH GET QUIT RECEIVE RESTORE SAVE SEND SET SHOW STATUS BYE This command will cause Kermit-65 to tell a server Kermit at the other end of the connection to exit from Kermit and, if ap- plicable, terminate its job (or process, etc.). KERMIT-65>BYE CONNECT The CONNECT command will allow you to connect to a remote job over the terminal line as a virtual terminal. The format of the CONNECT command is: Running KERMIT Page 7 KERMIT-65>CONNECT To get back to the Kermit parser, type the escape character followed by a 'C'. The default escape character is ^Y (control-Y), so to return to Kermit-65 you would type '^YC'. There are other options to the escape character, these may be seen by typing a '?' after typing the escape character: ONE OF THE FOLLOWING: ? - THIS HELP MESSAGE. B - SEND A BREAK SIGNAL. C - CLOSE THE CONNECTION. S - STATUS OF CONNECTION. 0 - SEND A NULL. ESCAPE-CHAR - TRANSMIT THE ESCAPE CHARACTER. DIRECTORY The DIRECTORY command will return a directory of the the specified files. The format is: KERMIT-65>DIRECTORY [file-specification] For example: DIRECTORY Directory of all files on drive 0 DIRECTORY ker* Directory of files KER* DIRECTORY k?w Files 3 chars long, beg w/K, end w/W You may pause the directory display by typing a space and con- tinue it by typing any character. DISK The DISK command will allow you to send commands directly to the disk drive controller. An empty command field will return the error status of the disk drive, if any. KERMIT-65>DISK [string] For example: DISK S0:K* -- delete K* on drive 0: DISK I0 -- initialize BAM on drive 0: DISK -- print error status, if any EXIT The EXIT command will cause Kermit to return to BASIC command level. This command is the same as the QUIT command. An example Page 8 C64 KERMIT User Guide of this command is: KERMIT-65>EXIT FINISH This command will cause Kermit-65 to tell a server Kermit at the other end of the connection to exit from Kermit. When Kermit-65 receives the acknowledgement that this is being done, Kermit-65 will prompt for another command. KERMIT-65>FINISH GET This command can only be used in 'user' mode. It will cause Kermit-65 to request that the other Kermit (which must be run- ning in server mode) transmit the specifed file to Kermit-65. KERMIT-65>GET file-specification Where "file-specification" is a valid file specification for the system on which the other Kermit is running. QUIT This command will cause Kermit-65 to return to BASIC command level. This is the same as the EXIT command. KERMIT-65>QUIT RECEIVE The RECEIVE command is used to put Kermit-65 into remote mode waiting for a single file transfer transaction. If no file specification is given, Kermit-65 will wait for a file transfer initialization sequence from the other Kermit. If a file specification is given, that file specification will be used to store the received file(s), regardless of what name is supplied by the other Kermit. KERMIT-65>RECEIVE or KERMIT-65>RECEIVE file-specification Where "file-specification" is any valid CBM DOS file specifica- tion. Running KERMIT Page 9 RESTORE The RESTORE command is used to restore kermit parameters that have been previously saved with the SAVE command. Kermit will search the disk for a file name KERMIT.INI. If the file is present on disk, Kermit will load in the parameters contained therein and restart itself with those parameters. KERMIT-65>RESTORE SAVE The SAVE command will save the current Kermit settings and parameters in a file called KERMIT.INI . The parameters may later be restored with the RESTORE command. KERMIT-65>SAVE SEND The SEND command will allow you to send a file to the other Kermit. The command format is: KERMIT-65>SEND file-specification Where "file-specification" is any normal CBM DOS file specification. SET The SET command is used to set various parameters in Kermit. The format of the command is: KERMIT-65>SET