OS/2 C-Kermit 5A(191)

FAST 32-Bit Native Communications Software for OS/2 2.x and WARP

NOTE: OS/2 C-Kermit is obsolete. It is replaced by Kermit 95 for OS/2. The remainder of this page is kept for historical reasons. Kermit 95 for OS/2 has all of the features described below, and many more.

OS/2 C-Kermit is Columbia University's full-function native 32-bit communication software package for OS/2 that works uniformly over:


And lots of OS/2-specific features, including:

With its wide range of features and communication methods, OS/2 C-Kermit is ideally suited to OS/2 users who:

CLICK HERE if you want to know more about the features that were already in OS/2 C-Kermit before this new release.

CLICK HERE to read more about OS/2 C-Kermit in Kermit News #6.

New Features of OS/2 C-Kermit 5A(191)

C-Kermit Version 5A(191) is a brand-new 32-bit release for OS/2 2.00 and later, including Warp. It adds the following major new features:


CONNECT mode -- terminal emulation -- is now incredibly fast and snappy on both serial and network connections, in both window and fullscreen sessions.

C-Kermit 5A(191) processes incoming data in parallel with screen updating. Furthermore, the screen is now updated far more efficiently than before. To give an idea of the speed improvement, we used a ripple-test benchmark that scrolls 1000 80-column lines of text, obtaining the following display timings for various TELNET clients attached to a 10 Mb/sec Ethernet network running on the same PC in a fullscreen session:

  C-Kermit 5A(190)    24 sec
  IBM Telnet          22 sec  (TCP/IP 1.2.1)
  MS-DOS Kermit       12 sec  (v3.14 under DOS, not under OS/2)
  C-Kermit 5A(191)     5 sec
In an OS/2 window, the same test takes only 7 seconds, compared to 55 seconds in the previous release -- about an 800% improvement.

The new display management model has also been used to accomplish several other astounding feats:

Meanwhile, serial port handling is now far more efficient, putting less load on the CPU, allowing serial-port intput/output to take place at high speeds without seriously impacting the rest of the system.


You asked for VT100 132-column mode, now you've got it and a lot more too.

In Warp window sessions, C-Kermit now supports any combination of screen height and width, up to 255 columns and 254 rows with a maximum screen area of 8192 characters.

In fullscreen sessions the terminal screen can now use 40, 80, or 132 columns and 24, 42, 49, or 59 rows. Not all combinations are supported by all video hardware. Warp is not required.

Host-directed screen-width switching in VT100, VT102, and VT220 emulation is now implemented for 80-column and 132-column modes when the video adapter supports it. Screen dimensions are automatically reported to the host on TELNET connections if the TELNET server supports (and uses) the "NAWS" option.


C-Kermit 5A knows a lot of character sets and translates between any pair of them. But in OS/2, we have another problem: how to see the right characters on the screen. For example, in version 5A(190) we added support for Hebrew terminal emulation, which works very nicely if you happen to have a Hebrew version of OS/2 (which you can only get in Israel), but is useless otherwise -- e.g. to Hebrew and Yiddish scholars in the USA, because, until now there was no way to get a Hebrew code page onto a US version of OS/2.

The new version of OS/2 C-Kermit comes with the following soft fonts that you can load in a fullscreen session, for use in the terminal window:

  CP437 - Original PC code page
  CP850 - "Multilingual" (West Europe) code page
  CP852 - East Europe Roman Alphabet (Czech, Polish, etc)
  CP862 - Hebrew
  CP866 - Cyrillic (Russian, Belorussian, and Ukrainian)
So now, no matter what OS/2 National Language version you have, you can use OS/2 C-Kermit to conduct terminal sessions in at least the following languages:

Albanian, Belorussian, Bulgarian, Croatian, Czech, Danish, Dutch, English, Faeroese, Finnish, French, German, Hebrew, Hungarian, Icelandic, Irish, Italian, Ladino, Latin, Macedonian, Norwegian, Polish, Portuguese, Romanian, Russian, Serbian, Slovak, Slovene, Spanish, Swedish, Swiss, Ukrainian, and Yiddish.
Thanks to Joseph (Yossi (Yogi)) Gil at the Technion in Haifa, Israel, for furnishing these public-domain fonts.


