.rm 79 .lm 2 DSZ - a ZMODEM, True YMODEM(TM), XMODEM File Transfer Program Chuck Forsberg Omen Technology Inc Omen Technology Incorporated The High Reliability Software 17505-V Northwest Sauvie Island Road Portland Oregon 97231 Modem: 503-621-3746 Speed 1200,2400,19200(Telebit PEP) Compuserve:70007,2304 GEnie:CAF UUCP: ...!tektronix!reed!omen!caf Chapter 0 Rev 6-30-88 Typeset 7-11-88 1 Chapter 0 DSZ Quick Reference 2 1. FAIR PLAY Unlike snazzy menu interfaces, reliable high speed transfer protocols take many hours of testing, often over expensive phone connections, to develop. Two decades of communications experience and protocol testing are distilled in DSZ. DSZ is a user supported program developed and supported by Chuck Forsberg, owner of Omen Technology. Countless hours of work and expen$ive resources went to develop and support DSZ for the myriad environments users use it in. The fact that most of the problems people encounter with DSZ are caused by other software, hardware problems, failure to read the supplied documentation, or pirating has not kept users from seeking and getting help, even if it means calling the author in the middle of his sleep. Beyond this, the world of communications is constantly evolving, and it requires a significant ongoing effort to keep DSZ and its documentation up to date with the current state of the art. Individuals with little knowledge of the dynamic nature of telecommunications (or hidden agendas) have misrepresented the frequency of enhancements to DSZ as a sign that DSZ is "unstable" and unworthy of "serious consideration". If you think such sniping is fair play, you are more than welcome to use one of the many other protocol programs available, each of which claim to offer speed and reliability comparable to DSZ. Non registered users are welcome to use DSZ for a reasonable evaluation period. "Reasonable" means "until you've decided whether the program is worth $20.00". It does not mean "until some competing program gets around to adding ZMODEM or True Ymodem(TM)". Afterwards, ethical use of DSZ requires registering the copy. DSZ is not and never has been Public Domain. Every version of DSZ has included a Copyright Notice and a prohibition against sale or modification. There is no usage counter or other Trojan Horse in DSZ, but if you use this program, you have a moral and ethical obligation to register it. Registration enables OverThruster(TM), YMODEM-g, and other advanced features. The registration package serializes all past and future versions of DSZ.COM and DSZ.EXE. 1.1 Sharing DSZ Files You are welcome to share unmodified copies of DSZ.ARC with your friends and associates for their evaluation. This documentation file and the MAILER file must be provided with all copies of DSZ except by prior written permission from Omen Technology Inc. Because of piracy problems, Omen Technology must INSIST that DSZ be distributed only as part of the DSZ.ARC file EXACTLY as provided by Omen Technology Inc or Dynamis Software. Chapter 1 Rev 6-30-88 Typeset 7-11-88 2 Chapter 1 DSZ Quick Reference 3 PLEASE!!! Do NOT repack the Omen supplied DSZ.ARC file with Pkarc!!! The few bytes saved by PKARC are more than offset by confusion and increased difficulty identifying virus infection and unauthorized patches. The only approved exceptions to this rule are: [1] Dissemination the contents of the DSZ.DOC file (part of DSZ.ARC) in a convenient machine readable or human readable form, providing the editorial content is unchanged. [2] Encoding the DSZ.ARC file into printable characters for transmission over text based networks and/or message/news distribution systems. The "uuencode" program used with Usenet comp.binaries is an instance of such encoding. If you distribute DSZEXE.ZOO, DSZ.ARC must be included in the same directory since DSZEXE.ZOO references files in DSZ.ARC. The DSZEXE.ZOO file may not be modified in any way, including repacking with another archive program. I ask this favor because Rahul's ZOO is a superior archiving format, and I want to help it along. If you see an unpacked, repacked, or otherwise modified DSZ archive or parts thereof in a bulletin board, please ask the board's operator to replace such files with DSZ.ARC exactly as provided by Omen Technology Inc. Flame them until they behave responsibly. No version of DSZ may be sold without the prior written permission of Omen Technology Inc. Distribution of programs that modify, patch, disassemble, decompile, or otherwise reverse engineer DSZ without prior written permission by Omen Technology Inc is a bloody theft of services and a violation of federal copyright law. The same applies to debug scripts and documentation written for the same purposes. When possible, such piracy 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. So far, none of the cretins producing such bilge have seen fit to sign their real name and address to their attempts at ego gratification. Distribution of DSZ in any medium without this documentation file is an unauthorized modification to DSZ that deprives the rightful author of registration revenues. That is a theft of intellectual property. Such distribution also damages the author also obliges the user and author to waste time and phone bills scrounging for the documentation, and answering questions that are fully covered in the documentation. If any version of DSZ is distributed with any other product, software or hardware, the product documentation must clearly and prominently state that the customer's continued use of DSZ requires registration directly Chapter 1 Rev 6-30-88 Typeset 7-11-88 3 Chapter 1 DSZ Quick Reference 4 with Omen Technology or its duly authorized agent(s). When DSZ is distributed on disk, a contemporary copy of ZCOMMDOC.ARC should be included on the same disk. Thank you for your support. 1.2 REGISTRATION After a short evaluation period, users should register their copy of DSZ with a check for $20.00 in U.S. funds sent to: Omen Technology Inc. P.O. Box 4681 Portland, OR 97208 For VISA/MC Registrations, call 503-621-3406 Canadians should remit to: Dynamis Productivity Software LTD P. O. Box 5008, Station B Victoria BC V8R 6N3 The address on your check is sufficient, no need to fill out forms. Don't bother scrounging for an envelope, just print the INSTANT MAILER included in this archive! Users, especially those overseas, may choose to register their copy of DSZ for $25.00 U.S. by providing their VISA or Mastercard card number with expiration date and their name as it appears on their credit card. Overseas registrations are sent out Air Mail. ************************************************************************* The user registration package includes a printed serial number card, latest versions of the DSZ programs, the installation program which enables features and bypasses the opening advertisement, and additional documentation. The registration package serializes all past and future versions of DSZ.COM and DSZ.EXE. ************************************************************************* The unique serial number on the registration card is registered to the user, and is acceptable proof of registration to corporate auditors. The putsnp program inserts your unique DSZ Serial Number Password (SNP) into you copy of DSZ with the following command: putsnp dsz.com Putsnp accepts your SNP and asks appropriate questions before inserting the SNP. Chapter 1 Rev 6-30-88 Typeset 7-11-88 4 Chapter 1 DSZ Quick Reference 5 Some TSR programs have been known to interfere with putsnp. If you have a lockup running putsnp, run it without any TSR programs. The only legitimate way to disable the opening advertisement in DSZ is to insert an authorized SNP obtained from Omen Technology into DSZ with the putsnp program. Any other suppression or modification of the opening screen is an illegal, unethical theft of services. Piracy is stealing. 1.3 Files on Registration Disk The following files are currently included on the Registration Disk sent to paid registrants. DSZEXE.ZOO Contains DSZ.EXE. DSZ.ARC Contains DSZ.COM, this document, DESQview description files, and an instant no-effort registration mailer. YZMODEM.ZOO Contains Official YMODEM and ZMODEM protocol descriptions. LOOZ.DOC Documentation on running the LOOZ program LOOZ.EXE Program to unpack .ZOO archives RZSZ.ZOO ZMODEM C source code, porting base for several dozen ZMODEM implementations PUTSNP.EXE Installs your unique registered serial number into DSZ. DSZBG.DOC Background information for DSZ, part of the ZCOMM User's Manual. DSZBG.DOC is for registered users only; unregistered users are welcome to read the ZCOMM manual contained in ZCOMMDOC.ARC. 1.4 Bulletin Board Registration DSZ may be freely used and copied by public bulletin board systems which agree to the conditions stated in the accompanying bbs_reg.txt file. Those not abiding to these conditions must obtain a paid registration for each node. Chapter 1 Rev 6-30-88 Typeset 7-11-88 5 Chapter 1 DSZ Quick Reference 6 Free bulletin board registrations are processed in batches. Chapter 1 Rev 6-30-88 Typeset 7-11-88 6 Chapter 2 DSZ Quick Reference 7 2. DESCRIPTION DSZ is a "protocol driver" that uses the ZMODEM, True YMODEM(TM), or XMODEM protocol to transfer files over a serial port with a variety of programs. ZMODEM Transfers feature 32 bit CRC, crash recovery, and advanced file management. When calling bulletin boards to download files with ZMODEM you can avoid the bother of starting DSZ for each transfer by calling DSZ first, before asking the BBS for the download. dsz t The "t" command allows you to keyboard the file request to the BBS. DSZ's ZMODEM AutoDownload then receives the file automatically, without any wasted keystrokes or delay. Try it, you'll like it! (The "t" command is described below.) YMODEM downloads are almost as easy. Use the "t" command as shown above, and hit the F3 key after telling the board to download a file with YMODEM. ZMODEM and True YMODEM(TM) transfers preserve exact file length and modification time. DSZ supports XMODEM-1k (XMODEM with 1024 byte blocks, sometimes mislabeled YMODEM) and CRC-16 with the sx -k and rc commands. DSZ is derived from Omen Technology's "Professional-YAM" high reliability communications tools, (also known as PowerCom(TM)), and supports a subset of Pro-YAM's file transfer related commands. This documentation makes extensive references to contemporary editions of the ZCOMM or Pro-YAM manual, and is incomplete without it. DSZ is designed to be called from a communications bulletin board program. DSZ may also be called from other communications programs, but the combination lacks much of the enjoyable user friendliness of a program with integrated ZMODEM. DSZ uses its own modem I/O. The original interrupt vector, UART parity, and interrupt configuration are restored on exit. The original state of the 8259 interrupt mask bit for this vector is also restored on exit. DSZ uses DOS standard output (stdout) for messages. It never writes directly to the screen. DSZ expects its standard output to point to the console, a logging file, or NUL, not the modem port. If dsz's standard output is redirected to the modem (as with ProComm's Host mode DOS shell), the combination may lock up the computer. If necessary, dsz's standard output may be redirected back to the console device with the CON command. DSZ exits with 0 status for successful transfers, or the value of the Q parameter (default 1) if a file transfer failed. Some languages do not return this information to the calling program. Some language implementations freak out on certain non-zero exit values. A batch file Chapter 2 Rev 6-30-88 Typeset 7-11-88 7 Chapter 2 DSZ Quick Reference 8 that calls DSZ directly may be used to detect the DSZ exit status, or DSZ's log file entries may be examined. Chapter 2 Rev 6-30-88 Typeset 7-11-88 8 Chapter 3 DSZ Quick Reference 9 3. COMMANDS dsz [CON] [port N] [speed S] [handshake XX] [D] [d] command DSZ commands are an improper subset of Pro-YAM/PowerCom/ZCOMM commands. They are fully described in the ZCOMM User's Manual, contained in ZCOMMDOC.ARC. Portions of that document are included with the DSZ registration disk. Please refer to that document for details on the following commands. *********************************************************** NOTE WELL Except as noted, all commands must be in entered lower case. (Case is significant!) *********************************************************** When used (in any combination), the CON, port, speed, handshake, and d commands must be given in the order shown. CON Redirect message output to the DOS "CON" (console) device, overriding any previous redirections. This is necessary to avoid lockups caused by Procomm host mode. Most programs do not require this hack. This command is unique to DSZ. handshake XX Enable one of several choices of hardware handshake. (The default is XOFF/XON software handshake). This command is documented in the ZCOMM or Pro-YAM manual, and in DSZBG.DOC. (The ZCOMM manual is available on all bulletin boards registered for DSZ as ZCOMMDOC.ARC.) On DSZ the "handshake" command may be abbreviated to "ha". port N select port N (n = 1,2,3,4,5,6,7,8, 10,11,12,13,14,15,16,17,18) Default is port 1 (COM1) or read from the DSZPORT dos environment variable. COM10 to COM18 refer to the COM1 to COM8 ports on the PS/2. In multitasking operation, accessing a port used by another running program may hang the machine. EXAMPLE: to use COM2: dsz port 2 rz portx ... Select arbitrary port address and interrupt vector. Please refer to the ZCOMM or Professional-YAM manual for information on this command. speed S Set the specified speed. This command is rarely needed because DSZ reads the port's current speed by default. Please refer to the FLOW CONTROL, MAIN COMMANDS and SOFTWARE COEXISTENCE chapters in the ZCOMM or Pro-YAM manual for important information about the speed command. Chapter 3 Rev 6-30-88 Typeset 7-11-88 9 Chapter 3 DSZ Quick Reference 10 D Disables the modem (drops Data Terminal Ready, DTR) if carrier is lost. This may be used to prevent spurious events (phone ringing) from interfering with the calling bulletin board's recovery from carrier loss. d Disables carrier dropout monitoring, for modems that do not properly drive the "Data Carrier Detect" input on the PC. If you see a CARRIER LOST message, you need to give the d command. LARG Convert ARG to lower case, then parse arg. pxN Set a numeric parameter x to N. These parameters are mostly a subset of the Pro-YAM/ZCOMM numeric parameters, and are listed below. They assume their defaults each time DSZ is called. Without an argument, p displays the numeric parameters and their values. EXAMPLE: C>dsz p z pxN Set zmodem numeric parameter x to N. These parameters correspond to the Pro-YAM or ZCOMM "zmodem" parameters and rarely need changing. These parameters assume their defaults each time DSZ is called. Without an argument, z p displays the zmodem numeric parameters and their values. restrict Restrict pathnames to the current disk and directory tree, and disallow overwriting of existing files. When DSZ is restricted, it will refuse to transfer files containing the string autoexec.bat and command.com in upper or lower case. This provides some defense from malicious uploaded files. t [-8g] Talk with ZMODEM AutoDownload. The optional -8g (available on registered copies only) allows "BBS (ANSI) graphics". A small subset of ZCOMM/Pro-YAM term function subcommands are recognized. Keyboard F1 or ALT-X to exit. F3 receives file(s) with True YMODEM(TM), ALT-P toggles parity between the 8n default and 8g (enables ANSI "graphics"). ALT-H toggles two local echo ("Half Duplex") modes; the second displays a newline (CR/LF) when Enter is keyboarded. Keyboarded ASCII characters are sent to the modem. Modem characters print on the screen. A device driver such as ANSI.SYS may be used to recognize escape sequences. ZMODEM AutoDownload detects the start of a ZMODEM file download and accepts the file(s) without operator intervention. rz [-abenprt+Yy] [dir] [file ...] (ZMODEM receive) rb [-abt+y] [dir] [file ...] (YMODEM receive) rb -g [-abt+y] [dir] [file ...] (YMODEM-g receive) rc [-abt+y] file1 (XMODEM/CRC receive) Chapter 3 Rev 6-30-88 Typeset 7-11-88 10 Chapter 3 DSZ Quick Reference 11 ro [-abt+y] file1 (XMODEM OverThruster receive) rx [-abt+y] file1 (XMODEM receive) rx -g [-abt+y] file1 (Qmodem-G receive) sz [-abefnprtY+y] [-w[N]] file ... (ZMODEM send) sb [-ft] [PREFIX=p | ONAME=n] file ... (YMODEM, YMODEM-g send) sb -k [-ft] [PREFIX=p | ONAME=n] file ... (YMODEM-1k send) sx [-t] file1 (XMODEM, XMODEM/CRC, Qmodem-G send) sx -k [-t] file1 (XMODEM-1k send) The meanings of the optional arguments are described in the ZCOMM manual. Send files may be specified indirectly: dsz sz @C:files.lst sends the files in C:files.lst. This provides another means of bypassing the DOS command line limit. The first letter must be "@" and the third letter must be ":" to distinguish this from an ordinary pathname. Pathnames in the indirect may be separated with any combination of space(s), tab(s), CR and/or LF. No spaces may appear inside a pathname; "FOO .BAR" won't work. 3.1 Interrupt Keys Ctrl-Break Terminates the transfer in progress. ALT-N Abruptly terminates (NUKES) the transfer in progress. Ctrl-X Typing a dozen Ctrl-X characters to another ZMODEM program terminates ZMODEM operations. ALT-F Skips the current file in ZMODEM transfers. ALT-B Cancels the current ZMODEM session. Chapter 3 Rev 6-30-88 Typeset 7-11-88 11 Chapter 4 DSZ Quick Reference 12 4. NUMERIC PARAMETERS DSZ uses the following main numeric parameters, settable with the pxN command. EXAMPLE: C>dsz pQ0 In addition, DSZ uses the Pro-YAM/ZCOMM zmodem numeric parameters described in the Pro-YAM/ZCOMM reference manual. B Set the size of buffer used for disk reads and writes. The default is 1024, 8192 maximum. If your copy of DSZ is running on a floppy disk system or a very slow turkey hard disk, a larger value may give better results. Too large a value may exhaust memory, induce receiver timeouts, cause disconnects(!), or generate spurious CRC errors. If performance logging doesn't work, this parameter is too big. This parameter is supported on versions compiled with TurboC. EXAMPLE: C>dsz pB4096 sz A:floppy.fil Setting the buffer size larger may lock out the performance log, DSZFILES, and/or indirect pathname list in the "tiny model" DSZ flavor. If you aren't bloody sure you need a bigger buffer, don't use one. O This parameter controls XMODEM OverThruster(TM). It is described in dszbg.doc. This file is part of the software package sent to paid registrants. Q Error code returned to DOS (default 1). (Success returns 0.) Some programs toss cookies when confronted with certain exit codes. EXAMPLE: C>dsz pQ-1 sz foo.bar S Timeout in seconds (default 15) waiting for restraint release (XON and/or handshake). W Wait for Enter key before exiting after an error. Effective on registered copies. Useful when calling DSZ from DESQview, allows the window to close unless there is an error message that should remain visible. a Calibrates certain protocol timeouts used with XMODEM and YMODEM transfers (Cybernetic Data Recovery(TM)). This parameter does not affect ZMODEM transfers. The a numeric parameter is automatically set to 2000 for a 4.77 mHz PC or XT, 4000 for a PS2/30, 6000 for an 8 mHz 1ws AT, and 12000 for a Chapter 4 Rev 6-30-88 Typeset 7-11-88 12 Chapter 4 DSZ Quick Reference 13 PS2/80. If your computer has a speedup card or otherwise runs unusually fast (or slow!) for its type, you may set the a numeric parameter to a value that reflects its speed. EXAMPLE: dsz port 2 pa4000 rb NOTE: Setting this parameter does not suppress the "Unknown Machine Type" message which is displayed before the command line is scanned. d A non zero value (the default) causes incoming files received with ZMODEM and full YMODEM transfers to have their Date set to that sent in the file header. ZMODEM's file management features depend on the transmission of each file's modification date. Files will have the same creation date, even if the two machines are in different time zones. When transferring files to/from a Unix system, creation dates are interpreted according to GMT or Universal Coordinated Time. File dating may be disabled with a pd0 command. NOTE: Backdating file creation times may confuse some backup programs. v Verbose level (debugging output) Negative values inhibit some routine messages. Setting v to 1 or greater causes serialized copies to ring the bell when a transfer is done. z Timezone in minutes behind GMT, used for ZMODEM and True YMODEM file transfers to coordinate the actual date of the file with computers in other time zones. Effective on registered copies. PDT or MST corresponds to 420. This may be preset with the ZONE DOS environment variable. Chapter 4 Rev 6-30-88 Typeset 7-11-88 13 Chapter 5 DSZ Quick Reference 14 5. ENVIRONMENT VARIABLES The following DOS environment variables may be set to modify DSZ operation. DIRRX (Registered copies only.) Specifies the directory to receive (download) files. If the sting in DIRRX ends with "/", directory and/or disk designators in the incoming pathname are stripped, and only the stem (name and extension) is used. Otherwise, if an incoming file has an absolute pathname, the incoming pathname is used. EXAMPLE: C>set DIRRX=C:/rxdirect/ C>dsz rz -r DSZFILES May contain a list of up to 9999 pathnames to transmit, with entries separated by spaces. If present, DSZFILES is used in place of a normal command line list of files to send with the sb and sz commands. EXAMPLE: C>set DSZFILES=file1 file2 file3 *.c C>dsz port 2 handshake on sz -r In practice, this string would be built up by a calling program and passed to DSZ with a "spawnvpe", "execvpe", or similar subroutine call. SEE ALSO: Pathname list specification @C:files.lst DSZLOG log file to receive entries for files sent and received. (Default null). Sample entries: Z 46532 38400 bps 3324 cps 0 errors 66 1024 DSZ.COM 1177 Z 124087 19200 bps 1880 cps 0 errors 6 1024 MXY.TMP 1177 Transfer times are based on the DOS time of day clock and have one second jitter. As with all protocol throughput reports generated by Omen Technology programs (and contrary to the false claims of some critics), DSZ's throughput figures for ZMODEM, Kermit, and True YMODEM(TM) transfers do not take "credit" for pathname and/or protocol overhead characters. DSZ's throughput reports do not include the time required to send the pathname. This understates the true time required to transfer files, but the time required to send the pathname often depends on the alacrity of the operator, and thus does not always reflect the performance of the protocol itself. Transfers measuring less than one second are reported as having 9999 characters per second throughput. The unlabeled numeric field after the error (retry) count is the number of flow control stoppages encountered sending the file. This Chapter 5 Rev 6-30-88 Typeset 7-11-88 14 Chapter 5 DSZ Quick Reference 15 number gives an indication of flow control restrictions (overloaded networks, etc.) encountered during the transfer. The last numeric field before the file name is the block or subpacket length used for the last block in the file. The last field is the serial number of the other program, or -1 if this information is not available. The code letter indicates the type of transfer, Z (ZMODEM), S (X/YMODEM), R (X/YMODEM), E (error), or L (transfer terminated by loss of data carrier). WARNING: If DSZ encounters a loss of carrier or other fatal error condition before a file commences transmission, a log entry will not be made. EXAMPLE: C>set DSZLOG=C:/yam/dszlog DSZOPT (Registered copies only) String containing default options for DSZ file transfers. Options are optional modifiers to the DSZ sz, rz, sx, rx, sb, rb commands. An 8n may be appended to the string to make BBS (ANSI) graphics the default for DSZ's t command. The ability to preset these options is especially helpful for controlling ZMODEM automatic downloads from DSZ's t command. EXAMPLE: C>set DSZOPT=r Enables DSZ's intelligent Crash Recovery as a default. Let's say you wish ZMODEM crash recovery, and BBS "graphics" for the DSZ term function: C>set DSZOPT=r8g WARNING: Do NOT include "ena" or any other commands in the DSZOPT string. With the exception of the "8g" mode, only **options** may be placed in the DSZOPT string! (Options are the letters that modify the sz, rz, sb, etc. commands. In "rz -r", "r" is an option.) MAXBYTES Maximum number of bytes allowed for transfer. If this number is exceeded, DSZ skips the offending files (ZMODEM) or aborts remaining files in the batch (YMODEM). DSZPORT Default communications port override, default 1. EXAMPLE: C>set DSZPORT=2 Chapter 5 Rev 6-30-88 Typeset 7-11-88 15 Chapter 5 DSZ Quick Reference 16 ZONE sets the z numeric parameter to the number of minutes the current local time lags GMT time. PDT or MST corresponds to 420. (Registered copies only) EXAMPLE: C>set ZONE=420 Chapter 5 Rev 6-30-88 Typeset 7-11-88 16 Chapter 6 DSZ Quick Reference 17 6. EXAMPLES dsz sz c:foo.* b:*.c (send files) dsz sz -r yzmodem.arc (CRASH RECOVERY: resume interrupted transfer) dsz rz -r (CRASH RECOVERY: resume interrupted transfer) dsz handshake both sz yzmodem.arc (Hardware+Software handshake) dsz sz -n *.* (send files that are newer or rx has no copy) dsz sz -Yn *.* (Only send files that are newer than receiver's copy) (Do not send files that do not exist on receiver's disk) dsz rz C:/UPLOADS (receive files to specified directory) dsz port 2 speed 38400 restrict rz dsz rz -y prog.arc (ZMODEM, single file pathname override) dsz z pr1 rx foo.dat (XMODEM receive, remove file if error) dsz pO60 ro foo.dat (XMODEM/OverThruster receive, GEnie MNP) DSZ LRC L-Y NEWPROG.ARC (generate lower case "rc -y" command) dsz pv2 sz foo >debug.dmp (Debugging data dump) dsz sz @C:/bbs/files.lst (Indirect file list) Chapter 6 Rev 6-30-88 Typeset 7-11-88 17 Chapter 7 DSZ Quick Reference 18 7. BACKGROUND OPERATION Three DESQview description files are provided to demonstrate background operation with modest (66 kb window) memory requirements. DSZ uses tight C/ASM code, table driven CRC generators, and buffered receive and transmit for good performance in the background without hogging CPU cycles. On a QIC Labs PC-AT clone, DSZ can download files in the background (3 background clock ticks, 9 foreground clock ticks) with a throughput better than 9600 bps. 2S Prompts for file name(s) and sends them with ZMODEM protocol. File: 2S-PIF.DVP 2T Talks to the modem and allows manual YMODEM (F3) or automatic ZMODEM downloads. File: 2T-PIF.DVP 2A Like 2T, but using Quarterdeck's dvansi.com memory resident ANSI CRT device driver to process ANSI screen codes. File: 2A-PIF.DVP DS.BAT is the batch file used by 2A. These files are written for a port 2 local connection and \TMP directory, but may be modified to suit your requirements using the DESQview CP command. The W numeric allows DESQview to close the window after DSZ finishes, providing a pleasant user interface. Operation at high speed (above 9600 bps) requires the DESQview "Optimize communications" performance Advanced Setup option. *********************************************************** WARNING When running DSZ under a multi tasking system such as DESQview, do not allow two programs to access the same comm port at the same time. At best, such actions will disrupt communications. At worst, your computer will attempt to open a subspace channel to V'ger. *********************************************************** Chapter 7 Rev 6-30-88 Typeset 7-11-88 18 Chapter 8 DSZ Quick Reference 19 8. CALLING DSZ FROM COMM PROGRAMS 8.1 GT POWER 13.00/14.00 GT Power version 13/14 includes a YMRX.BAT (YMODEM-g receive) file with an "rz" command. You guessed it, "rz" is for ZMODEM protocol (the z means ZMODEM!). Please change the file to use the correct "rb -g" for YMODEM-g. The files ZMTX.ARC and GT1300.NOT available on many bulletin boards contain useful information for GT Power users. 8.2 PROCOMM DSZ may not operate properly when called from Procomm if Procomm has files open at the time. When running under ProComm's Host mode, failure to use the CON command may cause Procomm to lock up the computer. The POE, PCALL, DSZ_ZAP, and PROZ programs have been popular in interfacing DSZ to Procomm's editor gateway. Hint: the DOS PATH environment variable must include Procomm's directory to allow POE to locate all the POE files,. The POE files should be stored in the Procomm directory. Setting the "PROCOMM" environment variable is insufficient. 8.3 PROCOMM PLUS DSZ may not operate properly when called from Procomm if Procomm has files open at the time. Here are some handy settings for Procomm Plus. First, set the DOS environment as necessary before running Procomm: SET DSZPORT=2 (Only needed for COM2) SET DSZLOG=DSZ.LOG (If you wish a log file) Then set Procomm's external protocol strings: A- External protocol 1 upload filename ...ZMODEMU B- External protocol 1 download filename ... ZMODEMD And then some short batch files: ZMODEMU.BAT: DSZ sz %1 %2 %3 %4 %5 %6 %7 %8 %9 ZMODEMD.BAT: DSZ rz To make downloads easier, use the "dsz t" command described above. ZMODEMT.BAT: DSZ t Chapter 8 Rev 6-30-88 Typeset 7-11-88 19 Chapter 8 DSZ Quick Reference 20 8.4 BULLETIN BOARDS When installing DSZ on a bulletin board or host system, be sure to check for proper operation when the caller hangs up while a file is being sent or received. Currently, Only the TurboC version supports file sharing (shared read access on files sent by dsz). Some bulletin board interface routines do not call DSZ to send a file until they have verified the file's presence by opening the file. If this checking is done in DOS's default exclusive open mode, dsz's file sharing will be defeated. Chapter 8 Rev 6-30-88 Typeset 7-11-88 20 Chapter 9 DSZ Quick Reference 21 9. FLOW CONTROL If you plan to send files over Telenet (PC-Pursuit), you must refer to the Pro-YAM or ZCOMM Reference manual (in ZCOMMDOC.ARC) FLOW CONTROL chapter for vital information on flow control considerations necessary for proper operation of ZMODEM and other streaming protocols. Chapter 9 Rev 6-30-88 Typeset 7-11-88 21 Chapter 10 DSZ Quick Reference 22 10. ERROR MESSAGES COM2 1200 bps Carrier Detect enabled Handshake slow Command line = (commands) This is a normal message displayed to help resolve problems with incorrect batch files. The port number, speed, carrier detect ("enabled" or "DISABLED") and "handshake" indicate the selected mode of operation. Unknown Machine Type XX, 'a' parameter preset to 6000 indicates a ROM BIOS that does not follow the IBM specification for identifying the machine type. If your computer causes DSZ to display this message, you may set the a numeric parameter described elsewhere in this document. This message is generated before any commands are read, so do not be alarmed when setting the a parameter doesn't make this message go away. The a parameter does not affect ZMODEM transfers. Need more memory to run DSZ or Abnormal program termination is displayed by the TurboC startup routine if DSZ is run in too small a memory partition. If you see this message, use a larger memory partition for DSZ or remove some memory resident programs. This message may also appear if the calling program fails to free memory before calling DSZ. CARRIER LOST is displayed when DSZ recognizes a loss or lack or carrier detect signal from the modem. This is caused by a line disconnect, defective cable, or incorrect modem strapping. It may be disabled with the d command. Sometimes this is caused by setting the B parameter to too large a value. Garbage Count Exceeded Indicates ZMODEM has not detected a valid start of header in a reasonable number of characters. If DSZ becomes "stuck" on emitting this messages, it is possible the sending program may not be able to recognize and act upon transmission requests (ZROPS headers). The sending program should be corrected. In the meantime, setting a ZMODEM packet length with the "zmodem pl4096" command forces the sender to wait for the receivers' progress reports. Permission denied comes from the Microsoft C Library. This may be caused by attempts to modify a read only file or directory, or create a file in a nonexistient directory. A furtive flashing appearance of XOFF or FLOW during ZMODEM or YMODEM-g file sending signifies DSZ is responding to flow control restraint. This is normal operation when buffered modems or packet switched networks are used. ZMODEM's robustness and reliability allow creative users to transfer files over unusual multiple computer lash-ups, causing modem data lights and computer status displays to dance in unfamiliar rhythms. Got ZRPOS indicates the receiving program has detected a transmission error and has requested retransmission. In other words, ZMODEM is doing its job of detecting and correcting missing and garbled data. If this happens more often than observed line errors would indicate is reasonable, there Chapter 10 Rev 6-30-88 Typeset 7-11-88 22 Chapter 10 DSZ Quick Reference 23 may be a flow control problem in one of four areas: + Between the sending program and its modem. If using an interface speed higher than the transmission speed, or modem to modem error correction (MNP, LAPB, PEP, etc.), check that the modem and the sending program are configured for the same flow control methods. DSZ is faster than most other programs, and may expose flow control problems not seen with slower software. + Between the sending modem and the network. Correcting this requires "handshake both" to allow the sending program to honor both hardware (CTS) flow control from the modem and software flow control (XON/XOFF) from the network. + Between parts of the network. + Between the receiving modem and the receiving program. This can happen at high transmission speeds when the receiver has specified a large I/O buffer size with the B numeric parameter. Excessive interrupt latency from extended memory ramdisks or disk caches, and poorly written hard disk drivers also wreak havoc on streaming protocols but do not affect start-stop protocols (XMODEM, etc.). To correct these problems, give the "handshake slow" command to the receiver. Chapter 10 Rev 6-30-88 Typeset 7-11-88 23