home *** CD-ROM | disk | FTP | other *** search
- File KERMIT.BWR MS-DOS KERMIT 3.0 "BEWARE FILE" January 1990
-
- Last update: Wed Jan 24 19:30:31 1990
-
- This file lists limitations, restrictions, and known bugs in MS-DOS Kermit
- version 3.0. Also see KERMIT.UPD for a list of new features of version 3.0
- and incompatibilities with older releases.
-
- The user manual for MS-DOS Kermit 3.0 is "Using MS-DOS Kermit", by Christine
- M. Gianone, published by Digital Press, Bedford, MA, 1990, order number
- EY-C204E-DP. Call 1-800-343-8321 (toll free, USA) to order. The technical
- reference by Professor Joe R. Doupnik is in preparation.
-
- MS-DOS Kermit 3.0 has been successfully tested with PC-DOS 2.0, 3.0, 3.30, and
- 4.0 on a wide variety of IBM PCs, XTs, PC/ATs, Portable PCs, PS/2s, and
- compatibles. DOS 2.0 or later is required, plus at least 130-140K of free
- memory.
-
- LIMITATIONS AND RESTRICTIONS OF MS-DOS KERMIT
-
- On IBM PCs and PS/2s with IBM asynchronous adapters, Kermit can be used at
- speeds up to 57600 bps. For 115200 bps to work, a very short shielded cable is
- required, and the async adapters of the two machines must be in perfect tune.
- It's an electrical affair, not one of programming.
-
- Although high speeds can be used for file transfer, the maximum speed for VT
- and Tektronix terminal emulation depends upon the model of your PC. For
- original PCs and PC/XTs, it is 9600 bps. For PC/ATs and PS/2s, it is
- generally 19200, perhaps 38400 for the faster 386-based models. If your speed
- is set too high for your PC model, the symptom will be lost or garbled
- characters (or graphics images) on the screen.
-
- MS-DOS Kermit does not attempt to monitor the communication line for carrier
- loss during terminal emulation or file transfer (but you can SHOW MODEM or
- SHOW COMMUNICATIONS to inquire about CD, DSR, and CTS). The absence of
- carrier monitoring is a design decision. Interactive users will notice when
- carrier drops, and timeouts will catch the situation during file transfer or
- script execution. The script command WAIT permits sensing carrier presence
- while doing scripts or macros. The benefits are not having to wire a direct
- RS-232 connection to simulate a modem's carrier being present, and being able
- to talk to the local modem before carrier is detected from the other modem.
-
- The SHOW MODEM and WAIT commands will work right only if your modem or other
- communication device is configured to raise and lower the DSR, CTS, and CD
- signals appropriately, and the cable that connects your PC to the modem passes
- these signals through. For some modems, the factory setting is to always keep
- CD on, even if there is no connection. Consult your modem manual.
-
- For RS-232 devices, the HANGUP command (and Ctrl-]H in CONNECT mode) will work
- only if the cable that connects your PC to the communication device passes the
- DTR signal through, and if the communication device itself is configured to
- hang up or otherwise terminate the connection when the DTR signal is lowered
- by the PC. For some modems, the factory setting is to ignore DTR transitions.
- Consult your modem manual.
-
- MS-DOS Kermit will not necessarily work with all brands of internal modems,
- particularly some of the built-in ones that come with laptop PCs from various
- makers. If you cannot communicate satisfactorily through such a modem, give
- the command SET PORT BIOSx (where x is 1, 2, 3, or 4, corresponding to whether
- the modem is COM1, COM2, COM3, or COM4) and try again. Kermit does work with
- most popular brands of internal modem (such as the Hayes Smartmodem 1200B and
- 2400B), and with all known external modems, both direct-connect and acoustic.
-
- Kermit does not work properly with revision C of the built-in modem in the
- Toshiba T1600 laptop computer, due to an idiosyncracy of this modem. The
- symptom is that the connection drops when you escape back from connect mode,
- at which point Kermit turns off interrupts. The modem misinterprets this as a
- command to hang up the phone and turn itself off. Revision F of this modem
- does not have this problem. Note: This problem occurs with the "built-in"
- modem, not the "internal" modem (these are two different devices).
-
- The IBM PC implementation of VT300/100 emulation has several restrictions: no
- smooth scroll, no ENQ/Answerback, no setup screen (use SET TERMINAL commands
- instead), no split speeds. Double height/width characters are simulated.
-
- In addition, the VT320/340 emulator lacks the following functions of the
- corresponding real terminals:
-
- . Down loadable soft fonts
- . ReGis graphics (VT340/330)
- . Dual sessions in split screens (VT340/330)
- . Local screen editing and block transmission (for security reasons)
- . Answerback (also for security reasons)
- . Selective erasure (as a character attribute, a formatted screen item)
- . And many of the exotic and rarely known features of the DEC VT340/330
- series: mostly formatted screen and graphics operations highly specialized
- to DEC hardware.
-
- When you type the escape character (normally Ctrl-]) while in Tektronix
- graphics mode, the screen goes back to text memory. Then when you type the
- argument character, the graphics screen reappears (unless the argument was C
- or P). Ctrl-]F will not file the graphics screen, but rather the text screen,
- because that's the screen that's showing after type the Ctrl-] key. To file
- the graphics screen (in TIFF format), use Ctrl-End (which has the Kermit verb
- \Kdump assigned to it by default).
-
- When printing a graphics screen to a black-and-white printer, make sure
- your graphics image has a black background. Otherwise you are likely to
- get a solid black printout, since most graphics printer drivers print a
- black dot for every dot that's illuminated on the screen.
-
- If your display adapter lacks sufficient memory (as do CGA and the early 64K
- EGA boards), then when you toggle away from a graphics screen, or type the
- connect-mode escape character (Ctrl-]), the graphics image will be lost.
- Furthermore, certain graphics images may be overlaid with vertical stripes on
- small (64K) EGA systems.
-
- In VT100/300 emulation on the IBM family, receipt of the ESC [ 4 m (turn on
- underscore) command results in reverse video rather than underscore on IBM CGA,
- EGA and other color monitors. This was done to avoid showing underscoring
- as the IBM specification of non-bold blue on black.
-
- If a file is sent to the PC, and MS-DOS Kermit has SET FILE WARNING OFF
- (meaning, overwrite existing files when incoming files arrive with the same
- name), and the sender reports the file size in an Attribute packet, and this
- size is larger than the available disk space on the PC, then MS-DOS Kermit
- will properly refuse the file, but will also destroy any previously existing
- file of the same name.
-
- SET DEST DISK does not redirect output of REMOTE commands to disk -- they come
- to the screen, by design. Use the ">" output redirection symbol for this, for
- example: "remote dir > files.dir".
-
- The name and password that you specify in SET SERVER LOGIN must be matched
- exactly by the ones in REMOTE LOGIN. Alphabetic case matters.
-
- It can be very difficult sometimes to interrupt execution of a script from the
- keyboard by typing Ctrl-C. Particularly scripts with INPUT commands that have
- long timeouts, within loops, etc. If you think your script needs to be
- manually interrupted at critical points, you can use the following trick:
-
- SET ALARM 3
- ECHO Type something now if you want to quit...\13
- PAUSE 3
- IF NOT ALARM STOP
-
- This works because PAUSE is interruptable by any keyboard input.
-
- The last line of a TAKE command file (or MSKERMIT.INI) must end with a
- carriage-return/linefeed sequence (like all the other lines in the file), or
- it might not be processed by the program.
-
- Commands in TAKE-files or MSKERMIT.INI can be continued by including "-" as
- the last character on the line, but NOT if the line ends with a trailing
- comment. In other words, you can't have a trailing comment on a continued
- line. If you need to end a line with a dash, but this dash is to be part of
- the command rather than a continuation symbol, then use \45 instead or put a
- comment AFTER the dash.
-
- Trailing comments can be used only in command files. All text starting with
- the first semicolon through the end of line is ignored. If you need to include
- an actual semicolon in a command, precede with a backslash (\;).
-
- If you need to include a question mark in a command file, use \63. A literal
- question mark will cause a help message to appear on your screen.
-
- There may be translation errors in the VT320 emulator for international
- characters entered at the keyboard or received from the host when the terminal
- character set is LATIN1 (none are currently known). If you encounter a
- mistranslated character, or you want to change one of Kermit's proper
- translations, use the SET KEY and SET TRANSLATE INPUT commands. For example:
-
- SET KEY \199 \195 ; Make key scan code 199 send code 195
- SET TRANSL INP \195 \199 ; Translate arriving 195 code to 199
-
- REMOTE TYPE and other REMOTE commands may result in an error "Unable to open
- CON". This can result from insufficient FILES= in CONFIG.SYS or systems with
- all file handles used by, say, a network shell. FILES= should be at least 20.
-
- Other errors may be introduced by your DOS Environment line COMSPEC=, which
- Kermit uses to find COMMAND.COM in order to execute PUSH, RUN, and other
- commands. This line is set by the SHELL= line in your CONFIG.SYS file. If
- you have a COMSPEC= line, make sure it designates the location and name of
- your DOS command processor. Furthermore, if you have a SHELL= line in your
- AUTOEXEC.BAT, it will result in a SHELL= line in your DOS environment, and
- this will take precedence over your COMSPEC= line, so if you use one of these,
- make sure it is correct too. To examine your DOS environment for COMSPEC=
- and SHELL= lines, type the DOS command SET by itself with no arguments.
-
- Printer support... Transparent printing is started when the host sends the
- sequence ESC [ 4 i, and stops when the host sends ESC [ 5 i. Transparent
- printing passes all characters, including escape sequences, that arrive at the
- port directly to the printer without translation (but strips off the parity
- bit if Kermit's parity is not NONE). Character translation for printing --
- whether done by transparent print, PrintScreen key, logging to PRN, etc -- if
- needed, must be done by the DOS printer driver or other utility outside of
- Kermit.
-
- When using Kermit through a terminal server (particularly those that execute
- the TCP/IP Telnet protocol), it is often necessary to SET PARITY EVEN in order
- to transfer files. It is also often impossible to use very long packets.
- Try SET RECEIVE PACKET-LENGTH 80, working up or down to the longest length
- that works.
-
- MS-DOS Kermit must be assembled with MASM (Microsoft Assembler) 5.0 or later
- (and linked with the accompanying LINK), because the symbol tables are too big
- for earlier MASM versions. (In fact, all modules but MSZIBM.ASM can also be
- assembled by MASM 4.0.) Reportedly, the program can also be built using
- Borland TASM (although several harmless warning messages appear) and TLINK, as
- well as Xenix MASM/DOSLD, and Intel ASM86, but MS-DOS Kermit is designed to be
- built by Microsoft MASM and LINK.
-
- On early (original motherboard & BIOS) PCs, and on systems that mimic them
- (e.g. early Compaqs), the cursor may assume a strange shape upon return from
- CONNECT mode. This is caused by a bug in the early BIOS, which stored cursor
- attributes incorrectly. The PC Tech Journal article discussing the problem is
- "The Dashed Cursor", by Paul Pierce, PC Tech J., Dec. 1985, page 47. He
- suggests the following fix:
- ;
- ; Program FIXCURS.ASM by Paul Pierce, PC Tech Journal, Dec 1985, page 47.
- ;
- code segment public 'code'
- assume cs:code, ds:code, es:nothing
- ;
- ; This program is set up to be made into a COM file
- ;
- org 100H
- ;
- ; First check for the monochrome adapter.
- ;
- start: int 11H ; set ax = equipment flag
- and al,30H ; mask off all but video bits
- cmp al,30H ; test for monochrome adapter
- jne exit ; jump if not monochrome
- ;
- ; Now check for incorrect cursor mode returned from the Bios
- ;
- mov ah,3 ; call bios to get cursor type
- int 10H ;
- cmp cx,0607H ; check for invalid (color) type
- jne exit ; jump if not a bad value
- ;
- ; At this point we know that the monochrome adapter is in use and that
- ; the bios cursor mode is incorrect.
- ; Call the bios to set the cursor type correctly.
- ;
- mov cx,080cH ; use correct cursor type
- mov ah,1 ; call bios to set cursor type
- int 10H
-
- exit: mov ah,0 ; exit back to DOS
- int 21H
-
- code ends
- end start
-
-
- GENERAL WORDS ON DOS VERSUS ANY COMMUNICATIONS PROGRAM
-
- Shift-Printscreen can cause the PC to hang if there is no attached printer.
- This is a BIOS feature, Kermit never receives the command. It occurs most
- frequently with a printer interface that has nothing plugged into it. If this
- happens during terminal emulation, try pressing Alt-= several times to reset
- the terminal.
-
- When used in remote mode, e.g. as a server, a REMOTE HOST command can invoke
- the DOS critical error handler, which issues its familiar "Abort, Ignore,
- Retry?" message on its real screen, and is waiting for a response from its own
- real keyboard, and so the server will no longer respond. Kermit attempts to
- catch many of these errors before DOS learns learns about them, but some
- cannot be avoided (like disk i/o errors).
-
- Interaction between MS-DOS Kermit and various terminate-and-stay-resident
- (TSR) programs is necessarily unpredictable, depending upon how "well behaved"
- they are. Certain console, mouse, or graphics drivers might interfere with
- file transfer, etc. Caution should be used when invoking certain TSR programs
- while PUSHed from Kermit (e.g. using the PRINT command for the first time), as
- not all of these programs observe proper etiquette for allocating and freeing
- memory, and more importantly the TSRs will be loaded above Kermit into the
- middle of memory where they may prevent large programs from loading later.
-
- As a concrete example of the above, certain mouse drivers may prevent Kermit
- from transferring files, and possibly also from recovering from timeouts
- during script execution, or even from XOFF deadlocks during terminal emulation.
- This is because Kermit and the mouse driver are competing for the same
- interrupt, and the mouse driver might not be playing by the rules. Possible
- workarounds include: (1) remove the mouse driver from your CONFIG.SYS file;
- (2) if your mouse driver can be turned off and on (e.g. if you have MOUSE
- OFF and MOUSE ON commands), turn the mouse off during Kermit execution; (3)
- give the MS-DOS Kermit command SET TIMER OFF.
-
- If TSR programs are interfering with Kermit (by taking over the timer or
- serial port interrupts), you should remove them all from your AUTOEXEC.BAT
- or CONFIG.SYS files, and then put them back one by one until you have
- identified the one that's causing the problem. Don't run this one while
- running Kermit.
-
- MS-DOS Kermit may be run as an external protocol by other programs, such as
- BBS systems. Kermit restores the interrupt vectors properly, and leaves
- communication port interrupts turned off, as it should. It is the
- responsibility of the invoking program to turn them back on if necessary.
-
- Some PCs have more than two serial ports, but until recently there has been no
- standard about addresses for COM3 and COM4. PC DOS 3.30 does not assign them
- either because it is really a problem of the system ROM Bios boot code run
- when the power is turned on. However, Kermit will use COM3 and/or COM4 if the
- base address of a port is placed in low memory words 40:4H (COM3) or 40:6H
- (COM4); the tests described above are then carried out. One restriction is
- that the Interrupt ReQuest number (IRQ in the serial port board manual) must
- be either IRQ4 or IRQ3. Kermit attempts to locate which line is correct with
- a short test. If the test is not successful it uses the IRQ4 for COM3 (and
- for COM1) and IRQ3 for COM4 (and for COM2) on the PC/AT, and on the PS/2 it
- uses IRQ3 for COM2, COM3, and COM4. Check your communication board and its
- manual. The DOS utility DEBUG can be used to create a short program to insert
- the board's addresses into the segment 40H memory locations; a sample program
- is given below.
-
- IBM PC/XT/AT and PS/2 Serial Port Numbers:
-
- Serial Port Address IRQ Line Conventions
- COM1 03F8H 4 IBM standard
- COM2 02F8H 3 IBM standard
- COM3 ? 4 (3 for PS/2) Board
- COM4 ? 3 Board
-
- The addresses shown as query marks are to be found in the board's reference
- manual; values such as 2E8H and 2E0H would be common. However, there is no
- standard for anything to do with COM3 and COM4 on non-PS/2's.
-
- Assuming that you have selected an address in harmony with the rest of the
- system, set the board's switches or jumpers, and use DEBUG to insert the
- address(es) in segment 40H memory. The example below creates a small program
- named SETCOM3.COM to put address 02E8H into the memory word 40:04H for COM3
- and writes the program to drive A. Substitute the desired drive letter for
- "a:" in the second line below. The dash (-) is DEBUG's command prompt,
- and the xxxx:nnnn lines are addresses for which DEBUG prompts you to type
- an instruction, such as "mov ax, 40".
-
- A> DEBUG don't type these comments
- -n a:setcom3.com sets name of output file
- -a assemble command
- xxxx:0100 mov ax,40 value 40h
- xxxx:0103 mov es,ax put it into register es
- xxxx:0105 mov ah,02 the 02 part of 02E8H
- xxxx:0107 mov al,e8 the E8 part of same
- xxxx:0109 es:
- xxxx:010A mov [4],ax store in 40:4 for com3 ([6] for com4)
- xxxx:010D int 20 return to DOS
- xxxx:010F blank line to end assemble mode
- -r cx show contents of register cx
- CX 0000
- : 0f set register cx to write 0fh bytes
- -w write material to the disk file
- -q quit debug
- A> DEBUG setcom3.com
- -u unassemble to see if all is well
- -q quit debug
-
- Note, for COM4, use [6] above rather than [4], and of course employ your
- board's port address in place of 02E8H (check the manual). Finally, try it:
-
- A> setcom3 run the program
- A> DEBUG now see what's down there
- -d 40:00 display bytes in seg 40H
- ( Shows many bytes. See yours? Good. )
- -q
- A>
-
- A small side effect noted in practice is the first time the extra port is used
- there may be garbage from it. Just return to the Kermit prompt and try again,
- if necessary SET PORT to the other COM lines momentarily, all should be well
- the second time.
-
-
- KNOWN BUGS IN MS-DOS KERMIT VERSION 3.0
-
- SET EOF CTRL-Z, when used to upload text files which actually contain Ctrl-Zs,
- might result in gaps or truncation in the vicinity of the Ctrl-Z. This is
- an artifact of DOS file i/o.
-
- The graphics display on the PS/2 Model 30, whose graphics adapter is neither
- a real EGA nor a real VGA, is elongated vertically so that certain normal
- Tektronix graphics images might not fit on the screen.
-
- Reportedly, MS-DOS Kermit 3.0 sometimes loses certain terminal settings, such
- as WRAP or tab settings. This might be caused by Kermit's new ability to
- accept VT300 8-bit control sequences when connected to a system that sends
- parity, and you have given the command SET DISPLAY 8 (which should not
- normally be done). To restore default tab settings quickly, use the command
- SET TERM TABS AT 1:8.
-
- Some users have reported extended waits if they use a network connection and
- have said MODE COM1:speed,n,8,1,P. The trailing P means "Printer", telling
- DOS to do very lengthy retries, and if DOS gets control of the port it may do
- just that. Suggested alternative is to remove the ",P" above. Recall, SHOW
- commands that need information about a serial port may activate COMx unless
- another port has been selected.
-
- Reportedly, Kermit does not operate properly on a PS/2 Model 25 under DesqView.
- Further reports welcome.
-
- Reportedly, Kermit receives a file access error when attempting to write files
- on a PC-NFS file server. Further information is needed.
-
- -------------------------------------------------------------------------
- ADDITIONS TO THIS FILE AFTER VERSION 3.0 WAS RELEASED ON JANUARY 16, 1990:
-
- The non-IBM-compatible versions of MS-DOS Kermit 3.0 are not done yet. Some
- (DEC Rainbow, Heath/Zenith-100, HP, GRiD) are currently in preparation and
- will be announced when they are ready. Volunteers are needed for the others
- (Victor, Sanyo, TI, NEC, etc). In the meantime, the new mss*.* source files
- are incompatible with the old msu, msg, msx, msy, and msz system-dependent
- source files for the non-IBM systems.
-
- Characters that arrive during terminal emulation that are translated by the
- SET TRANSLATE INPUT mechanism bypass the current shift-in/shift-out state.
- This means that SET TRANSLATE INPUT cannot be used successfully with an
- 8-bit terminal character set in a 7-bit communication environment.
-
- The MSKERMIT.INI file on the distribution diskette contains two errors:
- 1. In ERRSTP definition, "\%\13" should be changed to "\%1\13".
- 2. In COPY definition, second "if < argc 2" should be "if < argc 3".
- These errors are fixed in the online copy.
-
- When using version 3.0 in terminal mode with a DEC operating system (like
- VAX/VMS) that knows your terminal type is VT320, you should SET DISPLAY 8 in
- order for Kermit to properly process 8-bit graphic and control characters
- which certain applications (such as Word-11 and EVE) will send.
-
- RTS/CTS half-duplex hardware handshaking does not work in all circumstances.
-
- Reportedly, Wyse big screens have problems in Tek mode.
-
- Version 3.00 hangs when run on AT&T 6300 PCs running MS-DOS (not PC-DOS)
- 3.10. This can be fixed using a DEBUG patch listed in MSVIBM.DBG.
-
- Reportedly the "LEDs" in the mode line don't work during VT320 emulation,
- but they continue to work in VT102 emulation.
-
- Orchid Designer Professional VGA board doesn't work in 132-column mode. This
- is because this board has the same signature (video mode) as the earlier,
- incompatible model (Orchid Designer), and Kermit can't tell the difference
- between the two.
-
- Although Kermit does not handle REGIS graphics, there is reportedly at least
- one REGIS-to-sixel converter on the market: RETOS, a DEC product for VAX/VMS.
-
- So that key translation and macros can work on both IBM and non-IBM compatible
- PCs, Kermit uses the system BIOS to obtain key scan codes. But the IBM BIOS
- does not produce scan codes for certain keys, notably Num Lock.
- Unfortunately, Num Lock happens to be exactly where you would want to put the
- DEC PF1 (Gold) key for DEC VT keypad-oriented applications.
-
- SET LO is no longer a sufficient abbreviation for SET LOCAL-ECHO. Use SET LOC.
-
- Reportedly, scrolling does not work correctly on the Zenith 386SX PC (also
- said to be true of earlier versions of Kermit). Most likely a problem with
- this machine's video BIOS.
-
- Defining a session log using a macro does not work properly: if you
- DEFINE XXX LOG SESSION X.LOG, then XXX results in a transaction log rather
- than a session log, and to add to the confusion, SHOW LOG reports that a
- packet log named X.LOG is in use. The same bug happens with LOG PACKETS.
-
- A real VT300 series terminal prints received Ctrl-Z characters as big reversed
- question marks, but Kermit does not print anything for this character. This
- can cause alignment problems when editing files using TPU on VAX/VMS, etc.
-
- CD command displays the new directory. Version 2.32/A didn't do this. This
- behavior can be annoying in script or TAKE file execution.
-
- Reportedly, the Norwegian/Danish NRC terminal character set mistranslates
- capital O-slash (the replacement for ASCII \) as small o-slash (ASCII |) under
- code page 865.
-
- If you SET PORT DECNET, the maximum length of a Kermit command is reduced to
- seventeen characters. Temporary workaround: After giving the command SET
- PORT DECNET, make sure the next command is 17 characters or less. After that,
- everything is back to normal.
-
- Reportedly on the NESS-286, NESS-88, and Olivetti M24 PCs, it is necessary to
- type Ctrl-Break after escaping back from terminal mode with Alt-X in order to
- get the MS-Kermit> prompt. Furthermore, the NESS-88 cannot reconnect after
- escaping back (this is said to be caused by a BIOS bug).
-
- Reportedly, version 3.00 with SET PORT BIOS1 causes Rainbow Software's
- (Edinburgh) PADPORT TSR program to go into a endless loop, whereas 2.32/A and
- earlier did not.
-
- Reportedly, in order for version 3.0 to work properly under DESQview, it must
- be given at least 160K, even with only one screen of rollback memory. If
- insufficient memory is allocated for Kermit under DESQview, garbage will
- appear at the MS-Kermit> prompt upon escaping back from a terminal connection,
- and then Kermit hangs.
-
- Reportedly, Kermit does not work well with the IBM EBIOS Async communication
- server. Many characters are lost.
-
- Limitation (not bug): SET TERMINAL CHARACTER SET is effective only for text
- screens, not for graphics screens. This is because the fonts for all the
- special characters have not been designed yet.
-
- SET TERMINAL COLOR is effective only for text screens. The ANSI coloring
- escape sequences, ESC [ ... m, may be used to control the colors on the
- graphics screen.
-
- The PC hangs upon escaping back from connect mode on a communication port if
- the DOS command MODE COM1:speed,n,8,1,P has previously been given. Solution:
- before using Kermit, give a similar MODE command, but without the P. If you
- find your PC hung in this way, type Ctrl-Break one or more times to get the
- MS-Kermit> prompt back.
-
- End of file KERMIT.BWR.
-