Chuck Forsberg User Manual for ZCOMM Universal Line Printer Edition ZCOMM Communications Software Featuring TurboLearn(TM) Script Writer, Cybernetic Data Recovery(TM), Error Containment(TM), and OverThruster(TM) User Supported Communications Software Tools User Manual for ZCOMM Universal Line Printer Edition Copyright 1991 Omen Technology Inc All Rights Reserved Omen Technology Incorporated The High Reliability Software Box 4681 Portland Oregon 97208 VOICE: 503-621-3406 :VOICE TeleGodzilla Modem: 621-3746 Speed 1200,2400,19200 Compuserve:70007,2304 GEnie:CAF BIX:cforsberg UUCP: ...!tektronix!reed!omen!caf Copyright 1984 to 1991 Omen Technology INC All Rights Reserved (C) 1990 Omen Tech Inc Chapter 0 Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 2 1. INTRODUCTION ZCOMM Industrial Stength Communications Shareware(TM) ZCOMM helps collect, control, and transmit information with a minimum of time, hassle, and expense. Concise commands and unobtrusive displays facilitate telecommunications instead of distracting. When it comes to file transfers, just remember who wrote YMODEM and ZMODEM. Two decades of telecommunications knowledge are distilled in ZCOMM. State of the Art File Transfers "ZMODEM is the overall winner" -BYTE Magazine, Feb 1989 Two decades of communications experience are distilled in ZCOMM. ZCOMM transfers files quickly and surely under real world conditions, not just across tabletops. Unsolicited customer testimonials chronicle accurate file transfers under conditions that crash other programs, thanks to Omen Technology's Cybernetic Data Recovery(TM) logic enhancements and rigorous stress testing. How often has your modem disconnected when you were within a few bytes of finishing a long, expensive file transfer? With ZMODEM-90(TM) you can resume the transfer from where you were cut off, without wasted time or extra phone charges. If the transfer aborted because you ran out of disk space, ZMODEM can recover from that too! ZMODEM transfers files and commands with a user friendly interface. Unlike traditional protocols, only one command or menu choice is needed to transfer files or download commands. "Pro-YAM's AutoDownload feature for ZMODEM (and KERMIT) has got me completely addicted." ZMODEM protects your data with a 32 bit CRC, five orders of magnitude more accurate than the CRC-16 used by other protocols, and billions of times more sensitive than XMODEM checksum. Unlike "me too" protocols developed to compete with ZMODEM, all ZMODEM messages are protected with CRC. ZMODEM provides high throughput and full integrity with timesharing systems, high speed modems, and packet switched networks. Unlike other protocols, ZMODEM's does not compromise reliability to get high speed. (C) 1990 Omen Tech Inc Chapter 1 Introduction Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 3 Omen Technology's ZMODEM-90(TM) extensions accelerate transfers and enhance flexibility. ZMODEM compression provides spectacular throughput increases on suitable files. Other ZMODEM features include text file translation, selective transfer of modified files, and remote file maintenance. A single command can update an entire directory tree, creating new directories as necessary. Security authentication* disables Trojan Horse attacks. ZMODEM supports world wide operations by preserving the exact file contents and modification date, unaffected by crossing time zones. Omen Technology provides complimentary Unix and VAX/VMS ZMODEM servers in source and binary formats. "Here's the simple fact. Zmodem is the state-of-the-art protocol for microcomputers. It's the protocol of choice. Forget the old dogs. It's fast and bullet-proof." -John C. Dvorak, INSIDE TRACK, PC Magazine June 1989 "without doubt the number one protocol" -Boardwatch Magazine January 1990 Competitors hype their undocumented proprietary protocols; experienced BBS operators know ZMODEM is the only high performance protocol that survives on the streets. ZMODEM's convenience, speed and reliability have made it the protocol of choice for bulletin boards, BIX, GEnie, Portal, Delphi, Unison, and other information utilities. XMODEM: Lingua Franca for Old Programs ZCOMM supports Ward Christensen's XMODEM protocol with Cybernetic Data Recovery(TM) and automatic file name generation. Omen Technology's exclusive Cybernetic Data Recovery transfers files under conditions that crash other programs. + XMODEM CRC-16 is more accurate than simple checksum. But even with CRC-16, an error of just two bits can corrupt data sent with XMODEM. Cybernetic Data Recovery catches and corrects many errors that confound other programs. + True YMODEM(TM) batch file transfers preserve the exact file name, file length and creation date. + XMODEM-1k and YMODEM-1k 1024 byte packets increase XMODEM throughput. (C) 1990 Omen Tech Inc Chapter 1 Introduction Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 4 Kermit: Rx for Brain Damage Kermit transfers ASCII and binary files with IBM, CDC, Cray, ICL, Harris, Honeywell, Pr1me, Tandem, Univac and other traditional mainframes that do not support XMODEM. While not as fast as ZMODEM, Kermit is more reliable than XMODEM. ZCOMM's 16 bit Kermit CRC is thousands of times more accurate than other programs' 6 bit checksum. + Convenient Kermit AutoDownload deciphers the sending program's Kermit dialect, saving keystrokes and frustration. (Dialect incompatibilities often confound Kermit users.) + Long Packet Kermit speeds file transfers with IBM, CDC, and Cray mainframe systems. Sliding Windows are also supported. Kermit Server Access functions support low cost networking. Swiss Army Knife for Protocols + Extended Quick-B streaming protocol slashes CompuServe download costs up to 60 per cent or more. + OverThruster(TM) accelerator speeds XMODEM and YMODEM downloads + ZCOMM supports bulletin boards and traditional programs with Telink/FIDO, MODEM7 batch, WXMODEM (Windowed XMODEM), and SEAlink file transfer protocols. Data Capture ZCOMM's Full-Time Capture Buffer(TM) saves scrolled data other programs lose. You can scroll, page, and string search to cut and paste captured information. Omen's Error Containment(TM) technology minimizes errors caused by line hits and their effects on automatic scripts. ZCOMM captures text with many choices of parity bit and control character editing. ZCOMM can capture binary data without protocols. ZCOMM does not limit the length of captured files. Controlling Information ZCOMM's Full-Time Capture Buffer(TM) lets you flip back and forth or search, scanning two hundred messages from bulletin boards in a couple of minutes. (It has to be seen to be believed.) To compose a reply, call your favorite editor (the one you've already learned!) as a subroutine without losing your place. (C) 1990 Omen Tech Inc Chapter 1 Introduction Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 5 ZCOMM's high speed screen driver- makes life pleasant: + Easy on the eyes: ZCOMM supports No Flicker displays, up to 450 per cent faster than DOS + VT220, VT102, VT100, Wyse, TTY 5425, ANSI, Z19, VT52, TI 940, IBM 3101, Televideo 9xx, and ADM3a emulation. + Supports 132 columns and advanced displays (114x60, etc.) + VT100 character graphics and keyboard mapping support "visual" programs. Unlike most "VT100" emulators, ZCOMM correctly displays EDT, All-In-1, SCO setcolor, and DEC Store on an XT even at 19200 baud. + Hardcopy Terminal Emulation previews printer output. + Visual (silent) bell preserves domestic tranquillity + Settable number of lines and columns, border color, default colors, autowrap, keyboard mapping enable. Full pathnames, directories, and wildcards support file transfers and utility commands. ZCOMM can search files for lines matching a string, insensitive to case. Transmitting Information + Dual stack Command Recall saves your keyboarded host commands in a history file for search, recall, editing, and reentry. + Convenient Split Screen option- allows responsive local editing of input lines before transmission. + A rich palette of editing and timing modes permit file and message upload, even to fussy microcomputer Bulletin Boards. + Remote access for file transfers and DOS program execution with baud rate detection and three passworded security levels. + Outcall Queue intersperses scheduled outgoing calls with incoming messages on one modem line. 1.1 Other Features Interrupt driven modem input allows High speed operation with file transfer and conversational terminal operation at 19200 bps and above. ZCOMM fully exploits advanced features of the new UART chips for best operation at high speeds. (C) 1990 Omen Tech Inc Chapter 1 Introduction Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 6 A real-time status line displays column, row, time, elapsed time, transmission speed, and other important information. Soft keys provide convenient execution of common commands. ZCOMM is written in C for performance, portability and maintainability. ZCOMM loads quickly from a moderately sized executable file with no cumbersome overlays. (C) 1990 Omen Tech Inc Chapter 1 Registration Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 7 2. ZCOMM REGISTRATION ZCOMM is a user supported program developed and supported by Chuck Forsberg. ZCOMM is not and never has been public domain. Registration buys you: + Your own unique ZCOMM Serial Number Password (ZSNP). Your ZSNP may be applied to copies of ZCOMM to be run on a single machine. + Serialized of ZCOMM deactivates the registration request display and the pause afterwards. + Serialization activates the egrep, egrepm, expand, split, and ss commands and the outcall queue. Features denoted with ** are available in serialized copies of ZCOMM. + Serialization more than doubles the circular buffer size. + A software disk with the current version of ZCOMM, the putsnp program to serialize your copy of ZCOMM with your ZSNP, and the tree structured "flash-up" help processor and help file included in ZCOMMHLP.ARC. + The complete Professional-YAM User Manual, more than 200 Typeset pages, with many chapters not included here, ready for insertion into a PC size binder. + The Pro-YAM Crib Sheet. + A ZCOMM registration is worth $40.00 when upgrading to Professional-YAM. The $99.00 upgrade includes the Pro-YAM software disks and license. You will already have the manual from your ZCOMM registration package. + A warm fuzzy feeling arising from the knowledge you have supported the advancement of ZMODEM. REGISTRATION DETAILS: + Basic registration (ZSNP, disk, manual pages): $40.00 + Optional Custom Binder: $10.00 + Optional 3.5 inch diskette: $5.00 + Domestic/Canada Surface Shipping: Free with prepaid orders + International Air Mail (most countries): $15.00[1] (C) 1990 Omen Tech Inc Chapter 2 Registration Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 8 + Optional Domestic UPS Second Day AIR: $5.00 + Credit Card/C.O.D. S&H: $5.00 Don't bother scrounging for an envelope, use the INSTANT MAILER included in this archive! 2.1 Legal Necessities ZCOMM may not be modified, patched, hacked, disassembled, decompiled, or otherwise reverse engineered, or sold, without prior written permission by Omen Technology Inc. This prohibition applies to any theft of the intellectual property and trade secrets contained in ZCOMM by decompilation, disassembly, or any other form of reverse engineering including but not limited to profiling, tracing, data analysis, or monitoring the operation of ZCOMM. The only legitimate way to disable the opening advertisement in ZCOMM is to insert an authorized SNP obtained from Omen Technology into ZCOMM with the putsnp program. Any other suppression or modification of the opening screen is illegal, unethical, and prohibited. Distribution of programs and/or instructions on how to modify, patch, disassemble, decompile, or otherwise reverse engineer ZCOMM without prior written permission by Omen Technology Inc is a theft of services and a violation of federal copyright law, and will be referred to the FBI for investigation and prosecution under federal conspiracy statutes. Applicable RICO law provides for treble damages and recovery of attorney's fees. Distribution of ZCOMM in any medium without this documentation file constitutes an unauthorized modification. Students may use unregistered copies of ZCOMM in the discharge of assigned coursework for the duration of the course without obligation to register. Otherwise, individuals may use ZCOMM with only a moral obligation to register their copy with Omen Technology once they find it useful. You may distribute the unmodified ZCOMM*.ARC archive files[2] to as many as you wish, or post them on bulletin boards, etc. Businesses must register their copies of ZCOMM. ______________________________________________________________________ 1. $25.00 to Australia etc. if binder included due to higher cost. 2. The archives may be converted to other storage or archive formats, including "zipping", provided no files are modified or removed. (C) 1990 Omen Tech Inc Chapter 2 Registration Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 9 3. ZCOMM's Big Brother ZCOMM is the Little Brother of Professional-YAM. As powerful as ZCOMM is, more powerful than other user supported software, it pales beside Omen Technology's commercial Professional-YAM software. Pro-YAM's TurboDial(TM) script language provides state of the art real time pattern recognition, "regular expiression" string parsing, script development aids, script encryption, queue management, extensive logging facilities, and finely tuned security control unmatched in the industry. Fortune 500 corporations use these exclusive features to support large PC based telecommunications projects involving attended and unattended operation. Specialized utility commands allow Pro-YAM and a PC or DG/One portable to replace data line monitors in many applications. Pro-YAM supports Echoplex uploads and high speed data dumps in addition to the uniquely accurate and robust XMODEM, YMODEM, ZMODEM, and Kermit protocol transfers shared with ZCOMM. Pro-YAM has many powerful utility commands that earn it the sobriquet Integrated Communications Tools. Pro-YAM is available with the Tymnet X.PC link level protocol for multiple, concurrent data transfers. Omen Technology also markets highly compatible Unix and Xenix flavors of Pro-YAM. Omen Technology's Demand Upgrade(TM) technology and small company responsiveness meet the support needs of a growing base of demanding customers. Professional-YAM is a superset of ZCOMM; applications and scripts developed on ZCOMM will operate with Pro-YAM. This ZCOMM manual omits descriptions of many Pro-YAM features not included in ZCOMM. The special symbol * denotes Pro-YAM features not included in ZCOMM. Pro-YAM features not included in ZCOMM include X.PC, encryption, CryptoScript(TM) capability, Password Guardian(TM), logs, the ap, apd, fget, fput, kbdmon, link, on, portx, purgek, quit, restime, restrict, timestamp, trs, and usq commands, and certain vertical application and security related features. (Newer versions of ZCOMM include the logging facility.) In some places you will see references to a fake Chapter 99. Pro-YAM manual chapters not included in this document are designated by Chapter 99. (C) 1990 Omen Tech Inc Chapter 3 ZCOMM Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 10 ZCOMM registration can be upgraded to Pro-YAM as described in the previous chapter. (C) 1990 Omen Tech Inc Chapter 3 Flavors of ZCOMM Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 11 4. FLAVORS OF ZCOMM 4.1 IBM PC Family and Clones ZCOMM.EXE and ZCOMM run under PC-DOS and compatible operating systems using PC compatible 8250 family serial ports. They exploit the new Intel 82510 and National NS16550AN serial interface integrated circuits for improved high speed operation, especially with memory resident software and extended memory ramdisks. ZCOMMXPC.EXE supports the Tymnet X.PC packet protocol. This version uses the Tymnet Packet Driver and will not initialize unless the packet driver has been loaded. The X.PC version lacks the bdump and link commands. The !~ command does not allow DOS subprograms to access the serial line with the DOS ctty command. ZCOMM and its support programs are also available for OS/2 protected mode. 4.2 Xenix/Unix ZCOMM for 32 bit Unix systems supports a number of advanced features, including X windows[1] large memory, recursive wild card expansions and ZMODEM transfers with LZW data compression. Unix and Xenix flavors of ZCOMM reflect the deep fundamental differences between single tasking PC-DOS and Xenix. Notable differences are in keyboard handling, screen emulation, and real-time aspects. Properly written TurboDial(TM) Scripts may be used with any flavor of ZCOMM. Omen Technology Inc provides binary executables for SCO System V Xenix (286 and 386) and Interactive Systems 386/ix. The 386/ix flavor supports Microport SYS V/386 and similar systems. Please contact Omen Technology Inc for reasonably priced source code for other versions of Unix. 4.3 VAX/VMS VMS Professional-YAM supports dial out applications with functionality similar to Unix flavors. __________ 1. Under xterm(1). (C) 1990 Omen Tech Inc Chapter 4 Flavors of ZCOMM Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 12 4.4 ZCOMM ZCOMM is a shareware subset of ZCOMM available for PC-DOS. It lacks the ap, apd, fget, fput, link, kbdmon, obey, on, quit, purgek, restime, restrict, timestamp, trs, and usq commands. Arbitrary variable names and security features are not supported. Certain commands and features are available only in registered copies. The special symbol * denotes features not included in ZCOMM. Features denoted with ** are available in registered copies of ZCOMM. Some ZCOMM users choose to upgrade to Professional-YAM. Omen's ZCOMM to Pro-YAM upgrade policy protects your investment in ZCOMM registration. The ZCOMM to Pro-YAM upgrade consists of a Pro-YAM serial number and diskette set. The $99.00 price is the same as the difference between Pro-YAM purchase and ZCOMM registration. (C) 1990 Omen Tech Inc Chapter 4 Design Philosophy Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 13 5. DESIGN PHILOSOPHY ZCOMM is a Communications Tool. Once learned, ZCOMM's command interface is more powerful, faster, and less cumbersome than a menu interface. Indeed, menus comprehensive enough to describe all the nuances of ZCOMM's capabilities would take up more memory than most microcomputers can afford. In addition, remote operation of ZCOMM would be excruciatingly slow due to transmission delays displaying the appropriate menu pages. ZCOMM's look and feel has been influenced by the MODEM series of programs, the Unix(TM) Operating System, the Berkeley Editor (vi), CP/M(TM), PC-DOS, and ANSI standards. Function keys F1 and F2 have been assigned with a logical grouping. Wherever meaningful, F1 exits from a function, and F2 enters the logical "next" function. From the command prompt, F2 enters the term function, and from there another F2 enters the review function. Once in the review function (assuming it was called from the term function), F1 exits back to the term function, from where another F1 exits to the command prompt. Another ethic guiding ZCOMM's design is respect for the user's information. The user's data is, after all, precisely what a modem program is all about. Status information is limited to one CRT line to allow maximum screen size for data. Fancy display modes such as reverse video are used sparingly to avoid distracting from the user's work. If you seek a video arcade modem game, ZCOMM will disappoint you. 5.1 Circular Buffer The circular buffer remotely resembles the linear "capture buffer" used by other modem programs. Many ZCOMM commands involve the circular buffer, including the t, f, wait, ki, kill, w, review, and close commands. The term function uses the circular buffer as a first in, first out (FIFO) buffer for data arriving from the remote. The circular organization of this buffer makes the most recent data always available for review and arbitrary writing to disk files. When the circular buffer has been filled and the XOFF character sent to the remote, ZCOMM writes the contents of the circular buffer to the capture file if a capture file has been opened. ZCOMM then checks whether any characters remain to be written to the printer. When both of these checks are satisfied, ZCOMM then sends an XON character to the remote to resume the transmission of data. Keyboarding ALT-W or enabling j mode writes the contents of the (C) 1990 Omen Tech Inc Chapter 5 Circular Buffer Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 14 circular buffer to the capture file without waiting for the circular buffer to fill up first. The large storage capacity of the circular buffer may be used to review the most recent data captured from the remote. The review command allows one to page back and forth through the data captured from the remote. Forward and backward string searches make it easy to locate important text. The review command also allows segments of the data in the circular buffer to be selectively saved on disk (cut and pasted). Scripts can search and mark text captured from the remote with the full power of regular expression pattern matching. (C) 1990 Omen Tech Inc Chapter 5 Rosetta Stone Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 15 6. ROSETTA STONE Alphanumeric An alphanumeric character is either a letter or a decimal digit 0 to 9. Baud A baud is a signaling unit conveying one or more bits of information. Baudrate is commonly (and usually incorrectly) interchanged with bits per second. BPS is an abbreviation for "bits per second", a measure of transmission speed. ASCII Asynchronous transmission generally uses 10 bits to transmit each character, so the speed in characters per second is one tenth the speed measured in bits per second. Capture The term function captures data from the remote into the circular buffer. This data may be paged back and forth with the review function, or written to a disk file. Character Escape is a sequence of characters initiated by a backslash character used to represent a control character or programmable string using printable characters. Character escapes are described in Chapter 26. CPMEOF A control character (hex 1A) added to the end of text files by traditional microcomputer programs. This practice was popular with the Digital Research CP/M 8 bit operating system. Crash Recovery(TM) refers to the ZMODEM File Transfer Protocol's ability to resume file transfers that have been interrupted by a line disconnect from the point where the transfer was interrupted. Cyclical Redundancy Check (CRC) is a datum (16 or 32 bits) generated by a cyclic code. The CRC-16 extension to the Ward Christensen XMODEM protocol provides a high level of data integrity. CRC-16 guarantees detection of all single and double bit errors, all errors with an odd number of error bits, all burst errors of length 16 or less, 99.9969% of all 17-bit error bursts, and 99.9984 per cent of all possible longer error bursts. The actual performance is even better because the errors that sneak by CRC-16 are often detected by the other error checks simultaneously applied by ZCOMM's Cybernetic Data Recovery(TM). ZMODEM's 32 bit CRC provides five orders of magnitude more accurate error detection than XMODEM's CRC-16 a billion times more accurate than 8 bit checksum used by standard XMODEM.. Default is a choice a program makes for you if you do not explicitly make a contrary choice. Download is the transfer of data from the host system down to your computer. (C) 1990 Omen Tech Inc Chapter 6 Rosetta Stone Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 16 DTR is an abbreviation for Data Terminal Ready. Data Terminal Ready is a signal sent by the computer to the modem to condition it to accept commands or answer an incoming call. When DTR is "dropped" (switched off), the modem should disconnect from the line. Execute When a string parameter is executed, it is normally sent to the remote (modem). If it begins with "@", the remainder is executed as a ZCOMM command. Filespec Some ZCOMM commands instruct a remote Kermit server program to send, receive, print, type, or delete one or more files. The syntax of this specification is defined by the remote Kermit server program, not ZCOMM. If filespec contains spaces, filespec must be enclosed by double quotes. Flow Control restrains the speed of transmission to prevent loss of data when a fast sender must send to a slower receiver. Hardware signals, control characters, and protocol handshakes can be used to provide restraint, singly or in combinations. SEE ALSO: handshake command, zmodem w parameter, Flow Control Chapter 14 Functions are operations supported by ZCOMM, such as a dir, type, s, r, or t (term) command. A command may set or reset mode[s], change a parameter, or perform a function. Host Operation allows remote access of files and programs. Iff If and only if. Integrity in a data transfer protocol refers to the ability of the protocol to guarantee a correct data transfer provided both sender and receiver report a successful transfer. Integrity is a different measure of a file transfer protocol than robustness, which is a measure of a protocol's ability to complete the requested transfers in the presence of errors, independent of the probability of undetected errors. Kermit ia an error correcting batch file transfer protocol developed at Columbia University and elsewhere. The Kermit protocol supports text and binary file transfers with many mainframe computers whose hardware and operating software preclude implementation of high performance protocols. Line Hit A burst of noise on a telephone line may generate modem data errors. A single "line hit" may garble dozens of characters. ZCOMM's Error Containment(TM) technology may be used to reduce the number of characters garbled by line hits suffered in terminal emulation data capture. (C) 1990 Omen Tech Inc Chapter 6 Rosetta Stone Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 17 Modes Many modes are available to modify the way the term function receives, displays, transmits, and stores data. N.B. Nota Bene, Latin for "note well" or "take notice". Options Options apply to the Kermit, s, sx, sb, s7, st, r, rx, r7, rb, and rc protocol file transfer commands. q.v. Quod Vide is Latin for "which see", an invitation to consult information on the subject mentioned. Pathname is a complete file name, optionally including disk and/or directory names. EXAMPLE: c:/ZCOMM/PHODIR.t Pathspec ... A pathspec consists of zero or more pathnames. Unambiguous and ambiguous (with wildcard characters) pathnames may be specified in any combination. The wildcard filename characters * and ? are allowed as described in the IBM DOS manual chapter "Global Filename Characters". In DOS, only the filename portion of the pathname may contain wildcards. EXAMPLE: src/cmd/*.c is legal; src/*/foo.c is not. On 32 bit Unix systems, ZCOMM expands "*" and "?" the way the shell does. All the shell wildcards may be used including multiple wildcards, wildcards in directories, and ranges. ~user expands to the login directory of user, and ~ expands to your home directory. In addition, `command` takes the output of command as a series of pathnames. EXAMPLE: dir */[a-i]* displays all files starting with "a" to "i" in all subdirectories immediately below the current directory. An empty pathspec represents all files in the current directory on the current disk. A disk identifier without any file names represents all files on that disk's current directory. A directory pathname expands to all files in the specified directory. Sequences of the form %svar are replaced by the value (possibly empty) of the string parameter svar. If svar is not a string parameter, no substitution is made. A pathspec may contain any combination of the above, separated by spaces or tabs. (C) 1990 Omen Tech Inc Chapter 6 Rosetta Stone Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 18 If pathspec includes a disk specifier (such as a: or b:), ZCOMM checks the disk specifier against the list of permissible disk specifiers in the string parameter disks. The various filename expansions are especially useful in the context of commands such as wc, sum, crc, find, sb, and sz. For example, wc applies to all files in the current directory, and wc dir applies to all files in dir. ZCOMM pathnames may use / or \ to delimit directories. Regular Expressions control pattern matching and grouping of text by the ss and egrep commands. "Magic" characters specify the pattern matching and grouping processes. Remote refers to the machine or terminal with which ZCOMM is communicating. This could be a direct RS-232 connection to a local terminal, micro, mini, or mainframe, or a timesharing system accessed through a modem and a global packet switched network. Restraint See "Flow Control" above. Restricted For security reasons, ZCOMM is restricted to prevent unauthorized dial-in users from accessing private data or crashing the system. Certain commands are illegal when ZCOMM is restricted, and only specified disk drives and directories may be accessed. Review Function Characters output from the remote may be paged and searched online with the review function. This data may also be cut and pasted to disk files. Robustness in a file transfer protocol refers to the protocol's ability to complete transfers in the presence of errors induced by line noise or other sources. Robustness is a different measure of a file transfer protocol than integrity, a measure of the probability of correct data transfer given a successful completion of the transfer process. Script A script is a set of commands that control dialogues with the user or a remote system. Script Level refers to the degree of nesting of scripts. Level 0 is called by the user directly, and each higher level is executed by a gosub or other command from the previous level. Shell Escape is a DOS command or program called as a subroutine from ZCOMM via a DOS Gateway. The phrase "shell escape" comes from the Unix(TM) Operating System, whose command interpreter is called "the shell". (C) 1990 Omen Tech Inc Chapter 6 Rosetta Stone Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 19 Soft Keys Strings or commands may be assigned to the Soft Keys with set commands, including those in the telephone directory "setup" entry executed each time ZCOMM starts. ZCOMM recognizes the forty function key codes produced by the function keys F1 to F12. FS1 to FS12 are obtained with a Shift key, FC1 to FC12 are obtained with the Ctrl key, and FA1 to FA12 are obtained with the Alt key. The cursor keys and extra function keys on 101 key Extended Keyboards are also recognized. Strings or commands may be assigned to BS, ESC, Ins, Del, Home, End, Up, Down, Left, Right, PgUp, and PgDn, overriding their normal functions in the term function. String Some commands take a string argument. If a string argument contains spaces, tabs, and a semicolon, it must be enclosed by double quotes (shift single quote on the IBM PC keyboard). Control characters may be included in strings with character escapes similar to those used by the C Programming Language. Term Function ZCOMM's Term Function provides the conversational "connection" between the user and the remote. The term function captures data from the remote into ZCOMM's circular buffer from whence it may be displayed, printed, stored in a disk file, or searched, cut and pasted by the review function. Upload is a transfer of data from your computer up to the host system. Wild Card Many commands allow wild card file names in their pathspec (q.v.). Writing When a receive file is open as a result of a create or t filename command, data in the circular buffer is written out to the receive file when the circular buffer fills up or when a w or ALT-W command is given. XMODEM The Ward Christensen file transfer protocol uses 128 byte packets, one byte control messages, and a one byte arithmetic checksum. XMODEM/CRC A synonym for the enhanced Ward Christensen XMODEM protocol using a Cyclic Redundancy Check (CRC-16). Newer programs support CRC-16 for better data integrity, but reliability is still compromised by one byte control messages. XMODEM-1k XMODEM protocol with 1024 byte data packets, CRC-16, and one byte control messages, sometimes incorrectly called ymodem. YMODEM YMODEM is a batch file transfer protocol with pathname, date, file length and other file data in block 0, CRC-16 default, and optional 1024 byte packets. Many programs claiming to support YMODEM actually use XMODEM with 1024 byte blocks; use ZCOMM's sx (C) 1990 Omen Tech Inc Chapter 6 Rosetta Stone Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 20 -k and rx commands with these XMODEM mutants. XOFF, XON ASCII control characters control the flow of data. XOFF (Ctrl-S) stops and XON (Ctrl-Q) resumes the flow of data. Chapter 37 provides an ASCII code chart with the names for the control characters. ZCOMM is a shareware (User Supported) subset of PCDOS Professional- YAM. ZMODEM An advanced file transfer protocol with simplified human interface, crash recovery, high speed streaming, sensitive 32 bit CRC, command download, security features, and important file management functions. {arg1 | arg2} One of the arguments separated by | is required. [] Optional argument. * The special symbol * denotes features not included in ZCOMM. ** Denotes features not included in userialized (unregistered) copies of ZCOMM. (C) 1990 Omen Tech Inc Chapter 6 Installing ZCOMM Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 21 7. INSTALLING ZCOMM If you have registered your copy of ZCOMM, make yourself a working copy of the ZCOMM distribution disk using the DOS diskcopy command. Keep the distribution disk in a safe place away from nasty killers such as disk drives, displays, computers, magnets, motors, and coffee cups. The only time the distribution diskette should be out and about is when you are cloning your working copies. 7.1 Installation from Registration Disk Before installing ZCOMM, you may wish to create a directory for the ZCOMM files. If so, you must include this dorectory in the DOS PATH. Otherwise the files may be extracted to the root directory. The ZCOMM software files are contained in the ZCOMMEXE.ZIP and ZCOMMHLP.ZIP archives on the distribution disk. Use a standard "unzip" program such as PKUNZIP to extract files from these archives. The putsnp program inserts your ZCOMM Serial-Number-Password (ZSNP) into your working copiy of ZCOMM. Installing a legal serial number suppresses the pause after the opening message, enlarges the circular buffer, and enables new commands. The putsnp program prompts for your Serial/Number/Password (SNP) of the form X123456789. Putsnp checks for keyboarding mistakes and then verifies that you understand and agree to the licensing conditions. When you understand and agree to the licensing conditions, respond with yes (not just y). Then putsnp prompts for the name of a file to insert the serial number into. This should be a ZCOMM.EXE file that you have transferred to a scratch disk, or to an appropriate directory on your hard disk. Do not write on the distribution diskette unless a nuclear attack is in progress. After inserting the serial number in the given file, putsnp asks if you wish to change the default value for the phone directory pathname (string parameter phones). This is normally /PHODIR.t. If you wish to keep the phones file elsewhere, answer "yes".[1] Putsnp then searches for the location in your copy of ZCOMM that contains this information. When found, you may enter a new pathname,[2] up to 64 characters. __________ 1. The default value may also be overidden with the PHONES DOS environment variable. 2. Such as c:/zcomm/PHODIR.t. (C) 1990 Omen Tech Inc Chapter 7 Installing ZCOMM Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 22 Afterwards, you should copy the help processor files YHP.EXE and ZMANH.HLP from the disk. 7.2 Installation from ZCOMM*.ARC If you are using the software provided in ZCOMM*.ARC, be sure to save the original files for backup, and pass them on to your friends to fill their communications needs. There are currently three ZCOMM archive files: + ZCOMMEXE.ARC contains the executable program and demonstration files. + ZCOMMDOC.ARC contains this documentation. + ZCOMMHLP.ARC contains ZCOMM's tree structured help file and random access flash-up help processor. 7.3 Installation Continued The second order of business is to read this manual. There is just no way you can get your money's worth out of ZCOMM without reading, or at least carefully scanning, this manual. After all, didn't you get ZCOMM because you needed something more powerful than that cumbersome, unreliable, brain-damaged menu driven crock you've been using? (Perhaps you shouldn't answer that question just yet ...) You can then edit PHODIR.t to suit your own needs by inserting directory entries for the systems you wish to call and changing the phone numbers, account numbers, and passwords on the "standard" entries for popular timesharing services that you have accounts with. Be sure to check the setup entry and make any changes you feel appropriate. Once you have the "feel" of ZCOMM, you will want to remove the automatic menu invocation at the end of the setup directory entry. Chapter 10 gives a line by line tutorial for setting up your telephone directory assuming you are using a standard modem. If you are using a computer that runs at non standard clock rates (e.g., 8 mHz 8088 instead of 4.77 mHz) or with an enhanced CPU chip (NEC V20), you will need to set special values for the a and b numeric parameters as described in Chapter 24. **** WARNING **** Although ZCOMM is well behaved as communications programs go, some memory resident programs, special keyboard modifiers, print spoolers, or special display drivers, may cause (C) 1990 Omen Tech Inc Chapter 7 Installing ZCOMM Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 23 problems. **** WARNING **** Since ZCOMM uses interrupts to read data from the serial ports, each serial port must be strapped for its proper interrupt vector. Some communications programs assign both IRQ3 and IRQ4 while operating, so they will operate even if the serial ports are not strapped properly. Since ZCOMM only assigns the interrupt vector of the port in use, incorrect IRQ level strapping will crash ZCOMM. Check the serial port addresses and vectors with the information given ith the port command in Chapter 19 if you encounter trouble starting ZCOMM. (C) 1990 Omen Tech Inc Chapter 7 Your Telephone Directory Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 24 8. YOUR TELEPHONE DIRECTORY ZCOMM's telephone directory is a big flexibility advantage over traditional communications programs which require one or more separate files for each system called, or limit directory information to little more than a telephone number. The telephone directory contains telephone numbers, login scripts, and telephone dialers. The telephone directory is a plain ASCII text file which can be edited with standard text editors (brief, teco, EMACS, edlin, etc.). Normally, ZCOMM expects to find the telephone directory in the file /PHODIR.t on the current disk. The pathname may be changed with the PHONES environment variable. Forward slashes should be used to indicate directories. EXAMPLE: C>set PHONES=c:/yam/lib/PHODIR.t EXAMPLE: $ PHONES=/u/flashg/bin/phones.t; export PHONES (for Unix) The putsnp program may also be used to change ZCOMM's default Telephone Directory pathname. The call command connects to another computer. When you give a call name command, ZCOMM prepares for a modem call and then searches the telephone directory file for a line starting with name. It is not necessary to type the entire name as it appears in the telephone directory. ZCOMM will find the first entry that name is a prefix of. EXAMPLE: call cis Calls cis300 or cis1200 whichever appears first. When using two entries with similar names (such as "cis300" and "cis1200"), place the favorite entry first. This way you can just type call cis to get the desired entry. If the search is successful, the call command copies the complete directory entry name to the remote string parameter, where it can be used for log entries and automatic password generation. ZCOMM executes the commands on the rest of the line (if any), and on succeeding lines beginning with a space or tab, until the next Telephone Directory entry or a return command is seen. There is no arbitrary limit to the size of the telephone directory. Popular entries may be placed near the front to minimize searching time. When desired, Scripts can be placed in separate files (C) 1990 Omen Tech Inc Chapter 8 Your Telephone Directory Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 25 referenced with a source command from the Telephone Directory entry. 8.1 Taking a Shortcut with PHOMAST.T This starter script was written by Michael Ash of San Antonio, Texas. It is easy to configure and use by following the detailed instructions included in PHOMAST.DOC. Phomast features fully automated menu configuration, autospeed detection, and lots of slick coding examples. When run for the first time phomast will generate a new file called PROFILE.DAT containing specific configuration information. When you enter 'yam' or 'zcomm' at the DOS prompt, the script will ask you a few questions to set up the configuration to include COM port identification and modem initialization, and you are ready to communicate immediately thanks to the power of the script language built into ZCOMM. Under COLORS, you may select the alternate screen colors. These will be automatically set by the menu configuration and only need to be changed if you don't like the default colors... To see the possible colors and their associated code numbers, from the command line prompt enter: 'gosub color' and hit return. Under MODEM SETUP, if your modem doesn't respond correctly to the defaults, just select another modem setup string. A default modem string is already configured and will work in most cases if your modem accepts the Hayes command set. Phomast assumes the modem has not locked its interface speed. To use phomast.t with Pro-YAM, you must first set the DOS PHONES environment variable. EXAMPLE: C>set PHONES=c:/yam/phomast.t 8.2 Customizing PHONES.T Phones.t is the "industrial strength" prototype directory. While not as easy to configure as phomast.t, it is powerful enough to fully exploit TrailBlazer and other complex modems. When ZCOMM begins execution, it searches the telephone directory for the setup entry. (A directory entry has the entry name starting at the left margin.) The setup telephone directory in the distributed phodir.t file invokes a demonstration menu. Once you have exercized the various demonstration possibilities, search for the xsetup telephone directory and change it to setup be removing the "x". This will blank out the oroginal setup entry which appears later in the file. (C) 1990 Omen Tech Inc Chapter 8 Your Telephone Directory Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 26 setup port 1 The first line of the "setup" entry selects port 1. : if !c speed 1200 putw "ATZ\r" This line is commented out with a colon (:). If the colon is removed, the speed is changed to 1200 and ZCOMM sends an initialization command to the modem if no carrier detect signal is present. If a carrier detect signal is present (modem still connected to the remote computer), the speed is not changed, and no initialization command is sent to the modem. pd1; pz480 enables incoming time/date information provided by the ZMODEM and True YMODEM protocols. Time/date stamping of transmitted files provides many advantages over traditional protocols, including the ability to selectively transmit files if the source file is newer than receiver's copy. The number in the pz480 command should represent the local time zone expressed as minutes behind GMT.[1] This line should be commented out with a leading colon (or removed) if you use a backup program that depends on the dates of files to determine which to save. set mprefix "ATDT" sets the string parameter mprefix to ATDT, allowing the modem to use tone (DTMF) dialing. If your phone line requires pulse dialing, comment that line out (place a leading colon to make ZCOMM pass over it) and uncomment the line containig "ATDP". set l "1"; set m "1" The l and m string parameters support the dynamic selection of one or more ALDS alternate long distance carriers. The default values for these parameters is the digit 1. When making entries in your telephone directory, use %l- for numbers with different area codes, and %m- for numbers with the same area code as yours. If you use a long distance credit card or sometimes dial out from hotel or PBX lines, be sure to modify the att, ddd, hotel9, and hotel8 __________ 1. Pacific Standard Time is 480 minutes behind Greenwich Mean Time (C) 1990 Omen Tech Inc Chapter 8 Your Telephone Directory Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 27 telephone directory entries in phones.t to suit your needs. The set command sets the string parameter l (lower case L) to 1 (number), providing for normal long distance access. If you have an alternative long distance service, set this parameter to the required access string for that service.[2] The "set m 1" command sets the string parameter m to 1, providing for normal long distance access for numbers in your same area code. If you have an alternative long distance service, set this parameter to the required access string for that service, plus your area code if required. (Some alternate long distance services require the area code for all calls, even those in your own area code.) set answerback "YOUR NAME CITY\r\n\21" Change the answerback setting to reflect your name.[3] Be sure to keep the \21 at the end of the string.[4] The next lines configure soft keys F3 to FS4. Their functions are described at the end of Chapter 19. : display bell=visual Causes bell characters to be displayed as a flashing musical note instead of sounding. If you want a silent bell, uncomment this line. set quitcmd "\003\336off\r" This string is sent to the remote before disconnecting when an ALT-Q is typed during a protocol file transfer. : set calllog c:/calllog : set rxlog c:/tmp/rxlog : set txlog c:/tmp/txlog The above lines set the pathnames for logs of calls, files received, and files transmitted. set f10 "@help" if fyamhelp.t set helpfile "yamhelp.t" if f/umanh.hlp set helpfile "@yhp /umanh.hlp" __________ 2. Use the "setsavenet" entry in PHODIR.t as a prototype. 3. Some timesharing systems may require a specific answerback string. 4. See Chapter 26 for a description character escapes. (C) 1990 Omen Tech Inc Chapter 8 Your Telephone Directory Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 28 if fumanh.hlp set helpfile "@yhp umanh.hlp" The above lines locate the help file and program F10 to summon the help processor if available. These lines may be changed if you keep these files in other directories. : if dc ps4 pn2 pr97 If a color display is used on DOS, uncommenting this line selects red status line (ps4), green normal text (pn2), and a blue/yellow for reverse video (pr97). These colors may be more suitable than the default black and white. Another possibility is "pn3" which selects blue-green for normal text. You may wish to experiment with these values to find ones best suited for your particular combination of display equipment and visual preferences. Changing the colors from time to time may prolong display tube life. The colors Telephone Directory entry* displays the colors generated by the possible numeric parameter values: EXAMPLE: gosub colors Some programs, including the "DEC Store" demonstration, will not display exactly as intended with some combinations of the above display parameters. You may wish to keep your phone numbers etc. in one file and relegate information specific to each computer to a separate file. The setup entry in phones.t checks for the existience of a phones.ts file and executes it if found. set s0 "" setc pho "%PHONES\&s"; if f%pho source %pho if %s0 return The supplied phones.ts file is used on some of Omen's Unix and DOS systems, and may be used as an example. On DOS, if you use VT100 emulation with keyboard mapping most of the time, you can add the contents of the keyboard mapping file std.mk, xen.mk, or 101.mk to your phones.ts file. While editing your telephone directory, you might wish to add some entries for your favorite systems in the same format used by the "amrad", "amsat", or "denver" directory entries. When the PHODIR.t file is ready, type "ZCOMM" to run ZCOMM. ZCOMM will print several lines of greeting and then silently execute the commands in the setup directory entry. If ZCOMM can't open PHODIR.t, exit ZCOMM with "x" and copy PHODIR.t to the correct directory, or set the DOS PHONES environment variable to the actual pathname (see Chapter 16). Also check that the (C) 1990 Omen Tech Inc Chapter 8 Your Telephone Directory Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 29 DOS CONFIG.SYS files contains FILES=20 to allow ZCOMM a sufficient number of open files for proper script operation. If using DOS 3.2 or later, you may need to add a STACKS line to your CONFIG.SYS file, as described in Chapter 34. EXAMPLE: STACKS=20,128 (C) 1990 Omen Tech Inc Chapter 8 Unleashing the MODEM Version 17.78 TurboDial 2.35 Universal Line Printer Edition ZCOMM User Manual 30 9. UNLEASHING THE MODEM 9.1 Hardware Interface ZCOMM accesses serial ports at the standard IBM COM1 and COM2 addresses. Zcomm also has definitions for COM3-COM18 as described under the port command. The portx command may be used to access 8250/16450/16550A type serial ports at non standard addresses. When a port is selected, a quick hardware check is made to verify the existence and minimal functionality of the port. If this test fails, the message Port N Defective is displayed. An incorrect port switch or strap (jumper) configuration is the usual cause of this message. This check does not guarantee the port is connected to the proper IRQ line. If the port is not configured to use the proper IRQ line, the computer may lock up when the port is used. Some 8250 UART devices (used by serial interface adapters and internal modems) do not respond correctly when the software turns the transmitter interrupts on and off. High speed communications programs such as ZCOMM require properly functioning UART chips. We recommend the National Semiconductor NS16550A/NS16550FAN. 9.2 MODEM environment variable The advanced dialing scripts use two script subroutines to generate dialing commands for your specific modem. The top level routine is the adial subroutine in the main phones.t file. The top level routine handles alternate number lists and operations pertinent to all modems. Adial uses the MODEM environment variable to identify the disk file containing the modem specific dialer. The value inherited from the environment may be overridden with a set command. Adial searches for this file in the directory specified by the lib string variable. The following dialer files are currently provided in dialers.zoo. Additional dialers will be described in dialers.doc, part of the dialers.zoo archive. ax9624.t MicroCom AX/9624c with MNP Class 6. This modem includes a pseudo full duplex 9600 bps speed. hst.t U S Robotics HST Dual Standard hu96.t Hayes V series Ultra Smartmodem 9600 (v.32/v.42) hv96.t Hayes V series Smartmodem 9600 mmv32.t Multitech MultiModem V32 with MNP. (C) 1990 Omen Tech Inc Chapter 9 Unleashing the MODEM