1. GEM ATARI/ST Kermit Author: Bernhard Nebel, Technische Universitaet Berlin Contributions by: Bill Catchings, Bob Cattani, Chris Maio (Columbia Univ.), who wrote the 'minimal' C-Kermit and Glean Seaton, Robert A. Larson, who modified from UNIX Kermit to OS9 Kermit Language: DRI C Documentation: Bernhard Nebel Version: 1.02 Date: June 1986 GEM Kermit capabilities at a glance: Local operation: Yes Remote operation: No Transfer text files: Yes Transfer binary files: Yes Wildcard send: Yes ^X/^Y interruption: Only simple abort Filename collision avoidance: Yes Can time out: Yes 8th-bit prefixing: Yes Repeat count prefixing: No Alternate block checks: No Terminal emulation: Provided by accessory Communication settings: Yes (RS232 par. by accessory) Transmit BREAK: If accessory can Handshaking (for IBM): Yes Transaction logging: Yes Session logging: Yes Raw transmit: Yes Act as server: No Talk to server: Yes Advanced server functions: No Advanced commands for server: No Local file management: Yes Handle attribute packets: No Command/init files: Yes (only for non-RS232 par.) Command macros: No GEM Kermit is a program that implements the KERMIT file transfer protocol for ATARI/ST micros running GEM. It is written in DRI C. The implementation is based on OS9 Kermit, Version 1.5, a modified 'minimal' implementation of Kermit in C. The main advantage of GEM Kermit compared with DRI's Kermit is that it is able to talk with IBMs and that it uses the GEM user interface. 2. Program operation GEM Kermit can be evoked as any other GEM application just by clicking on the icon twice. A resource file 'KERMIT.RSC' has to be present in the same directory as Kermit resides for proper opertation. Otherwise the program will abort with an error message. If a file 'KERMIT.INI' exists it is used to setup the communication parameters (except for RS232 parameters). After the program is started the familiar desktop and a menu bar should appear on the screen. Now you can start to transfer everything back and forth between your ATARI/ST and other machines. If it does not work, you probably forgot to connect both with the appropriate wires (use the RS232/modem plug!), or some communication parameters are wrong, or you are really stupid (or there is a bug in the program). In any case it might be helpful to study the next few chapters. 3. Commands Kermit commands are evoked by selecting a drop down menu item. These items will be discussed briefly in the following. 3.1 DESK menu That is the familiar DESK menu. The first item (KERMIT-Info) tells you something about the program itself and how I can be reached by e-mail. The other items should give you the capabilty to configure the RS232 interface and to open a virtual terminal connection to the other computer. You need both of these accessories because GEM-Kermit cannot set the RS232 parameters by its own and it does not supply a virtual terminal! By the way, for users of IBMs I included an IBM terminal accessory which works in line mode. The messages of this program are still in German, therefore you either have to change and recompile it, or you have to learn German. 3.2 FILE menu This menu gives you the ability to DELETE, RENAME and TYPE files. Files are selected by the standard file selection dialog box. Be aware that wilcards in a delete command do not have the expected effect, but they will select the first file matching the specification. Additionally, you can get information about free space on a disk. And of course, the QUIT command is also present in this menu. 3.3 TRANSFER menu All transfer commands (SEND, RECEIVE, GET, PUT, LOGOUT server, QUIT server) can be found in this menu. Files and directories for these commands are again selected by the standard file selection dialog box. SEND and PUT handle wildcards in the right way. RECEIVE and GET will use a file specification as a name for the first file to receive, all other files will be stored under names sent by the remote host. If you do not input a file name also the first file transferred will be stored under the name provided by the remote host. In any case the files are stored in the selected directory. 3.4 OPTION menu In this menu commands for changing switches (e.g. BINARY TRANSFER, IBM MODE), starting and stopping logs (DEBUG and SESSION LOG), saving and restoring parameters (SAVE and RESTORE STATE) as well as for evoking a parameter changing dialog are found. The details of these commands are not provided here, the interested user will find information about these in other Kermit publications or will learn how to use them by trial and error, hopefully. The only thing I will mention is that the RS232 communication parameters (e.g. baud rate, byte format) are not included. They must be changed using the appropriate accessory. 4. How to install GEM Kermit If you got the program and the resource file (for German or English) as a binary excutable file, perhaps as a uudecoded file, everything should work out fine. Otherwise all the files with the AST prefix have to be compiled and linked (using ASTKER.INP). The resource file must be renamed to KERMIT.RSC and you are ready. Currently, the following files are necessary: ASTKER.C main program ASTFIO.C file I/O on the ATARI ASTGEM.C GEM interface ASTGMO.C GEM interface for changing options ASTGMT.C GEM interface for transfer ASTGCM.C QUIT/LOGOUT server ASTGET.C GET from server ASTSEN.C SEND protocol ASTREC.C RECEIVE protocol ASTUTL.C utility functions for Kermit protocol ASTINC.H common include file for all Kermit modules ASTOBJ.H object definitions for GEM Kermit ASTKER.INP input file for link batch file ASTKER.BAT link batch file ASTODE.UUE (uuencoded) for RCS (if you want to change the resource) results in ASTOBJ.DEF ASTOBJ.UUE (uuencoded) the German resource file or results in ASTOBJ.RSC ASTOBE.UUE (uuencoded) the English resource file results in ASTOBE.RSC one of them must be renamed to KERMIT.RSC ASTKER.UUE (uuencoded) binary executable results in KERMIT.PRG The following files of the DRI C kit have to be modified: GEMSTART.S enlarge stack to 2k bytes and assemble DEFINE.H introduce the definition of NULL as 0L and change NIL to 0L The above mentioned IBM terminal accessory consists of the following files: ASTTTY.C source file ASTTTY.UUE (uuencoded) binary results in IBMTTY.ACC 5. Problems - When communicating with the TU Berlin IBM you better select 8-bit mode, because otherwise the '{' will be eaten. This is not an bug in Kermit or GEMDOS but the IBM sends '{' without setting the sign bit. - If you move the mouse during a transfer, it can happen that key clicks appear. I don't know why. 6. Wish list I spent a lot of time to adopt OS9 Kermit to GEM. As a matter of fact, I wrote more code than I used from the original program. Finally, I discovered that it would have been worth the effort to use the more recent C-Kermit. However, it's done now. If there is anybody out there, s/he is invited to adopt C-Kermit to GEM using my first hack. Besides that, there are a lot of other wishful improvements I probably will not work on: - GEM Kermit seems to be rather slow on fast connections, i.e. 100-150 bytes/secs on a 9600 baud connection. - It would be nice to get the logs on a scroll window. - The RS232 parameters should also be saved and restored by the STATE SAVE and RESTORE commands. However, I was not able to figure out how this could be done.