OK, we added a Cyrillic font, so now you can read those Russian newsgroups and Web pages. But if you don't have a Russian (or Ukrainian, or Belorussian) keyboard, how do you TYPE Russian characters? The new C-Kermit release adds a Russian keyboard mode that includes:

This is in addition to the keyboard methods that were already available in earlier releases:


Copy-and-paste capability, as well as mouse-directed terminal cursor steering, were introduced in the previous release. In version 5A(191):

To get a quick idea of the power of the new "mark mode": after installing the new version, starting it up, and accumulating a bunch of screens in the rollback buffer:

Any text that you select this way can be copied to the PM clipboard, printed on your printer, copied to a file, or pasted directly into your terminal session.


TELNET connections are about 500% faster than before. Several TELNET protocol problems were fixed, most notably the ones relating to "firewalls". Connections are now attempted to multiple IP addresses when provided by the name server, until success is achieved. TELNET NAWS (Negotiate About Window Size) capability has been added.

Incoming TCP/IP connections are now accepted -- you can TELNET to OS/2 C-Kermit on a pre-arranged socket and have a "chat" session or execute Kermit server functions.

OS/2 C-Kermit can now dial your Warp IAK SLIP connections for you, using a special technique to "borrow" the serial port from the SLIP driver. This gives you a lot more flexibility than you get with SLIPTERM.

There are new controls for TELNET NVT/binary mode and CRLF mapping, since these areas are so problematic with the proliferation of incompatible (and often confused) TELNET servers:


SOCKS support added for TELNET'ing through firewalls.

OS/2 C-Kermit gives you all the convenience features of a serial communications program integrated with its own internal TELNET protocol implementation. If you do a lot of TELNET'ing to diverse services, especially on non-TELNET ports, you'll begin to appreciate what this means. If you want it spelled out in more detail, see the APPENDIX at the end of this announcement :-)




OS/2 C-Kermit 5A is comprehensively and professionally documented in the book, Using C-Kermit, supplemented by the hypertext CKERMIT.INF file, which covers recent additions up to and including edit 191.
If you will be using OS/2 C-Kermit and you have not already purchased this book, please purchase it. It will answer your questions, it will show you how to get the most out of the software, and book sales are the primary source of funding for the Kermit effort.
Ordering information for Using C-Kermit is included in the CKERMIT.INF file, which may be accessed from the C-Kermit> prompt with the UPDATES command, and is also available by


OS/2 C-Kermit 5A(191) may be obtained from kermit.columbia.edu via anonymous ftp, directory kermit/archives, file cko191.zip.
CLICK HERE to retrieve it.
Transfer it in binary mode (every step of the way), unzip it on your OS/2 system into a spare directory, then run the INSTALL script.

NOTE: 5A(191) is an OS/2-only release of C-Kermit.

Thanks to Jeff Altman for 99% of the work that went into this new release. Also, thanks to Huw Rogers for some TELNET protocol fixes.


There is a widespread misconception among PC users that a "virtual modem" or TELNET redirector such as COMTCP, VMODEM, COMt (for Windows), or TNGLASS (for DOS) plus your favorite serial communications package creates the perfect TELNET client.

Your serial communication package MIGHT enable you to connect to your host this way, but if it works right throughout your session, it's pure luck. Numerous items -- echoing, screen size, terminal type, and other parameters -- need to be negotiated and sometimes changed dynamically throughout the session, depending on the service and the server.

A serial communications program is not designed to handle this type of work. So the virtual modem software must handle the TELNET protocol parameter negotiations on behalf of the communication software. So far, so good. The problem is that when things change, the virtual modem software has no way of telling the communications software, and similarly, when the user changes things in the communications software, the virtual modem doesn't find out about it and can't tell the TELNET server.

To complicate matters further, the TELNET Network Virtual Terminal (NVT) definition does not work like the ASCII terminal that your serial communications software is emulating. Certain characters must be handled specially, including carriage return, linefeed, and the "all-ones" character, hex FF. Furthermore, special items like the BREAK signal must be handled by special TELNET protocol messages.

So when using serial communications software to accomplish a TELNET connection over a virtual modem, you are very likely to experience all sorts of problems, including:

THE MORAL: If you want a fully-functional and dependable TELNET session, use a real TELNET client. If you want to use the same software for both serial and TELNET connections, try C-Kermit.

OS/2 C-Kermit 5A(191) / Columbia University / kermit@columbia.edu