Columbia Macintosh Kermit version 0.8(33): Known problems and Limitations ------------------------------------------------------------------------- Last update to this file: 25 October 1985 The biggest problem with Mac Kermit is installing it on your Mac if you don't have it on a diskette already. For tape distribution, the program is encoded in Binhex Version 4 (.HQX) format, and you need (a) a way of getting the .HQX file onto your Mac in the first place, and (b) a copy of Binhex Version 4 to convert it into a runnable application. It is assumed that most sites receiving Kermit tapes that are interested in running Macintosh Kermit will have some method of initially downloading the .HQX file, and will have a copy of Binhex. To alleviate the problem, MacKermit has been submitted to a number of user groups for wider diskette distribution, and Columbia itself is now distributing Mac Kermit on diskette. ----- Occasionally, files transferred to the Mac with apparent success will be empty. This happens very rarely and cannot be reproduced. It has only been reported twice, once on a Hyperdrive system, and once on a Mac with a Tecmar disk after the screen had been dumped to the printer. (this problem may be rectified in edit (33), which now terminates on failure to close, attempting to report an appropriate error.) One user claimed to be able to reproduce the problem by using Mac Kermit to GET any file whose name starts with X from the Unix Kermit server (yet others can't reproduce it this way). ----- The padding feature doesn't work; if padding is elected, packet checksums will be computed incorrectly (the problem is in the system-independent C-Kermit code and will be fixed soon). This prevents Mac Kermit from working with Cray Kermit, which depends on the micro to feed a certain nonzero pad character to to the Cray's front end. This will be fixed in the next release. ----- The terminal emulator uses a hardwired roman (english) font. This could present problems to non-english users whose systems use other alphabets. ----- Some of the characters in the terminal font are not easily distinguishable, like I and l, O and 0, etc. ----- Certain VT100/102 functions are not supported, including: . Double-height lines . Double-width characters . VT100 graphics character set . Cursor position report [6n . VT102 printer port commands . Autowrap control . Set/Report modes . etc ----- Character attributes (bold, inverse, etc) are not preserved when restoring the screen after it has been overlaid by another window. The program does not have code (or buffer space on a thin Mac) to do this. ----- In terminal emulation, bold characters seem to be different sizes from the regular screen characters, but Kermit apparently uses the same width information for both, resulting in a somewhat fractured display. Often, parts of bold characters will be left on the margins of the screen; sometimes, gaps will appear in lines. Temporary workaround: overlay the screen with a window (any window -- say, a desk-accessory, or the SHOW RESPONSE window), then close the window; the correct text will appear, but no longer in boldface. Sites which depend heavily upon boldface (e.g. that use a Series/1-type 3270 emulator) may have to define a new terminal type that is a VT100 or 102 without boldface (most emulators allow such definitions to be made). ----- Mac Kermit does not emulate the INDEX function correctly (i.e. scroll up one line in the scrolling region) (discovered when using VMS Unipress Emacs and setting the logical EMACS_TERM to "vt100"). ----- When mapping the OPTION key to CTRL, certain characters (notably CTRL-v, where v is any lowercase vowel) have to by typed twice in order to send them. This is a feature of the Mac, sort of like Command-Shift-1...9, but unlike Command-Shift-1...9, MacKermit doesn't have a command to disable this feature. ----- When a Settings file is saved, it does not store the Command-Shift-1... Command-Shift-9 flag, so it has to be set every session if it is to be active. ----- After a file transfer, successful or otherwise, the mouse cursor does not turn from a watch back into an arrow. An appropriate message is printed, however. ----- Reportedly, Kermit will die during terminal emulation when certain things happen at the bottom of the screen, e.g. when using the VAX/VMS TYPE/PAGE command, and typing ^Y or ^C instead of CR at the bottom of a page; may have something to do with trying to write on the 25th line in reverse video... A similar problem was reported by a user typing a command into the EMACS echo area (again, at the bottom of the screen) when a "send" came in. ----- Various other (nonfatal) problems are reported to occur at the bottom of the screen, involving status lines or "wholines", forced scrolling in EMACS, etc. ----- The underscore cursor is not easily visible on a crowded screen. There should be a blinking and/or block cursor, or a cursor-type option. ----- Switching between Mac Kermit and MacTerminal may result in repeated errors if Macterminal closes the serial port. ----- Starting up MacKermit when there is output going to the port can result in an address error. ----- Reportedly, the program can be made to hang getting retries and no packet transmission if an earlier file transfer was terminated using Command-dot. (Since Command-dot doesn't send any notification - e.g. an Error packet - to the remote Kermit, the latter is probably going through its timeout/retry cycle. If you experience this symptom, wait for the remote Kermit to exceed its maximum retries.) ----- Reportedly, if you receive a file (interactive), toggle disk drives and insert a new disk, the program may bomb during initialization (the only reported instance of this occurred using RAM Disk "RamStart" from net.sources.mac.) ----- The responses to REMOTE commands come in the small SHOW RESPONSE window. The window might need to be stretched in order to view the entire width of the response (this may not be obvious to the user). ----- The SHOW RESPONSE window accumulates everything that has been sent to it; you can always scroll back to the beginning. That's nice, but there's no way to make space when it fills up. And when it does fill up, it will probably crash the program. ----- Reportedly, the lower right corner of the SHOW RESPONSE window is "dead"; clicking on it will not bring the window to the front. ----- Reportedly, the Mac will hang if the ScreenSaver DA blanks the screen during a file transfer. Not clear whether fault is Kermit's or ScreenSaver's. ----- Reportedly, the TRANSFER command will crash the Mac with error ID = 26 when used to launch an application from a different disk. ----- The VT102 emulator may overflow after a few screens of continuous scrolling at 9600 baud. ----- For those who want to map the CAPS LOCK key to CTRL, but don't want to alter the keyboard as described in the manual, but still want to inhibit the locking function, the following suggestion is offered by Maurice Matiz of Columbia: Pry off the key using a small screwdriver. There is a spring whose end goes through the plastic support. Stick a very small wad of paper or soft putty between the tip and the bottom of the keyboard. This will prevent the key from depressing all the way and locking, but still allow contact of the key. Eventually, the paper will work loose and you will need to find it and repeat the procedure. ----- When sending files in TEXT mode, Mac Kermit does not strip the high order bit. This would not normally be a problem, since text files aren't supposed to have high-order bits anyway, but reportedly some applications (like MacWrite) leave a few high bits on even when you instruct them to save "text only". ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~THINGS TO DO~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Fix bugs listed above. ----- The following changes should help the terminal emulator keep up with continuous input from the port at 9600 baud (or higher): . Use arithmetic instead of calling the routines fndrel, fndprev, and fndabs. . Zeroline could be improved by using a blockmove, or munger. . Tabs could be improved by using an array, indexed by current position which results in the count of spaces until the next stop. This would cost MAXCOL*(sizeof short) but that's not much. Since no matter what we do will probably be insufficient we should allow the user to set a parameter saying whether to use XON/XOFF. After all, the VT100 can't keep up either, it just XOFFs the host. As long as we can guarantee that we can handle one screen's worth we won't have any problems from EMACS and other non-scrolling full screen applications. ----- SFGetFile should be called with the numTypes argument equal to -1 instead of, it zero; apparently 0 doesn't find all files (check this). ----- The Close box at the left of the MacKermit window doesn't do anything; it ought to be left out (define the window with the NoGoAway attribute). ----- Test line insert/delete in the terminal emulator and fix if necessary. ----- Make the program as small as possible by compressing anything you can get your hands on! It must always be able to run on a 128 K Mac. ----- Make the autowrap setting on the communications menu work. ----- Many system calls do not check the error codes. This could be a problem. Look especially in ckmfio.c and ckmtio.c. ~~~~~~~~~~~~~~~~~~~~~~~~~~~~SUGGESTIONS~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~ Translate to a native Macintosh C compiler (which one is best?). Preferably do it in such a way that it can be easily ported to other compilers, and still built by SUMACC. This is desirable not only so that people without VAX Unix systems can work on the program, but also because SUMACC does not generate segmented code, which imposes a strict limitation on the size of the program, preventing the addition of many desirable features, like the ones below. (On the other hand, segmented code means lots of disk accesses...) ----- Include the ability to log a terminal session to a file (save lines scrolled off top, and/or save screen, cut and paste, etc). Similarly for transmitting raw text (a la MacTerminal pasting onto the screen). ----- When a file of type RSRC is downloaded add it to the "Launch" menu. ----- Allow both ports. Also allow two windows open at once, one for each port. ----- Add the ability to clear the screen from a menu. ----- Allow cutting and pasting in the remote response window, or at least a way to reclaim the memory it's using. ----- Add missing VT100/102 functions. ----- Add some kind of login script facility. ----- [End of CKMKER.BWR]