CONTENTS 1. ZMODEM Features at a Glance.................................... 1 2. CUSTOMIZING GSZ................................................ 3 2.1 Setting the GSZ Screen Size............................. 4 2.2 Speeding up GSZ......................................... 4 3. TUTORIAL INTRODUCTION.......................................... 5 4. CALLING GSZ FROM COMM PROGRAMS................................. 6 4.1 USE AN INTERFACE PROGRAM?............................... 6 4.2 MSKermit 3.xx........................................... 6 4.3 PROCOMM PLUS............................................ 7 4.4 Qmodem.................................................. 8 4.5 TELIX................................................... 10 5. BULLETIN BOARD CONSIDERATIONS.................................. 12 6. DESCRIPTION.................................................... 13 7. COMMANDS....................................................... 15 7.1 List of Commands........................................ 15 7.2 Interrupt Keys.......................................... 21 8. NUMERIC PARAMETERS............................................. 22 9. ENVIRONMENT VARIABLES.......................................... 26 10. EXIT STATUS.................................................... 30 11. EXAMPLES....................................................... 31 12. BACKGROUND OPERATION........................................... 32 12.1 Microsoft Windows....................................... 33 12.2 VM...................................................... 34 13. TERMINAL SERVERS............................................... 35 13.0.1 PORT WATCHERS 36 14. FLOW CONTROL................................................... 37 15. ERROR MESSAGES................................................. 38 15.1 Got ZRPOS............................................... 39 15.2 Subpacket too Long...................................... 40 15.3 Bad CRC................................................. 40 15.4 Garbled Data Subpacket.................................. 40 15.5 Serial Input Error: Line Status Register xx ............ 41 15.6 TIMEOUT................................................. 44 15.7 No Carrier Detect....................................... 44 15.8 Port %d (%X) defective.................................. 44 15.9 COMMAND NOT FOUND....................................... 44 15.10 Out of Environment...................................... 44 16. SLOW TRANSFERS................................................. 46 17. IN CASE OF DIFFICULTY.......................................... 47 17.1 LOCKUPS................................................. 47 17.1.1 Insufficient Memory 47 17.1.2 Environment TOO BIG 47 17.1.3 Bad COM Port Configuration 47 17.1.4 LAN Manager Conflicts 48 17.2 Incorrect Batch Files................................... 49 17.3 Cheap Internal Modems................................... 49 17.4 Commands Entered in Upper Case.......................... 49 17.5 No Carrier Detect....................................... 49 17.6 DOS 3.x................................................. 50 17.7 Perstor Controllers..................................... 50 17.8 IBM PS/2 Model 50Z...................................... 50 17.9 Brain Damaged UARTS..................................... 50 17.9.1 Everex Internal Modems 52 17.10 Weird Iron.............................................. 53 17.11 PKARC 3.6............................................... 53 17.12 Will the real YMODEM please stand up?................... 53 17.13 286 and 386 Extended Memory............................. 53 17.14 Disk Caches............................................. 54 18. ASSOCIATED DOCUMENTS........................................... 55 19. FILES.......................................................... 56 20. Other Omen Technology Products................................. 58 20.1 Professional-YAM COMMS TOOLS............................ 58 20.2 ZCOMM: Industrial Strength COMMS Shareware.............. 58 20.3 ZMODEM Developer's Collection........................... 58 21. FAIR PLAY...................................................... 59 21.1 Sharing GSZ Files....................................... 60 21.2 REGISTRATION............................................ 61 21.3 Files on Registration Disk.............................. 63 21.4 Bulletin Board Registration............................. 64 22. CHANGES........................................................ 66 23. ACKNOWLEDGEMENTS............................................... 70 Chuck Forsberg Omen Technology Inc ABSTRACT ZMODEM-90(TM) - Not just another XMODEM hack GSZ is one of many available programs that implement the ZMODEM file transfer protocol. GSZ features the ZMODEM-90(TM) extensions including ZMODEM compression and MobyTurbo(TM) accelerator. GSZ's ZMODEM provides advanced file management features including two levels of Intelligent Crash Recovery(TM), and flexible control of selective file transfers. The ZMODEM file transfer protocol provides reliable file and command transfers with complete END-TO-END data integrity between application programs. GSZ's 32 bit CRC protects against errors that sneak by "error free" modems and even the most advanced networks. ZMODEM safeguards all data and supervisory information with effective error detection. (XMODEM and many recently introduced protocols do not protect vital supervisory data.) ZMODEM rapidly transfers files, particularly with modern modems, timesharing systems, satellite relays, and packet switched networks. ZMODEM's streaming operation eliminates delays caused by Kermit/XMODEM/YMODEM/JMODEM block acknowledgements. ZMODEM eliminates traditional protocols' PACKET LENGTH compromises between transfer efficiency and error recovery; ZMODEM's packet length is the entire file. User Friendliness is an important ZMODEM feature. ZMODEM AutoDownload(TM) (Automatic file Download without user intervention) provides a level of convenience unimaginable to users of traditional protocols. GSZ - a ZMODEM-90(TM), True YMODEM(TM), XMODEM File Transfer Program Omen Technology Inc 1. ZMODEM Features at a Glance _______________________________________________________________________ | Feature | ProCm | RZSZ | DSZ | GSZ | ZCOMM | Pro-YAM | |________________________|_______|______|______|_____|_______|_________| |Security Verification | no | no | no | no | no | YES | |Cybnertic Data Recovery | no | no | YES | YES | YES | YES | | | | | | | | | |Command Download | no | YES | no | no | YES | YES | | | | | | | | | |Update Directory Tree | no | YES* | no | no | YES | YES | | Create Directories | no | YES* | no | no | YES | YES | | Newer files Only | no | YES | YES | YES | YES | YES | | Protect files | ? | YES | YES | YES | YES | YES | | Common files Only | no | YES | YES | YES | YES | YES | | | | | | | | | |Collision Avoidance | ? | no | YES* | YES | YES | YES | | | | | | | | | |Crash Recoverey | YES | YES | YES | YES | YES | YES | | Verified Accuracy | no | SZ | YES | YES | YES | YES | | | | | | | | | |ZMODEM-90(TM) | no | YES | YES | YES | YES | YES | | Compression | no | YES | YES | YES | YES | YES | | MobyTurbo(TM) | no | YES* | YES | YES | YES | YES | | 7-bit Paths OK | no | YES* | YES* | YES | YES | YES | | | | | | | | | |OPERATING SYSTEMS | | | | | | | | Text Translation | no | YES | YES | YES | YES | YES | | Record Format Support | no | YES | YES | YES | YES | YES | | DOS Shared Files | ? | - | YES | YES | no | no | | VMS | no | YES | no | no | no | YES | | Unix/Xenix | no | YES | no | no | no | YES | | | | | | | | | |True YMODEM(TM) | no | YES | YES | YES | YES | YES | |Demand Upgrade(TM) | no | YES | YES | YES | YES | YES | |File Transfer Display | YES | no | no | YES | YES | YES | | TOTAL File Xfer Data | no | YES | YES | YES | YES | YES | |________________________|_______|______|______|_____|_______|_________| ProCm = ProComm Plus * Not available on all flavors or platforms Chapter 1 Pg 2 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 ************************************************************************* GSZ registration is special. With most programs, registration only applies only to today's version. Not GSZ! GSZ registration bypasses the shareware announcement and unlocks advanced features in all future versions of GSZ. You don't have to pay and pay again for new GSZ versions. Omen's Demand Upgrade(TM) technology allows you to download and activate future GSZ versions without further registration! ************************************************************************* DSZ Upgrade!! Include your PAID REGISTRATION DSZ SNP CARD and take $15.00 off the registration fee!! (The card must be mailed with the order.) (Be sure to copy your DSZ SNP for safe keeping.) Chapter 1 Pg 3 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 2. CUSTOMIZING GSZ The GCOLORS program customizes GSZ for your environment. GCOLORS performs the following functions: + Customize GSZ's color complement (registration not required). + Save and fetch the color selection separately to allow "colorizing" new copies of GSZ + Insert your GSZ serial number and activation key + Initialize GSZ with your default communications port (registration required).[1] + Initialize GSZ with your default download directory. (registration required). GCOLORS is menu driven and is mostly self explanatory. First GCOLORS asks for the file name to modify; answer GSZ.EXE. Sight impaired users can disable the blinking selection pointer by calling "gcolors -q". The top menu provides several choices. Choose colors Modify the GSZ file transfer display color scheme. Fetched saved colors Fetch the color scheme stored in GCOLORS.T. adjust for Monochrome display Adjust the color scheme for better visibility on monochrome displays. Register Accept your GSZ activation key and insert it in GSZ. Save changes Save the color scheme in GSZ and GCOLORS.T. Quit If your copy of GSZ is registered, two additional choices appear. set download Directory __________ 1. The default port may be up to 7 characters, so portx definitions may be used. The validity of the port specification is not checked. Chapter 2 Pg 4 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 set default Port Some Color Selection menu choices are not shown on the display: space increment foreground color Enter select the next field F decrement foreground color (f increments) B decrement background color (b increments) GCOLORS requires the file GREGDAT.$$$ to serialize GSZ. 2.1 Setting the GSZ Screen Size Some BBS programs display status information such as the name of the caller at the bottom of the screen. Normally GSZ clears all 25 screen lines, but this can be modified with the GSZWINDOW environment variable: SET GSZWINDOW=24 protects the 25th line and disables the frame shadow. SET GSZWINDOW=23 protects the 24th and 25th lines and disables the frame and frame shadow. SET GSZWINDOW=21 Protects lines 22-25, disables the frame, frame shadow, and the static data GSZ normally shows in lines 22 and 23. SET GSZWINDOW=2 Starts the window at line 2. This allows the calling program to protect information on the top line. GSZWINDOW values of 3 and 4 also work. Setting GSZWINDOW does not affect the GSZ t command. 2.2 Speeding up GSZ GSZ has a V numeric parameter that can be set to 1 to use direct video I/O for the status display. This speeds up displays but may cause serial input errors when CGA equipped computers are used at high speeds. EXAMPLE: GSZ pV1 t sets direct video output. Chapter 3 Pg 5 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 3. TUTORIAL INTRODUCTION If you are just starting out with GSZ, or if you have difficulty getting GSZ to work, please follow the procedure given below. Do not run any TSR or other COMM program. This includes LAN programs. Reboot a clean DOS if necessary. Start with the following command given directly from the DOS prompt: gsz port 1 speed 2400 d t Type it exactly as it appears above; do NOT use upper case. (Change the port number and speed as necessary. Use only COM1 or COM2 for testing.) This connects you to the modem. Dial a bulletin board by typing AT commands to the modem ("ATDT621-3746 ")[1] to make it dial the BBS. Log in as usual. Then, request a ZMODEM download of a file you don't already have. The file will download automatically, you don't have to do anything. This procedure verifies the correct operation of GSZ. Next you might try calling the BBS using a higher "baud rate". This requires setting a higher speed with the "speed" command. A "handshake on" command may be necessary along with commands to the modem to enable hardware handshaking in the CTS and RTS leads. Perhaps you got some error messages before or during the download. The "ERROR MESSAGES" chapter explains all the commonly seen error messages and suggests solutions to the underlying problems. __________ 1. If your modem has a non standard setting the ATDT621-3746 command you type to the modem may not echo on the screen. If your telephone line requires pulse dialing, use ATDP621-3746 (DP instead of DT). Chapter 4 Pg 6 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 4. CALLING GSZ FROM COMM PROGRAMS If you need to define a trigger string for automatic downloads, make the program look for "Control-X B 0 0" without the spaces. It may be necessary to add the DOS command: SET COMSPEC=C:\COMMAND.COM (change as needed) to your AUTOEXEC.BAT file to allow programs to call GSZ. Note: NO SPACES in the SET command! Please note that gsz reads the hardware to get the speed. The gsz speed command is hardly ever needed when calling gsz from another program. 4.1 USE AN INTERFACE PROGRAM? A number of third party programs have been developed to provide a congenial interface to DSZ if you have enough memory to spare. The XFER, POE, PCALL, DSZ_ZAP, and PROZ programs have been popular in interfacing DSZ to ProComm's editor gateway. Many of these support GSZ as well. These programs are available on many bulletin boards. 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. Calling DSZ with these programs requires more memory than calling DSZ directly. 4.2 MSKermit 3.xx The "push" command (^[p) in MSKermit 3.xx sends an XOFF character to the modem before calling DOS. Using this to activate GSZ's term mode with a "gsz t" command causes most remote hosts to lock up. The remote host can be unwedged by using the gsz G command, or by keyboarding XON (Ctrl-Q) from GSZ's terminal mode. You can add these macros to your MSKERMIT.INI file. Courtesy Keith Petersen W8SDZ define sx run gsz F port 2 G sx 1 2,define 1,define 2, define rz run gsz F ha on port 2 G rz -r define sz run gsz F ha bo port 2 G sz 1 2,define 1,define 2, define t run gsz F ha on port 2 G t -r Chapter 4 Pg 7 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 4.3 PROCOMM PLUS It's easy to add GSZ to ProComm Plus 2.X. Datastorm has not licensed ZMODEM-90(TM) technology despite allegations that DSZ is now "built in" to ProComm Plus version 2. Many users of ProComm Plus version 2.x use GSZ to get MobyTurbo(TM), Intelligent Crash Recovery(TM), and other ZMODEM-90(TM) features. Make sure the GSZ program is in your search path. If you don't see GSZ announce itself when called from ProComm, GSZ is not in your search path. Here are some handy settings for ProComm Plus. First, you may need to set the DOS environment before running ProComm. Give these commands to DOS before running ProComm Plus. (These lines may be added to your AUTOEXEC.BAT file.) Note: NO SPACES in the SET command! SET DSZPORT=2 (Only needed for COM2) SET DSZLOG=GSZ.LOG (Only if you wish a log file) Then set ProComm's external protocol strings. From terminal mode hit ALT-S, then select the PROTOCOL OPTIONS menu item. From that menu select EXTERNAL PROTOCOL OPTIONS. Then set ProComm's external protocol strings to: A- External protocol 1 upload filename: ZMODEMU B- External protocol 1 download filename: ZMODEMD C- External protocol 2 download filename: ZMODEMMD The following batch files are included in the GSZ zipfile: ZMODEMU.BAT (contains: GSZ sz %1 %2 %3 %4 %5 %6 %7 %8 %9) ZMODEMD.BAT (contains: GSZ rz) ZMODEMDR.BAT (contains: GSZ rz -r) ZMODEMMD.BAT (contains: GSZ rz -mr) ZMODEMAD.BAT (contains: GSZ t) !!!!IMPORTANT USE lower case (small letters) EXCEPT WHERE SHOWN!!!! ******************************************************************* Select the ZMODEM PROTOCOL OPTIONS menu and turn off Auto downloading! ******************************************************************* When sending (uploading) files with ZMODEMU.BAT give the ProComm window the full pathname (c:/foo/bar/file.ext) for *each* file not residing in the current directory. Chapter 4 Pg 8 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 When downloading files with one of the other batch files shown above, Procomm will also prompt for parameters; just hit ENTER. Or, you can enter options such as "-mr" if they are't included in the batch file itself. Once you've got the hang of things the "ProComm way", try the "gsz t" command described above to give you automatic ZMODEM-90(TM) downloads (Look Ma, no keystrokes!!!).. You can also set the editor hot key (ALT-A) or view program hot key (ALT-V) by using the ALT-S "FILE/PATH OPTIONS" menu. The strings for these keys are long enough to store an entire GSZ command line without need for a batch file. COM3 and COM4 on Procomm Plus are non standard; in case of difficulty use COM1 or COM2, or use the portx command. GSZ may not operate properly when called from ProComm if ProComm has files open at the time. A number of reports have been received of problems running GSZ from ProComm Plus because of insufficient memory. Please refer to the subchapter on LOCKUPS. When running under ProComm's Host mode, failure to use the GSZ CON command may cause ProComm to interfere with file transfers or lock up the computer. EXAMPLE: GSZ CON sz %1 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. 4.4 Qmodem Changes in the Qmodem interface (arguments passed to the batch file) may require changes in the batch files shown below, depending on which version of Qmodem is used. If you need to define a trigger string for automatic downloads, make the program look for "Control-X B 0 0" without the spaces. If you define a protocol with 'Z' as its letter, the latest Qmodem will detect automatic ZMODEM downloads. Defining an external 'Z' protocol disables Qmodem's internal ZMODEM, allowing GSZ to be called. The following is based on a message from Mike Cody, sysop of HomePlate Chapter 4 Pg 9 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 313-385-9969 3/12/24/96 HST Go into Qinstall and go to frame 3 Directories. Then select External protocols #3 I think. Now you will see a definition area to tell Qmodem the Letter,batchfile combo to use. Now put Z in the letter definition, Zup.bat in the u/l batch zdown.bat in the d/l batch, and Y in the batch protocol. Now save it at the menu with f10 and S. Then go to DOS and create the following batch files in your Qmodem directory... zdown.bat: GSZ port %2 rz -rr zmdown.bat: GSZ port %2 rz -mrr ((FOR MOBYTURBO!!)) zmdown2.bat: GSZ port %2 est 0 %3 rz -mrr zup.bat: GSZ port %2 sz %4 !!!!IMPORTANT USE lower case (small letters) EXCEPT WHERE SHOWN!!!! These are the batch files that will be called by Qmodem. If you did everything right when you hit PGDN or PGUP you will see an external protocol called Z) Zmodem in the box. For an easier time do a search for either External.arc or maybe the string "Qmodem" in the file database as there is a file with several external protocols and batch files available in the Mahoney file section (EXEC-PC BBS). The following batch files for Qmodem are included in the GSZ zipfile: ZDOWN.BAT contains: GSZ port %2 rz -rr ZUP.BAT contains: GSZ port %2 sz %4 !!!!IMPORTANT USE lower case (small letters) EXCEPT WHERE SHOWN!!!! A variation on the receive batch file: c:elecomqmodem\*y.com ha slow est 0 %3 rz -mrr A variation on the send batch file: c:elecomqmodem\*y.com ha cts est 0 %3 sz %4 If Qmodem says "unable to allocate swap space": QMODEM 4.2 will swap all but approx. 5K to memory or disk when you shell out to GSZ. Go into QINSTALL and make sure that /O /R Optimum Shell and Disk Shell are both set to ON. For older Qmodem versions (before 4.2) change the %4 in upload scripts to %3. Chapter 4 Pg 10 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 4.5 TELIX Telix has an internal ZMODEM, but some users prefer to use GSZ for performance and/or reliability reasons. Mat Fisher has published a Telix script to call GSZ for automatic downloads. For those of you who use GSZ with Telix, here is a sample script file to use instead of batch files: ////////////////////////////////////////////////////////////////// //Protocol salt file for Telix's external protocols by Matt Fisher //Last edited (02/24/90) //used for the GSZ ZMODEM protocol. (for u/ling & d/ling) ////////////////////////////////////////////////////////////////// str upload[80] = "c:\telix\DSZ port 1 ha on sz -m -rr "; str download[80]= "c:\telix\DSZ port 1 ha on rz -b -m -rr "; ////////////////////////////////////////////////////////////////// Main () { if (_ext_filespec == "") { strcat(download,_down_dir); dos(download,0); } else { strcat(upload,_up_dir); strcat(upload,_ext_filespec); dos(upload,0); } alarm(1); } //////////////////////// THE END ////////////////////////////////// Simple but effective... --- TAGMAIL v2.20 * Origin: CRIMP/John Galt [Node 1] (1:120/144) INTERNET: Matt.Fisher@f144.n120.z1.FIDONET.ORG NOTE: The DSZ command strings given above are quite unusual. Instead of the "pW1 ha off" one would be more likely to use "ha on" or "ha sw" depending on the modem's flow control settings. From : Bill Logan Subject : Help With Gsz For Telix I test and use a variety of terminal programs for individuals. One of which is telix. I found the script language to be less than user friendly and installed GSZ via batch files and as an external protocol. Here are the batch files: ZMUP.BAT Chapter 4 Pg 11 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 GSZ pV1 port %2 sz -mr %3 ZMDN.BAT GSZ pV1 port %2 rz -mrr %3 Then go to ALT O in Telix and insert those batch names in the protocols. They worked fine for me. Bill --- * Origin: PCConsultingAgencyII {=Telecom Node=} (1:300/22) Use the Telix ALT-O screen to disable Telix's automatic ZMODEM download. Chapter 5 Pg 12 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 5. BULLETIN BOARD CONSIDERATIONS Note to the wise BBS operator: be sure you understand the restrict command, how and WHY to use it! When installing GSZ 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. Some bulletin boards do not call GSZ to send a file until they have verified the file's presence by actually opening the file. If this checking is done in DOS's default exclusive open mode, gsz's file sharing will be defeated. If using a FOSSIL driver, you may need to call DSZ thru a batchfile. That file should call XU to disable X00 before running DSZ and restart X00 afterwards. Failure to take this precaution may cause FOSSIL to steal the COM port from GSZ before file transfers are completed. Chapter 6 Pg 13 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 6. DESCRIPTION GSZ is a "protocol driver" that uses ZMODEM-90(TM), True YMODEM(TM), or XMODEM to transfer files over a serial port with a variety of programs. GSZ has two main commands for ZMODEM transfers: "sz" sends file(s), and "rz" receives them. When calling bulletin boards to download files with ZMODEM you can avoid the bother of starting GSZ for each transfer by GSZ's terminal emulator, before asking the BBS for the download. gsz t The "t" command allows you to keyboard the file request directly to the BBS. (The "t" stands for "terminal emulation".) Just give the "gsz t" command from DOS or your comms program's DOS GATEWAY. GSZ's ZMODEM AutoDownload then receives the file automatically, using the filename provided by the BBS, 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. GSZ supports XMODEM-1k (XMODEM with 1024 byte blocks, sometimes mislabeled as ymodem) and CRC-16 with the sx -k and rc commands. GSZ is usually called from a communications or bulletin board program. GSZ 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. GSZ uses DOS standard output (stdout) for messages. GSZ never writes directly to the screen. GSZ expects its standard output to point to the console, a logging file, or NUL, but never the modem port. If gsz's standard output is redirected to the modem (as with ProComm's Host mode DOS shell), the combination will lock up the computer. When necessary, gsz's standard output can be redirected back to the console device with the CON command. DSZ and GSZ automatically support Doorway 2.2 without extra commands. The RZ.BAT and SZ.BAT files are supplied for convenience when operating under Doorway. RZ.BAT allows calling programs that emit an "rz" command to automatically start GSZ from the DOS command prompt. SZ.BAT is a convenient command interface that complements RZ.BAT. You may modify Chapter 6 Pg 14 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 SZ.BAT and RZ.BAT with your favorite options. Chapter 6 Pg 15 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 7. COMMANDS *********************************************************** NOTE WELL Except as noted, all commands and options must be typed in lower case. DO NOT USE UPPER CASE!! Case is significant! *********************************************************** Optional commands or arguments are shown in square brackets []. When used (in any combination), the A, CON, port, speed, handshake, estimate, and d commands must be used in exactly this order. gsz [CON] [F] [port N] [speed S] [handshake XX] [pxN... ] [z pxN... ] [D] [d] [restrict] [G] command The shareware program DOORWAY 2.2 interfaces well with DSZ, and provides many of the same functions, including the ability to run direct screen writing applications remotely. DSZ and GSZ automatically support Doorway 2.2 without extra commands. 7.1 List of Commands 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. F Leave the 16550A UART FIFO enabled on exit. Since GSZ has no way to read the 16550A DMA mode and trigger level bits, these values are not restored. port N select port N (n = 1,2,3,4,5,6,7,8, or 9) Default is 1 (COM1) or whatever is read from the DOS DSZPORT dos environment variable. COM11 to COM18 refer to the COM1 to COM8 ports on the PS/2. ***************************************************************** NOTE Only COM1 and COM2 are standard on all PC compatible computers. Multiple standards exist for COM3 and above, so use only COM1 or COM2 when first installing GSZ. ***************************************************************** GSZ COM3 uses 3E8 and IRQ4. GSZ COM4 uses 2E8 and IRQ3. GSZ COM7 uses 3E8 and IRQ5. GSZ COM8 uses 2E8 and IRQ5. If you wish to use COM3 or COM4 and your computer is not wired as shown above, you MUST use the "portx" command to specify the Chapter 7 Pg 16 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 actual base address and interrupt vector. EXAMPLE: to use COM2: gsz port 2 rz In multitasking operation, accessing a port used by another running program will hang the machine. portx base,irq[,divisor] To select an arbitrary port address and interrupt vector, the portx command must be used instead of the port command. The portx command replaces the portcommand in the same place on the command line. Please refer to DSZBG.DOC (provided on the Registration Diskette) or the Professional-YAM or ZCOMM (ZCOMMDOC.ZIP) manuals for details on this command. When the portx command is used, gsz will indicate COM9. EXAMPLE: gsz portx 3e8,15 speed 19200 handshake on rz Newer UART chips can use raw bit rate sources up to 8 MHz or more, more than 4 times as fast as the IBM standard 1.84320 MHz. Some 386 and 486 machines support MobyBaud(TM) operation above 115200 bps. To support a nonstandard bit rate source, multiply 5760 by the new raw bit rate source frequency in MHz divided by 1.84320. EXAMPLE: gsz portx 3e8,15,57600 speed 19200 handshake on rz supports the 18.432 MHz clock option on the Boffin Electronics "WinSport II" 2 port serial board. Your hardware configuration, BIOS firmware, operating system, device drivers, and TSR programs will determine the maximum useful speed. speed S Set the specified speed. This command is rarely needed because GSZ reads the port's current speed by default. Please refer to the FLOW CONTROL, MAIN COMMANDS and SOFTWARE COEXISTENCE chapters in DSZBG.ZOO or the ZCOMM or Pro-YAM manual for important information about the speed command. Please study all the chapters of this document when using speeds above 2400 bps. With standard clocking, GSZ supports a maximum speed of 115200. Not all hardware can support that speed without errors. 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 Chapter 7 Pg 17 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 DSZ or GSZ as ZCOMMDOC.ZIP.) On GSZ the "handshake" command may be abbreviated to "ha". 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 "Carrier Detect" input on the PC. If you see a No Carrier Detect message, you need to give the d command. Before using the d command, make sure you have the proper port selected!!! estimate length [speed] Use the specified length and/or optional specified effective transfer speed to estimate transfer time for the next file to be sent or received. The length argument is mainly used with XMODEM downloads; YMODEM and ZMODEM normally transfer the file length in the filename packet. The estimate command must come after any port, speed, or handshake commands. The estimate command does not affect actual throughput. It only affects GSZ's prediction of how much time a file transfer will take. The following makes GSZ calculate file transfer times based on 290 character per second throughput. Some error correcting 2400 bps modems can attain this throughput when MobyTurbo(TM) is used. EXAMPLE: gsz port 2 speed 9600 estimate 0 2900 rz EXAMPLE: gsz port 2 speed 9600 estimate 0 2900 sz bigmama.zip pxN Set numeric parameter x to N. GSZ has two sets of numeric parameters, a base set and a "zmodem" set. Parameters in the base control such things as date stamping of files, error exit value, etc. The "zmodem" numeric parameters control timeouts, window sizes, and other ZMODEM, YMODEM, and XMODEM protocol parameters. These parameters are mostly a subset of the Pro-YAM/ZCOMM numeric parameters, and are listed below. They assume their defaults each time GSZ is called. Without an argument, p displays the numeric parameters and their values. Chapter 7 Pg 18 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 EXAMPLE: gsz p z pxN Set zmodem numeric parameter x to N. All further numeric parameter commands are taken as zmodem parameters. The zmodem numeric parameters correspond to the Pro-YAM or ZCOMM "zmodem" parameters and rarely need changing. These parameters assume their defaults each time GSZ is called. Without an argument, z p displays the zmodem numeric parameters and their values. restrict Restrict incoming pathnames (YMODEM/ZMODEM) to the current disk and directory tree, and disallow modification or overwriting of existing files. This command is vital for bulletin boards uploading files. The restrict command causes partially received files to be deleted. When GSZ 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. EXAMPLE: gsz restrict rz G Send an XON character to the modem. Useful when calling gsz from MSKermit to undo the XOFF sent by MSKermit. EXAMPLE: gsz port 2 G t t [-T] [-8g] [-h] [-H] Terminal function with ZMODEM AutoDownload. The optional -T forces GSZ to exit after it has recognized a ZMODEM AutoDownload(TM) request. The optional -8g (available on registered copies only) enables reception of "BBS (ANSI) graphics" displays. (A video device driver such as ANSI.SYS must be loaded to support some types of graphics.) The optional -h enables local echo of keyboarded characters ("half duplex"). In addition, -H makes the Enter key perform a local newline (CR/LF). 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 Chapter 7 Pg 19 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 "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. ALT-B sends a break. Characters from the modem print on the screen. A device driver such as ANSI.SYS may be used to recognize escape sequences. Standard ANSI.SYS is limited to a small subset of ANSI escape sequences; NANSI.SYS, FANSI-Console and other replacement console drivers provide faster screen updates and better ANSI terminal emulation. GSZ's ZMODEM AutoDownload(TM) detects the start of a ZMODEM file download and accepts the file(s) without operator intervention. rz [-abeEmMnpPrt+YZy] [dir] [file ...] (ZMODEM-90 receive) ** 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) ro [-abt+y] file1 (XMODEM OverThruster receive) rx [-abt+y] file1 (XMODEM receive) rx -g [-abt+y] file1 (Qmodem-G receive) ** ** Download directory specification and -g ignored w/o registration sz [-abefnprtFYQS+yZ] [-w[N]] [PREFIX=p | ONAME=n] file ...(ZMODEM send) sz [-abeEfmMnpPrtFYQS+yZ] [-w[N]] [PREFIX=p | ONAME=n] file ...(ZMODEM-90 send) Pathnames are separated by spaces. Wildcards are OK. EXAMPLE: gsz port 2 sz -r /tmp/file1 /tmp/file3 *.c The "sz" and "sb" commands exploit DOS's tree structured file Chapter 7 Pg 20 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 system. A directory or disk specifier expands to all files in that directory. EXAMPLE: gsz port 2 sz -r C:srcdir If you use PREFIX= or ONAME= with the "sb" or "sz" commands, these pathnames must be entered in lower case unless the underlying file system supports upper AND lower case. EXAMPLE: gsz port 2 sz -r ONAME=newsrc.c temp.c sb [-ft] [PREFIX=p | ONAME=n] file ... (YMODEM or YMODEM-g send) sb -k [-ft] [PREFIX=p | ONAME=n] file ... (YMODEM-1k or YMODEM-g send) sx [-t] file1 (XMODEM, XMODEM/CRC, Qmodem-G send) sx -k [-t] file1 (XMODEM-1k send) v Verify the serial number by writing a log entry (see DSZLOG). v 1 0 bps 0 cps 0 errors 0 128 s/n 666 The letter "v" indicates a verification entry. The first numeric field is 1 if YMODEM-g is supported. The last field is the serial number. Unregistered copies show a s/n of 0. o Turn off Data Terminal Ready (DTR), terminating ("offing") the connection if the modem responds to DTR. Useful with the "t" command to disconnect afterwards. EXAMPLE: gsz t o LARG Convert ARG to lower case, then parse arg. The meanings of optional arguments to the file transfer commands are described in DSZBG.DOC and the ZCOMM/Pro-YAM manual. The s (SlugBait) option prevents a receiver from receiving a file without accounting for it. Attempts to do so are flagged with a Q status in the log file. This option can cause a transfer that legitimately fails near the end of the file to be reported as Chapter 7 Pg 21 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 Questionable rather than ERROR. SlugBait causes GSZ to return success if at least one file is transferred. Send files may be specified indirectly: gsz 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 indirection file may be separated by any combination of space(s), tab(s), CR and/or LF. No spaces may appear inside a pathname; "FOO .BAR" won't work. A list of files to send may be built up with a command like: EXAMPLE: dir/w *.zip > files.tmp This file must be edited to remove extraneous messages and unwanted files. Then you send the files with: GSZ sz -m @c:files.tmp 7.2 Interrupt Keys ALT-B Cancels the current ZMODEM session. Normally this is the best way to cancel a ZMODEM session. ALT-F Skips the current file in ZMODEM transfers. Ctrl-Break Terminates the transfer in progress. ALT-N Abruptly terminates (NUKES) the transfer in progress. Ctrl-X If the local program is in its terminal function, typing a dozen Ctrl-X characters to the remote ZMODEM program terminates ZMODEM operations with most programs. (Some machines do not allow ZMODEM programs to check for this.) Chapter 8 Pg 22 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 8. NUMERIC PARAMETERS GSZ uses the following main numeric parameters, settable with the pxN command. EXAMPLE: gsz pQ0 rz -rr ************************************************************************** NOTE: Parameter setting commands such as "pd0" cannot be added to DSZOPT, they must be included in the command line. ************************************************************************** In addition, GSZ uses the Pro-YAM/ZCOMM zmodem numeric parameters described in the Pro-YAM/ZCOMM reference manual (ZCOMMDOC.ZIP) and in DSZBG.DOC. B Set the size of buffer used for disk reads and writes. The default is 1024, 4096 maximum (16384 max on GSZ and DSZ.EXE). If your copy of GSZ 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. EXAMPLE: gsz pB4096 sz A:floppy.fil Setting the buffer size may lock out the performance log, DSZFILES, and/or indirect pathname list in GSZ.COM. IF YOU AREN'T BLOODY SURE YOU NEED A BIGGER BUFFER, DON'T USE ONE. Please understand that the B parameter has nothing to do with anything you've heard about 128, 1024 or 8192 byte XMODEM style blocks. Normally, ZMODEM's block size is the entire file! G This parameter controls the number of bytes loaded into the 16550A transmit FIFO (First In First Out) storage register on each interrupt. For maximum efficiency, GSZ fills the 16 byte transmit FIFO when the UART generates a FIFO Empty interrupt. Once loaded, data transmission from the transmit FIFO cannot be stopped, so many bytes may be sent after the modem sends XOFF or asserts hard flow control restraint. Good engineering practice requires that modems accept a large number of bytes after asserting flow control restraint, but some modems and operating systems won't. This parameter is effective only with PCDOS machines using FIFO buffered UART devices. To optimize gsz's responsiveness to flow Chapter 8 Pg 23 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 control restraint, set this parameter to 0. EXAMPLE: pG0 O This parameter controls XMODEM OverThruster(TM). It is described in DSZBG.DOC. P After a "speed" command, if you give a p command (display parameters), the P parameter value will indicate the type of serial I/O UART chip detected. GSZ automatically detects and enables the FIFO on the NS16550A, NS16550AFN, Goldstar GM82C550, and Intel 82510 chips. EXAMPLE: gsz port 1 speed 19200 p 0 Indicates a standard 8250 or 16450 UART with no special features. 1 Indicates an NS16550AN or NS16550AFN with 16 deep receive FIFO. These are the preferred chips. 2 Indicates an Intel 82510 with 3 deep receive FIFO. 3 Indicates a Startech ST16C650 UART with 32 byte FIFOs and on chip hardware flow control support. The sequence "port 1 pP1 speed 19200" bypasses GSZ's verification checks normally performed on the FIFO configuration and may allow defective FIFO logic on certain chips to be used. This incantation is not required for the NS16550AN or NS16550AFN. The sequence "pP-1 speed 2400" should be used with the Western Digital WD16550 chip to disable the brain damaged FIFO on that chip. The WD16550 FIFO has been observed to lose data when transmitting at 2400 bps and slower speeds. The minimum speed for normal transmit FIFO operation with the WD16C550 may vary with different computers. Q Error code returned to DOS (default 1). (Success always returns 0.) Some programs toss cookies when confronted with certain exit codes. EXAMPLE: gsz pQ-1 sz foo.bar GSZ reports an error if no files have been transferred, even if the command used wasn't supposed to transfer any file(s). R If set to 1, causes partially received files to be deleted. Chapter 8 Pg 24 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 EXAMPLE: GSZ pR1 rz S Timeout in seconds (default 15) waiting for restraint release (XON and/or handshake). V (DSZ.COM and GSZ only) Set this to 1 to use direct to screen video. This speeds up displays but may cause serial input errors when CGA equipped computers are used at high speeds. EXAMPLE: GSZ pV1 rz sets direct video output. W Wait for Enter key before exiting after an error. Useful when calling GSZ from DESQview, allows the window to close unless there is an error message that should remain visible. EXAMPLE: gsz pW1 sz foo.bar Y Control byte for the NS16550AN/NS16550AFN FCR register. If you don't know what the FCR does, don't mess with this parameter. It has been suggested that a different value (129) may improve multitasking under DESQview when multiple copies of GSZ are active. 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 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: gsz 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, which causes Chapter 8 Pg 25 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 files to assume the date and time they were received. 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. EXAMPLE: gsz port 2 pv1 rz 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. PDT or MST corresponds to 420. This may be preset with the ZONE DOS environment variable. Chapter 9 Pg 26 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 9. ENVIRONMENT VARIABLES The following DOS environment variables may be set to modify GSZ operation. DOS environment variables are set by giving a command to DOS before running GSZ. You can add these commands to your autoexec.bat file. EXAMPLE: set DSZPORT=2 The following form may be used for arbitrary address/vector combinations: EXAMPLE: set DSZPORT=3e8,4 These DOS "set" commands may be placed in your AUTOEXEC.BAT file or given just before you run your communications program. IMPORTANT! Do not add spaces to these commands!! set DSZPORT = 2 WILL NOT WORK! 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: set DIRRX=C:/modem/download/gsz/ gsz rz -r downloads files to the /modem/download/gsz directory on the C: drive, with ZMODEM Crash Recovery.. EXAMPLE: set DIRRX=B:/ The DOS "set" command defining the receive directory may be placed in your AUTOEXEC.BAT file. Make certain there is enough environment space to hold this value. Confirm this by typing "set" to the DOS prompt and verifying the DIRRX value is listed correctly. 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: set DSZFILES=file1 file2 file3 *.c gsz port 2 handshake on sz -rr Chapter 9 Pg 27 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 In practice, this string would be built up by a calling program and passed to GSZ 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 GSZ.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 up to two seconds' uncertainty. As with all protocol throughput reports generated by Omen Technology programs (and contrary to the false claims of some critics), GSZ's throughput figures for ZMODEM, Kermit, and True YMODEM(TM) transfers do not take "credit" for pathname and/or protocol overhead characters. GSZ'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. Flow control restrictions are normal when the interface speed exceeds the communications speed (DTE > DCE). This 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 YMODEM block size or ZMODEM 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. When sending files, the receiving program's serial number is not normally available unless the -S option is used. 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 GSZ encounters a loss of carrier or other fatal error condition before a file COMMENCES transmission, a log entry may not be made. Chapter 9 Pg 28 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 EXAMPLE: set DSZLOG=C:/yam/gszlog IMPORTANT! NO SPACES!! DSZOPT (Registered copies only) String containing default options for GSZ file transfers. Legal option letters for DSZOPT are the optional modifiers to the GSZ sz, rz, sx, rx, sb, rb commands. A T may be appended to the string to force GSZ to exit after it has recognized a ZMODEM AutoDownload(TM) request. An 8g may be appended to the string to make BBS (ANSI) graphics the default for GSZ's t command. The ability to preset these options is especially helpful for controlling ZMODEM automatic downloads from GSZ's t command. EXAMPLE: set DSZOPT=r Enables GSZ's Intelligent Crash Recovery(TM) as a default. Let's say you wish ZMODEM crash recovery, and BBS "graphics" for the GSZ term function: set DSZOPT=r8g If you're downloading files from GEnie with an MNP modem, the following will speed up your downloads with Genie's ZMODEM-90Tm. (You can recognize ZMODEM-90 on GEnie two ways: 1) MobyTurboTm is used to speed ZIP and ARC downloads, 2) "sz 4.xx" is displayed at the end of transfer. As of this writing, ZMODEM-90 may not be available in all libraries.) Note that (as usual with GSZ) case is significant: the "r" must be lower case, the "W" upper case. set DSZOPT=rW16384 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.) Parameters can not be set in DSZOPT. MAXBYTES Maximum number of bytes allowed for transfer. If this number is exceeded, GSZ skips the offending files (ZMODEM) or aborts remaining files in the batch (YMODEM). DSZPORT Default communications port override, default 1. EXAMPLE: set DSZPORT=2 Chapter 9 Pg 29 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 IMPORTANT! NO SPACES!! ZONE sets the z numeric parameter to the number of minutes the current local time lags GMT time. PDT or MST corresponds to 420. PST corresponds to 480. EXAMPLE: set ZONE=420 Chapter 10 Pg 30 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 10. EXIT STATUS GSZ exits with 0 status for successful transfers or the value of the Q numeric parameter (default 1) if a file transfer failed, or if no files were transferred. Many languages and "door" programs do not return this information to the calling program. Some languages and "door" programs freak out (hang) on certain non-zero exit values. A batch file that calls GSZ directly may be used to detect the GSZ exit status with the DOS "errorlevel" construct. Please refer to the Q numeric parameter below for more information. GSZ's log file entries may also be examined to determine the success or failure of a file transfer. GSZ commands are an improper subset of Pro-YAM/PowerCom/ZCOMM commands. The file transfer commands are fully described in ZCOMMDOC.ZIP, the ZCOMM User's Manual. (ZCOMM is a full featured shareware communications program with autodialing, autolearn scripting, and terminal emulation.) Portions of the ZCOMM User's Manual are also provided in DSZBG.ZOO. You may refer to one of those documents for details on the following commands. Chapter 11 Pg 31 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 11. EXAMPLES gsz sz c:foo.zip (send 1 file with ZMODEM) gsz sz -m c:*.zip (send all .ZIP files with MobyTurbo(TM)) gsz sz f1.c f2.c f3.c (send 3 files with ZMODEM) gsz sz c:foo.* b:*.c (send multiple files with ZMODEM) gsz sz -Z *.lst (send text files with ZMODEM compression) gsz sz -r bigone.zip (CRASH RECOVERY: resume interrupted transfer) gsz rz -r (CRASH RECOVERY: resume interrupted transfer) gsz rz -rr (CRASH RECOVERY with file comparison) gsz handshake both sz yamdemo.zip (Hardware+Software handshake) gsz sz -n *.* (send files that are newer or rx has no copy) gsz sz -Yn *.* (Only send files that are newer than receiver's copy) (Do not send files that do not exist on receiver's disk) gsz rz C:/UPLOADS (receive files to specified directory *) gsz port 2 speed 38400 handshake both restrict rz (Restrict provides protection for BBS's) gsz rz -y prog.zip (ZMODEM, single file pathname override) gsz pR1 rx foo.dat (XMODEM receive, remove file if error) gsz pO60 ro foo.dat (XMODEM/OverThruster receive, GEnie MNP *) GSZ LRC L-Y NEWPROG.ZIP (generate lower case "rc -y" command) gsz sz foo >debug.dmp (Debugging data dump) gsz sz @C:/bbs/files.lst (Indirect file list) gsz sz -u *.lst (Unlink (Delete) files as they are sent) * Registered copies only Chapter 11 Pg 32 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 12. 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 8 mHz 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. GSZ operates under DESQview with 128k of memory. HINT: make sure "Separate Shift State" is set to "N". 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. Other DVPs, Scripts, and Batch files are available on the DESQView conference on the Sound of Music as DVDSZ20Z.ARC. Please consult the DESQview documentation for instructions on installation procedure for the DVP files. Operation at high speed (above 9600 bps) may require the DESQview "Optimize communications" performance Advanced Setup option. Newer versions of DESQview may require more "common memory" allocation (6-8 k bytes) to operate with DSZ. Some versions of DESQview do not operate properly with DSZ; DESQview 2.0 is known to work, and DESQview 2.25 is reported to have fixed bugs in intermediate versions. On 286 and 386 machines, some DESQview operations involve swapping memory contents with buffers in extended memory. As with extended memory ramdisks and disk caches, this causes errors with high speed communications. The considerations discussed in the "286 and 386 Extended Memory" subchapter apply here. Since this DESQview extended memory swapping is asynchronous with respect to DSZ's file transfers, "handshake slow" doesn't help here. The solution is to force DESQview's memory swaps to use smaller blocks (with interrupts allowed between Chapter 12 Pg 33 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 blocks) and/or use NS16550AN or NS16550AFN or Goldstar GM82C550 chips for the serial interface. If you see funny characters on the screen while a program is loading, you have a conflict between the display adapter and QEMM memory manager which may cause lockups. If so you must explicitly exclude the display adapter's memory with an EXCLUDE clause in QEMM's config.sys entry. *********************************************************** WARNING When running GSZ 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. Tell DESQview to use the SPECIFIC port number you are using, and not "Y" to the question: "Uses serial Ports (Y, N, 1, 2)" When running a comm program under DESQview or any related multitasking executive, GSZ must be called directly from the comm program, in the same window. DO NOT open a separate window for DSZ unless you were about to power down the computer anyway. *********************************************************** With some communications programs, you can make the call, log in, and then exit (closing the window) without disconnecting the modem. At this time you can fire up DSZ with the "t" command to allow YMODEM or ZMODEM downloads in a small window. Example File: 2A-PIF.DVP Alternatively, you can start DSZ from the DOS prompt, then type "AT" commands to the modem to call the bulletin board. DESQview's "learn" facility may be helpful here. 12.1 Microsoft Windows Communications programs do not operate well under Windows 3 because Windows does not support true multitasking. The severity of this interference depends on the version of Windows and what other programs are active or loading. For best results when running in the MS-DOS shell, switch on the "Exclusive" and "Background" items in the "Settings" menu. Also, bring up the "Control Panel" "386 Enhanced" menu, and set the "Minimum Timeslice" to a small value such as 2. This has been improved somewhat in WFG 3.11, a $50 upgrade from Windows 3.1. OS/2 and Chicago provide better multitasking than Windows 3.1. Chapter 12 Pg 34 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 12.2 VM According to Marshall Sutherland, Be sure to set IOPL3 mode to YES. Chapter 13 Pg 35 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 13. TERMINAL SERVERS Often users must use terminal servers or multiplexers to access Unix, VMS, and other timesharing systems. Terminals on some timesharing systems are connected indirectly to the host with TERMINAL SERVERS operating over networks. Terminal servers often interfere with file transfers by "eating" control characters and/or losing data. Accessing a distant system using telnet or rlogin on a local Unix system entails the same problems. If you have a choice between telnet and rlogin try rlogin with the -8 option. Set the escape character to ^P (control P) which is protected by ZMODEM. When terminal servers interfere with file transfers, server commands are often available to help the problem. When possible, enable the server and modems for hardware flow control in and out. Set the terminal server to telnet transparent mode. Some typical commands are "SET TERMINAL DOWNLOAD", "set session passall", and "SET TERMINAL NO ESC", but there is no standard set of commands suitable for all terminal servers. Normally these commands are given before attempting file transfers, but one user has reported that the command must be given after the file transfer is started(!). Until terminal server vendors improve the quality of their product, you may have to get on their case until they adequately support high performance file transfers. Escaping control characters with ZMODEM (sz -e) may help if the transfer gets stuck in the same place on every attempt. Professional-YAM and ZCOMM allow selection of which control characters need to be escaped. In extreme cases 7-bit transmission may be required (see the Professional-YAM/ZCOMM manual). If you encounter problems with control characters you should identify which control characters are causing the problem. Please refer to the sz -T command in sz.doc for more help. Flow control between the server and modem is often defective. This rarely causes a problem in interactive applications whose short bursts (a screenfull at most) fit within the available memory buffers. Streaming protocols such as YMODEM-g, long packet SuperKermit, and ZMODEM can overload the available buffering. Some terminal servers support commands to enable hardware flow control such as "TERM FLOWCONTROL HARDWARE IN OUT"; this assumes the modem attached to the server is properly configured. If the terminal server is too brain damaged to support flow control, ZMODEM lets you fake it by setting a window size. Try sz -w2048 file... to enable software flow control. Experiment with different window sizes for best results. Terminal servers are designed to accept keyboard input from human operators. They may lose data when a program sends more data to the host faster than humans type. Some servers allow larger input buffers Chapter 13 Pg 36 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 to support file uploads. If you can upload short files (less than 100 bytes) but not longer files, try sz -w1024 file... with your uploading program. (Not all programs support this option; use ZCOMM or Professional-YAM.) When both flow control and character transparency are problems, use sz -ew1024 file... as a starting point. Sometimes the terminal server software is defective and must be corrected. Please contact the network's vendor for corrective procedures. An alternative is to install direct serial ports for users desiring to upload files. We have also encountered problems when networking software fails to pass data after a large amount of data has been sent to the host. This has happened on a PPP internet connection which prevented uploads of large amounts of data via either FTP or a ZMODEM upload (via TELNET). The PPP connection grinds to a standstill and not even PING works. The same ZMODEM/TELNET combination easily uploaded ten times as much to a nearby machine connected by Ethernet. 13.0.1 PORT WATCHERS Some systems enforce a timeout which disconnects a user after several minutes of keyboard inactivity. Long, error free ZMODEM transfers do not generate keyboard activity (this is why ZMODEM is so efficient). Restricting the window size with sz -w16384 file... option generates terminal input at regular intervals even when no error correction is needed. If problems persist, try setting a packet length. sz -l1024 file... (The default ZMODEM packet length is the file length.) Chapter 14 Pg 37 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 14. 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.ZIP) FLOW CONTROL chapter for vital information on flow control considerations necessary for proper operation of ZMODEM and other streaming protocols. (ZCOMM is a full featured shareware communications program with autodialing, autolearn scripting, and terminal emulation.) Chapter 15 Pg 38 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 15. 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. GSZ FINISHED! exit code = 0 This is GSZ's normal exit when at least one file has been transferred and no unrecoverable errors have been detected. If an error such as a failed file transfer had been detected, the exit code would be 1, or the value set in the Q numeric parameter. As the message implies, GSZ has done all of its processing, and has return the communications port and vector to its original value before displaying this message. If the computer locks up after this message is displayed, there's something wrong with the program that called GSZ, not with GSZ itself. 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 GSZ 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 you "discover" that setting the a parameter doesn't make this message go away. The a parameter does not affect ZMODEM transfers. Please send us a postcard or letter indicating the reported hex value for machine Type, name of the computer, and its speed so we can include that machine type in a future release. Need more memory to run GSZ or Abnormal program termination is displayed by the TurboC startup routine if GSZ is run in too small a memory partition. If you see this message, use a larger memory partition for GSZ or remove some memory resident programs. This message may also appear if the calling program fails to free memory before calling GSZ. No Carrier Detect is displayed when GSZ recognizes a lack of carrier detect signal from the modem. Most support calls concerning "No Carrier Detect" are caused by the user failing to tell GSZ to use the correct port. GSZ does not magically divine the COM port number; if the default COM1 is incorrect, GSZ must be told what port to use with the port command or the DPORT environment variable. The No Carrier Detect message may also be caused by a line disconnect, defective cable, or incorrect modem strapping. Sometimes this is caused by setting the B parameter to too large a value. The No Carrier Detect message may be disabled with the d command. The d Chapter 15 Pg 39 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 command must be given after any port or speed commands. Garbage Count Exceeded Indicates ZMODEM has not detected a valid start of header in a reasonable number of characters. If GSZ 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" ("l" is the small letter l) command will force the sender to wait for the receivers' progress reports. Permission denied comes from the Microsoft C Library. This is caused by attempts to modify a read only file or directory, or to create a file in a nonexistent directory. Appearance of XOFF or FLOW during ZMODEM or YMODEM-g file sending signifies GSZ is responding to flow control restraint. This is normal operation when error correcting modems or packet switched networks are used. ZMODEM's robustness and reliability allow creative users to transfer files over unusual multiple hop computer lash-ups, causing modem data lights and computer status displays to dance in unfamiliar rhythms. Output FLow Control Restraint RELEASED Indcates GSZ has not received a positive flow control signal (XON and/or CTS as specified by the handshake command) within the timeout specified by the S numeric parameter. This message may appear as the result of line noise. If it appears often, it may indicate improper flow control settings, defective modem and/or cable, or (rarely) too small a value for the S numeric parameter. A TSR program that monitors ring detect has also caused this problem. Not allowed to overwrite file.ext By default, GSZ will not overwrite an existing file. Use the -y or -n or -r option to overwrite/update existing files. 15.1 Got ZRPOS 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 with error correcting modems, or more often than observed line noise would suggest, the receiver's error messages must be studied. "Line Status Register 01" messages indicate a flow control problem. "Line Status Register 02" messages suggest a receiver problem with interrupt latency. Otherwise, the sender may have a flow control problem in one of four Chapter 15 Pg 40 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 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. Omen Technology's software 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, or between the host computer and its terminal server(s). We have received a number of reports of problems with Cisco terminal servers. + 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.). Problems with extended memory disk caches may cause errors at regular intervals; check the receiver's error messages. To work around these problems, give the "handshake slow" command to the receiver. 15.2 Subpacket too Long This error is often caused by flow control problems at the sender (see above). 15.3 Bad CRC This error is often caused by flow control problems at the sender (see above). If an odd Length is routinely reported, the cause is almost certainly incorrectly configured flow control at the sending end. 15.4 Garbled Data Subpacket This error may be caused by flow control problems at the sender (see above). Byte NNNN retry M: These messages appear when the Chapter 15 Pg 41 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 protocol has detected an error and is attempting to retransmit the garbled data. These are normal messages. 15.5 Serial Input Error: Line Status Register xx Serial Input Error: Line Status Register HH indicates a hardware problem, slow device driver, TSR program, or other software is disabling interrupts too long for the program to accept incoming data, and some characters are lost. A slow response to flow control also triggers this message. The value of the line status register is displayed in HEX. The following error conditions are OR'ed into the Line Status Register. 01 The Interrupt level circular buffer has been overrun. This indicates a flow control problem. The remote did not respond to GSZ's XOFF or hardware flow control signal, and continued to send characters after being told not to. This problem is alleviated by matching flow control between the sending computer, modems, and the receiving computer. Usually, the mismatch exists between the sending computer and its modem. 02 An 02 value (or any even number) for the LSR indicates Data Overrun. "Data Overrun" means the computer was not able to respond to an incoming character from the UART (modem) in time to make room for the next incoming character. Data Overruns are caused by poorly designed software and/or ROM BIOS "firmware" locking out interrupts for excessive periods. These lockouts prevent the communications program from responding to the incoming characters in time to prevent data loss. Other chapters in this document give suggestions for working around excessive interrupt latency by using the NS16550AN or other buffered UART chips. Please refer to the "Brain Damaged UARTS" subchapter. Please try all the suggestions mentioned here before contacting Omen Technology about data overruns. Common causes of excessively long interrupt lockouts ("critical code regions") are mouse drivers, disk drivers (BIOS), window managers (Windows 3 is terrible), disk cache programs including Microsoft SMARTDRV, TSR programs, and EGA/VGA board auto-select. Slowing the CPU to allow games and other time dependent programs to be used can generate excessive interrupt latency. Some BIOS routines are written without regard to their effect on Chapter 15 Pg 42 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 high speed communications. Better versions of the offending BIOS ROMS may be made available if enough users complain about poor performance. Interrupt latency caused by EGA/VGA board auto-select can be often corrected by disabling the board's Auto-Select. Device drivers and TSRs loaded in high memory sometimes cause interrupt latency problems that can be corrected by moving them into low memory. Poorly written disk caches and disk drivers cause interrupt latency that affects protocols. Some disk cache programs can be set to cache disk reads only, avoiding the massive delayed writes that interfere with file downloads. With Microsoft SMARTDRV.EXE, try using the /E option. Mouse drivers have been reported to cause loss of serial data. If mouse movements interfere with file transfers, do not move the mouse when transferrng files. To correct Data Overruns, you must correct the offending condition(s) to allow the communications program to operate properly. The handshake slow command can be used to stop reception during disk transfers. However, handshake slow is not always an effective alternative to correcting the real problem. When using the handshake slow command, experiment with locking the modem to different speeds. Sometimes a higher speed actually works better. The zmodem k numeric parameter can be set to flush the SMARTDRV cache under controlled conditions. This may be used to reduce errors caused by SMARTDRV. When used with SMARTDEV, set the zmodem k numeric parameter to the number of kilobytes the should be received before flushing SMARTDRV. This number should be low enough to flush SMARTDRV before SMARTDRV periodically flushes itself. Downloading files temporarily to a RAMDISK may help. Files on the RAMDISK must be copied to a real disk before they are safely stored. !=2 With DOS flavors of one can select a 16384 buffer size, you may be able to avoid problems receiving by using a large i/o buffer and forcing ZMODEM to stop when this buffer fills: pI16384 z pl16384 or pI16384 z pk1 Chapter 15 Pg 43 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 If the I numeric parameter is non zero, it controls how often SMARTDRV is flushed if the zmodem k parameter is non zero. A CASE STUDY: NEC UltraLite VERSA The NEC UltraLite VERSA provides a case study of how brain damaged hardware and software interferes with high speed communications, and what can be done about it. A NEC UltraLite VERSA with 8 MB of memory contains about 70 million transistors and costs upwards of $5000. Unfortunately this machine lacks the hundred transistors necessary to buffer input on its built-in serial port. This port is built in, so replacing it with a better UART ship is out of the question. In normal operation interrupt latency caused by the NEC's device drivers and DOS cause errors at 38400 bps and above. Setting the zmodem k parameter to 50 or 100 reduced overruns by stopping transmission briefly before disk writes. The best operation was obtained by hitting the F5 key while DOS 6 loads to bypass all device drivers and TSR programs. Operating this way there were no data overruns (LSR 02 errors) at 38400 bps. Operation at 115200 bps was possible by setting a large I/O buffer and using the zmodem k numeric parameter. I was able to download AM.DAT (a 15762427 byte FCC database of North American AM broadcast stations provided on the "Ham Call" CDROM) with 3471 cps throughput using ZMODEM compression. While nowhere near as compressible as Columbia University's Kermit News compressible benchmark file, this highly compressible file provides a stress test for compressed transfers because of the resulting heavy disk I/O. 08 Framing Error generally caused by line noise or an incorrect transmission speed ("baud rate") or format (number of bits). Also caused by some cheap internal modems. Most protocols require 8 bits no parity (-8n) for proper operation. This is set automatically by Omen Technology programs, but other programs may not be so smart. 10 Break Interrupt generally caused by line noise or an incorrect transmission speed ("baud rate") or format (number of bits). Also caused by some cheap internal modems. 18 Framing Error and Break Interrupt (see above) in combination. This error may also be caused by defective 8250 UART chips. Some internal modem cards have slow 8250 chips that do not operate properly with computers faster than 4.77 mHz. Replacing the 8250 with a NS16550AN is recommended. Please refer to the "Brain Damaged UARTS" subchapter for details. Please refer to the In Case of Difficulty chapter of this document for Chapter 15 Pg 44 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 solutions. 15.6 TIMEOUT Indicates the other program is not responding or the phone line has disconnected. If this message appears at the start of a transfer, you may be using the wrong speed. Less commonly encountered GSZ error messages are explained in the Professional-YAM manual. 15.7 No Carrier Detect If you see a No Carrier Detect message, and you haven't lost the connection, you should fix your modem cable or modem settings to allow proper operation of the Carrier Detect signal (CD). A poorer alternative is to give the d command: gsz port 1 speed 2400 d t 15.8 Port %d (%X) defective When GSZ selects a serial port, it performs a quick hardware check to verify the presence and minimal functionality of the 8250 family UART. This message usually means a nonexistent port has been selected. Reports have been received of functional but nonstandard UART chips triggering this message. 15.9 COMMAND NOT FOUND If you see this message, make sure GSZ is in the DOS PATH. Sometimes this error is caused by having too many environment variable strings. 15.10 Out of Environment means there is not enough room in the program environment to accept more data. DOS prints this message when it cannot allocate more memory to accommodate a "set" command, such as "set dirrx=c:/downloads/". Try moving the "set" commands to the batch file that calls your comms program, or to your AUTOEXEC.BAT file. Chapter 15 Pg 45 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 To increase environment, use the /E switch. The default is 160 bytes. An example for your CONFIG.SIS file: SHELL=C:COMMAND.COM/E:256 NOTE: Large environments may cause GSZ.COM to lockup. This is less of a problem with GSZ.EXE. Chapter 16 Pg 46 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 16. SLOW TRANSFERS Some users report slower than expected file transfers even when few or no errors are reported. Some possible causes are: If "handshake slow" is used, throughput may suffer. Try one of the other solutions to the "Line Status Register = 02" errors discussed above. When using "handshake slow" it may be possible to increase the modem's interface speed to 19200 bps or faster. Bad phone lines will silently slow MNP modems, sometimes without any error indications. If the modems disconnect fairly often you should suspect marginal phone line conditions that are being hidden by MNP error correction. One of the programs may have set a parameter or option that acts to slow the transfer under certain conditions. Chapter 17 Pg 47 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 17. IN CASE OF DIFFICULTY 17.1 LOCKUPS 17.1.1 Insufficient Memory GSZ complains when it detects insufficient memory to operate. When calling GSZ from another program, there may be ALMOST enough memory for proper operation, but GSZ locks up during a transfer or the calling program freezes after GSZ displays the "GSZ Finished" message. Sometimes there is a message about insufficient memory, sometimes just a lockup and no message. To verify this problem, call CHKDSK from within your comms program (not from DOS!) by defining it as an external protocol. If you use an interface program (Hotkeyz, Prodoor, etc.), you must call CHKDSK from that program, as those programs also reduce the memory available to GSZ. CHKDSK should report at least 64k free memory. If less memory is reported, reduce the size of the COMMS program's capture buffer, or reboot the system with fewer/smaller device drivers and TSR programs. Calling GSZ directly from the comms program instead of from an interface also saves memory. 17.1.2 Environment TOO BIG A large environment may cause GSZ.COM to lockup. The size of the environment (the amount of text you get when you give the DOS "set" command) is subtracted from the data space available to 8086 C programs. This can be a problem with GSZ.COM, whose 8086 tiny model limits code, data, stack, and environment to 64 kb TOTAL. Use GSZ.EXE (compiled with 8086 small model) to alleviate this problem. 17.1.3 Bad COM Port Configuration GSZ is fastidious about which interrupt vectors it takes over. Unlike some programs, GSZ uses only the correct interrupt vector for its interrupt service routine. (This allows multitasking.) GSZ obtains and releases this vector with standard DOS function calls. This allows multi line operation under DESQview and other multitasking systems. Incorrectly configured serial ports that work with programs that pig out both IRQ3 and IRQ4 will lock up with GSZ. If GSZ locks up the machine as soon as it tries to send or receive data, this is usually the fault. Make sure the comm port is strapped correctly; COM1 uses IRQ4, COM2 uses IRQ3. GSZ will lock up if the comm port is not properly set up. In addition, GSZ will not work properly if two devices are connected to the same IRQ line, even when some other programs (that don't use interrupts as intensively) do work normally on the same machine. Make Chapter 17 Pg 48 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 sure no other device uses the same IRQ as GSZ even if that device is not active. COM3 and above are not widely standardized. If you have problems with COM3 or COM4, chances are your "COM3" is non standard. 17.1.4 LAN Manager Conflicts Some Local Area Network (LAN) managers take over comm ports using code that interferes with GSZ. The following hint is from Tom Louvaris, LANtastic Sales/Support - New York. Other LAN managers may require similar incantations to keep the LAN manager from messing with GSZ's comm port. Problem: When the lan is running, GSZ intermittently fails. GSZ starts the transfer by displaying "Ready to send pathname". The receiving system does noting. Eventually, GSZ exits with code 1, and no file is sent. To release one or more Com Ports with LANtastic 3.x, enter the following... Net Queue Halt \Sever-name Comn Note: You must be logged on to "Server-name" with Queue privileges to Chapter 17 Pg 49 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 enable the operation of this command. 17.2 Incorrect Batch Files Incorrect batch files are the number one source of problems using GSZ for uploads and downloads. Bulletin board programs with convoluted batch file mechanisms exacerbate the problem. GSZ's command line echo was added to assist in correcting defective batch files. You should see a display like: Command line = 'rz ' or Command line = 'port 2 speed 9600 sz foo.baz ' You may have to add a "pause" command at the end of the batch file to allow GSZ's messages to be seen. Another possibility is to turn on the printer with ^P before running GSZ, so GSZ's message can be saved on paper. In general, the Command line display should look like one of the examples in this document or those displayed by GSZ itself. (The Command line display does not include the name of the GSZ program itself.) Try running GSZ by itself, without any batch files or TSR programs, calling it directly from DOS as described above. 17.3 Cheap Internal Modems Numerous trouble reports have been received lately caused by cheap internal modems causing errors on ZMODEM transfers but not XMODEM. A similar problem was experienced in the mid 80's during beta testing of some 2400 bps modems. Perhaps defective LSI chips left over from those days were cloned or recovered from the trash bin. 17.4 Commands Entered in Upper Case Most GSZ commands and options must be entered in lower case (small letters, not big letters). Where the documentation or help screen indicates "rz", you must use "rz" and not "RZ". 17.5 No Carrier Detect If you see a No Carrier Detect message, and you haven't lost the connection, you should fix your modem cable or modem settings to allow proper operation of the Carrier Detect signal (CD). Chapter 17 Pg 50 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 A poorer alternative is to give the d command: gsz port 1 speed 2400 d t 17.6 DOS 3.x DOS 3.x systems may need to have a "STACKS = 8,256" line in CONFIG.SYS to prevent antisocial behavior. This is required on the NEC Multispeed, or if certain TSR's are used. 17.7 Perstor Controllers Several reports have been received indicating Perstor disk controllers interfere with data communications. Perstor is reportedly working on a fix. 17.8 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) U.S. IBM stonewalled on this issue, but in December 1988 agreed to replace the defective motherboards under warranty. 17.9 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 (NS16550AFN) corrects the problem. 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 has an external volume control. You can identify an old chip by inspecting the serial interface board for 8250 or UM82450 type devices. A service technician or hardware hacker can help if you are not familiar with reading chip numbers. Dsz users can identify old chips with the following software command: EXAMPLE: dsz port 1 speed 2400 p The resulting value for the P numeric parameter should be 1. A value of 0 indicates a non-buffered chip or a chip with a defective buffer. Chapter 17 Pg 51 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 ZCOMM and Professional-YAM users can look at the printout produced by the s command; old UART chips register as TYP 0. Some internal modems and PCMCIA cards use a firmware simulated UART that is not detected as a buffered UART. Properly designed firmware UARTs provide excellent buffering. The National Semiconductor NS16550AFN is a pin compatible plug in replacement for 8250 and 16450 serial chips. Omen Technology PCDOS software enables the FIFO buffer in the NS16550AFN to prevents loss of data from poorly written device drivers, TSR programs, etc. We are also using the Goldstar GM82C550 chip with a 9025 date code. This Goldstar chip is plug compatible with the National chips. No problems have been discovered with this chip. The NS16550AFN has better electrical characteristics than the older UART chips. 386 and fast 286 machines should use the NS16550AFN 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. Fortunately the FIFO UART chip situation continues to improve. As of this writing, the following plug compatible chips are known to work. + Goldstar GM82C550, + National Semiconductor NS16550AN and NS16550AFN + Startech 16550 Current Western Digital WD16C550 chips do not function properly at low speeds. The Startech 16C552 contains two UARTS and a buffered parallel interface. If your UART chip is soldered in or otherwise not replaceable, you will need a new plug-in board with a good UART chip. Byte Runner Technologies 800-274-7897 offers a variety of boards and chips. Another is the KW-524E-1 Serial/Parallel/Game card, $30.90 from TSD Systems, 800-331-9130 (FAX 407-331-8130). A board populated with two FIFO UARTS is $41.85. The Hayes ESP board comes with two serial ports with NS16550AFN devices. The ESP definitions for COM3 and COM4 agree with the industry standard definitions used by Omen Technology. All option switches on the ESP board should be OFF except those used to select the port number (COMn). Chapter 17 Pg 52 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 The $99 "WinSport II" from Boffin LTD 612-894-0595 has two NS16550AFN FIFO UARTS and also supports MobyBaud (18.432 MHz clock). This card also supports higher IRQ numbers, freeing up the low IRQs for other applications. Software Electronics 503-640-1946 sells a $59 board with two FIFO UARTS and a bidirectional enhanced parallel port. 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 800-538-5000 sells National NS16550AFN chips mail order (credit card) in small quantities. Unfortunately, we received a number of reports (none recently) that their serial i/o card was supplied with the defective WD16C550 soldered in, even when ordered with specific instructions to include 16550AFN chips. TSD Systems advertise a 2 serial/parallel/game card with one or two NS16550-AFN chips. 800-331-9130(voice) 407-331-8130(fax) Microprocessors Unlimited, 24000 South Peoria, Beggs, OK. (918) 267- 4961. The price for the chip is $13.50 plus shipping costs. Consolidated Computers 4 Shoppers Lane Suite 121 Turnersville, NJ 08012 (609)751-9595(voice) (609)751-3843(bbs) (609)751-3840(fax) 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. 17.9.1 Everex Internal Modems Numerous reports have been received concerning difficulties with Everex modem cards. Some of these cards contain buggy 8250 chips which are not up to the demands of full duplex streaming protocols such as ZMODEM. Replacing the buggy 8250 chip with NS16550AN chip corrects these Chapter 17 Pg 53 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 problems. 17.10 Weird Iron A few machines, some with V20 CPUs, reportedly don't like DSZ.COM. We have not been able to repeat this; TeleGodzilla (using a V20) runs DSZ.COM without a hitch. Switching to DSZ.EXE has cleared up the problems on other machines. 17.11 PKARC 3.6 It has been reported that PK36 grabs some interrupts and doesn't restore them on exit in an attempt to prevent hacks of the program. Since eliminating that particular version and cleaning up memory, high speed transfers even with 8250 UARTS work properly again. The problem with PK 3.6 appears to be most severe if a BBS operator has doorware, etc that accesses the PK programs from a shell of some sort. This info may be helpful to users who are having otherwise inexplicable file transfer problems. Phil Katz has written me that this problem has been corrected in subsequent versions. 17.12 Will the real YMODEM please stand up? Some XMODEM programs claiming to support YMODEM neither send nor accept the YMODEM pathname block. 1024 byte XMODEM is XMODEM-1k, not the YMODEM defined by Ward Christensen in 1985 when he invented the term YMODEM. 1987 and later versions of YMODEM.DOC remind the reader of the official YMODEM definition, which has not changed since YMODEM's coinage in 1985. 17.13 286 and 386 Extended Memory Virtual memory disk caches and ramdisks using 80286 or 80386 extended memory require a kludge hardware reset of the CPU chip to return to the normal "real mode" after accessing extended memory. This interference to the interrupt response time causes lost characters on comm ports, and may be minimized by specifying shorter memory transfers. Switching to a Goldstar GM82C550, National NS16550AN or NS16550AFN UART chip helps tremendously, allowing transfers at 115200 bps instead of 9600 bps with a standard 8250. Please refer to the subchapter on "Brain Damaged UARTs". The GSZ "handshake slow" command may also help. Chapter 17 Pg 54 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 17.14 Disk Caches Cache programs often interfere with ZMODEM transfers. In one instance, replacing Microsoft's SMARTDRV.SYS with Multisoft's SUPERPCK.EXE helped. Norton NCACHE and and Multisoft PCQWIK have also caused errors. Some cache programs can be turned on and off; try turning it off when running GSZ. The current SMARTCACHE can be used to advantage by using "handshake slow" and the 'zmodem k" numeric parameter described in dszbg.doc. Switching to a National NS16550AN or NS16550AFN UART chip helps tremendously, allowing transfers at 115200 bps instead of 9600 bps with a standard 8250. Please refer to the subchapter on "Brain Damaged UARTs". The GSZ "handshake slow" command may also help. Chapter 18 Pg 55 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 18. ASSOCIATED DOCUMENTS Consult the Professional-YAM, PowerCom, or ZCOMM manual chapter "OPTIONS FOR FILE TRANSFERS" for descriptions of the file transfer options. (ZCOMM is a full featured shareware communications program with autodialing, autolearn scripting, and terminal emulation.) The "FILE TRANSFER BASICS" chapter explains the relative merits of XMODEM, YMODEM, ZMODEM, and other protocols and gives tips on their use. The "MAIN COMMANDS" chapter describes the rb, rx, rc, rz, sb, and sz commands. The "MODEM INTERFACING" and "FLOW CONTROL" chapters contain important information on the use of buffered modems with GSZ. Information on the ZMODEM Inter Application File Transfer Protocol is available in Omen Technology's "ZMODEM DEVELOPER's COLLECTION" ($89.00). Unix/Xenix C Source code for XMODEM, YMODEM, and ZMODEM transfers to/from Omen Technology Products is included in RZSZ.ZOO.[1] This file includes a Pro-YAM/ZCOMM script to upload a bootstrap file to a Unix system, compile it, and (if the compilation is successful) upload the rz/sz source files. (ZCOMM is a full featured shareware communications program with autodialing, autolearn scripting, and terminal emulation.) __________ 1. Technical support for rzsz is available on a paid consulting basis. Chapter 19 Pg 56 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 19. FILES Some of the batch files mentioned in this document are not included in the archives. Those that are needed can be readily created with your favorite editor. DSZ.COM, DSZ.DOC, 2A-PIF.DVP, 2S-PIF.DVP, 2T-PIF.DVP, BBS_REG.TXT, DS.BAT, FIX.BAT, MAILER, ZMODEMAD.BAT, ZMODEMD.BAT, ZMODEMDR.BAT, and ZMODEMU.BAT constitute Omen Technology's DSZ.ZIP. These same files are in DSZ.ZOO on the distribution diskette mailed to registered users.[1] 2S-PIF.DVP, 2A-PIF.DVP, DS.BAT, and 2T-PIF.DVP are used with Quarterdeck Office Systems' DESQview multitasking executive for background operation. Their use is described in a previous chapter of this document. DGSZ.ZOO is distributed to GSZ registrants. It contains GSZ.EXE and GCOLORS.EXE in addition to the above. ZCOMMDOC.ZIP (manual), ZCOMMEXE.ZIP (programs), ZCOMMHLP.ZIP (help processor and database), make up the ZCOMM communications tools shareware distribution. The ZCOMM files are available on finer bulletin boards. (ZCOMM is a full featured shareware communications program with autodialing, autolearn scripting, and terminal emulation.) RZSZ.ZOO contains ZMODEM "C" source code for COMPLETE Unix/Xenix programs licensed for use transferring files to/from licensed Omen Technology products.[2] RZSZ.TLB The ZMODEM rz/sz programs are available in native VMS flavors with wild cards, record format support, etc.. Pre compiled VAX/VMS files are contained in the RZSZ.TLB compressed text library, available in the TeleGodzilla (503-621-3746) upgrade/vms subdirectory, Compuserve VAXFORUM, GEnie, and other bulletin boards. The programs in RZSZ.TLB are part of the extra value provided by Omen Technology communications software. DSZ.EXE compiled with the Xenix to DOS XC may give moderately higher maximum throughput noticeable on slower machines. Sending from a faster machine to an 8 MHz IBM AT with 16550AFN, using 115200 bps and "sz -yZ __________ 1. DSZ.ZOO is supplied to registrants instead of DSZ.ZIP because not all registrants have copies of unarchiving programs. The registration disk includes a copy of BOOZ, a simple dearchiver for ZOO files. 2. Technical support for rzsz is available on a paid consulting basis. Chapter 19 Pg 57 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 rttypix": Program Throughput DSZ.EXE 12735 cps DSZ.COM 7164 cps ProComm+2.0 5928 cps (Compare these speeds to those listed on Page 159 of the April 30, 1991 issue of PC Magazine. Results are even better with the compressible file used in the PC Magazine tests.) DSZ.EXE supports ZMODEM over 7 bit paths (E and P options), and specified control character quoting (-Q option). The DSZ.EXE requires somewhat more memory than DSZ.COM. The maximum DSZ.EXE I/O buffer size available with the B numeric parameter is 16384. DSZ.EXE is available in DSZEXE.ZIP and DSZEXE.ZOO. ZCOMM and Pro-YAM also run faster than DSZ.COM. (ZCOMM is a full featured shareware communications program with autodialing, autolearn scripting, and terminal emulation.) DSZBG.ZOO contains DSZBG.DOC. Part of the GSZ registration disk, this file provides background information on the ZCOMM/Pro-YAM commands provided in DSZ and GSZ. The ZOO archive format is a machine independent improvement on the PC- DOS specific .ARC format. The ZOO format has been precisely defined, and stable ZOO archivers/dearchivers are available on a wide variety of systems. BOOZ.EXE unpacks .ZOO archives. BOOZ.DOC describes BOOZ.EXE. Chapter 20 Pg 58 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 20. Other Omen Technology Products 20.1 Professional-YAM COMMS TOOLS Omen Technology makes Professional-YAM, a comprehensive comms program with unmatched power. (Professional-YAM is a full featured commercial communications program with autodialing, autolearn scripting, and terminal emulation.) Flavors are available for PC-DOS, Unix, Xenix, and OS/2 Protected mode. Unix source code is available under license. 20.2 ZCOMM: Industrial Strength COMMS Shareware ZCOMM is a full featured shareware version with a $40.00 basic registration. Registered GSZ users upgrading to ZCOMM get a free binder! 20.3 ZMODEM Developer's Collection Omen Technology sells the "ZMODEM Developer's Collection" for $89.00. This diskette includes the most recent public domain versions of YMODEM.DOC, ZMODEM.DOC and the Unix/VMS rz/sz C source code for YMODEM and ZMODEM. Porting to the intended application is the sole responsibility of the purchaser. For many developers, this collection affords a significant labor savings in obtaining these materials. Chapter 21 Pg 59 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 21. 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 GSZ. GSZ 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 GSZ for the myriad environments users use it in. The fact that most of the problems people encounter with GSZ 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 GSZ 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 GSZ as a sign that GSZ 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 GSZ. Non registered users are welcome to use GSZ for a reasonable evaluation period. "Reasonable" means "until you've decided whether the program is worth $30.00." It does not mean "until some competing program gets around to adding ZMODEM or True Ymodem(TM)". Once you've evaluated GSZ, ethical use of GSZ requires registering the copy. GSZ is not and never has been Public Domain. Every version of GSZ has included a Copyright Notice and a prohibition against sale or modification. There is no usage counter or other Trojan Horse in GSZ, but if you use this program, you have a moral and ethical obligation to register it. Paid registration enables t -8g, DIRRX, DSZOPT, OverThruster(TM), YMODEM-g, and other advanced features that are present in GSZ.ZIP in encrypted form. The registration package serializes and decodes all past and future versions of GSZ.COM and GSZ.EXE. You can get a fully featured upgrade of GSZ simply by downloading a newer version from ftp.cs.pdx.edu, TeleGodzilla (503-621-3746), BIX, GEnie (IBM Roundtable), CompuServe, and trusted bulletin boards. Chapter 21 Pg 60 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 21.1 Sharing GSZ Files You are welcome to share unmodified copies of GSZ.ZIP or GSZ.ZOO with your friends and associates for their evaluation. This documentation file and the MAILER file must be provided with all copies of GSZ except by prior written permission from Omen Technology Inc. Because of piracy problems, Omen Technology must INSIST that GSZ be distributed only as part of the GSZ.ZIP file EXACTLY as provided by Omen Technology Inc, or in an archive which displays a CRC value for GSZ.COM equal to that shown in the Changes chapter. If GSZ.ZIP is repacked, no files may be added to or removed from the archive. If you see an improperly packed or otherwise modified GSZ archive or parts thereof in a bulletin board, please ask the board's operator to replace such files with GSZ.ZIP exactly as provided by Omen Technology Inc. Flame them until they behave ethically. Unmodified copies of Omen Technology shareware and demo files including GSZ.ZIP, DSZ.ZIP and DSZBG.ZIP may be distributed by "shareware distributors" provided 1) the files are clearly identified as unregistered shareware, 2) the cost of the distribution is nominal. Otherwise, no version of GSZ may be sold without the prior written permission of Omen Technology Inc. GSZ is not and never has been Copy Protected. "GSZ unprotect" files have no function whatsoever except to aid and encourage the theft of Omen Technology's Intellectual Property. Distribution or use of programs or procedures that modify, patch, disassemble, decompile, or otherwise reverse engineer GSZ without the prior written permission by Omen Technology Inc is a bloody theft of intellectual property and services and is a violation of Federal Copyright Law. The same applies to debug scripts and documentation written for the same purposes. These perform the same function as pirate satellite and/or cable descramblers, to obtain benefit from encrypted communications without proper payment. Piracy has been investigated by the FBI and prosecuted under federal statutes. Applicable law provides for damages and recovery of attorney's fees. Omen Technology has received reports of serious problems caused by unauthorized patches to GSZ, and cannot assume liability for the performance of the resultant code. So far, none of the slime producing such bilge have seen fit to sign their real name and address to their cretinous attempts at ego gratification. Distribution of GSZ in any medium without this documentation file is an unauthorized modification to GSZ that deprives the rightful author of registration revenues. That is a theft of intellectual property. Such distribution damages the author by forcing the user and author to waste time and phone bills scrounging for the documentation, and answering questions that are fully covered in the documentation. Chapter 21 Pg 61 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 If any version of GSZ is distributed with any other product, software or hardware, the product documentation must clearly and prominently state that the customer's continued use of GSZ requires registration directly with Omen Technology or its duly authorized agent(s). When unregistered copies of GSZ are distributed on disk, a contemporary copy of ZCOMMDOC.ZIP should be included on the same disk. Thank you for your support. 21.2 REGISTRATION DSZ Upgrade!! Include your PAID REGISTRATION DSZ SNP card and take $15.00 off the registration fee!! (The card must be mailed with the order.) (Be sure to copy your DSZ SNP for safe keeping.) After a short evaluation period, ethical users must register their copy of GSZ with a check for $30.00 in U.S. funds sent to: Omen Technology Inc. P.O. Box 4681 Portland, OR 97208 The address on your check is sufficient, no need to fill out forms. For VISA/MC Registrations, you can also: Call VOICE: 503-621-3406 Or register online: 503-621-3746 300-1200-2400-9600 bps Or FAX the INSTANT MAILER to: 503-621-3735 Don't bother scrounging for an envelope, just print the INSTANT MAILER included in this archive! Overseas registrations are sent out International Air Mail. Users, especially those overseas, may choose to register their copy of GSZ for $35.00 U.S. by providing their VISA or Mastercard card number with expiration date and their name as it appears on their credit card. Purchase orders for less than $150 must be prepaid. Omen Technology Inc Federal TAX ID #: 930858776 Oregon TAX ID #: 536565 .ne 12 "Das Recht zur Benutzung von DSZ in Deutschland, Oesterreich und der Schweiz erwerben Sie durch Bezahlung der Lizenzgebuehr von DM 57,00 (incl. Mwst) an RzK Doris Koepke Bitzenstr. 11 D-5464 Asbach Tel. 02683-4547, FAX 49 2683 4537, Telex 86 3705 rzk d, CIS Chapter 21 Pg 62 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 [70126,1660]. Sie erhalten dann von dort sowohl die neueste Version, als auch Ihren individuellen Software-Key, mit dem Sie auch kuenftige Shareware-Versionen "aufschliessen", also die in der Shareware Version nicht zugnglichen Programmfunktionen nutzbar machen koennen, per Post. Die Benutzung nicht registrierter Versionen stellt einen Verstoss geltenden Rechts dar und wird strafrechtlich verfolgt." ************************************************************************* The user registration package includes a printed serial number password (SNP) card. The registration "care package" diskette contains the latest versions of the GSZ programs, additional user documentation, and the installation program which uses your personal SNP to enable advanced features and bypass the opening advertisement. The registration package unlocks the extra value in all past and future versions of GSZ.COM and GSZ.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 prompts for your SNP and asks appropriate questions before inserting the SNP to enable the extra value in DSZ. GSZ is serialized with the GCOLORS program described above. Some TSR programs and device deivers interfere with putsnp. If you have a lockup running putsnp, run it without any device drivers or TSR programs (boot a plain DOS from floppy disk). Your disk directory entry for GSZ will show the date and time you serialized your copy of GSZ. This does not affect the revision date GSZ announces when GSZ is run. The only legitimate way to disable the opening advertisement in GSZ is to insert an authorized serial number and activation key obtained from Omen Technology into GSZ with the gcolors program. Any other suppression or modification of the opening screen is an illegal, unethical theft of services. Omen Technology has received reports of serious problems caused by unauthorized patches to GSZ, and cannot assume liability for the performance of the resultant code. Piracy is stealing. Chapter 21 Pg 63 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 21.3 Files on Registration Disk The following files are currently included on the Registration Disk sent to paid registrants. BOOZ.EXE Program to unpack .ZOO archives. BOOZ.DOC describes BOOZ.EXE. DSZEXE.ZOO Contains DSZ.EXE. To dearchive with booz: booz x dszexe Type "booz" without arguments to see the help message. DSZ.ZOO Contains DSZ.COM, DSZ.DOC, DESQview description files. To dearchive with booz: booz x dsz DGSZ.ZOO Contains GSZ, DSZ, GSZ.DOC, and DESQview description files. To dearchive with booz: booz x dsz RZSZ.ZOO contains ZMODEM "C" source code for COMPLETE Unix/Xenix programs licensed for use transferring files to/from licensed Omen Technology products.[1] To dearchive RZSZ with booz: booz x rzsz PUTSNP.EXE Installs your unique registered serial number to enable the extra value in DSZ. (GCOLORS is used for GSZ.) DSZBG.DOC (in DSZBG.ZOO) Background information for GSZ and DSZ, consisting of relevant parts of the ZCOMM User's Manual. To dearchive with booz: booz x dszbg __________ 1. Technical support for rzsz is available on a paid consulting basis. Chapter 21 Pg 64 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 21.4 Bulletin Board Registration Note to the wise BBS operator: be sure you understand the GSZ restrict command and how to use it. Use and/or copying of GSZ by bulletin board sysops and/or systems is allowed according to the following conditions: I agree to feature the ZCOMM files (ZCOMMEXE.ZIP, ZCOMMDOC.ZIP, ZCOMMHLP.ZIP) for downloading, and to announce the availability and features of ZCOMM in any bulletins, help displays, or other displays that mention communications programs. It is my responsibility to maintain reasonably current versions of the ZCOMM files on the BBS shown above. I understand that I am welcome to use GSZ on my bulletin board(s) from the time I sign and mail this document as long as I abide by the conditions above, including featuring the above mentioned ZCOMM files. I shall distribute GSZ.COM only as part of the GSZ.ZIP EXACTLY as provided by Omen Technology Inc, or "zipped" without any file additions, deletions, or modifications. If I distribute GSZEXE.ZOO, I shall also maintain GSZ.ZIP in the same directory since GSZEXE.ZOO references files in GSZ.ZIP. If I see a modified GSZ archive or parts thereof in a file or collection of files (e.g., archive) on a bulletin board, I shall replace such files or archive members with the contents of GSZ.ZIP exactly as provided by Omen Technology Inc. I shall report instances of noncompliance to Omen Technology. I shall not allow any version of gsz to be sold, modified, patched, hacked, disassembled, decompiled, or otherwise reverse engineered without the prior written permission of Omen Technology Inc. I understand that GSZ is not and never has been Copy Protected. I fully understand that "GSZ unprotect" files have no function whatsoever except to aid and encourage the theft of Omen Technology's Intellectual Property. (For this BBS registration, a multi node bulletin board operating from a single, common file system counts as one machine.) The purpose of bulletin board registrations is to support and promote ZCOMM and Professional-YAM by popularizing the ZMODEM protocol and featuring the ZCOMM shareware files available for downloading. BBS registrations must be submitted on the bbs_reg form with signature and date, and must accompany a new paid GSZ or ZCOMM registration. The paid registration that must accompany your BBS registration can be one submitted by one of your board's users. Most boards have many Chapter 21 Pg 65 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 unregistered GSZ users, so getting one of them to register their GSZ should pose no difficulty. Since the paid registration may be from one of your board's users, you can get your BBS registered for free by getting one of your users to register his/her GSZ at the same time. Chapter 21 Pg 66 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 22. CHANGES Be sure to save your serial number/password (SNP) card and the putsnp program you received from Omen Technology to use with future versions of DSZ you may download! (Use GCOLORS to serialize GSZ.) Current GSZ and DSZ versions are maintained on EXEC-PC BBS, BIX, GEnie (IBM Roundtable), CompuServe (IBMCOM and CONSULT SIGs) as well as Omen's TeleGodzilla (503-621-3746). DSZ is a popular program which has been the object of virus attacks. Pirated/hacked versions of DSZ have cost users and DSZ's developer thousands of dollars in lost time and other expenses, in addition to injuring of Omen Technology's reputation. Virus and Trojan code hidden in hacked/pirated copies of DSZ and programs claiming to "register DSZ" have caused loss of data. -rw-rw-r-- 1 caf omen 33040 Sep 19 00:19 gcolors.exe -rw-r--r-- 1 caf omen 72240 Sep 19 00:19 gsz.exe PKZIP -vt 32 bit CRC: 0AFE377A 72240 gsz.exe PKZIP -vt 32 bit CRC: 5AE73B7E 33040 gcolors.exe Your copy of GSZ should show the same CRC values. ZIP uses a 32 bit CRC compatible with the Professional-YAM and ZCOMM "crc" command. pkzip -vt gsz The following Pro-YAM/ZCOMM command gives the 32 bit CRC for GSZ.COM: EXAMPLE: >>>c: crc gsz.com If your copy shows a different CRC or file length, insist on a legitimate copy and report the source of the bogus/pirated copy to Omen Technology Inc. Omen Technology has received reports of serious problems caused by unauthorized patches to DSZ, and cannot assume liability for the performance of the resultant code. Good news for tired frog stompers! The ZMODEM rz/sz programs are available in native VMS flavors with wild cards, record format support, etc.. Pre compiled VAX/VMS files are contained in the RZSZ.TLB compressed text library, available in the TeleGodzilla (503-621-3746) upgrade/vms subdirectory, Compuserve VAXFORUM, GEnie, and other bulletin boards. FTP access at ftp.cs.pdx.edu pub/zmodem/rzsz.tlb and Simtel20 mirrors. The DSZ and GSZ "t" command uses the DOS console driver for terminal Chapter 22 Pg 67 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 emulation. Standard ANSI.SYS is limited to a small subset of ANSI escape sequences; NANSI.SYS, FANSI-Console and other replacement console drivers provide faster screen updates and better ANSI terminal emulation. DESQview users: make sure "Separate Shift State" is set to "N". (Tnx to Tim Trott for this info.) Sep 18 1994: Supports the Startech ST16C650 UART with 32 byte FIFOs and on chip hardware flow control support. This chip is identified as type 3. July 17 1994: GSZ and DSZ now accept extended receiver defined character escaping requests which can specify the all ones character FF to be escaped. April 26 1994: The ZMODEM k, K and J numeric parameters have been added to help on machines with old style UARTS encountering LSR 02 serial inut errors. Feb 25 1994: The Windows multitasking added in the Jan 27 version has been modified; it was overly generous. The subchapter on Windows operation has been changed. Feb 02 1994: Fixed anomalies with YMODEM-g and time display. Hardware support was revised to accommodate a Hayes ESP board incompatibility with the 16550 spec. Jan 27 1994: Added the "G" command to send an XON character to the modem. This is useful when calling gsz from MSKermit as MSKermit sends an XOFF character to the modem. Multitasking on OS/2 and Windows has been improved. Handshake slow is more aggressive in flushing disk buffers. Nov 29 1993: Rebuilt to correct zipfile authentication problems. Detection of 7-bit and nontransparent paths improved. Nov 27 1993: Serial I/O has been tuned for more efficient operation with internal modems using firmware driven virtual UARTs. May 29 1993: The portx command now works with IRQ's up to 15, and, optionally, nonstandard baudrate clocks. EXAMPLE: dsz portx 3e8,15 rz -m Newer UART chips can use raw bit rate sources higher than the standard 1.8432 MHz. Some 386 and 486 machines support MobyBaud(TM) operation above 115200 bps. To support a nonstandard bit rate source, multiply 5760 by the new raw bit rate source frequency in MHz divided by 1.84320. EXAMPLE: dsz portx 3e8,15,57600 sp 38400 rz -m Chapter 22 Pg 68 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 supports the 18.432 MHz clock option on the Boffin Electronics "WinSport II" 2 port serial board. May 3 1993: SlugBait should now work for XMODEM and YMODEM. Some problems with file transfers over 7-bit paths were fixed (DSZ.EXE, GSZ.EXE). Nov 9 1992: Unwanted registration info message removed from registered copies. Enhancements to accommodate non standard XMODEM programs. Corrected spurious automatic recognition of hardware handshake configuration. May 3 1992: Recompiled to correct bad file size/CRC values in DSZ.DOC and DSZNEW, pruned some unused code. No functional changes from April 27 vsn. April 27 1992: The GSZWINDOW environment variable can be set to 1, 2 or 3 to leave the top 1, 2 or 3 lines unmolested. DSZ.EXE is compiled on a newer compiler and now supports file sharing. Bogus/hacked/infected files with early 1992 revision dates have been reported. Dec 13 1991: DSZ and GSZ automatically support Doorway 2.2 without extra commands. The RZ.BAT and SZ.BAT files are supplied for convenience. RZ.BAT allows calling programs that emit an "rz" command to automatically start GSZ from the DOS command prompt. SZ.BAT is a convenient command interface that complements RZ.BAT. You may modify SZ.BAT and RZ.BAT with your favorite options. The GSZ file transfer display now shows a distinct color at the locations where error retries occurred. This gives a visual impression of the distribution of error retries. Oct 15 1991: To accommodate other vendors' programs which do not provide a convenient way to control crash recovery, the "restrict" command security check is not performed if the destination file does not exist. Oct 8 1991: Some versions of putsnp were confused by a data pattern in the Oct 7 dsz.com, misplacing the installed serial number. Oct 7 1991: The "t" (talk) command now accepts -h and -H to enable local echo. Oct 1 1991: Fixed an interaction between FIFO uarts and YMODEM-g termination after all files have been sent. Fixed problem of some options being ignored on XMODEM and YMODEM downloads. Fixed graphics display problem involving more than 40 MB of files. Sep 4 1991: GCOLORS now saves the color scheme in a separate file GCOLORS.T. Many small improvements in the GSZ file xfer display. GCOLORS adds a "m" menu choice to remove color from the color scheme. Chapter 22 Pg 69 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 A conflict between crash recovery and user specified short packets has been corrected. DSZ.EXE and GSZ now accept the "c" option to force incoming files to use a changed file name when a file with the same name exists. DSZ.COM does not support this. The receiving program must support this new ZMODEM option or file disposition will be undefined. Aug 7 1991: Serial I/O modifications have solved a Wedge-O-Matic(R) problem with one hardware configuration (antique 2400 bps internal modem). Hopefully this will solve similar non-replicatable problems for other users. A number of display fixes/enhancements to GSZ, including the addition of the GSZWINDOW environment variable enabling BBS sysops to protect BBS status lines at the bottom of the screen. July 29 1991: Corrections to gcolors registration function. July 28 1991: Some changes to GSZ and CGOLORS to improve human factors. "GCOLORS -q" disables the flashing reminder of which field is being modified. This was added to help users with certain visual impairments. A few users have reported hung transfers wither certain hardware and/or software configurations. We have not been able to replicate the problem, but have added code that recovers from lost interrupts. July 21 1991: Preview release of GSZ!! Chapter 23 Pg 70 GSZ Reference Rev Sep-18-94 Typeset 9-19-94 23. ACKNOWLEDGEMENTS 32 bit CRC code courtesy Gary S. Brown. ZMODEM-90(TM), MobyTurbo(TM), The High Reliability Software(TM), Demand Upgrade(TM), TurboLearn Script Writer(TM), Cybernetic Data Recovery(TM), ZMODEM AutoDownload(TM), Intelligent Crash Recovery(TM), Error Containment(TM), Full Time Capture(TM), True YMODEM(TM), OverThruster(TM), Password Guardian(TM), CryptoScript(TM), and TurboDial(TM) are Omen Technology trademarks. PowerCom was trademarked in 1985 by POLYTRON Corporation, Hillsboro Oregon. True YMODEM(TM) is an Omen Technology Trademark signifying YMODEM protocol support that meets the full YMODEM specification. GSZ and this documentation are Copyright 1991 by Omen Technology Inc, all rights reserved. GSZ is not and never has been Public Domain. Every version of DSZ has included a Copyright Notice and a prohibition against sale or modification. This prohibition applies to any theft of the intellectual property and trade secrets contained in GSZ by decompilation, disassembly, or any other form of reverse engineering including but not limited to profiling, tracing, data analysis, or monitoring the operation of GSZ. Omen Technology copyright applies to its expression of the encoding and compression ideas expressed as code and byte streams used in the ZMODEM-90 enhancements. GSZ is not and never has been Copy Protected. "GSZ unprotect" files have no function whatsoever except to aid and encourage the theft of Omen Technology's Intellectual Property. Omen Technology Incorporated The High Reliability Software 17505-V Northwest Sauvie Island Road Portland Oregon 97231 Modem: 503-621-3746 Speed 1200,2400,V.32 FAX: 503-621-3735 CompuServe:70007,2304 GEnie:CAF BIX:cforsberg