Commodore 64/128 Kermit User's Guide Version 2.2 Electronic Version -- Copyright 1988 Dr. Evil Laboratories All rights reserved Commodore 64/128 Kermit Version 2.0, 2.1, & 2.2 enhancements by Ray Moody User's Guide v2.2 by Kent Sullivan Kent Sullivan 16611 NE 26th St. Bellevue, WA 98008 Rev. 4 - 1/1/92 i Summary: C-64/128 Kermit Version 2.2 What Kermit Is The term "Kermit" denotes both a specific protocol for transferring files between computers AND those computer pro- grams which can do the transferring. Kermit as a protocol is often called the Kermit Protocol to distinguish it from an actual computer program. Various versions of the Kermit program for different computers also have longer, official names to distinguish themselves. Commodore 64/128 Kermit is a public-domain telecommunications program that utilizes the Kermit protocol for file transfers. C-64/128 Kermit was originally known as Kermit-65. Begin- ning with version 2.0, the name was officially changed to Commodore 64/128 Kermit to reflect the fact that support for the C-128's 80 column screen had been added. The "65" in Kermit-65 signifies that the Commodore 64 has as its CPU the 6510A, a member of the 6500 series family, which also includes the Apple II. In fact, Kermit for the Commo- dore 64/128 was originally translated from Apple II Kermit. Recent Improvements The following describes the improvements made to Kermit for version 2.2. If you are a first-time user of Kermit, you may want to move directly to the Introduction section. As this manual was originally intended to accompany v2.1 (released in May, 1988), also included is a summary of v2.1 improvements. V2.2 really only has one significant change from v2.1: reli- able communication at 2400 bps is now possible (but ONLY when using the C-128 screen driver). There was quite a bit of interest in this feature so we decided it was worth adding right away, before any of the other scheduled additions/fixes listed in the Future Plans for Kermit sec- tion of Appendix A. The main improvements to v2.1 are as follows: + Enhanced DEC VT-100 terminal emulation with support for the VT-100 keypad. Kermit should now work fine with operating systems such as VMS. V2.1 has some VT-102 features added as well: Insert/Delete Line/Character. ii + Limited Tektronix 4010 graphics terminal emulation. Ker- mit can plot both graphics and text with a resolution of 320 x 200 (C-64) or 640 x 200 (C-128). + Commodore 128 grey key and numeric keypad support. The grey keys and the numeric keypad, not normally accessible on a C-128 in C-64 mode, are active within Kermit. + A special file-type for transferring C Power (now sold as Power C) source code files. You can now download C source code ASCII files as well as upload C Power source files. All necessary character translations are handled automatically. + A screen driver for the Batteries Included BI-80 80 column card. This device gives a display as nice as the Commodore 128's 80-column hardware, but lacks many attri- butes such as blinking and bold. In addition to these major improvements, many smaller changes were made. Several bugs were squashed that affected VT-100 emulation, the STATUS command, and other things. For related information, please see Appendix A: Implementation Notes. Hall of Fame Many people have worked on Commodore 64/128 Kermit since its first appearance in March, 1984, continually adding improve- ments and fixing bugs. Below is a list of the people who have worked on the C-64/128 Kermit project over the years. Programming: David Dermott Eric Lavitsky Michael Marchiondo Ray Moody Frank Prindle Documentation: Eric Lavitsky Kent Sullivan C-64/128 Kermit User's Guide Page iii Table of Contents Summary: C-64/128 Kermit Version 2.2 .................. i What Kermit Is ...................................... i Recent Improvements ................................. i Hall of Fame ........................................ ii Introduction: The Kermit User's Guide ................. 1 What You Need to Know ............................... 1 Recommended Texts ................................... 1 Kermit Availability ................................. 2 Syntax of Commands .................................. 2 Tutorial: Introduction to Kermit ...................... 3 Booting Kermit ...................................... 3 Choosing a Screen Driver ............................ 3 The Three Modes of Kermit ........................... 4 Command Mode ...................................... 4 Connect Mode ...................................... 6 File-Transfer Mode ................................ 7 Troubleshooting: If You Have Problems ................. 10 Emulation: Terminal-Type Features ..................... 11 VT-100 Emulation .................................... 11 VT-102 Emulation .................................... 12 VT-52 Emulation ..................................... 12 Tektronix 4010 Emulation ............................ 13 Alpha Text Mode ................................... 13 Point Plot Mode ................................... 14 Vector Plot Mode .................................. 14 Displays: Screen Driver Comparison .................... 15 C-128 80 Column Driver .............................. 15 C-64 80 Column Driver ............................... 15 Batteries Included BI-80 Driver (Standard) .......... 15 Batteries Included BI-80 Driver (Custom) ............ 16 C-64 40-Column Driver ............................... 16 File Transfers: Transferring Files .................... 17 Choosing the Correct File-type ...................... 17 ASCII File-type ................................... 17 Binary File-type .................................. 17 C-Power File-type ................................. 18 PETSCII File-type ................................. 18 Script File-type .................................. 18 Setting the File-byte-size .......................... 18 Using Eight-bit-quoting ............................. 19 Special File-Transfer Mode Features ................. 19 Reference: Command Descriptions ....................... 20 Command List ........................................ 20 Command Summary ..................................... 20 Bye ............................................... 20 Connect ........................................... 20 Directory ......................................... 21 Disk .............................................. 21 Exit .............................................. 22 Finish ............................................ 22 Page iv C-64/128 Kermit User's Guide Get ............................................... 22 Quit .............................................. 22 Receive ........................................... 23 Restore ........................................... 23 Save .............................................. 23 Send .............................................. 24 Set ............................................... 24 Set Baud ........................................ 24 Set Bold ........................................ 25 General Notes on Color .......................... 25 Set Border ...................................... 25 Set Character ................................... 26 Set Dark-background ............................. 26 Set Debugging ................................... 26 Set Eight-bit-quoting ........................... 26 Set Escape ...................................... 27 Set File-byte-size .............................. 27 Set File-type ................................... 27 Set File-warning ................................ 28 Set Flow-control ................................ 28 Set IBM ......................................... 28 Set Light-background ............................ 29 Set Local-echo .................................. 29 Set Parity ...................................... 29 Set Receive ..................................... 30 Set Receive Eight-bit-quote-char .............. 30 Set Receive End-of-line ....................... 31 Set Receive Packet-length ..................... 31 Set Receive Pad-char .......................... 31 Set Receive Padding ........................... 31 Set Receive Quote-char ........................ 32 Set Receive Timeout ........................... 32 Set RS232-registers ............................. 32 Set Screen-driver ............................... 33 Set Send ........................................ 33 Set Terminal-emulation .......................... 34 Set Word-size ................................... 34 Show .............................................. 34 Status ............................................ 35 Appendix A: Implementation Notes ...................... 36 Summary of Kermit Capabilities ...................... 36 Known Restrictions .................................. 36 Future Plans for Kermit ............................. 37 Appendix B: Default Initialization Settings ........... 38 Appendix C: Keyboard Layouts .......................... 39 Commodore 64 Map .................................... 39 Commodore 128 Map ................................... 40 Appendix D: UNIX (TM) Termcap Settings ................ 41 Appendix E: BI-80 Replacement ROM Information ......... 42 C-64/128 Kermit User's Guide Page 1 Introduction: The Kermit User's Guide What You Need to Know This manual introduces Kermit to new users as well as pro- vides an organized reference for experienced users. Some basic knowledge of computers is required to use Kermit. New users should understand the basics of computers and telecom- munications. Please see Recommended Texts below for a short list of books recommended for background knowledge. Don't become frustrated if you have problems initially using Kermit. Careful reading of this manual will clear up most problems that you might have. If you have questions, don't be afraid to ask around. Kermit is a very popular program, so many people know how to use it. You may direct any ques- tions to Ray or me at the address on the front of this manual as well. This manual is available in both laser-printed and elec- tronic form. This, the electronic version, comes as part of the standard Kermit disk from most distribution sites (including Kent Sullivan). The electronic version can be printed out using most any sequential file printer or word processor since all special features like underlining and bold have been removed. The laser-printed version of the manual is available from Kent Sullivan for $7.50 (US funds ONLY; WA residents please add 8.2% sales tax). Recommended Texts The following is a short list of recommended background texts. The area covered is listed first, followed by the title of the text and publishing information. + Basic Commodore Computing: Commodore 64/64C/128 User's Guides. + Basic Telecommunications: Compute!'s Telecomputing on the Commodore 64, Compute! Books. + The Kermit Protocol: Kermit: A File-Transfer Protocol for Universities, 2 parts, Byte magazine, June & July, 1984, & Kermit, A File Transfer Protocol, Digital Press (1987). Page 2 C-64/128 Kermit User's Guide Kermit Availability All Kermit distribution for versions that Ray and I have worked on (versions 2.0 and later) is now handled by Kent Sullivan. In the past, Dr. Evil Laboratories handled distribution, but that company is now out of business. If you have any questions or recommendations concerning Kermit, please contact Kent Sullivan. Kermit is also available for download on many local BBS systems and national information services. Syntax of Commands Most Kermit commands are simple English phrases. Commands are represented in this document in capital letters (i.e. CONNECT) to set them off from any surrounding text. Many standard representations for keys are used. Below is a table showing the representations and the corresponding keys: Representation Actual key <C=> Commodore <CAPS LOCK> Caps Lock * <CLR> Clear (Shifted Home) <CTRL> Control <DEL> Delete <ESC> Escape * <F1>,<F2>,...,<F8> Function key 1,2,...,8 <HELP> Help * <HOME> Home <INST> Insert (Shifted Delete) <LINEFEED> Linefeed * <RETURN> Return <SPACE> Spacebar <STOP> Stop <TAB> Tab * (*) These keys are available on the C-128 keyboard only. For a list of keys that have been re-defined to implement special characters, please see Appendix C: Keyboard Layouts. C-64/128 Kermit User's Guide Page 3 Tutorial: Introduction to Kermit Booting Kermit Kermit is written for the Commodore 64 and 128 (in 64 mode). One Commodore disk drive (or compatible) is required, and a modem. Almost any modem will work except the Commodore 1660. To boot Kermit, follow these easy steps: For Commodore 64: 1. Turn on monitor, drive, and computer. 2. Insert the Kermit disk, label side up, into device 8, drive 0, and close the drive door. 3. Type: LOAD ""BOOT"",8,1 and press <RETURN>. For Commodore 128: 1. Insert the Kermit disk, label side up, into device 8, drive 0, and close the drive door. 2. Turn on the monitor, drive, and computer. 3. Kermit will automatically boot on power-up. Once loaded, you should see the following in black on a grey screen with a blue border: Commodore 64/128 Kermit version 2.2 (70) Type '?' for help Kermit-65> A blinking block cursor should be just to the right of the ">". If you don't see this on your screen, turn off all your equipment and try again. If you still have problems booting Kermit, please see the Troubleshooting section. Choosing a Screen Driver Kermit can use many kinds of displays. You can use either 40 columns or 80 columns (software-driven) on a standard C- 64, or, if you have a Batteries Included BI-80 80-column card, you can use it too. All of these options are avail- able on a C-128, plus the C-128's built-in 80-column display. Kermit defaults to the setting found in its ini- tialization file. Each of the screen drivers has its advantages and disadvan- tages. Not all of the drivers, for example, are capable of supporting features such as underlining or bold. Please see the Screen Driver Comparison section for further details. Page 4 C-64/128 Kermit User's Guide If you want to switch to a different screen driver now, please see the example given in the Command Mode section below. The Three Modes of Kermit Kermit has three basic operational modes: Command, Connect, and File-Transfer. In Command mode, you can communicate directly with Kermit to change various program settings and also enter either of the two other modes. In Connect mode you can communicate with another computer (known in many other terminal programs as Terminal mode). In File-Transfer mode you may send to and receive files from the computer to which you are connected. Let's begin by learning about Com- mand mode and the Kermit parser. Command Mode When Kermit first boots, you are placed automatically in Command mode. From here you can communicate with the pro- gram by typing commands at the "Kermit-65>" prompt. Command mode is really the program's command "parser", which is that part of a computer program which takes your command input and tries to interpret it and then execute the appropriate action. Kermit's command parser is very easy to use. Let's begin with a look at the main level commands. At the top of the screen you should see "Type '?' for help". So let's do just that: Type a "?". A list of Kermit's main commands (there are 16 of them) should appear on the screen in two columns like this: Kermit-65>? Keyword, one of the following: bye connect directory disk exit finish get help quit receive restore save send set show status The "?" is a very helpful feature of the command parser. You can type a "?" at ANY point in the middle of a command to receive a list of the valid ways to complete the command. A complete list of commands may be found in the Command Descriptions section. Let's try a slightly more difficult command to give you practice with the parser. For example, let's say we want to C-64/128 Kermit User's Guide Page 5 change which screen display we are using. After looking at the various main level commands, we deduce that the SET com- mand might be the way to get the job done. Type: SET fol- lowed by a space and then a "?". Kermit should respond with a list that looks like this: Kermit-65>set ? Keyword, one of the following: baud bold border character dark-background debugging eight-bit-quoting escape file-byte-size file-type file-warning flow-control ibm light-background local-echo parity receive rs232-registers send screen-driver terminal-emulation word-size After looking through this list, we can determine we need the SCREEN-DRIVER sub-option. Notice that the parser con- veniently reprinted the SET command so that we can continue where we left off. So, type: SCREEN-DRIVER followed by a space and a "?". Now we have another list, looking like this: Kermit-65> set screen-driver ? Keyword, one of the following: 40-columns 80-columns bi-80 commodore-128 custom-bi-80 It should now be obvious what to do to change to a different screen driver. Try it out. Now, let's go back to 80 columns. One thing you are probably wondering is, "Do I have to type ALL of that out?" Luckily, no, you don't. The left arrow key (upper left corner of the keyboard) is the "Escape" key in Kermit. This key will spell out a command one level at a time for you if you provide it with the first few characters of the command. Note: if you are using a C-128, you can also use <ESC>. To try this out, type: SET SC and hit the left arrow key. Kermit should spell out SCREEN-DRIVER and put a space at the end. Notice that we had to use "sc" and not just "s". Consulting the list above, we can see why. Both SEND and SCREEN-DRIVER begin with an "s". If we had just typed "s", Kermit would have chosen SEND because it is the first command in the list that meets the specified requirements. The same applies for why we spelled out SET. SEND is before SET in the main command list, making the left arrow useless. So keep in mind that you must always use Page 6 C-64/128 Kermit User's Guide enough characters to uniquely identify the command before hitting the left arrow. Ok, let's finish our command. Type "8" and hit the left arrow. Kermit should finish the com- mand. Now press <RETURN>. Presto! We're back to 80-column mode, saving 19 character's worth of typing. Not all commands are nearly this long, but the left arrow (along with the "?") can be very helpful. NOTE: Once you are familiar with the parser, you can save even more keystrokes by using just the abbreviations for the commands. In other words, you don't HAVE to use the left arrow key. For example, you could just type "SET SC 8" to set the screen driver to C-64 80 columns. There are a few other useful tricks to know about the parser. They are: 1) Pressing <CLR> or <CTRL> - <L> instead of <RETURN> to execute a command will clear the screen first and then execute the command. 2) Pressing <CTRL> - <W> while typing a command will back the cursor up to the previous word, erasing any associ- ated text. 3) Pressing <CTRL> - <U> while typing a command will can- cel the command by backing the cursor up to the "Kermit-65>" prompt. Connect Mode Connect mode is the mode in which you will spend most of your time while using Kermit because it is in this mode that you can communicate with another computer (often known as the remote host). Now let's prepare to connect to another computer. Type: CONNECT. This command will take us out of Command mode and into Connect mode. If you type CONNECT then hit <CLR>, the screen will be cleared before entering Connect mode. Every time you enter Connect mode, you will see the message: [Connecting to host: Type ^Y c to return] This tells us that we are in Connect mode and that to return to Command mode we should type <CTRL> - <Y> then type "c". Try it out. Then return to Connect mode. Now we will call the other computer. A Commodore 1670 or other Hayes compatible modem can dial directly from Connect mode via its built-in dialing commands, but with most other modems you will have to dial manually. In other words, Ker- mit does NOT have the capability to auto-dial a modem C-64/128 Kermit User's Guide Page 7 directly. Also please note that Kermit currently does NOT work with the Commodore 1660 modem. It will, however, be supported in a future version. Please see Appendix A: Implementation Notes for further information. We need to check a few things before dialing. Each computer you connect to may have different baud, parity, and word- size requirements. Kermit defaults to the settings found in the initialization file: 1200 bps transmission speed, eight bit word length, no parity, and VT-100 terminal emulation. These settings may be different if you did not get your copy of Kermit from Kent Sullivan. To adjust any of these param- eters, escape back to Command mode and use the SET command as we did above to change the screen-driver. For example, to change to 300 bps transmission speed, type: SET BAUD 300. Remember to use the "?" to get help at any level. If you wish to save any changes you make as new defaults, please see the SAVE command explanation in the Command Descriptions section. Once you have set up your communications parameters correctly, all that's left to do is dial the phone and con- nect to the remote host. File-Transfer Mode Once you have connected to a remote host you may wish to send and/or receive files. With Kermit you can send and receive most any kind of file, as Kermit has automatic translation features for many types of files. For example, you can automatically convert a PETSCII (Commodore's special ASCII) text file to ASCII when sending it to another machine, and vice versa. For a list of the various file- types supported, see the SET FILE-TYPE command explanation in the Command Descriptions section. The procedures for transferring files with Kermit can differ widely depending on the system to which you are connected. This tutorial can't possibly cover every possible situation. Instead, we will walk through a simple transfer and point out some things of which you should be aware. The MOST important thing when attempting to transfer files with Ker- mit is to have your file-transfer parameters set correctly! You may want to skip ahead to the Transferring Files section for more information. Now, we will show two examples: 1) uploading a PETSCII sequential text file, converting it to standard ASCII, and 2) downloading a C language program source code file for use with the C Power (now sold as Power C) C compiler for the 64/128. Page 8 C-64/128 Kermit User's Guide Text File: We are sending and the other end is receiving. In note form, here is what we need to do: 1) Check file-transfer parameters!! Make sure the FILE- TYPE is set to PETSCII. 2) Start Kermit on the host machine using the appropriate command. 3) Tell the host Kermit to RECEIVE the file. 4) Escape to Command mode in our Kermit (<CTRL> - <Y> then <"c">). Type SEND followed by the filename of the Com- modore text file you wish to send. When the two Kermits have finished transferring the file, you will be returned to Command mode. Type: CONNECT and continue with your login session. NOTE: The recommended parameters (work most of the time) are: File type is PETSCII File byte size is EIGHT-BIT Everything else should retain its default value. C Power File: We are receiving and the host is sending. In note form, here is what we need to do: 1) Check parameters!! Make sure the FILE-TYPE is set to C-POWER. 2) Start Kermit on the host machine using the appropriate command. 3) Tell the host Kermit to SEND the file. 4) Escape to Command mode in our Kermit (<CTRL> - <Y> then <"c">). Type RECEIVE followed by the filename of the C source code file you wish to receive in C Power format. 5) When the two Kermits have finished transferring the file, you will be returned to Command mode. Type: CON- NECT and continue with your login session. NOTE: The recommended parameters (work most of the time) are: C-64/128 Kermit User's Guide Page 9 File type is C-POWER File byte size is EIGHT-BIT Word size is EIGHT-BIT Everything else should retain its default value. If you have persistent problems with transferring files, don't hesitate to ask someone for help. Also try VERBOSE debugging to see more of what is happening during transfers. Kermit is very flexible, but flexible can mean complicated! We now have completed the introductory tutorial. The next section of this manual, Troubleshooting, may help if you have some problems using Kermit. The Command Descriptions section describes in detail each of Kermit's commands and will prove to be invaluable to successfully using this pro- gram. Good Luck with Kermit! Page 10 C-64/128 Kermit User's Guide Troubleshooting: If You Have Problems Here are some common problems and their most likely solu- tions. The best troubleshooting usually comes from someone who has experience using Kermit, but this isn't always available. 1) Problem: Kermit won't boot. Solution: Make sure all of your equipment is hooked up correctly. If the red error light blinks on your disk drive, you might a) have a bad disk or b) be missing the initialization file, KERMIT.INI. See the Known Restrictions section of Appendix A for more information. 2) Problem: I can't get out of Connect mode. Solution: Remember to type <CTRL> - <Y>, let up, then hit the letter "c". The escape character might also be set to something other than <CTRL> - <Y>. You can check it with the SHOW ESCAPE command and change it with the SET ESCAPE command. 3) Problem: When I connect to a host machine, all I get is garbage. Solution: Check the baud, parity and word-size parame- ters. You may have to hang up and try again if you change some of the parameters. 4) Problem: I can't see what I am typing, but I see what the host machine is sending. Solution: Check to see if the host machine is supposed to echo characters back to you. You might need to SET LOCAL-ECHO ON. 5) Problem: I downloaded a binary file but the file I received was garbage. Solution: Remember to SET EIGHT-BIT QUOTING ON. Also, check the file type on the host Kermit. It should be set to BINARY as well as on your end. 6) Problem: All of a sudden output stopped appearing on the screen and nothing I type shows up either. Solution: You may have hit the <C=> key accidently, which pauses all data transmission temporarily. Press it again to re-start transmission. C-64/128 Kermit User's Guide Page 11 Emulation: Terminal-Type Features Kermit is a very powerful terminal emulator. For text displays, it can emulate both a VT-100 (with or without added VT-102 features) and a VT-52. For graphics work, Ker- mit has limited Tektronix 4010 emulation. Emulation can be turned completely off as well. It is beyond the scope of this manual to present each of the escape sequences that these terminals use. This section will instead describe in general terms what each of the emu- lations can do, and provide a table of which Tek commands are supported. VT-100 Emulation Most people will use Kermit's VT-100 emulation more than any other. The DEC VT-100 terminal is an industry standard, and so is supported on virtually every medium-to-large-sized operating system. The VT-100 terminal provides you with many powerful features that make communicating with a remote host (especially at speeds under 9600 bps) much more effi- cient and therefore, quicker. The major VT-100 features are summarized below: 1) Scrolling regions. This feature of the VT-100 allows selected parts of the screen to be scrolled, cutting down on character transmission greatly-- making telecommunicating faster. 2) Text attributes. Text on a VT-100 can be displayed in normal or bold, and be vanilla, underlined, or blinking (or any logical combination), and displayed on either a dark or light background. Kermit has the added feature of selectable colors for text, bold text, dark- background, light-background, and border for most screen drivers. 3) Numeric keypad. A VT-100 has a numeric keypad that includes four personal function (PF) keys. Kermit has this feature on both a C-64 & 128. 4) Graphics characters. A VT-100 has a wide range of graphics characters that can be used for graphs and charts. 5) Status line. Kermit has an extra 25th screen line that can be used as a system status line on operating sys- tems such as UNIX (TM). Note that a standard VT-100 terminal does NOT have a status line. Page 12 C-64/128 Kermit User's Guide For a chart showing what keys have been re-defined in Ker- mit, please see Appendix C: Keyboard Layouts. Also, if you are using Kermit on a machine running UNIX (TM), please see Appendix D: UNIX (TM) Termcap Settings, for information on how to customize your termcap to take full advantage of Kermit's features. Not all of the VT-100's features were feasible to support in Kermit. Below is a list of the restrictions to the VT-100 emulation: 1) No 132 column mode 2) No double high/double wide characters 3) Limited terminal reports (only the important ones are emulated) 4) No foreign character sets 5) No smooth scrolling 6) No terminal LEDs For related information, please see the Screen Driver Com- parison section. VT-102 Emulation Only the four most important VT-102 terminal features are present in Kermit. These are Insert Character, Delete Char- acter, Insert Line, and Delete Line. The Insert Character function, as on a real VT-102 terminal, is really a switch- able Insert/Replace mode. These additional features allow MUCH faster, more efficient communication, since the C-64/128 handles much of the time- consuming work (inserting and deleting lines & moving char- acters around on a line). If you are able to utilize the VT-102 features, you will be pleasantly surprised at how much quicker certain operations are, such as editing text files. VT-52 Emulation Kermit emulates a VT-52 terminal as a subset of its VT-100 emulation, just as a real VT-100 terminal does. It is a complete emulation, except that the graphics character set is the VT-100's, not a true VT-52's. All of the real VT-100 terminals we have seen also use the VT-100 character set in C-64/128 Kermit User's Guide Page 13 place of the true VT-52 set in VT-52 mode. Tektronix 4010 Emulation Kermit supports a limited kind of Tektronix 4010 emulation. Two resolutions are supported: 320 x 200 (C-64) and 640 x 200 (C-128 80 col.). You can use the Tektronix emulation even if you are using a BI-80 card, as Kermit will automati- cally switch between the appropriate graphics screen and the BI-80. All plots and text are plotted using the current character color and are plotted on the current background color. Both the 320 x 200 and 640 x 200 screens are a lit- tle too wide horizontally scale-wise compared with a real Tektronix 4010 terminal. We thought it was better to use the full width of the screen given the limited resolution than to have perfect scaling. Kermit supports three Tek modes: Alpha Text, Point Plot, and Vector Plot, for a total of eight different Tek commands. The commands are: Sequence Action <ESC> FF (Form Feed) Activate Tek emulation and clear screen RS (Record Separator) Switch to incremental plot mode US (Unit Separator) Switch to alpha text mode GS (Group Separator) Switch to vector plot mode CAN (Cancel) Deactivate Tek emulation and clear screen Tek mode is also exited when many VT-100/52 escape sequences are received. These include any sequences beginning with <ESC> "[" or <ESC> <upper-case letter>. Also, once Tek mode is activated, any further <ESC> FF sequences received will clear the current graphics screen. Finally, the current text screen is not saved when Tek mode is entered, and the current Tek screen is not saved when Tek mode is exited. Alpha Text Mode Alpha Text mode uses the standard ASCII character set and can display 79 columns by 24 lines of text if Tek mode is entered from any of the screen drivers except C-64 40 columns. If Tek mode is entered from the C-64 40 column screen driver, up to 40 columns of text can be displayed. This mode is used generally to label graphs. No on-screen Page 14 C-64/128 Kermit User's Guide editing should be attempted while in this mode. Point Plot Mode In this mode the drawing pen is given a direction to move and whether to have the pen up (no line drawn) or down (line drawn) when moving. This allows considerable freedom in drawing odd-shaped objects. Vector Plot Mode In Vector Plot Mode, just the endpoints of a line to be drawn are specified. This allows lines to be drawn quickly, since not all the points on the lines must be specified individually. C-64/128 Kermit User's Guide Page 15 Displays: Screen Driver Comparison Each of Kermit's screen drivers has different capabilities. Below is a discussion of the various limitations of the dif- ferent screen drivers. C-128 80 Column Driver This driver is the best that Kermit has. All video attri- butes are supported with no limitations, and the highest Tek resolution (640 x 200) is available. The only feature not available with this driver, that is on some others, is a border. This is because the C-128's 80 column chip (the 8563 VDC) does not support a border. One note: many people who use the 80-column mode on the C- 128 do so on a monochrome monitor. With this setup, only THREE colors are possible: bright, normal, and black. This can pose a problem when trying to set up readable light- and dark-background screens. One solution to this is to buy a grey scale attachment for the 80-column video cable to pro- vide a wider range of grey shades. C-64 80 Column Driver This screen driver is traditionally the most popular, mainly because more people have C-64s than C-128s. When using this driver, even on a C-128, the Tek 320 x 200 mode will be used for graphics. This driver is full-featured except for one minor limitation. Because of the way hi-res graphics screens are created on a C-64, if two characters with different attributes are placed adjacent horizontally, the first character sometimes will not have the correct attribute. For example, if a bold character is printed immediately followed by a flashing character, the bold character may change to a flashing char- acter. This can easily be avoided by inserting a space between the two characters. Batteries Included BI-80 Driver (Standard) The BI-80, an excellent 80-column card for the C-64 (also C-128 in 64 mode), is no longer in production and generally very hard to find used. We added support for it because it offers the same text resolution as the C-128's 80 column screen, making it clearer than the standard C-64 80 column screen. There are several limitations when using this driver. The Page 16 C-64/128 Kermit User's Guide main limitation is that the BI-80 character set is not rede- finable through software, meaning that some characters like the braces, tilde, underscore, etc., are not available. Also, the VT-100/52 graphics character set is not available. A closest match was made on many of the characters, but some of them look pretty unrecognizable. Also, the only character attribute available is reverse. All other modes, such as blinking, bold, and underlined, are mapped into reverse, so you can at least tell when the text is not plain vanilla. Finally, no color change options are available as the BI-80 card operates only in black and white mode with no border. Batteries Included BI-80 Driver (Custom) This driver is for use with the custom BI-80 character ROM available from Kent Sullivan. This driver makes use of the re-defined characters in the replacement ROM. The full ASCII character set is available, as well as the VT- 100/52 graphics character set. All other restrictions from the standard BI-80 driver apply. Please see Appendix E: BI-80 Replacement ROM Information for details on how to obtain a replacement character ROM. C-64 40-Column Driver This driver supports all character attributes and screen functions. Its main limitation is its width-- 40 columns is generally not very useful when communicating with most large computer systems. C-64/128 Kermit User's Guide Page 17 File Transfers: Transferring Files Transferring files with Kermit isn't really any more diffi- cult than with most other Commodore telecommunications packages/protocols. In fact, Kermit is much more flexible-- but flexibility can be confusing. There are three major parameters to be concerned with when transferring files. They are: 1) File-type, 2) File-byte- size, and 3) Eight-bit-quoting. Let's discuss each of them in turn, beginning with File-type. Choosing the Correct File-type Kermit currently supports five different file types. They are: a) ASCII b) Binary c) C-Power d) PETSCII e) Script Each of these file types has a distinct use. When to use one file-type over another can be confusing initially. So, we'll discuss each of them separately, starting with ASCII. ASCII File-type This file-type is used a lot less often than you might think at first. Because Commodore computers (except for the Ami- gas and PCs) use their own, modified character set arrange- ment (PETSCII), most text files you transfer to and from your Commodore will be PETSCII files, not standard ASCII. You will use this file-type only when you a) wish to down- load a standard ASCII file and NOT convert it to a form usable on your Commodore (PETSCII), or b) you have, for some reason, a standard ASCII file that you wish to upload to another computer. If you happen to choose this file-type when you really needed PETSCII, you will be able to tell immediately, as the case of all the text will be reversed. Binary File-type The Binary file-type is not used as often as some of the other file-types. This file-type is used to transfer Commo- dore programs that are executable (i.e. a BASIC program or a machine language game), or memory images such as graphics screens. In other, more technical, terms, this file-type Page 18 C-64/128 Kermit User's Guide allows you to transfer files without performing any charac- ter translation. Note that it's generally a good idea to have Eight-bit-quoting set on when transferring binary files, but more about that below. C-Power File-type This file-type is designed specifically to transfer source code files for use with the C Power (now sold as Power C) C compiler for the C-64 and C-128. C Power files have, in addition to the standard PETSCII file-type base, a few re- defined characters that are needed for C programming, such as braces, the underscore, the pipe, etc. When you use this file-type, any standard C source code files you download to your Commodore will be converted to C Power format. On the other side of the coin, any C Power files you upload to another computer will be converted to standard ASCII source code files. PETSCII File-type This file-type is the most common file-type, and so it is the default Kermit file-type. When you use this file-type, any Commodore text file you upload to another computer will be converted to standard ASCII text. Going the other direc- tion, when you download a standard ASCII text file to your Commodore, it will be translated to PETSCII. If you choose this file type when you really meant ASCII, the case of all the letters in the text will be reversed. Script File-type This is a special file-type for use when transferring files for the Commodore Speedscript word processor (Compute! Pub- lications). Speedscript files have a special file format. If you want to download a standard text file from another computer for Speedscript, you must use this format. The same applies for sending a Speedscript file to another com- puter that uses standard ASCII text files. Note that no attempt is made to translate any of Speedscript's special text formatting or control codes-- you will have to make the appropriate changes manually. Setting the File-byte-size This parameter is often confusing because it sounds a lot like the Word-size parameter. These two parameters are actually quite different. Whereas Word-size describes the width of the data path, File-byte-size describes the size of the data words within files being transferred. C-64/128 Kermit User's Guide Page 19 This parameter can always be left set to EIGHT-BIT. Techni- cally, it is really only necessary to be set to EIGHT-BIT when you are transferring Binary or PETSCII files. Using Eight-bit-quoting This feature allows you to transfer Binary or PETSCII files to and from computers that would normally be unable to han- dle them. Eight-bit-quoting allows you to send files with eight-bit data words over a seven-bit data path. This parameter can always be left set to ON. For instance, I often communicate with a machine where my communications parameters have to be Word-size of Seven-bit and Even Parity. In this kind of environment I would nor- mally be unable to send a program file to a friend on that machine, as program files are Binary (eight-bits). But if I make sure Eight-bit-quoting is ON, everything will be fine. Technically, Eight-bit-quoting prefixes each byte of data that is over seven bits long (greater than ASCII 127 decimal in value) so that it can be transferred along a seven-bit data path. Special File-Transfer Mode Features There are three helpful features available when transferring files. These features are standard in most versions of Ker- mit. They are: Key Sequence Action <RETURN> Force local Kermit to re-send current packet <CTRL> - <X> Cancel transmission of current file <CTRL> - <Y> Cancel transmission of entire batch of files All of these commands are available when receiving a file or files. Because C-64/128 Kermit can't send more than one file per SEND command (a feature called "wildcard send"), the <CTRL> - <Y> feature is not applicable when sending a file. Page 20 C-64/128 Kermit User's Guide Reference: Command Descriptions Command List Kermit v2.2 has 16 major commands, many of which have sub- options. Below is a list of the major commands. Bye Connect Directory Disk Exit Finish Get Help Quit Receive Restore Save Send Set Show Status Command Summary Each of the major commands are described below in alphabeti- cal order. Following the description is one or more exam- ples using the command previously described. Please note that all commands may be entered in either lower or upper case-- case distinction is not made by the Kermit parser. Bye This command causes C-64/128 Kermit to tell the remote Ker- mit, which must be in server mode, to exit and, if applica- ble, terminate its job (or process, etc.). The remote Ker- mit then closes the connection. C-64/128 Kermit finishes by exiting to BASIC. Bye has no arguments, with the format: Kermit-65>bye Connect The CONNECT command puts Kermit into Connect Mode (see the Introduction to Kermit section for more information on Con- nect Mode). Kermit can then begin communication with another computer as a terminal (as defined by the SET TERMINAL-EMULATION command). Connect has no arguments, with the format: Kermit-65>connect To return to Command Mode (see the Introduction to Kermit section for more information on Command Mode), type the escape character followed by a <"c">. The default escape character is <CTRL> - <Y>. The escape character may be fol- lowed by characters other than <"c">. The other valid options and what they do can be viewed by substituting a <"?"> for the <"c">, giving the following display: C-64/128 Kermit User's Guide Page 21 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 returns a disk directory of the speci- fied files on device 8 (the normal device number for the first serial Commodore disk drive). DIRECTORY with no argu- ments returns a complete disk directory. The directory may be paused by pressing <SPACE> and resumed by pressing any key, and aborted by pressing <STOP>. The format is: Kermit-65>directory [filename] where [filename] is a valid CBM DOS filename. Some exam- ples: Kermit-65>directory (directory of all files on device 8) Kermit-65>directory ker* (directory of files be- ginning with "ker") Kermit-65>directory k?w (directory of files 3 characters long, begin- ning with "k" and ending with "w") Disk The DISK command allows you to send DOS commands directly to the disk drive controller. This command is useful for ini- tializing the drive, formatting a disk, and deleting unwanted files. This command supports all the standard Com- modore DOS commands, except that NO spaces in filenames are allowed. This is actually a "feature" of the parser and will be corrected in a future version. DISK with no argu- ments will return the drive error in standard DOS format if the drive's red light is blinking. The format is: Kermit-65>disk [string] where [string] is a valid CBM DOS command. Some examples: Page 22 C-64/128 Kermit User's Guide Kermit-65>disk s0:k* (delete all files begin- ning with "k" on device 8) Kermit-65>disk i0: (initialize device 8) Kermit-65>disk n0:files,01 (format disk in device 8, giving it name "files" and id "01"-- note the lack of spaces in the disk name chosen) Exit The EXIT command causes C-64/128 Kermit to stop execution and return control of the machine to BASIC. This command is the same as the QUIT command. Kermit may be restarted immediately with the command RUN. If you type NEW, Kermit can still be restarted most of the time with the command SYS 2064. Exit has no arguments. The format of this command is: Kermit-65>exit Finish This command causes C-64/128 Kermit to tell the remote Ker- mit, which must be in server mode, to exit. When C-64/128 Kermit receives the acknowledgement that this is being done, you are prompted for another command. Finish has no argu- ments, with the format: Kermit-65>finish Get This command causes C-64/128 Kermit to request that the other Kermit (which must be running in server mode) to transmit the specified file to the C-64/128 Kermit. The format of this command is: 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 causes C-64/128 Kermit to stop execution and return control of the machine to BASIC. QUIT is identical to the EXIT command (see EXIT above for more information). QUIT has no arguments. The format this command is: C-64/128 Kermit User's Guide Page 23 Kermit-65>quit Receive The RECEIVE command causes C-64/128 Kermit to wait for the remote Kermit to initiate a file transfer (using a command like SEND). The format for this command is: Kermit-65>receive [filename] where [filename] is any valid CBM DOS file name not contain- ing spaces. If no file name is given, C-64/128 Kermit will wait for a file transfer initialization sequence from the other Kermit. If a file name is given, that file name will be used to store the received file(s), regardless of what name is supplied by the other Kermit. If more than one file is received, the second file will have a ".00" appended to it. The third file will have a ".01", and so on. The file name will be truncated appropriately to accommodate the ".XX" suffix. If FILE-WARNING is turned OFF, the ".XX" suf- fix scheme will not be used-- transmission will stop with disk error 63, FILE EXISTS. Some examples: Kermit-65>receive Kermit-65>receive myfile Restore The RESTORE command is used to re-initialize Kermit parame- ters that have been previously saved with the SAVE command. Kermit searches the disk in device 8 for a file named KERMIT.INI. If this file is present on disk, Kermit loads the parameters contained therein and restarts itself with those new parameters. If no KERMIT.INI file is found, Ker- mit crashes, exiting to BASIC. You must insert a disk con- taining a KERMIT.INI file in order to restart Kermit. RESTORE has no arguments, with the command format: Kermit-65>restore Save The SAVE command saves to the disk in device 8 the current Kermit settings and parameters in the file KERMIT.INI. If a KERMIT.INI already exists on the disk, no attempt is made to write over the existing file. The blinking red light on the disk drive indicates error #63, FILE EXISTS. It can be scratched using the DISK command, however. The parameters may later be recalled with the RESTORE command. SAVE has no arguments, with the format: Page 24 C-64/128 Kermit User's Guide Kermit-65>save Send The SEND command allows you to send a file to the remote Kermit. The command format is: Kermit-65>send [filename] where [filename] is any valid CBM DOS filename. Please note that the C-64/128 currently does not have a wildcard send capability. In other words, the entire file name must be specified-- no pattern matching is allowed. Also, only one file may be sent per SEND command. Set The SET command is used to alter various Kermit parameters. The format of this command is: Kermit-65>set [option] [suboption]... where [option] is one of the following: Baud Bold Border Character Dark-background Debugging Eight-bit-quoting Escape File-byte-size File-type File-warning Flow-control IBM Light-background Local-echo Parity Receive RS232-registers Screen-driver Send Terminal-emulation Word-size Many of the above options have sub-options. A description of the options and sub-options follows. Set Baud The SET BAUD command is used to set the speed at which com- munications will take place. The format is: Kermit-65>set baud [value] where [value] is one of the following: 300 1200 2400 Please note that communication speeds above 1200 are possi- ble ONLY on a C-128 when using the COMMODORE-128 screen driver. Because of hardware limitations, speeds above 1200 baud are not possible on a C-64. Also, please note that this command does not support speeds under 300 bps. You C-64/128 Kermit User's Guide Page 25 will need to use the SET RS232-REGISTERS command instead. See the SET RS232-REGISTERS section and the Known Restric- tions section of Appendix A for further information. Set Bold The SET BOLD command sets the bold character color, which can be used for highlighting text in VT-100 emulation mode. An example of bold text is the "Type ? for help" message when Kermit boots. The default bold color is white. The format of this command is: Kermit-65>set bold [color] where [color] is one of the following: Black Blue Brown Cyan Dark-grey Green Light-blue Light-green Light-grey Light-red Medium-grey Orange Purple Red White Yellow General Notes on Color The above colors correspond to the C-64 VIC chip colors. A closest mapping was done for the C-128 8563 VDC (the 80- column chip) BUT: 1) orange is really a dark purple while 2) medium-grey has a greenish tint. Also, note that: 1) The C-128 display has no border (just like a real VT- 100). 2) The BI-80 has no color options or border-- and, any highlighted text is printed as reverse. 3) None of the SET commands for color currently have a corresponding SHOW command. A real VT-100 terminal doesn't have any color options at all-- simply light text on a dark background, or vice versa. So, most of Kermit's screen drivers give you an added capa- bility with their color options. Set Border The SET BORDER command sets the border color, which is available only when using the C-64 40 or 80 column screen drivers. The default border color is blue. The format of this command is: Kermit-65>set border [color] where [color] is one of the colors listed under the "Set Page 26 C-64/128 Kermit User's Guide Bold" section. Set Character The SET CHARACTER command sets the normal character color. The default character color is black. The format for this command is: Kermit-65>set character [color] where [color] is one of the colors listed under the "Set Bold" section. Set Dark-background The SET DARK-BACKGROUND command sets the VT-100 dark back- ground color (the one normally used). This is also the background color used in VT-52 mode or when no terminal emu- lation is used. The default dark-background color is medium-grey. The format for this command is: Kermit-65>set dark-background [color] where [color] is one of the colors listed under the "Set Bold" section. Set Debugging The SET DEBUGGING command is used to set the type of debug- ging generated by C-64/128 Kermit during a file transfer. The format is: Kermit-65>set debugging [keyword] where [keyword] is either OFF, TERSE, or VERBOSE. OFF causes all debugging output to be suppressed. TERSE directs a copy of each packet to the screen, printing any control characters as <CTRL> - <"char">. VERBOSE prints identifying text for each field in the header and prints the actual data section of the packet in the same manner TERSE uses. Set Eight-bit-quoting This command turns on or turns off the eight-bit-quoting feature. Eight bit quoting is used to transmit eight-bit bytes over a seven-bit data path. If the WORD-SIZE is SEVEN-BIT, eight bit quoting allows full eight-bit data to still be transmitted. If the WORD-SIZE is EIGHT-BIT, the quoting is ignored as it is not needed. The format of the command is: Kermit-65>set eight-bit-quoting [keyword] C-64/128 Kermit User's Guide Page 27 where [keyword] is ON or OFF. Set Escape This command sets the escape character, which is the charac- ter used to "escape" back to Command Mode from Connect Mode. The command takes a hexadecimal value of the chosen charac- ter to use as the escape character. The default character is <CTRL> - <Y> ($19). It is usually a good idea to set this character to something which is not used (or at least not used very often) on the system to which C-64/128 Kermit is connected. The format of the command is: Kermit-65>set escape [hex value] where [hex value] is the ASCII value, in hex, of the charac- ter to use as the escape character. Set File-byte-size This command sets the byte size C-64/128 Kermit will use for files being received or transmitted. The file byte size can almost always be EIGHT-BIT, as this setting will work for most SEVEN-BIT and EIGHT-BIT data files. The format of this command is: Kermit-65>set file-byte-size [size] where [size] is SEVEN-BIT or EIGHT-BIT. Set File-type This command tells Kermit what type of file is being sent or received. It is important that this parameter be set correctly since it is used to determine the exact file length when sending files in addition to determining special processing which may have to be done (i.e. when receiving a text file, write all characters in PETSCII). The format of this command is: Kermit-65>set file-type [type] where [type] is ASCII, BINARY, C-POWER, PETSCII, or SCRIPT. An ASCII type file is any standard ASCII text file. A BINARY type file is a memory image (i.e. machine language program, graphics screen, etc.) and is normally transferred in eight-bit mode. A C-POWER type file is a C language source file for use with the C Power C compiler from Pro- Line (now sold as Power C by Spinnaker). A PETSCII type file is a CBM ASCII text file. A SCRIPT type file is a file produced by the Speedscript word processor published by Com- Page 28 C-64/128 Kermit User's Guide pute! Publications. Set File-warning This command determines what C-64/128 Kermit will do when it receives a file with a filename that already exists. If FILE-WARNING is turned ON, C-64/128 Kermit will not overwrite the old file. Instead, it will create a file with the original file name with a ".00" appended to it. It will increment the ".XX" number until it succeeds in creating a unique file name. If FILE-WARNING is turned OFF, C-64/128 Kermit will stop with disk error 63, FILE EXISTS. The for- mat of this command is: Kermit-65>set file-warning [keyword] where [keyword] is either ON or OFF. Set Flow-control The SET FLOW-CONTROL command enables or disables XON/XOFF flow control. With flow control on, C-64/128 Kermit will automatically send a <CTRL> - <S> to the host computer when it can't keep up (i.e. buffer full) to prevent loss of char- acters. Kermit will then send a <CTRL> - <Q> when it is ready to receive more data. This option is recommended for communication speeds of 1200 baud or higher. The format of this command is: Kermit-65>set flow-control [keyword] where [keyword] is either ON or OFF. Set IBM The SET IBM command sets up C-64/128 Kermit to communicate with certain IBM mainframes. This command is needed on a limited number of systems. The format of this command is: Kermit-65>set ibm [keyword] where [keyword] is either ON or OFF. With IBM mode on, C- 64/128 Kermit waits for the IBM turnaround character (XON, <CTRL> - <Q>) before sending any characters to the other Kermit. It also forces the parity type to be mark, the word length to be seven-bit, turns on local echo for the CONNECT command and turns off flow-control. All of these changes are temporary. When IBM mode is turned off, any parameters C-64/128 Kermit User's Guide Page 29 altered are returned to their previous values. Set Light-background The SET LIGHT-BACKGROUND command sets the VT-100 light back- ground color (the one not normally used). The light back- ground is generally used only by programs to catch your attention (usually by flashing the background color quickly). The default light-background color is light-grey. The format for this command is: Kermit-65>set light-background [color] where [color] is one of the colors listed under the "Set Bold" section. Set Local-echo The SET LOCAL-ECHO command specifies whether characters should be echoed locally when connected to another computer. If LOCAL-ECHO is set ON, any character typed on the C-64/128 will be echoed immediately to the C-64/128 as well as being sent to the other computer. This setup is useful when you are connected to another personal computer. If LOCAL-ECHO is set OFF, the characters typed on the C-64/128 are sent only to the other computer (which would normally echo the characters). This arrangement is used by most mainframe hosts. The format of this command is: Kermit-65>set local-echo [keyword] where [keyword] is either ON or OFF. Set Parity This command determines the type of parity to use during communication. Kermit normally uses characters which con- sist of eight data bits with no parity bit. For systems or transmission media which require a specific parity type, Kermit can send characters as seven data bits plus a parity bit. The format of this command is: Kermit-65>set parity [keyword] where [keyword] is one of the following: Page 30 C-64/128 Kermit User's Guide NONE (default) - eight data bits and no parity bit. MARK - seven data bits with the parity bit set to one. SPACE - seven data bits with the parity bit set to zero. EVEN - seven data bits with the parity bit set to make the overall parity even. ODD - seven data bits with the parity bit set to make the overall parity odd. Set Receive It is possible to set various parameters associated with the receiving of data from the Kermit on the other end of the connection (the remote Kermit). SET RECEIVE will enable you to set the various Receive parameters. The format of this command is: Kermit-65>set receive <suboption> The suboptions of the SET RECEIVE command are: Eight-bit-quote-char End-of-line Packet-length Pad-char Padding Quote-char Timeout These suboptions are described below. Set Receive Eight-bit-quote-char This command sets the character to be used to quote charac- ters when EIGHT-BIT QUOTING is ON. The default value is hexadecimal 26 (decimal 38, ASCII "&"). Please see Set Eight-bit-quoting for further information. The format of this command is: Kermit-65>set receive eight-bit-quote-char [value] where [value] is the ASCII value of the character (in hex) C-64/128 Kermit User's Guide Page 31 to use for eight-bit quoting. Set Receive End-of-line This command sets the end of line character that C-64/128 Kermit expects to receive from the remote Kermit. This is the character which terminates a packet of data during file transmission. The default value is hexadecimal 0D (ASCII <CTRL> - <M>, which is <RETURN>). The format of this com- mand is: Kermit-65>set receive end-of-line [value] where [value] is the ASCII value of the character to use for the end of line character (in hex). Set Receive Packet-length This command sets the receive packet length. The value for this parameter must be between hexadecimal 0A (decimal 10) and $60 (decimal 96). Packet lengths outside of this range are illegal. The default value is $5E (94 decimal). The format of this command is: Kermit-65>set receive packet-length [value] where [value] is the ASCII value of the receive packet length (in hex). Set Receive Pad-char This parameter is the padding character that is expected from the remote Kermit. The parameter must be a hex number between 0 and $1F or $7F. All other values are illegal. The default value is 0 (ASCII NUL). The format of this com- mand is: Kermit-65>set receive pad-char [value] where [value] is the ASCII value of the character to be used as a pad character (in hex). Set Receive Padding This command sets the number of padding characters to request before each packet coming from the other Kermit. The default value is 0. The format of this command is: Kermit-65>set receive padding [value] where [value] is the number (in hex) of padding characters to use. NOTE: This command, along with SET RECEIVE PAD- CHAR, is only used under very unusual circumstances. At Page 32 C-64/128 Kermit User's Guide this time, no Kermit program for any machine is known to need padding, and if one did, it would request it without intervention. Set Receive Quote-char This command sets the quoting character that C-64/128 Kermit will expect on incoming files. This is the character used to quote control characters. The default value is $23 (ASCII "#"). The format of this command is: Kermit-65>set receive quote-char [value] where [value] is the ASCII value of the quoting character (in hex). Set Receive Timeout This command sets the number of seconds that C-64/128 Kermit will wait for acknowledgement before it will retry sending or receiving the current packet of data (during a RECEIVE, SEND, or GET). The default value is 15 seconds (hex 0F). The format of this command is: Kermit-65>set receive timeout [value] where [value] is the number of seconds to wait for a message from the remote Kermit (in hex). Set RS232-registers This command sets the 2 RS-232 registers in the C-64/128 that control the baud rate, parity, etc. The 2 registers are treated as a 16 bit hex integer. The first 2 digits are the SECOND register and the last 2 digits are the FIRST register. If only 2 digits are entered, the second register is cleared. The format of this command is: Kermit-65>set rs232-registers [value] where [value] is a four-byte long hex integer. Some exam- ples: C-64/128 Kermit User's Guide Page 33 Kermit-65>set rs232-registers 0006 sets the registers to 06, 00 for 300 baud, 8 bits, no parity Kermit-65>set rs232-registers a026 sets the registers to $26, $A0 for 300 baud, 7 bits, mark parity. See the Commodore 64 or 128 Programmer's Reference Guides for a complete description of the RS-232 registers. Please note that this command is rarely used-- it is a holdover from the earliest versions of Kermit. You can use the SET BAUD and SET PARITY commands to set the baud and parity for most cases. See the Known Restrictions section of Appendix A for exceptions. Set Screen-driver This command switches the display mode. Kermit is capable of displaying text in 40 and 80 columns, using the Batteries Included BI-80 80 column card, and also using the Commodore 128's 80 column screen. Not all of the displays are capable of completely accurate displays. For example, the standard Batteries Included 80 column character set does not include certain standard ASCII characters. In all cases the best compromise was made to provide the most accurate display (Please see the Screen Driver Comparison section for further information). The format of this command is: Kermit-65>set screen-driver [keyword] where [keyword] is 40-COLUMNS, 80-COLUMNS, BI-80, COMMODORE-128, or CUSTOM-BI-80. Set Send It is possible to set various parameters associated with the sending of data to the remote Kermit. SET SEND enables you to set the various SEND parameters. These parameters should not normally be changed since, as part of the transfer ini- tialization process, the two Kermits exchange their RECEIVE parameters. The capability of setting these parameters is provided so that the transfer initialization can be com- pleted even if the default parameters are not correct. The format of this command is: Kermit-65>set send <suboption> The suboptions of the SET SEND command are: Eight-bit-quote-char End-of-line Packet-length Pad-char Padding Quote-char Timeout The suboption descriptions for the SET SEND command are the same as those for the SET RECEIVE command (except that they affect sending, not receiving, parameters). So, to avoid Page 34 C-64/128 Kermit User's Guide redundancy, please refer to the appropriate suboption descriptions under the Set Receive section for further information. Set Terminal-emulation Kermit is capable of emulating two popular terminals, as well as act as a dummy (glass) terminal. The SET TERMINAL- EMULATION command changes the type of terminal Kermit emu- lates. The format for this command is: Kermit-65>set terminal-emulation [type] where [type] is NONE, VT-52, or VT-100. Kermit provides very accurate emulation of the DEC VT-52 and VT-100 termi- nals. In VT-100 mode, Kermit can perform most all functions of a VT-100 terminal, including displaying a graphics char- acter set as well as emulating certain VT-102 sequences. See Terminal-Type Features for more info. Set Word-size This option sets the data word length for communication with another computer. Although word lengths below seven bits exist, C-64/128 Kermit only supports seven and eight bit word lengths. The format of this command is: Kermit-65>set word-size [length] where [length] is either SEVEN-BIT or EIGHT-BIT. Show The SHOW command allows you to examine the status of many of the SET parameters. The format is: Kermit-65>show <option> <suboption>... The options available to SHOW are: All Baud Debugging Eight-bit-quoting Escape File-byte-size File-type File-warning Flow-control IBM Local-echo Parity Receive RS232-Registers Send Terminal-emulation Word-size The SHOW ALL command will display the settings for most of the parameters that may be SET. The other SHOW options and suboptions will display the current value of just that par- ticular parameter. Note: The 4 color commands and the C-64/128 Kermit User's Guide Page 35 SCREEN-DRIVER command are not currently supported. Status STATUS displays the current values of various counts associ- ated with the most recent file transfer. This includes the number of characters that have been sent and received from the remote Kermit with the amount of characters which were actual data as well as the overhead for both send and receive. Also included is the last error encountered (if any) and the disk drive error status (absent if no error). STATUS has no arguments with the format: Kermit-65>status Page 36 C-64/128 Kermit User's Guide Appendix A: Implementation Notes This appendix contains information mainly of interest to people who are familiar with Kermit-- experienced users and programmers. First time users may not find too much useful information here. Summary of Kermit Capabilities C-64/128 Kermit v2.2 Capabilities at a Glance: Local operation: Yes Remote operation: Yes Transfer text files: Yes Transfer 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 server commands: No Local file management: Yes Handle file attributes: No Command/init files: Yes Printer control: No Known Restrictions Kermit is a comprehensive telecommunications package. Because it is continually under development, however, some features are not fully implemented. These incomplete features therefore have some restrictions as to their use. They are: + The SET BAUD command does not support baud rates under 300 bps. To set speeds of 50, 75, 110, or 150 bps, you C-64/128 Kermit User's Guide Page 37 will have to set the RS-232 registers directly. Please see the SET RS232-REGISTERS section for more informa- tion on this procedure. + Any changes made using the SET RS232-REGISTERS command will not be reflected in the BAUD, PARITY, or WORD-SIZE parameters. + If the initialization file, KERMIT.INI, isn't on the same disk as Kermit when you boot, Kermit will crash, exiting to BASIC. You can recover from this condition by inserting a disk containing a KERMIT.INI and typing RUN. You MUST have a disk with a KERMIT.INI file on it in order to boot Kermit. + Kermit currently does not work with the Commodore 1660 modem. This modem is backwards in terms of picking up and hanging up the phone. We will fix this in a future version of Kermit. Future Plans for Kermit New features can always be added, it seems, to a program. We are currently considering implementing the following features for a future version of Kermit: + Modem support. Kermit needs to be able to work with the Commodore 1660 modem and other "oddballs". This would require a SET MODEM-TYPE command. + Long packets. Long packets allow more data to be sent per packet, speeding up file transmission considerably. + Remote server commands. With this command Kermit would be able to answer the phone automatically and send/receive files without anyone present. Kermit would function as a very simple bulletin board in a way. + New parser. The current parser is VERY large, ineffi- cient, and riddled with numerous bugs. + TAKE command. This command would allow multiple ini- tialization files. In other words, you could have an initialization file for every different configuration you use. Page 38 C-64/128 Kermit User's Guide Appendix B: Default Initialization Settings This appendix is of use mainly to experienced Kermit users. Kermit loads various default settings from disk on power-up (or when the command RESTORE is issued). Kermit reads in the settings from a file called KERMIT.INI. Below are the default settings for all of the parameters contained in KERMIT.INI. Parameter Setting Debugging Terse Terminal Emulation VT-100 IBM Mode Off Local Echo Off Baud Rate 1200 Parity None Word Size Eight Flow Control On Eight Bit Quoting On File Warning On Escape Character ^Y File Type PETSCII File Byte Size Eight Bit RS232 Registers $0000 Receive Padding Character ^@ Amount of Padding 00 Eight Bit Quoting Character & End of Line Character ^M Packet Length $5D Quote Character # Timeout Character 0A Send Padding Character ^@ Amount of Padding 00 Eight Bit Quoting Character & End of Line Character ^M Packet Length $5D Quote Character # Timeout Character 0A C-64/128 Kermit User's Guide Page 39 Appendix C: Keyboard Layouts Commodore 64 Map Kermit redefines a few keys on the Commodore 64 keyboard both to send ASCII characters that are not found in the standard Commodore character set and to send some special VT-100/52 key sequences. These redefined keys are most use- ful when communicating with a mainframe host. The following is a list of the redefined keys: If You Type This You Send This <Left Arrow> <ESC> <Up Arrow> <Hat> <Shifted "="> or <F1> <Underscore> <Shifted British Pound> or <F2> <Pipe> <Shifted "@"> or <F3> <Grave accent> <Shifted Up Arrow> or <F4> <Tilde> <Shifted "+"> or <F5> <Left Brace> <Shifted "-"> or <F6> <Right Brace> <British Pound> <Backslash> <STOP> <CTRL> - <C> <CLR> <CTRL> - <L> <HOME> <CTRL> - <H> <DEL> <DEL> <INST> <BREAK> Cursor Keys VT-100/52 Cursor Key Sequences <CTRL> - <F1> VT-100/52 PF 1 <CTRL> - <F3> VT-100/52 PF 2 <CTRL> - <F5> VT-100/52 PF 3 <CTRL> - <F7> VT-100/52 PF 4 <CTRL> - <0> through <CTRL> - <9> VT-100/52 Num. Keypad 0 through 9 <CTRL> - "-" VT-100/52 Num. Keypad "-" <CTRL> - "." VT-100/52 Num. Keypad "." <CTRL> - "," VT-100/52 Num. Keypad "," <CTRL> - "+" VT-100/52 Num. Keypad "," (dupli- cate) <CTRL> - <RETURN> VT-100/52 Num. Keypad <ENTER> Also, the <C=> key will temporarily stop character display. It acts as a toggle, and will start the display again when Page 40 C-64/128 Kermit User's Guide pressed a second time. This works only in Connect mode. Commodore 128 Map The Commodore 128 has an expanded layout that includes all of the Commodore 64 redefined keys. In other words, the Commodore 128 keyboard layout is a superset of the Commodore 64 layout. The following is a list of the special C-128 keys. If You Type This You Send This <ESC> <ESC> <HELP> <"?"> <LINEFEED> <CTRL> - <J> <TAB> <CTRL> - <I> Grey Cursor Keys VT-100/52 Cursor Key Sequences Numeric Keypad 0 through 9 VT-100/52 Num. Keypad 0 through 9 Numeric Keypad "-" VT-100/52 Num. Keypad "-" Numeric Keypad "." VT-100/52 Num. Keypad "." Numeric Keypad "+" VT-100/52 Num. Keypad "," Also, <CAPS LOCK> is functional. All lowercase letters are changed to upper case when this key is in the down position. C-64/128 Kermit User's Guide Page 41 Appendix D: UNIX (TM) Termcap Settings Kermit emulates a DEC VT-100 terminal with a complete VT-52 mode, graphics character set, and extra VT-102 editing features. On UNIX (TM), you can use most of Kermit's features by setting your terminal type to VT-100. However, to use the extra features such as the VT-102 editing sequences, a visual bell, and a sysline (25th line used for system status programs), you will need to use the following as your termcap instead: Kc|vt100|Commodore 64/128 Kermit in VT-100 mode:\ :ae=\E(1:AL=\E[%dL:al=\E[L:as=\E(0:bc=^H:bl=^G:bs:\ :cd=\E[J:ce=\E[K:cl=\E[H\E[2J:cm=\E[%i%d;%dH:co#80:\ :cr=^M:cs=\E[%i%d;%dr:DC=\E[%dP:dc=\E[P:\ :DL=\E[%dM:dl=\E[M:DO=\E[%dB:do=^J:\ :ds=\E7\E[25H\E[2K\E8:ei=\E[4l:es:fs=\E8:ho=\E[H:hs:\ :im=\E[4h:k1=\EOP:k2=\EOQ:k3=\EOR:k4=\EOS:\ :kb=\177:kd=\E[B:ke=\E>:kl=\E[D:kn=4:kr=\E[C:\ :ks=\E=:ku=\E[A:l1=PF1:l2=PF2:l3=PF3:l4=PF4:\ :LE=\E[%dD:le=^H:li#24:ll=\E[24H:mb=\E[5m:\ :md=\E[1m:me=\E[m:mi:mr=\E[7m:ms:nd=\E[C:pt:\ :rc=\E8:RI=\E[%dC:rs=\E<\Ec:sc=\E7:se=\E[m:\ :so=\E[7m:sr=\EM:ta=^I:te=\E[?7h:ti=\E[?7l:\ :ts=\E7\E[%i25;%dH\E[m\E(1\E[1K:ue=\E[m:\ :UP=\E[%dA:up=\E[A:us=\E[4m:vb=\E[?5h\E,\E[?5l:\ :vt#3:xo This custom termcap also fixes several minor bugs and omis- sions in the standard VT-100 termcap entry found in Berkeley 4.3 BSD UNIX. Note that any British Pound signs in the above termcap entry should really be backslashes. Commodore computers map the backslash onto the British Pound sign, as they don't have the backslash in their character sets. Page 42 C-64/128 Kermit User's Guide Appendix E: BI-80 Replacement ROM Information Kent Sullivan is now making available a replacement character ROM for the BI-80 card. This replacement ROM adds the ASCII characters that are missing from the Commodore character set (backslash, braces, underscore, tilde, grave accent, pipe, and hat) plus the VT-100 line graphics charac- ter set. To add these characters, some sacrifices had to be made. As you may know, the Commodore 64/128 and the BI-80 have two separate character sets: upper/lower case and upper case/graphics. The upper/lower case set remains as is in the new ROM, so most commercial programs that work on a BI- 80 are not affected (such as the Paperclip word processor from Batteries Included). The upper case/graphics character set has been changed quite a bit, so some programs may be affected (such as a BASIC program that uses extensive char- acter graphics). The new ROM is $7.50 (US funds only; WA residents please add 8.2% sales tax) and comes with complete installation instructions.