home *** CD-ROM | disk | FTP | other *** search
-
-
-
-
-
- PCZ 4.06.90 Nov. 27, 1990
-
-
-
-
-
-
-
-
-
-
- PCZ - A Public Domain implementation
- Zmodem, Ymodem, Xmodem, Xmodem-1K, Sealink
- for the IBM PC family
-
- PcConnect Zmodem by Drue Kennon and Gary Smith
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- PCZ is a public domain Zmodem implementation that will allow
- users of communication software that does not implement
- internal Zmodem to access it through an external program.
- It is a full-featured version of Zmodem, but does not have the
- large volume of bells, whistles & options provided by Omen
- Tech's DSZ. However, I do believe that it will be suitable
- for the average demanding BBS'r.
-
- PCZ provides support for the basic Xmodem variants:
- Xmodem, Xmodem-1K, Ymodem & SEAlink.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- The following is a description of how to start PCZ for file
- transfers.
-
- LEGEND
- Data enclosed in "[" "]" is optional.
- Data enclosed in "<" ">" is required.
-
-
- Send Command line:
-
- PCZ <1-8> <300-19200> [m] [f] [d] [s] <s?> [r] [@]<filespec>
-
-
-
- Recv Command line:
-
- PCZ <[1-8]> <[300-19200]> [m] [f] [k] [d] [s] <r?> [r]
- [filespec]
-
-
-
- Ref:
- 1-8 - the number 1 - 4, -(8) << PS/2 >>
- 300-19200 - the number 300, 1200, 2400 etc...
- m - frontend menu option (see MENU)
- f - enable FOSSIL comm driver routines
- k - rx keep aborted received files
- d - disable video memory writes (usedos)
- s - request enable Super_Z transfer mode
- (zmodem only)
- r?,s? - transfer type sz, rz, sx, rx etc...
- r - resume/recover aborted transfer
- (zmodem only)
- @ - command file transfer alert flag
- (SEAlink, Z,Ymodem)
- filespec - file name w/extension
- {complete file spec allowed}
- {drive:\path\filename.ext}
-
- Flags should be placed as shown for standardization
- purposes.
- i.e. "f" before "d"; "d" before "k"; "rz,sz" before "r" etc...
-
-
- Due to the nature of the beast, no support is provided for a
- default port & no default port speed is assumed.
-
- NOTE * See environment variables below for more on default
- port/speed
-
- I personally never enter "port" or "speed", but always enter
- their values. i.e. pcz 1 9600 f sz xxxxxxx.xxx The batch
- files included reflect this method.
-
-
-
-
-
-
- "ZMODEM RECEIVE"
-
-
- << SINGLE >>
-
- PCZ 1 9600 rz myfile.ext - assume your specified file
- name.
-
-
- << BATCH >>
-
- PCZ 1 2400 rz - Receive ALL sender files.
-
- PCZ f d k rz r - Receive ALL sender files
- assume PCZPORT & PCZSPEED
- values
- use FOSSIL routines
- use standard DOS screen output
- KEEP all aborted files.
- RESUME any incomplete previous
- files.
-
- one file mode:
- PCZ 1 9600 rz INFILE.ARC - Receives one file and names it
- INFILE.ARC
-
- PCZ 1 9600 rz r INFILE.ARC - Recovery effort on file
- INFILE.ARC
-
-
- NOTE * A word about command line switches might be in order
- here. The switch flags " f, d, k " are global. That is
- they control PCZ and not any particular protocol. The "r & s"
- switch is isolated within zmodem, but is applied to both
- sender and receiver. If you want PCZ's resume code enabled
- when sending a file then the sender must specify "r" on the
- command line. Accordingly if the receiver requests
- resumption of an aborted transfer, the sender must have "r"
- specified or we won't resume anything. This was requested
- by BBS Sysops who track download bytes, transfer points
- etc... Probably so you aren't charged twice or the such
- like.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- "ZMODEM SEND"
-
-
- << SINGLE >>
-
- PCZ 1 9600 sz OUTFILE.ARC - Send one file to receiver.
-
-
-
- << BATCH >>
-
- Create a TEXT command file with one complete file spec per
- line, which includes drive and directory information for
- each file that is not in the directory PCZ was called from.
-
- e.g. C:\MYDIR\THISFILE.ZIP
-
- There is NO limit to the number is allowed.
- Have no blank lines in the file.
- Place the "@" symbol as the first character of the filename.
-
- Pass it to PCZ on the command line as follows:
-
- PCZ 1 2400 sz @OUTFILE.TXT
-
- What you name the command file is your business. It simply
- must be a standard ASCII file with no software or printer
- control codes present.
-
- An alternative to creating the command file for sending 2 or
- 3 files may be used. Simply type the file names on the dos
- command line separating each one with a space.
-
- Remember the receiver must be set to accept batch uploads or
- you might be spinning your wheels. Some BBS packages are
- just now coming on-line with batch upload features using
- PCZ. They normally indicate (BATCH) if it is supported.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- BBS << BATCH >>
-
- One method for implementing batch uploads on a bbs is to use
- the log file and examine the transfer status character. The
- first character of each line in the log file denotes how the
- transfer finished. A "1" for good transfer & "0" for a
- failed transfer.
-
-
- Armed with this information, simply setup to call PCZ in
- batch receive mode. After PCZ has finished and your bbs
- code has control. Open the logfile and read in the line(s)
- of information. You may now format a string to send the user
- about the status of each file he/she sent, prompt for a file
- description etc...
-
- After you have dealt with each entry in the logfile, simply
- close the file and delete it. PCZ will create a new file
- for the next transfer session. If you desire a continuous
- record of the transfers then you should create your own and
- append each entry you read from the pczlog to your
- continuous log file.
-
- The information below shows exact start positions for each
- piece of data. The x's denote the length of each element,
- the first (x) shows start position as PCZ will write it to
- the log.
-
- e.g. Below, the file size is 47877. PCZ will always write
- the file size as a 7 character string which begins at
- position 21 in the line. Hence, read from pos(21) to
- pos(27), trim any blanks & convert to decimal value etc...
-
-
- Log extract w/char positions:
-
- 1 2 3 4 5
- 1234567890123456789012345678901234567890123456789012345
- x xx xxxxxxxxxxxx xxxxxxx xxxxxx xxxx x
- 1 sz PCZ40x.ZIP 47877 @ 2400 bps @ 237 cps 0
-
- 6 7 8
- 6789012345678901234567890
- xxxxxxxxxxxxx
- errors Fri 10/5/1990
-
-
-
-
-
-
-
-
-
-
-
-
-
- "XMODEM VARIANTS"
- To receive files using any of the Xmodem variants, the
- format is :
-
- PCZ <port> <speed> rs filename - SEAlink receive
- PCZ <port> <speed> rs - SEAlink Batch
- receive
-
- PCZ <port> <speed> rx filename - Xmodem receive
- PCZ <port> <speed> r1 filename - Xmodem-1K receive
-
- PCZ <port> <speed> ry filename - Ymodem receive
- PCZ <port> <speed> ry - Ymodem Batch
- receive
-
-
- Remember the "k" options works for all of the receive modes.
- Hence you can receive a file via SEAlink, have it abort on
- errors, and then later RESUME the transfer using Zmodem.
-
-
-
- To send files using any of the Xmodem variants, the format
- is :
-
- PCZ <port> <speed> sx filename - Xmodem
- PCZ <port> <speed> s1 filename - Xmodem-1K
- PCZ <port> <speed> sy filename - Ymodem *
- PCZ <port> <speed> ss filename - SEAlink *
-
- *Refer to Zmodem Batch sending for batch transfers via
- Ymodem and SEAlink
-
-
-
- NOTE: The bytes and cps rate reflect the actual number
- of bytes sent to, or received from the IOBuffer as a
- transfer progresses. It does not necessarily reflect any
- specific "BLOCKSIZE". When sending, as a transfer nears
- it's end, you will see the cps decline. That's because PCZ
- uses buffered output vs a simple "sector size" buffer. This
- will let you see actually how PCZ is progressing in the
- transmission of data. In the best case "Full Streaming
- Zmodem", you will see the time for actual file data; worse
- case time will reflect the transmission of data headers and
- block acks. It is different, but I hope everyone can
- appreciate a more accurate account of what is happening
- inside the powerful zmodem protocol.
-
- ** : The "Transfer Time" reflects PORT speed, (NOT MODEM)
- speed!
-
- If speed conversion is being used, FORGET the transfer time.
-
-
-
-
-
-
- "ENVIRONMENT VARIABLES"
-
- PCZ supports several environment variables which can make
- setting up a comm pkg or BBS more "user friendly". These
- variables are as follows and should be placed in the
- autoexec.bat file as I have them shown here or modify the
- setenv.bat file included to accommodate your system.
-
- "DRIVE" refers to the letters "A".."Z"
-
- "YOURDIR" refers to a complete directory specification.
- i.e. \COMM\ARC\
-
- "YOUR.FIL" refers to a filename with extension that you want
- PCZ to use vs it's default name.
-
-
-
-
- "DIRRX"
-
- set DIRRX=drive:\yourdir\
-
- This variable provides the ability for all your
- received files to be placed in a single location. It is
- very useful for bbs purposes as well as general comm program
- usage. If you specify a directory spec on the command line,
- it will override DIRRX. Therefore you can easily set the
- variable and then just forget about it. If DIRRX isn't set
- and no spec. is given on the command line, your receive file
- will be created in the current active dos directory.
-
-
- "PCZLOG"
-
- set PCZLOG=DRIVE:\YOURDIR\
-
- In the log file's case, it specifies the directory you want
- your PCZ.LOG file to be kept in. If "PCZLOG" is not found
- in the environment then no log file is generated.
-
- set PCZLOG=DRIVE:\YOURDIR\YOUR.FIL
-
- As an option to the log file name "PCZ.LOG" you may specify
- your own filename in the filespec. This provides greater
- flexibility with some bbs packages such as RBBS which
- expects it's own naming convention to be used, and for
- multitasking environments etc... If your "YOUR.FIL"
- exist, it overrides filename "PCZ.LOG" in all cases.
-
-
-
-
-
-
-
-
-
-
- "PCZPORT"
-
- set PCZPORT=(1-8)
-
- PCZ will use the port number (1-8) as the default port.
-
-
-
-
- "PCZSPEED"
-
- set PCZSPEED=(300-19200)
-
- PCZ will use the speed (300-19200) as the default speed.
-
-
-
- NOTE ** If you specify the PORT or SPEED on the command
- line, it will override a default set by the
- environment variables.
-
-
-
- "PCZDIR"
-
- set PCZDIR=DRIVE:\YOURDIR\
-
- If you experience any problems with PCZ not being able to
- access it's overlay file. Setting this variable will cure
- the problem. DRIVE:\YOURDIR\ should point to the directory
- where you have located PCZ.EXE
-
-
-
- IMPORTANT NOTE:
-
- NO SPACES are allowed when setting an environment variable!
-
- i.e. {WRONG}
- set PCZLOG = C:\COMM\ will not work.
-
- That's not my fault. It is just DOS....
-
- i.e. {ahhhh}
- set PCZLOG=C:\COMM\
-
-
-
-
-
-
-
-
-
-
- "PORT & IRQ"
- It has seemingly become necessary, instead of interrupt
- sharing, to reassign Comm. PORT addresses and use seldom
- triggered IRQ lines e.g. "5 & 7" to allow multiple 'more than
- two' ports on one machine. Efforts to support this trend
- have been successful with PCZ. Refering back to our PCZPORT
- environment variable:
-
- set PCZPORT=1
-
- If you have reassigned you IO card addresses etc..., you can
- force PCZ to comply with your wishes.
-
- Lets say you want to use PORT 3 @ 2E8h on irq 5. You set
- PCZPORT in this manner.
-
- set PCZPORT=3,2E8,5
- | | |
- | | |____ IRQ line number
- | |_______ PORT address
- |__________ PORT number
-
- If you specify an invalid address or one you card isn't set for
- then PCZ will simply abort during it's port validation routine.
- This method should provide the support needed for those who
- like to match their wits against the cpu's.
-
- "Super_Z" (tm)
- Always in search for faster from fast. Super_Z takes zmodem to
- the ragged edge! If you are one of the blessed, and enjoy
- relatively noise free transmission lines, you should see an
- increase of 2 to 3 percent efficiency. XON/XOFF MUST be
- disabled and the modem must pass these characters. You may
- activate Super_Z via the command line switch "s". As is
- usually the case, Super_Z can be called by the receiver or by
- the sender. That is to say, that either can flag for Super_Z
- and if the remote version supports Super_Z, we're doing it.
-
- Regarding noise, a seldom thought of fact is that just because
- you local transmission lines are great to one place, someone
- elses local lines may be the pits. A good example is.... When
- I log on to the "Corner" from Texas on a "596" extension I
- rarely every get a line hit. When I use the "995" extensions I
- am prone to hits anytime. A reverse situation might occur in
- your particular area. It simply depends on the quality of
- any of the many exchanges you might encounter. I can only hope
- you are one of the lucky ones.
-
- "NETWORK SUPPORT"
- PCZ has been tested completely in a network enviroment. It
- will allow multiple users to read the same file via use of
- DOS's shareable attribute. It will also lock any files
- that it is currently writing to. This has been tested using
- Novell Netware, LAN Manager, and CBIS Network-OS.
-
-
-
-
-
-
- "MENU FRONTEND"
- Many fine programs exist which allow protocol engines to be
- called from a communications package. In an effort to make PCZ
- all the more user friendly, there is now a simple menu system
- built into the program. It is controlled by the file PCZ.CFG
- which is included in this zip file. Take a few moments to read
- over it. It may be that it is just what you are looking for in
- the way of a nice user interface. The design and layout of the
- system is very simple and straight forward. You control the
- options and protocols you wish to have active. PCZ.CFG comments
- explain the various functions you can use. To use the menu
- system simply call PCZ in the following manner.
-
- PCZ m
-
- Make your menu selections and complete the command line with
- your filespecs.
-
-
-
-
-
- "FOSSIL SUPPORT"
- FOSSIL is an acronym for "Fido/Opus/SEAdog Standard
- Interface Layer". This version of PCZ implements the use of
- FOSSIL communications support. To date only one, "X00.SYS"
- driver has been tested to work with PCZ. X00.SYS is a
- product of Raymond Gwinn. It has proven itself in many
- environments and I recommend it to you without reservation.
- X00.SYS was chosen because it provides "FIFO" etc... support
- for the 16550 UART chip. My internal routines support the
- chip but not all it's features. Also X00.SYS provides
- enhanced ability to work in a multitasking environment such
- as DeskView. If DeskView is active PCZ gives idle processor
- time back to the cpu for smoother operations. For a brief
- description of setting up X00.SYS on your system read the
- enclosed file PCZFOSSL.DOC
-
- Making use of the driver with PCZ is as simple as adding "f"
- to the command line. It should be placed after the baudrate
- in all transfer types.
-
- i.e.
- PCZ 1 9600 f sz OUTFILE.ZIP
-
- When PCZ starts, it will check for the presence of the
- driver in memory. If it is resident all will proceed as
- planned. If however, the driver is not in memory, PCZ will
- gracefully shut down with a message stating this fact. I
- gave careful thought to jumping to the internal routines,
- but decided against it for a couple of reasons. In some
- cases the ports may be scrambled which will surely cause a
- system lockup on PCZ's part. A problem may exist with the
- driver you are using, giving false info which PCZ's routines
- would not like very much. A "dumb" terminal might have
- charge of things and not want another routine hanging
- around, etc...
-
- "PHONE SUPPORT"
-
- Phone support can be provided when you require it, if you
- call while I am home. I umpire for our local women's
- softball league on Mon. & Tues. nights. I play golf on Wed.
- & Thurs. evenings. Fri. night I do what Maureen tells me to
- do! Sat. is up for grabs and Sun. morn & evenings I am in
- church. Please try me sometime other than those
- mentioned ...... Seriously though, any night (late) will
- be fine. Just try and make it before 10p.m. CST if
- possible.
-
-
-
-
-
-
-
-
-
-
-
-
- Note from the author:
-
- Over the last year PCZ has received some very good reviews.
- More users rely on the program for their transfers now than
- I thought would ever be interested. For this I am
- especially grateful and would thank each one if possible.
- Gary & I will continue to grow with the needs of the BBS
- community. We ask for your continued input and support,
- with our assurance that your IDEAS, "cheers & jeers" are
- taken with sincerity.
- Thanks
- Drue
-
-
- History
- -------
-
- V1.01.88 -
- Initial release, no known bugs. Please report any
- problems to Drue Kennon.
-
-
- V2.01.89 -
- Extended version that contains Xmodem, Xmodem-1K,
- Sealink, and Ymodem Batch in addition to Zmodem. Also
- provides full file sharing for use in networking
- environments.
-
-
- V2.11.89 -
- Fixed several reported bugs. Enabled hardware flow
- control for use with MNP type modems. Enhanced port speeds
- up to 19.2k, and tightened some code for more efficient
- operation. Properly set errorlevel 1 in event of transfer
- failure.
-
-
- V3.03.90 -
- Fixed a problem with SEAlink xfers not seeing the last
- EOT. Batch sending for SEAlink per request. Enhanced some
- screen data writes.
-
-
- V3.06.90 -
- Fixed a problem with SEAlink xfers created by making
- the last fix. Zmodem command file name can't be fouled due
- to misunderstanding the docs.
-
- NOTE:
- Unless forced into it by the users, I do not plan to
- support 7 bit data transfers. Nor can I figure why any IBM
- machined BBS would? Did I miss something along the way?
-
-
-
-
-
-
-
- V3.08.90 -
- Got with the program and added support for FOSSIL
- driver. e.g. Gwinn's Communications Controller, X00.SYS
- add "f" to cmd line params for fossil). Removed internal
- support for default port and speed which caused problems for
- multitaskers. Defaults are now specified through
- environment variables. Added environment variable for
- default receive dir. Reinstated environment variable for
- pcz log file.
-
-
- V3.09.90 -
- By popular demand, namely "Gary", I added yet another
- multitasker enhancement. Since the cpu is much faster than
- the port, idle time occurs during output. This time is now
- "given back" to the cpu, allowing the "other side" to
- operate smoother and more efficiently.
-
-
- V3.10.90 -
- Some users mentioned that PCZ would wait forever in a
- transfer if the carrier was lost. I couldn't dupe the
- problem, but added several more checks nonetheless. The
- logfile has changed so that you may specify a full filespec.
- including filename for you logfile in the env. var. The
- first char of each line in the file represents pass or fail.
- "0" = failed xfer "1" = good xfer. Keep those cards and
- letters coming!
-
-
- V3.11.90 -
- ArrrrG! %#^^#%%@#*$(%*#$%($$%&*( the &*&^*&^ woes of
- changes really $^& my &(&^#$.
-
-
- V3.12.90 -
- Forget 3.11.90 ever existed! Several routines got a
- face lift! You should see more efficiency with this
- release. I can't begin to go through the entire chase with
- you here, but I need a new can of RAID! Seems there is
- never a total end with a bug problem, in programming as well
- as the home! I must offer a special word of thanks to Dick
- Melville from San Marino for his the help with RBBS
- interface problems. Dick was an excellent BETA Buster!
- And to Steve Clancy who finally helped me see there was NO
- carrier on the line!
-
-
-
-
-
-
-
-
-
-
-
-
-
- V4.00.90 - {BETA}
- Version 4.00 represents a major revision change to PCZ.
- As you have noticed, if you've used prior versions, there
- are two PCZ files now instead of one. PCZ.EXE is the global
- executable file and PCZ.OVR contains the actual protocol
- functions. The decision to go with overlay functions was
- made due to the fact that more Sysops are using PCZ with
- their BBS's in a multitasking environment. Memory usage has
- been drastically reduced. Additionally, each transfer type
- function i.e. "sz,sx(1),ss,sy" & "rz,rx(1),rs,ry" is totally
- self contained which simply means once the program loads and
- a transfer type is called, no other overlay read is needed.
- The function completes and exits. Simply put; execution time
- has been enhanced.
-
-
-
- V4.01.90 - {BETA} Dick & Steve
- V4.02.90 - {BETA} Dick & Steve
- V4.03.90 - {BETA} PcConnect, Dick & Steve
- V4.04.90 - {BETA} PcConnect
-
- V4.05.90 - Major revision V4.xx.90 released on the world!
-
- V4.06.90 - Some enhancements added here include; Super_Z(tm) by
- PC², offers enhanced tranfser times when used with error
- correcting modems and relatively noise free transmission lines.
- No limit to the number of files allowed in a batch transfer
- command file. Non-standard PORT, IRQ line assignments
- supported via environment setup. Frontend menu system for comm
- package use. PCZ is supplied as a '.EXE' file which when
- executed breaks it's code out into overlays. The largest
- executable code segment will run well inside of a 64k memory segment.
-
-
-
-
-
-
-
-
- Personal contact may be made by one of the following
- methods.
-
-
- Drue Kennon Gary J. Smith
- Rural Route #2 Box 54 6122 Cedar Wood Drive
- Center, TX. 75935 Columbia, MD 21044
- Voice 409-598-3809
-
-
- The Programmer's Corner
- Home of
- "PcConnect" & "PCZ"
-
- Data/BBS: 301-596-1180 Data/BBS: 301-995-3744
- Data/BBS: 301-621-4636
-
- 10 roll over lines in place
- with over 1.5 gigabytes of
- storage space
-
-
-
-
- DSZ, ZCOMM, Professional-YAM are Copyrights of Omen
- Technology Inc, all rights reserved.
-
- X00.SYS Copyright (c) by Raymond L. Gwinn, All Rights
- Reserved.
-
- PCZ Copyright (c) by Drue Kennon, All Rights Reserved.
- Super_Z(tm) is a trademark of PC²
-
- ** If you are the author of a communications package that has
- zmodem implemented internally and would like to enable Super_Z
- in you program for PCZ compatibility, look over SuperZ.Doc. If
- you have any questions or problems then just drop me a line or
- call and we will be glad to help you out.
-
-