C-KERMIT FOR OS-9/68K Version: 5A(188) Date: November 23, 1992 Adapted to OS-9 by Christian Hemsing, RWTH, Aachen, Germany E-Mail: CHRIS@LFM.RWTH-AACHEN.DE OS-9/68K C-Kermit Capabilities at a Glance: Local operation: Yes Remote operation: Yes Transfer text files: Yes Transfer binary files: Yes International text: Yes Wildcard send: Yes File transfer interruption: Yes Filename collision actions: Yes Can time out: Yes 8th-bit prefixing: Yes Repeat count prefixing: Yes Alternate block checks: Yes Automatic parity detection: Yes Dynamic packet length: Yes CONNECT mode: Yes Terminal emulation: No (uses console driver) Communication settings: Yes Transmit BREAK: Yes Support for dialout modems: Yes TCP/IP support: No X.25 support: No IBM mainframe communication: Yes Transaction logging: Yes Session logging: Yes Debug logging: Yes Packet logging: Yes Act as server: Yes Talk to server: Yes Advanced server functions: Yes Security for server: Yes Local file management: Yes Command/Init files: Yes (Init file: .kermrc) Long packets: Yes Sliding Windows: Yes File attributes packets: Yes Command macros: Yes Script programming language: Yes Raw file transmit and capture: Yes OS-9/68K BACKGROUND OS-9/68k is a multiuser, multitasking operating system designed to run on all Motorola 680x0 family processors from Microware Systems Corporation, 1900 N.W. 114th Street, Des Moines, Iowa 50332 (Trademarks: Microware, OS-9, OS-9/68000, OS-9000). Due to its modular design, most of the code is completely hardware independent, so it can be easily be ported to a different hardware by writing new device drivers. The original (1980) OS-9/6809 was designed for the Motorola 6809 processor. Later (1983) they switched to the 680x0 family and released OS-9/68000. For speed and compactness reasons most of the OS-9/68000 kernel is written in 680x0 assembler language. Now there is a so-called OS-9000 by Microware. Its kernel is written in C and thus it is portable. It is presently available for 680x0 and Intel's 80386/486, and Microware plans to add further support for RISC and CISC processors. (C-Kermit has not yet been tested under OS-9000.) The 100% ROM-able, fast, compact code in conjunction with real-time capabilities make OS-9/68k ideal for ROM-based systems used in measuring, controlling, etc. It has found a wide acceptance within the scientific and industrial world. Yet, a full disk based OS-9/68k offers a program development environment similar to UNIX. This includes (of course, limited) UNIX sofware compatibility at C source code level, source code level debugging, UNIX I/O model, UNIX task model, UNIX-like shell and networking. A number of UNIX utilities like lex, yacc, lint, etc, have been ported to OS-9/68k. The basic commands of OS-9 are: DEL delete a file DELDIR delete a directory MAKDIR create a directory DIR directory listing PROCS show currently running processes LIST type contents of a text file CWD change working directory PD print working directory All commands can be given a "-?" as a switch, which will display a brief (usually sufficient) help message. All command references (like all references to names on OS-9/68k) are NOT case sensitive (switches, though, may be case sensitive since they are interpreted by the running program). On OS-9 systems you can redirect stdin, stdout, stderr just like in UNIX, and you can run programs (including Kermit) in the background. Pipelines work just like in UNIX. OS-9 doesn't know anything about character sets; all messages are in English using ascii. OS-9 does not generally have windows etc. (windows has been ported by someone, though). You can't really say anything about the terminal emulation. Many systems don't even have a console, but only RS232 lines, with no action by th driver whatsoever. So it depends on the terminal conncted to that line. In case a display is already part of the machine, then it depends on the vendor (which usually also does the portation), which emulation the console will have. E.g. I have ported OS-9 to Atari, which includes a VT52 emulation on the console. OS-9 is really meant to be ported, so no restrictions are given. OS-9/68K DEVICES All devices (terminal lines, networks, disks) can have arbitrary names but the usual convention is: Terminal lines: term the console terminal t1 terminal line #1 : tn terminal line #n Harddisks: h0 hard disk #0 h1 hard disk #1 : hn harddisk #n Floppy disks (diskettes): d0 floppy disk drive #0 d1 floppy disk drive #1 : d0 floppy disk drive #n A path name starting with a slash ("/") must always include a device name as the first field. For example, the C-Kermit command SET LINE /T3 would select the terminal line /t3. The console terminal is either a real terminal, or the screen and keyboard of a workstation such as a Macintosh, Amiga, or Atari ST that is running OS-9. Terminal emulation is not done by OS-9 C-Kermit, but rather by the real terminal or the workstation console driver. This includes the capability to display national and international characters. THE OS-9/68K FILE SYSTEM The file system is tree-structured just like the UNIX file system. /h0/chris means the directory or file "chris" on hard disk #0. chris/rubbish means the subdirectory or file "rubbish" in the subdirectory "chris" of the current directory. The command "chd" without any parameters will always take you to your home directory. Wildcard expansion is performed by the shell with two metacharacters: * stands for an arbitrary string of arbitrary length ? denotes a single character C-Kermit/OS-9 also expands wildcards itself, using the same notation, for example: C-Kermit>send ck*.\? (Note: the question mark must be prefixed by "\" to override its normal function of giving a help message.) OS-9/68k files are sequential streams of 8-bit bytes, just like in UNIX, except that carriage return (CR, ASCII 13) is the line terminator, rather than linefeed (LF, ASCII 10). Binary files are simply streams of arbitrary 8-bit bytes. The OS-9 operating system and utilities are "8-bit clean", so text files can use any ASCII-based character set that is compatible with your display and data entry devices, for example ISO 8859-1 Latin Alphabet 1. Unlike UNIX, OS-9/68k has a built-in method to gain exclusive access to devices, so no lock files are needed. The user will be told if the device is already in use. TO BUILD C-KERMIT FOR OS-9: Collect all the C-Kermit source files into a directory: ckc*.c, ckc*.h, cku*.c, cku*.h, ckwart.c, ckcpro.w, ck9*.* There are two makefiles: ck9ker.mak and ck9ker.gcc. If you have a running version of the GNU C compiler, use ck9ker.gcc (it produces smaller, more efficient code); otherwise use ck9ker.mak which uses the standard OS-9/68k C compiler. Read the appropropriate makefile, edit the necessary changes mentioned there, create the subdirectories, and make the new Kermit by typing: make -f=ck9ker.mak or: make -f=ck9ker.gcc Read the "beware file" ck9ker.bwr for hints relating to the OS-9 terminal driver. USING OS-9 C-KERMIT The commands and operation of OS-9 C-Kermit should be identical to those of UNIX C-Kermit, with the exceptions noted above and in the "beware file". The user documentation for C-Kermit is: Frank da Cruz and Christine M. Gianone, "Using C-Kermit", Digital Press, Burlington, MA, 1993, approx. 500 pages. Order Number: EY-J896E-DP Digital Press ISBN: 1-55558-108-0 Prentice Hall ISBN: 0-13-037490-3 US single-copy price: $34.95; quantity discounts available. Available in computer bookstores or directly from Digital Press. In the USA, call Digital Press toll-free 1-800-344-4825 to order; major credit cards accepted. Overseas, order through your bookstore or your local Digital Equipment Corporation branch. Can also be ordered from: Kermit Development and Distribution Columbia University Center for Computing Activities 612 West 115th Street New York, NY 10025 USA Telephone: (USA) 212 854-3703 (END OF CK9KER.DOC)