Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 271 skip from one article to the next by searching for the subject line of each message. Since the subject line of each message always appears at the top of the screen, you can keyboard the "n" key quite rapidly without waiting for the display to completely fill. If you overshoot a message or two, the "N" command can be used to back up. You'll be pleasantly surprised at how rapidly you can review message subjects this way. 32.7 Splitting Up Files Sometimes it becomes necessary to split up a large file into smaller files, or to extract small pieces from such a file. For example, Daisy Wheel printers sometimes jam the paper halfway through printing a file. Rather than reprint the entire file, use ZCOMM's open and seek commands to locate the beginning of the desired segment, then read it into the circular buffer with the read command. Then hit F2 for review, place the top line on the first line desired, and type "t". If the desired segment fits within the circular buffer, use the "b" subcommand followed by a "w" subcommand to write the segment to disk. If the segment is too large, use the "w" subcommand without a "b" subcommand to write the entire buffer beginning at the location of the "t" command. Then kill the buffer with the "k" subcommand, returning to ZCOMM's command prompt. Another read command can be given to get the next segment of the file into the buffer. At this point, you can enter review as before to store another segment. Alternatively, you can use the create command to open a receive capture file, then write the buffer contents to it with a w command. Then use kill to clear the buffer, and repeat this cycle until the end of the file is reached. 32.8 Refresher Courses After you've read the manual and used ZCOMM for a while, go back and skim the manual again. You will grok new concepts that were so obscure the first time you didn't know you missed them. 32.9 PC <--> Macintosh File Transfers I do transfers between IBM PC type machines to a Fat Mac and Mac Plus (one upgraded to the other) all the time. I discovered the Macintosh's RS-422 port does not have enough signals coming out of it to properly drive the IBM PC RS-232 serial port without an adapter. So, get two female DB-25 connectors. On the PC side, tie pins 4-5 together, and tie 6-8-20 together. This insures that the PC sees CTS, DSR and RLSD/DCD so your IBM comm program will see them. I prefer using the comm port on the Mac because you can go up to 56 kilobits/sec on it (I use ProYAM on the PC and Microphone on the Mac, (C) 1990 Omen Tech Inc Chapter 32 Hints and Kinks Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 272 which offers 38400 bit per second transfer capability with no errors). Between the two connectors, connect 7 to 7, 3 to 2, and 2 to 3. If you prefer to use the printer cable, connect 7 to 7, 2 to 2, and 3 to 3. Edited from a message by Stephen Satchell, Satchell Evaluations (used with permission) 32.10 Acoustic Coupler for Portables Having a portable computer with a direct-connect internal modem is really great - until you try to use it at a pay phone in the airport. The modular jack does not connect to public telephones. I found one device that overcomes this problem (and it needs to be advertized more). It is the acoustic adapter that 3M sells with their WhisperWriter portable terminals. Model 1490 acoustic coupler connects the 3M teleprinter to public phone lines through a telephone handset. It is recommended for applications where direct connection to phone lines is either not practical or not desirable. The device consists of a pair of rubber cups, a modular jack, and a battery powered audio amplifier set. You simply run a 3-foot modular line from it to your PC, and put the pay telephone's handset in it. Price is less than $80, it works with 300 and 1200 baud internal modems, and should work at 2400. In the Silcon Valley, the distributer is 3M Data Systems (408)866- 8811. This information comes via Usenet from Joe Smith at SU-SCORE. (C) 1990 Omen Tech Inc Chapter 32 Bugs Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 273 33. BUGS Repeating Subpatterns in String Searches In the pattern n string command, if string contains a repeating sequence such as foo in foofoobar, the search may be unsuccessful if part of the phrase is received immediately prior to the desired string (foofoofoobar). Line Printer Operation PC-DOS does not supply a function to poll the line printer status. Such a function is necessary for ZCOMM to buffer the printer without losing data. ZCOMM gets around this problem by using the IBM BIOS int 17h printer call, which does support a printer status check. This limits printer operation to those that are supported by the BIOS interrupt 17 call. Term Function Status Line When in the term function, a status line is displayed with certain information. Sustained high data rates (much higher than 1200 bps), will prevent this line from being updated in real time. DOS Keys The Ctrl-NumLock key should not be used on-line as data could be lost. The Shift-PrtSc key (screen print) may cause loss of data at high speeds. Ctrl-Break If this key is used in ZCOMM, DOS may, for some random reason, print ^C when ZCOMM exits. This isn't the worst bug in DOS by a long shot, but knowledge is power ... BREAK ON This DOS command causes ^C to be intercepted by DOS at various, sometimes awkward, times. BREAK ON must be used with extreme caution as interrupting most programs with ^C compromises the integrity of the file system. If a program is interrupted by ^C or Ctrl-Break, the file system should be immediately checked with CHKDSK. In some cases it may be necessary to reboot DOS with Ctrl- Alt-Del if DOS runs out of file descriptors. A synonym for BREAK ON might be NUKE FILESYSTEM ON. Someday MicroSoft may discover what to do with ^C (DEC figured it out about two decades ago). In the meantime, we recommend you not use it. When ZCOMM starts up, it stores the status of the BREAK ON flag, then clears it. On Exit, or when calling a DOS program, ZCOMM restores the BREAK ON flag to its previous state. ALT-2 From Term Function The 7 option should not be used as part of a r or s command given from the term function via the ALT-2 key. Chromablizzard If you get "daggers" or other noise on the CRT screen while ZCOMM is in operation, check the video display modes. Try changing them with the display command. A moderate amount of Chromablizzard may still appear under some conditions with unsophisticated color graphics boards. (C) 1990 Omen Tech Inc Chapter 33 Bugs Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 274 Decrypting SQueezed files When ZCOMM unsqueezes an encrypted SQueezed file, the contents of the key file are stored in the circular buffer. Any wanted information in the circular buffer should be saved to disk before encrypted SQueezed files are decrypted and unsqueezed. Timing Parameters The values associated with the a and t (when < 0) numeric parameters vary according to the processing speed of the computer. ZCOMM initializes these parameters to suitable defaults for the IBM PC, PC-jr, and PC-AT computers. Scripts that set these values will need to be adjusted when run on computer types other than the type the script was developed for. Transition to a different type of operating system (e.g., Xenix) also requires adjustment in these values. Zenith Computers Some Zenith computers may need a ROM update to work properly with interrupt driven programs such as ZCOMM. (C) 1990 Omen Tech Inc Chapter 33 Hardware Compatability Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 275 34. HARDWARE/SOFTWARE COMPATABILITY 34.1 Hardware Compatibility Notes IBM PS/2 Model 50Z Early samples of this machine have a design error on the motherboard that causes comms programs to lock up the machine. Replacing the motherboard with a correctly functioning unit from current production corrects the problem. The part number of the replacement PS2/50 Z motherboard is 35F5928. (Information provided by John M. Choma 73047,3566) In the U.S. IBM has stonewalled on this issue, but in December 1988 agreed to replace the defective motherboards under warranty. NEC Multispeed The NEC Multispeed computer locks up unless STACKS is set in CONFIG.SYS. In addition, one should disable floppy disk power save mode, and set popup program memory allocation to 0. For best results, use the latest NEC software patches to the NEC MSDOS, and/or use an IBM PC-DOS instead of the DOS supplied by NEC. EGA/VGA Multimode Boards Some multimode EGA and VGA boards include an "auto select" feature designed to configure the board to various display standards using software trickery. In the case of Paradise VGA and others, this feature causes excessive interrupt latency and loss of data at high speeds. Disabling the auto select on the display board corrects this problem. EGA Wonder The BIOS in the ATI EGA Wonder has been observed to increase interrupt latency to the dismay of 9600 bps operation on an 8 mHz no wait state AT clone. There has also been a report (unexplained) that an EGA board has induced line noise in one instance. Tecmar Graphics Master To use ZCOMM with this display board, give a mode mono command before running ZCOMM. Leading Edge MODEMS and I/O BOARDS Some Leading Edge modems and interface boards use 8250 UART devices that do not respond correctly when the software turns the transmitter interrupts on and off. High performance communications programs such as ZCOMM require properly functioning UART chips, such as the National Semiconductor 16450 or 16550A. 34.2 Brain Damaged UARTS Omen Technology has received reports of problems with buggy 8250 type UART integrated circuits in Leading Edge modem boards, serial port interfaces, and computers. The defective chip logic affects high performance software. Replacing the buggy chip with a newer chip (16450 or NS16550AN) corrects the problem. (C) 1990 Omen Tech Inc Chapter 34 Hardware Compatability Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 276 The UM82450 chip in the Zoom 2400HC also appears to cause problems. Zoom Telephonics advises that this problem is limited to their old model. The old model is inentifiable by an external volume control. The NS16550AN is a pin compatible plug in replacement for 8250 and 16450 serial chips. Omen Technology software enables the FIFO buffer in the NS16550AN to prevents loss of data from poorly written device drivers, TSR programs, etc. The NS16550AN has better electrical characteristics than the older UART chips. 386 and fast 286 machines should use the NS16550AN for best results. Omen Technology software has been written to allow time for the older UART chips to operate. However, there is a limit to how much the software can rearrange chip accesses without resorting to performance robbing wait loops. Some other software is not as forgiving of slow chips. Be sure to ask for the NS16550AN. It is VITAL to get the National Semiconductor "AFN" or "AN" chip. Other vendors' chips won't do. Current Western Digital WD16C550 chips do not function properly at low speeds. As of this writing, the National NS16550AN and NS16550FAN are the only plug compatible chips that are known to work. The Hayes ESP board comes with two serial ports with NS16550A devices. The ESP definitions for COM3 and COM4 agree with the industry standard definitions used by Omen Technology. The following information comes from a number of people: "I have located a small dealer in New York who has the cards with or without the 16550. I believe the price is around $50.00. The company is RJK Consulting and the number is 718-968-9167. The gentleman to speak to is a Mr. RJ Kulman. ... I got this information off the "Interlink" BBS system." Fm: Nick Braak [TRICON] 75156,1254 Fry's - 415-770-FRYS. This is a Silicon Valley electronic department store. Jameco Electronics at 415-592-8097 sells National NS16550AN chips mail order (credit card) in small quantities. Unfortunately, we have received a number of reports that their serial i/o card is now supplied with the infamous WD16C550 soldered in, even when ordered with specific instructions to include 16550AN chips. Microprocessors Unlimited, 24000 South Peoria, Beggs, OK. (918) 267- 4961. The price for the chip is $13.50 plus shipping costs. No minimun purchase is required. Consolidated Computers 4 Shoppers Lane Suite 121 Turnersville, NJ 08012 (609)751-9595(voice) (609)751-3843(bbs) (609)751-3840(fax) (C) 1990 Omen Tech Inc Chapter 34 Hardware Compatability Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 277 Arrow Electronics at 800-932-7769 (516-467-1000). Willies Computer Software Company: 800/835-4832. N.B.: Current Western Digital WD16C550 chips do not function properly at low speeds. This has been confirmed with samples received directly from Western Digital. WD is aware of this problem, but has not informed us of a corrected chip. For what it is worth, I located a source for the NS16550AFN from Hamilton Express (wholesale/mailorder electronics supply house in Orlando, FL). They have plenty in stock and they go for $9.95/chip! Minimum $20 order. The lady I spoke with was Monica and she was quite helpful. I ordered 7 and should get them in the morning. BTW, they have an 800 number: 1-800-332-2367. Mark. -- Mark J. Bailey, N4XHX _______/====X11====_______ USMAIL: 511 Memorial Blvd., Murfreesboro, TN 37129 | JobSoft | VOICE: +1 615 893 0098 | Design & Development Co.| UUCP: ...!uunet!mjbtn!mjb, ...!raider!mjbtn!mjb | Murfreesboro, TN USA | DOMAIN: mjb@mjbtn.JOBSOFT.COM CIS: 76314,160 --------------------------- JDR Microdevices also sells them. They charge $14.95 per chip, but the minimum order's only $10 with them. Toll free order line:800-538-5000. Andy Silverman ---- +--------- --------------+-----------------------------------------+ | Andy Silverman | Internet: asilver@grad1.cis.upenn.edu | | "Grrr." | Compu$erve: 72261,531 Prodigy: JCSB27A | +--------- --------------+-----------------------------------------+ 34.3 Software Compatibility Some programs and device drivers affecting the operation of PC-DOS may interfere with ZCOMM, especially when ZCOMM is operating at high baud rates. Historically, loss and corruption of data have been caused by memory resident programs. Some of these programs increase interrupt latency preventing ZCOMM from reading a character from the UART holding register before the next character comes in on top of it. In other cases, programs do not properly restore the state of the machine when they exit from interrupts. If such a problem is suspected, run ZCOMM without any memory resident programs or special drivers to locate the source of the problem. Once the offending program is identified, a call to the program's vendor may obtain a corrected version. (C) 1990 Omen Tech Inc Chapter 34 Software Compatibility Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 278 The design of memory resident programs is a little known black art. Subtle bugs, non reproducible interactions, and magic combinations are commonplace results of attempts to impose various aspects of multitasking on top of an operating system that was not properly designed to permit such extensions. Omen Technology Inc may be able to help identify these interactions if provided with the source code of the offending programs. Some of the known troublemakers are mentioned below. TOPDOS TOPDOS, ver 2.00i by Frontrunner Development Corp., has caused ZCOMM and other programs to lock up. Disabling TOPDOS restores normal operation. DOS 3.2 DOS 3.2 introduces the concept of a fixed number of interrupt stacks. The default value chosen is not always sufficient, and DOS 3.2 sometimes prints the infamous Internal Stack Failure message and cheerfully halts the computer. Adding the line STACKS=20,128 to the CONFIG.SYS file should correct the problem. Lacking any useful documentation from Microsoft, you may wish to experiment with different values. Extended Memory RAMDISKS Extended Memory electronic disks (ramdisks) require the 80286 chip to switch in and out of protected mode during block transfers. A hardware reset pulse is used to switch back to the "real mode" required for DOS. This causes loss of modem data at high speeds. It may be possible to reduce excessive interrupt latency by reducing the length of protected mode block transfers to 128 or less. In one instance, replacing the ROM BIOS with a newer version increased the maximum transmission speed without losing characters to 9600 bps. This problem has not been observed with expanded memory (Intel/Lotus/AST/etc.) ramdisks. The new generation NS16550AN or 82510 serial interface circuits should be used instead of 8250's for best results at high speed. The NS16550AN allows extended memory operation at a communications speed of 115200 bps compared to 9600 bps for the 8250 and 16450. Disk Drivers Disk drivers, especially hard disk drivers for 80286 machines, lock out interrupts for varying periods of time. The actual interrupt latency depends on the speed of the computer and the particular BIOS code used. In one case, upgrading to a newer BIOS allowed operation at 38400 bps, compared to 4800 bps previously. Such an improvement is well worth the small ($25 typical) cost of a new set of ROM BIOS chips. DOS 3.x Each new version of PC-DOS adds new features and eats up more of the 8088's meager resources. DOS 3.2 increases interrupt latency (C) 1990 Omen Tech Inc Chapter 34 Software Compatibility Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 279 enough to interfere with ZCOMM's operation at 19200 bps on an IBM PC. If this is a problem, switching to DOS 2.1 will reduce the interrupt latency. Replacing 8250 and 16450 serial interface chips with the new NS16550AN chip allows ZCOMM to operate smoothly at high speeds. FANSI-Console Versions of this program before 1.07 did not maintain the pointer to the active display board in the IBM documented memory location. A DOS mode command may cause ZCOMM to reference the wrong display adapter address. This caused incorrect sync signals and possible damage to certain monitors. Current versions (2.X) increase interrupt latency enough that the serial line drops characters when the keyboard is touched. Seaware Batch Versions of this program has been known to cause loss of data. Spotlight/Lotus Metro This TSR program has been reported to cause ZCOMM to lock up. Pathname Modifiers Programs such as FILEPATH and GLOBALS allow files to be visible in more than one directory at a time. Such programs may interfere with security when ZCOMM is restricted, since that security is based on restricting access to directories. In general, sensitive files should not be made global when ZCOMM is made accessible to outside callers. ZCOMM may not recognize file names generated by such programs unless the program traps the DOS FINDFIRST calls as well as the file open calls. We have received various reports of strange behavior which have been traced to filesystem modifications caused by such programs, including damaged file systems. We recommend such programs be phased out as soon as possible, as they may not operate at all with future versions of DOS or distributed file systems. BRKBOX This program locks out interrupts up to 17 milliseconds while waiting for the vertical retrace. For a communications program, 17 milliseconds is a very long time, and data will be lost at speeds above 300 bps. CGCLOCK Programs such as CGCLOCK.COM use clock interrupts to update a time display on the screen. Some increase interrupt latency so much that ZCOMM cannot respond in time to accept characters from the remote, even at 1200 baud. Concurrent PC-DOS ZCOMM runs under Version 4.1 of Digital Research Concurrent PC-DOS (CPCDOS). The - numeric parameter must be set to 0. The CPCDOS "addmem" command should be used to allocate extra memory if DOS Gateway are to be used. (C) 1990 Omen Tech Inc Chapter 34 Software Compatibility Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 280 ANSI.SYS ZCOMM uses direct keyboard input from the ROM BIOS because the DOS keyboard input calls do not handle Ctrl-BREAK properly. As a side effect, keyboard keys redefined by ANSI.SYS have no effect on ZCOMM's operation. It is possible to program some of the keys to call ZCOMM with arguments. The following file, reassigns ALT-C, ALT-H, and ALT-V to execute the commands shown below. The $ character represents ESCAPE. $[0;46;"cd \tmp";13;"ZCOMM call -200 cbbs-r";13p $[0;35;"ZCOMM call host";13p $[0;47;"cd \tmp";13;"ZCOMM call cissig";13p ZCOMM uses the ROM BIOS CRT functions and direct output to the display, bypassing any processing provided by ANSI.SYS. Perhaps someday Microsoft will enhance ANSI.SYS to make it useful for programs like ZCOMM ... PRINT.COM Once the DOS PRINT program is memory resident, file downloads at high speeds (38kb on a PC) suffer from interference, even if a file is not currently being printed. With certain printers, the DOS PRINT command will preempt the running program for several seconds at a time. These "swapouts" can be confusing when you are accessing an interactive application. They may interfere with file transfers, especially if the remote program uses "tight" timing. If this happens, PRINT should be suspended during file transfers. Operation of the PRINT command does not appear to cause loss of data downloaded from timesharing services at 1200 bps, as long as the interruptions last less than ten seconds. Perhaps IBM or Microsoft will someday fix this bug in the DOS PRINT command. PRINT should not be invoked from ZCOMM for the first time as DOS memory allocation will become fragmented. If PRINT or some other spooler is outputting to a serial port using the BIOS INT 14h serial port driver, ZCOMM's "!~subprogram" command will redirect the printer output to the remote and thus should be avoided. SWITCHAR = - ZCOMM will work properly when the switch character is set to "-", allowing Unix style pathnames. The - numeric parameter must be set non zero to allow ZCOMM DOS Gateway to use / to delimit directories. It may be necessary to remove this line from CONFIG.SYS and reboot DOS before using the IBM dump and restore commands. N.B.: DOS 3.0 does not support SWITCHAR in the config.sys file. C'est la vie. A short program, DASH, will set switchar to -. It prevents many oaths. For demanding applications requiring sophistication, power and support not provided by any user supported communications program, Omen (C) 1990 Omen Tech Inc Chapter 34 Software Compatibility Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 281 Technology provides Professional-YAM Integrated Communications Tools. (C) 1990 Omen Tech Inc Chapter 34 Background Operation Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 282 35. BACKGROUND OPERATION ZCOMM and the help processor YHP run under TopView, DESQview, Carousel, and Windows, PC-DOS based multiprogramming systems that support virtual video memory access.[1] These operating environments allow multiple programs to run concurrently on the same computer. Vertical applications can use the high level menus to simplify the customer interface. The default "performance settings" allow nearly full speed file download and scripted data capture from dial-up services when other processes are not accessing the floppy disks. NOTE: Do not run multiple windows with programs accessing the same COMM port. If you wish to run more than one program accessing a specific serial port, close (terminate) the window running each program before opening a window for another program addressing that port.[2] It is not sufficient to merely suspend a comms program, it bust be terminated before another program can access that port without interference. Tell DESQview to use the SPECIFIC port number you are using, and not "Y" to the question: "Uses serial Ports (Y, N, 1, 2)" DOS's file system semantics can cause unexpected results when one program is writing to a file while another program is reading the file. Unlike Unix, data written by a program does not become visible until the file is closed. Program Information parameters: 256k is suggested for ZCOMM. If memory is scarce, ZCOMM can run in about 196k with no DOS Gateway allowed and the circular buffer made smaller with a "set CBSIZE=4000" command given to DOS before starting HK. ZCOMM* and YHP do not write directly to screen, do not access system keyboard buffer, run in the background, use their own colors (optional), accept keyboard typeahead, and the window may close on exit to DOS. ZCOMM cannot be swapped because modem interrupts call ZCOMM directly. __________ 1. BIOS interrupt 10h, ah=0FF and ah=0FE 2. Some programs, such as ProComm, lock two ports at the same time even when using only one port. Such programs will interfere with comms programs running in other windows. (C) 1990 Omen Tech Inc Chapter 35 Background Operation Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 283 35.1 DESQview DESQview 2.0 and 2.25 on 286 and 386 machines provids a congenial environment for ZCOMM. DESQview versions between 2.0 and 2.25 should not be used. The Allow Close Window Command Advanced Option should be set to N, allowing ZCOMM to restore the serial port to a safe configuration when exiting. 35.2 VM According to Marshall Sutherland, Be sure to set IOPL3 mode to YES. 35.3 Microsoft Windows Windows lacks a preemptive scheduler. Other programs can seize the computer for long periods, rendering background communications impossible. When protocol file transfers (especially uploads) fail, run them in the foreground or set the other program to very relaxed timing. Windows 386 is known to disable the 16550A FIFO. (C) 1990 Omen Tech Inc Chapter 35 Crosstalk-XVI Script Conversion Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 284 36. CROSSTALK-XVI SCRIPT CONVERSION This chapter lists Crosstalk-XVI commands and gives the ZCOMM commands, modes, and parameters that perform equivalent or superior functions. ABort Use the abort command. ACcept ZCOMM's security protection is based on DOS directory trees and multiple levels of privilege controlled by passwords. ALarm Use the lput command to send a bell character (\7) to the local "screen". ANswerback Transmission of the answerback string parameter is enabled by the q mode. ASk Use the accept command. ATtention ALT-2 allows a ZCOMM command to be entered from term function. BKsize This command relates to Crosstalk's proprietary protocol. BLankex See blankfill string parameter. BReak ZCOMM uses ALT-B or Ctrl-Break to send a break. A string or command assigned to the Ctrl-Break key supercedes its function in the term function. BYe Use the bye command. CApture Capture is always enabled in ZCOMM. CDir Use the cd command. Unlike Crosstalk, ZCOMM supports full DOS pathnames wherever a file name is expected. CLear Use cls. COmmand In Host Operation, callers type commands directly to ZCOMM. CStat Use ALT-S or the s command for status information not shown by the term function status line. The review function provides flexible buffer searching commands. CWait See the t mode and t numeric parameter. DAta Use the 7e, 7o, 7s, 7m, 8, 8n, 8e, or 8o mode. DEbug Use v or vv mode. This may be toggled with ALT-V from the term function. In addition, ZCOMM's v numeric parameter helps debug (C) 1990 Omen Tech Inc Chapter 36 Crosstalk-XVI Script Conversion Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 285 scripts. DIr Use one of the dir commands. Arguments correspond to DOS usage. DNames The maximum number of names in a directory expansion is controlled by the optional DOS DIRSIZE environment variable. Large directories slow DOS and should be avoided. The DOS tree structure allows files to be logically grouped into directories. ZCOMM fully supports the DOS tree structure. DO See the call, source, and gosub commands. DPrefix See the mprefix and mcommand string parameters. DRive Use "D:" to select a drive. DSuffix See the msuffix string parameter. DUplex Use h or H modes. ALT-H toggles the half duplex modes from the term function. Also see the chat command. EMulate See the display command and the A mode. Function keys may be defined with the set command. ERase Use kill to clear the buffer, del to delete a file, browse to browse (and selectively delete) multiple files. FIlter See the i, s, and S modes. FKeys See the set, reskeys, and keys commands. GO To dial a phone number, type the number directly, or use a call command. call -n allows up to n retries at intervals set by the i numeric parameter. ZCOMM does not need a special command to work with a direct RS-232 connection. HElp Use the help command. IF See the ZCOMM if command and the i test condition. INfilter See the i, s, and S modes. JUmp Use goto label. LAbel Labels are denoted with a colon (:). LFauto See a mode, chat command. LIst Use the s command. (C) 1990 Omen Tech Inc Chapter 36 Crosstalk-XVI Script Conversion Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 286 LOad Equivalent to the source or gosub commands. Since ZCOMM does not load the script file into memory, there is no limit to the length of script files. LWait See the p, r, w, P modes. MEssage Use the echo or lput command. MOde See the manual chapter on Host Operation. NAme The name of the called location is taken from the telephone directory entry name. NO This ia an internal Crosstalk command. NUmber The phone number is itself given as a command, either directly or as part of a script or telephone directory entry. OUtfilter See the r mode. PArity Use the 7e, 7o, 7s, 7m, 8, 8n, 8e, or 8o mode. PIcture Use ALT-Z to store a complete picture of the screen (including attributes) at ANY time. POrt Use the POrt command. PRinter Use the l mode, or toggle with ALT-L from the term function. ZCOMM buffers the printer to prevent loss of data. PWord See the password and unrestrict string parameters. QUit Use the off command. ZCOMM writes the circular buffer to the receive file if one is open before exiting to DOS, but does not complain if none is open. RCve Crosstalk internal command. REply Use the put or mput command depending on timing considerations. RQuest The ZMODEM, YMODEM and Kermit batch transfer protocols supported by ZCOMM use filenames specified to the sending program. RWind Use a goto command to a label near the beginning of the script. SAve ZCOMM does not use "command files" in the sense that Crosstalk does. The few operating parameters that ZCOMM needs set for interactive operation can be expressed conveniently in one line telephone directory entries. (C) 1990 Omen Tech Inc Chapter 36 Crosstalk-XVI Script Conversion Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 287 SBreak Use the break command. SEnd Use the f command SKip Use the goto command. SNapshot Use ZCOMM's review function review past output from the remote. SPeed ZCOMM's speed command accepts all possible speeds from 75 to 38400. The whole number must be entered. STop Use an odd speed or 110 to force two stop bits. SWitch Use F1 to exit the term function back to the command prompt, F2 or one of the cursor keys to get from the term function to review. TAbex ZCOMM does not expand tabs on uploaded files. This is one Crosstalk feature for which there is no ZCOMM equivalent. TImer Use the display stat=off command to disable the term function status line. TYpe Use the review function to access the buffer contents. The findm, type, more, and browse/r commands may be used to view disk files. UConly Use the u mode. WAit Echo Use the p mode. Quiet Use the wait command with a suitable timeout. Delay Use the sleep command. Char Use the p command with the g numeric parameter set to the desired character. Prompt Use the p or w mode. String Use the pattern and wait commands. Case is significant. Until Use the if command a condition, alone or with the callout queue. Manual As above. WHen ZCOMM's pattern and wait commands allow development of scripts for unattended operation. (C) 1990 Omen Tech Inc Chapter 36 Crosstalk-XVI Script Conversion Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 288 WRite Equivalent to the w command. XDos Equivalent to ZCOMM's x command. XMit This uses Crosstalk's proprietary protocol. With ZMODEM, one can use sz on the local system to send files automatically. Otherwise, use rb in the remote system, sb on the local system. (C) 1990 Omen Tech Inc Chapter 36 ASCII Code Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 289 37. 1968 ASCII CODE X3.64 Dec Oct Hex EBCDIC 0/0 000 000 00 00 NUL ^@ Null, Ctrl-@ 0/1 001 001 01 01 SOH ^A Start of Header 0/2 002 002 02 02 STX ^B Start of Text 0/3 003 003 03 03 ETX ^C End of Text 0/4 004 004 04 37 EOT ^D End of Transmission 0/5 005 005 05 2D ENQ ^E Enquire, WRU 0/6 006 006 06 2E ACK ^F HEREIS 0/7 007 007 07 2F BEL ^G Bell 0/8 008 010 08 16 BS ^H Backspace, \b 0/9 009 011 09 05 HT ^I TAB, \t 0/10 010 012 0A 25 LF ^J Newline, NL, \n 0/11 011 013 0B 0B VT ^K Vertical Tab 0/12 012 014 0C 0C FF ^L Form Feed, \f 0/13 013 015 0D 0D CR ^M Return, \r, 0/14 014 016 0E 0E SO ^N Shift Out 0/15 015 017 0F 0F SI ^O Shift in 1/0 016 020 10 10 DLE ^P 1/1 017 021 11 11 DC1 ^Q XON, Start Reader 1/2 018 022 12 12 DC2 ^R DC2, Tape Punch ON 1/3 019 023 13 13 DC3 ^S XOFF, Stop Reader 1/4 020 024 14 3C DC4 ^T DC4, Tape Punch OFF 1/5 021 025 15 3D NAK ^U Nak 1/6 022 026 16 32 SYN ^V Sync 1/7 023 027 17 26 ETB ^W End of Tape Block 1/8 024 030 18 18 CAN ^X Cancel 1/9 025 031 19 19 EM ^Y End of Medium 1/10 026 032 1A 3F SUB ^Z CP/M End of File 1/11 027 033 1B 27 ESC ^[ Escape, \E 1/12 028 034 1C 1C FS ^\ File Separator 1/13 029 035 1D 1D GS ^] Group Separator 1/14 030 036 1E 1E RS ^^ Record Separator 1/15 031 037 1F 1F US ^_ Unit Separator (C) 1990 Omen Tech Inc Chapter 37 ASCII Code Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 290 X3.64 Dec Oct Hex EBCDIC 2/0 032 040 20 40 SP Space 2/1 033 041 21 5A ! Bang, exclamation mark 2/2 034 042 22 7F " Double Quote 2/3 035 043 23 7B # 2/4 036 044 24 5B $ 2/5 037 045 25 6C % 2/6 038 046 26 50 & 2/7 039 047 27 7D ' Apostrophe, Single Quote 2/8 040 050 28 4D ( 2/9 041 051 29 5D ) 2/10 042 052 2A 5C * Splat, Star, Nathan 2/11 043 053 2B 4E + 2/12 044 054 2C 6B , Comma 2/13 045 055 2D 60 - 2/14 046 056 2E 4B . Period 2/15 047 057 2F 61 / Slash, Stroke 3/0 048 060 30 F0 0 3/1 049 061 31 F1 1 3/2 050 062 32 F2 2 3/3 051 063 33 F3 3 3/4 052 064 34 F4 4 3/5 053 065 35 F5 5 3/6 054 066 36 F6 6 3/7 055 067 37 F7 7 3/8 056 070 38 F8 8 3/9 057 071 39 F9 9 3/10 058 072 3A 7A : 3/11 059 073 3B 5E ; 3/12 060 074 3C 4C < 3/13 061 075 3D 7E = 3/14 062 076 3E 6E > 3/15 063 077 3F 6F ? Question Mark, Query (C) 1990 Omen Tech Inc Chapter 37 ASCII Code Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 291 X3.64 Dec Oct Hex EBCDIC 4/0 064 100 40 7C @ Commercial AT 4/1 065 101 41 C1 A 4/2 066 102 42 C2 B 4/3 067 103 43 C3 C 4/4 068 104 44 C4 D 4/5 069 105 45 C5 E 4/6 070 106 46 C6 F 4/7 071 107 47 C7 G 4/8 072 110 48 C8 H 4/9 073 111 49 C9 I 4/10 074 112 4A D1 J 4/11 075 113 4B D2 K 4/12 076 114 4C D3 L 4/13 077 115 4D D4 M 4/14 078 116 4E D5 N 4/15 079 117 4F D6 O 5/0 080 120 50 D7 P 5/1 081 121 51 D8 Q 5/2 082 122 52 D9 R 5/3 083 123 53 E2 S 5/4 084 124 54 E3 T 5/5 085 125 55 E4 U 5/6 086 126 56 E5 V 5/7 087 127 57 E6 W 5/8 088 130 58 E7 X 5/9 089 131 59 E8 Y 5/10 090 132 5A E9 Z 5/11 091 133 5B AD [ Left square bracket 5/12 092 134 5C E0 \ Backslash 5/13 093 135 5D BD ] Right Square Bracket 5/14 094 136 5E 5F ^ Circumflex, Up Arrow, Hat 5/15 095 137 5F 6D _ Underscore, Underline[1] __________ 1. 5/16 Back Arrow on older codes (C) 1990 Omen Tech Inc Chapter 37 ASCII Code Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 292 X3.64 Dec Oct Hex EBCDIC 6/0 096 140 60 79 ` Accent Grave 6/1 097 141 61 81 a 6/2 098 142 62 82 b 6/3 099 143 63 83 c 6/4 100 144 64 84 d 6/5 101 145 65 85 e 6/6 102 146 66 86 f 6/7 103 147 67 87 g 6/8 104 150 68 88 h 6/9 105 151 69 89 i 6/10 106 152 6A 91 j 6/11 107 153 6B 92 k 6/12 108 154 6C 93 l 6/13 109 155 6D 94 m 6/14 110 156 6E 95 n 6/15 111 157 6F 96 o 7/0 112 160 70 97 p 7/1 113 161 71 98 q 7/2 114 162 72 99 r 7/3 115 163 73 A2 s 7/4 116 164 74 A3 t 7/5 117 165 75 A4 u 7/6 118 166 76 A5 v 7/7 119 167 77 A6 w 7/8 120 170 78 A7 x 7/9 121 171 79 A8 y 7/10 122 172 7A A9 z 7/11 123 173 7B C0 { Left Brace 7/12 124 174 7C 4F | Vertical Bar, Pipe[2] 7/13 125 175 7D D0 } Right Brace, ALTMODE 7/14 126 176 7E 7E ~ Tilde, Squiggle [3] 7/15 127 177 7F 07 ^? DEL, RUBOUT __________ 2. "Confirm" on some older systems 3. Escape on some older systems (C) 1990 Omen Tech Inc Chapter 37 Acknowledgments Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 293 38. ACKNOWLEDGMENTS ZCOMM ("Yet Another Modem") could not have evolved to its current level of power, convenience, and refinement without help, advice, and other contributions from many kindred souls over the years. Digital Equipment Corporation developed the PDP-8, PDP-10, and PDP-11 computers with which I first learned practical data communications techniques. Ray Zapp and Bob Chesney used the first forerunners of Zcomm. Ward Christensen developed the MODEM (XMODEM) file transfer protocol and the MODEM series programs. Dennis M. Ritchie developed the C programming language. Leor Zohlman wrote BDS C, the cuspiest C compiler for CP/M, without which CP/M Yam might have been written in Pascal (if at all). Jack M. Wierda and Roderick W. Hart wrote CMODEM13.C, the distant ancestor of Zcomm's XMODEM and YMODEM protocol handler. 32 bit CRC code courtesy Gary S. Brown. Directory creation code from John Gilmore's PD TAR program. Richard Greenlaw wrote SQueeze and UnSQueese, Huffman compression programs and wildcard filename expansion routines. Filename expansion routines used on some flavors is based on code by Guido van Rossum CWI, Amsterdam . Gordon Collett, CDI VP of Engineering, supported the development and public domain distribution of 8 bit YAM. Microsoft Corporation developed MS-DOS, providing interesting debugging experiences. Pacific Northwest Bell regularly provides protocol stress testing. Bob Richardson, Carl Raff, Scott Lowe, Ken Brassler, authored documentation describing Compuserve's mysterious A and B protocols. Jeff Martin, Paul Homchick, Paul Bingman, David Sternlight, Big Red, and Barefoot John provided encouragement and suggestions. Charles McGuinness wrote COMSH, which provided some ideas for ZCOMM's script facility. Stephen Satchell wrote much of the original Cribsheet. James R. Butler provided numerous suggestions for improving this Manual. Numerous script examples shown here were written by Earle Robinson, author of the ejryam scripts for accessing CompuServe. The ZCOMM flash-up help file compiler and display program were originated by Seaquest Software, Pete Mackie President. The Phomast script and documentation are written by Michael R. Ash. for ComputingoActivities.evKERMIT is availablebforUmanyrsystemsnfor organizations, suchfasmDECUSmand SHARE.omColumbia University holds the warranthinoanyhwayEtheTKERMITcsoftwareunoratheiaccuracydofsanytrelated documentation,nordColumbia UniversitysacknowledgeManypliabilityr resulting from program or documentation errors. Cross Compiler.onOther Coprogramsiaretcompiledywith Computerto DOS Innovations' C86 and Lattice C. CyberneticeDataiRecovery(TM),(ZMODEM-90(TM),nMobyTurbo(TM),(ZMODEM Containment(TM),,FulleTimeeCapture(TM),oTrue(YMODEM(TM), TurboDial(TM)Tare OmenwTechnologyatrademarks.toCBBSpisTa)trademark of Research.stDECeandnVT100dareutrademarks of DigitalmEquipmentgital (C) 1990 Omen Tech Inc Chapter 38 Acknowledgments Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 294 KERMITaisoa.trademarkwofsHensondAssociates,aInc.,ecreatorseofyThems. trademarkoof IBM.DOTWXsis artrademarkfofiTeletype Corporation.a Unix is a trademark of Western Electric. This document is Copyright 1984, 1985, 1986, 1987, 1988, 1989, 1990, 1991 Omen Technology Incorporated, All Rights Reserved. It was formatted 5-6-91. (C) 1990 Omen Tech Inc Chapter 98 Acknowledgments Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 295 99. MISSING CHAPTERS Chapter 99 is a psuedo chapter number referring to chapters of the Pro-YAM User Manual[1] that are not included in the ZCOMM line printer edition. __________ 1. Supplied with ZCOMM registration. (C) 1990 Omen Tech Inc Chapter 99 Acknowledgments Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 296 100. CROSS REFERENCE INDEX (C) 1990 Omen Tech Inc Chapter 100 Acknowledgments CONTENTS 1. INTRODUCTION............................................... 2 2. ZCOMM REGISTRATION......................................... 7 3. ZCOMM's Big Brother........................................ 9 4. FLAVORS OF ZCOMM........................................... 11 5. DESIGN PHILOSOPHY.......................................... 13 6. ROSETTA STONE.............................................. 15 7. INSTALLING ZCOMM........................................... 21 8. YOUR TELEPHONE DIRECTORY................................... 24 9. UNLEASHING THE MODEM....................................... 30 10. HANDS ON TUTORIAL.......................................... 42 11. ACCESSING COMPUTER SYSTEMS................................. 46 12. FILE NAMES Good and Bad.................................... 48 13. PROTOCOL FILE TRANSFERS.................................... 51 14. MESSAGE TRANSFERS.......................................... 71 15. FLOW CONTROL............................................... 76 16. RUNNING ZCOMM.............................................. 80 17. OUTLINE OF COMMANDS........................................ 87 18. SPECIAL KEYS............................................... 92 19. MAIN COMMANDS.............................................. 95 20. OPTIONS for Protocol File Transfers........................ 159 21. MODES for Data Capture..................................... 167 22. TERM FUNCTION.............................................. 178 23. REVIEW FUNCTION............................................ 188 24. NUMERIC PARAMETERS......................................... 192 25. STRING PARAMETERS.......................................... 208 26. CHARACTER ESCAPES.......................................... 225 27. TEST CONDITIONS (if, on, while commands)................... 233 28. HOST OPERATION / REMOTE CONTROL............................ 243 29. TERMINAL (CRT) EMULATION................................... 250 30. LOGGING ENTRIES............................................ 255 31. ERROR (and other) MESSAGES................................. 258 32. HINTS AND KINKS............................................ 270 33. BUGS....................................................... 273 34. HARDWARE/SOFTWARE COMPATABILITY............................ 275 35. BACKGROUND OPERATION....................................... 282 36. CROSSTALK-XVI SCRIPT CONVERSION............................ 284 37. 1968 ASCII CODE............................................ 289 38. ACKNOWLEDGMENTS............................................ 293 99. MISSING CHAPTERS........................................... 295 100. CROSS REFERENCE INDEX...................................... 296