Jan 082018
Software by Technica to allow intelligent Patches to programs (& files). | |||
---|---|---|---|
File Name | File Size | Zip Size | Zip Type |
PCZAP.DOC | 30412 | 7708 | deflated |
PCZAP.EXE | 5041 | 2461 | deflated |
Download File PCZAP.ZIP Here
Contents of the PCZAP.DOC file
Technica
-------------------------------
Programming & Technical Support
for IBM Personal Computers
PCZAP
Version 1.00
Software Patch Utility
REFERENCE MANUAL
Copyright Technica, 1989, All rights reserved
CONTENTS 1
--------------------------------------------------------------------
LICENSE AGREEMENT .............................. 2
LIMITED WARRANTY ............................... 3
PROGRAM REGISTRATION ........................... 4
INTRODUCTION ................................... 7
USING PCZAP .................................... 8
BATCH FILE PROCESSING .......................... 9
SOFTWARE PATCHES ............................... 10
COMMANDS ....................................... 11
ENABLE ..................................... 12
HELP ....................................... 13
REPLACE .................................... 14
VERIFY ..................................... 15
QUIT ....................................... 16
MESSAGES & RETURN CODES ........................ 17
DISTRIBUTION LICENSE APPLICATION ............... 19
REGISTRATION FORM .............................. 20
LICENSE AGREEMENT 2
--------------------------------------------------------------------
The PCZAP program and this documentation is the copyrighted property
of Technica.
Technica provides the program and licenses its use. You assume
responsibility for the selection of the program to achieve your
objective and for the installation, use & results obtained from the
program.
You are granted a limited license to use, copy and distribute PCZAP
provided that the following conditions are met:
1. No fee is charged for the use, copying or distribution of the
PCZAP program and documentation.
2. PCZAP is distributed in its original and unmodified state along
with the original and unmodified program documentation.
3. PCZAP is not distributed, in whole or in part, as part of any
commercial product or service without the express written
permission of Technica.
YOU MAY NOT USE, COPY, MODIFY OR DISTRIBUTE THE PROGRAM OR
DOCUMENTATION OR ANY COPY, MODIFICATION OR PORTION OF THE PROGRAM OR
DOCUMENTATION EXCEPT AS EXPRESSLY PROVIDED FOR IN THIS LICENSE.
VIOLATION OF ANY LICENSE PROVISION AUTOMATICALLY TERMINATES YOUR
LICENSE AND MAY SUBJECT YOU TO CIVIL AND/OR CRIMINAL LIABILITY.
LICENSE TERM
This license is effective until terminated.
You may terminate the license at any time by destroying the program,
documentation and all copies of the program and documentation. The
license is also terminated upon conditions set forth elsewhere in
this license agreement. Upon license termination, you agree to
destroy the program, documentation and all copies of the program and
documentation.
You may not sublicense, assign or transfer the license or program
except as expressly provided in this Agreement. Any attempt to
otherwise sublicense, assign or transfer the license, program and/or
any of the rights, duties or obligations hereunder is void and
terminates your license.
This Agreement is governed by the laws of the State of California.
LIMITED WARRANTY 3
--------------------------------------------------------------------
THE PROGRAM IS PROVIDED "AS IS" WITH NO WARRANTY OF ANY KIND EITHER
EXPRESSED OR IMPLIED INCLUDING BUT NOT LIMITED TO ANY WARRANTY OF
MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE. THE ENTIRE
RISK AS TO THE QUALITY AND PERFORMANCE OF THE PROGRAM IS WITH YOU.
IN THE EVENT THAT THE PROGRAM SHOULD PROVE TO BE DEFECTIVE YOU
ASSUME THE ENTIRE COST OF ALL NECESSARY SERVICING, REPAIR AND/OR
CORRECTION.
Some states do not allow the exclusion of implied warranties in
which case the above exclusion may not apply to you. This warranty
gives you specific legal rights and you may also have other rights
which vary from state to state.
Technica does not warrant that the functions contained in the
program meet your requirements or that the operation of the program
will be uninterrupted or error free.
IN NO EVENT WILL TECHNICA BE LIABLE TO YOU OR ANY OTHER PARTY FOR
ANY DAMAGES, INCLUDING LOST PROFITS, LOST SAVINGS AND/OR ANY OTHER
INCIDENTAL OR CONSEQUENTIAL DAMAGES ARISING OUT OF THE USE OR
INABILITY TO USE THE PROGRAM EVEN IF TECHNICA HAS BEEN ADVISED OF
THE POSSIBILITY OF SUCH DAMAGES. SOME STATES DO NOT ALLOW THE
LIMITATION OR EXCLUSION OF LIABILITY FOR INCIDENTAL OR CONSEQUENTIAL
DAMAGES IN WHICH CASE THE ABOVE LIMITATION MAY NOT APPLY TO YOU.
Technica may make changes to the product(s) described in this
document and/or this document at any time without incurring any
obligation to make any changes to other versions of the product(s)
and/or documentation.
This document may include technical inaccuracies or typographical
errors. Technica may periodically make changes to the information
herein and these changes will be incorporated in new versions of
this document.
PROGRAM REGISTRATION 4
--------------------------------------------------------------------
PCZAP is distributed as shareware which allows you to use the
program and determine if it suits your needs before you pay for it.
Instead of advertising PCZAP in national computer magazines which
would require that the price of the software be substantially
higher, the shareware distribution concept allows Technica to reduce
its costs and price the program accordingly.
If after a period of 10 days you continue to use PCZAP then
registration is requested. Please refer to the registration form at
the end of this document for the current registration fees.
As a registered user you will receive access to Technica's bulletin
board from which you can download the latest version of PCZAP at no
charge. The bulletin board also contains technical information
regarding the use of PCZAP and authorized software patches for many
products. Registered users of one Technica software package can
register for other products at reduced prices.
IF YOU USE THE PROGRAM FOR COMMERCIAL PURPOSES YOU MUST REGISTER.
TO REGISTER:
Complete the registration form at the end of this documentation.
Send the registration form and a check or money order for the
registration fee to:
Technica
Registration Section
P.O. Box 4461
Foster City, CA 94404-4461
Thank you for your support.
COMMERCIAL SITE LICENSE 5
--------------------------------------------------------------------
A Commercial Site License is required of an organization, government
or individual engaged in any commercial or non-profit activity if
PCZAP is used during any activity in the conduct of the business of
that organization, government or individual.
A Commercial Site License permits the use of PCZAP software and
documentation within one organization for as many computers as
licensed for. An unlimited Commercial Site License permits
unlimited copying and use of the software and documentation within
one organization. Please refer to the registration form at the end
of this document for the current registration fees.
Other terms of a Commercial Site License are the same as stated in
the License Agreement section of this document.
If a Commercial Site licensee acquires additional computers and
PCZAP will be used on those computers then an additional fee is
payable to Technica. This fee is calculated at the rate per
computer of the original license times the number of additional
computers using PCZAP.
A Commercial Site License is non-transferable.
TO OBTAIN A COMMERCIAL SITE LICENSE:
Complete the registration form at the end of this documentation.
Send the registration form and a check or money order for the
registration fee to:
Technica
Registration Section
P.O. Box 4461
Foster City, CA 94404-4461
DISTRIBUTION LICENSE 6
--------------------------------------------------------------------
A Distribution License is required of an organization, government or
individual engaged in any commercial or non-profit activity if PCZAP
is distributed, packaged, sold or given away by that organization,
government or individual.
A Distribution License is not necessary for computer user groups,
bulletin boards and individuals not engaged in a business. These
parties may distribute PCZAP on a shareware basis provided that the
entire PCZAP package as provided by Technica is included in the
distribution and no fee is charged for such distribution.
A Distribution License allows distribution of PCZAP with or without
other software that is manufactured, distributed, packaged, sold or
given away by the licensee.
A Distribution License is non-transferable and non-exclusive.
TO APPLY FOR A DISTRIBUTION LICENSE:
Complete the Distribution License Application at the end of this
documentation and send to:
Technica
Distribution Section
P.O. Box 4461
Foster City, CA 94404-4461
Upon receipt of the application, Technica will provide a quote for
the Distribution License fee.
INTRODUCTION 7
--------------------------------------------------------------------
PCZAP is a DOS utility for making changes to programs or data files.
These changes are known as patches. Programs may require patches in
order to add a new function or repair a bug. Data files may need to
be patched as a result of incorrect user input, corruption by a
defective program or many other reasons.
Of course the entire program or data file can be replaced but in
many cases this is not desirable since the required changes are
relatively small and well defined. Replacing programs in order to
maintain them often involves unnecessary effort and expense both on
the part of the software manufacturer and the user. Manufacturers
ship disks which for the most part contain code that is unchanged
and users are required to re-install the entire package.
Replacement of corrupted data files requires the re-entry of all
user input either manually or by customized data recovery programs
and is errorprone, costly and time consuming.
PCZAP enables changes to be made to programs or data files without
replacement.
The concept of PCZAP comes from the mainframe environment where
programs are commonly maintained in this manner and standards are
well established for the distribution and application of program
changes.
The personal computer environment also needs such a standard and
PCZAP addresses that need.
USING PCZAP 8
--------------------------------------------------------------------
PCZAP is started with the following command:
[d:][path]PCZAP [d:][path]filename[.ext]
[d:][path] before PCZAP to specify the drive and path that
contain the PCZAP program.
[d:] to specify the drive that contains the file to be patched.
[path]filename[.ext] to specify the name of the file to be
patched.
Filename[.ext] must not be a read-only file. Use the DOS ATTRIB
command to remove the read-only attribute if necessary.
PCZAP will present a prompt of "-" and is ready to accept commands.
Refer to the COMMANDS section of this manual for a description
of each command.
PCZAP input and output can be redirected using the standard DOS
redirection facility. Refer to your DOS manual for information
on redirection.
It is suggested that a copy of a file to be patched is made and the
changes are applied to the copy. The patched file can then be
renamed to the original after all changes have been successfully
made. If an error occurs, then the original is unchanged and a new
copy can be used to reapply the patch.
PCZAP requires DOS version 2.00 or later.
PCZAP requires less than 6K of memory and returns all unused
memory to DOS.
BATCH FILE PROCESSING 9
--------------------------------------------------------------------
PCZAP has been designed to apply patches via the DOS batch file
processing facility as well as interactively. PCZAP input can be
redirected so that PCZAP commands can be entered in an ASCII file
and this file used as input to PCZAP. The output can also be
redirected so that a record is maintained of the changes made.
The ERRORLEVEL can be interrogated to determine if a file contains
expected data and subsequent processing then determined.
For example:
The file to be updated (FILENAME.EXT) contains the character
string ' VERSION 1.00':
202020202020202056455253494F4E20312E3030
The input file (INFILE) contains:
V 0000:0008 56455253494F4E20312E3030 Verify VERSION 1.00
Q Quit
The patch file (PATCH) contains:
R 0000:0010 32 Change 1 to 2
Q Quit
The batch file to invoke PCZAP contains:
PCZAP FILENAME.EXT
IF ERRORLEVEL 1 GOTO EXIT
PCZAP FILENAME.EXT
:EXIT
This example will check if FILENAME.EXT contains the character
string 'VERSION 1.00' starting at offset 0000:0008. If it does then
the patch will be applied. If it does not then no update of the
file occurs.
The above example is only meant to show how the batch facility can
be used to verify and selectively update files. The same result
could have been achieved by using only one input file with the
following commands:
; Change VERSION 1.00 to 2.00 Comment
V 0000:0008 56455253494F4E20312E3030 Verify VERSION 1.00
R 0000:0010 32 Change 1 to 2
E Enable REPLACE
... Other PCZAP commands
Q Quit
If FILENAME.EXT contains 'VERSION 1.00' then the 1 is changed to 2.
If the file contains something else then the replace function is
disabled and no update occurs. The E command re-enables the REPLACE
function for subsequent PCZAP commands.
SOFTWARE PATCHES 10
--------------------------------------------------------------------
If proprietary programs and files are maintained by replacement of
the entire program or software package then this necessitates that
the distribution be strictly controlled by the manufacturer or
author to prevent unauthorized use. Using PCZAP and patches to
update existing programs and files removes this constraint. Patches
can be widely distributed through bulletin boards because a patch
by itself without the code or file for which it is intended is
meaningless.
Patches contain only the information required to update a program or
data file. This consists of the data that is to be written to the
file and the offsets at which the changes are to be made.
Technica maintains a bulletin board that distributes software
patches to registered users. This bulletin board contains ONLY
patches released by the software developer, manufacturer or other
authorized source and are intended only for the registered users
of those products.
If you are a software developer or manufacturer and would like more
information about developing software maintenance standards, patches
or the bulletin board, please write to:
Technica
P.O. Box 4461
Foster City, CA 94404-4461
or contact Technica via CompuServe: 71660,1641.
COMMANDS 11
--------------------------------------------------------------------
All commands can be entered in any combination of upper and lower
case.
Command parameters are checked for validity and no processing
occurs if an error is encountered.
Comments can be entered on any command line following the last
command parameter and are delimited by at least one blank from the
last parameter.
An entire line can be designated as a comment by entering an
semicolon as the first nonblank character of the command line.
Control break may be pressed at any time. Any commands that have
been executed up to that point are complete and changes may have
been made to the file.
Pressing F3 will redisplay the last command entered.
ENABLE COMMAND 12
--------------------------------------------------------------------
Purpose: Enable the REPLACE command.
Format: E
Remarks: If during the execution of a VERIFY command the data
specified for verification does not match what is in
the file then the REPLACE command is disabled.
The ENABLE command re-enables the REPLACE command.
HELP COMMAND 13
--------------------------------------------------------------------
Purpose: Display a summary of PCZAP commands.
Format: H
Remarks: The HELP information is also displayed if PCZAP is started
without a filename parameter and shows the correct format
of the command to start PCZAP.
REPLACE COMMAND 14
--------------------------------------------------------------------
Purpose: Replace data in a file.
Format: R [000]0:0[000] data... [comment]
Remarks: The REPLACE command changes the data in a file starting at
the specified offset.
[000]0:0[000] hexadecimal offset from the start of the file
from which data is to be replaced.
The offset must be separated by at least one blank from the
command. Offsets are specified with a minimum of one and
up to four characters on either side of the colon. The
colon delimiter is required.
data... hexadecimal data to be written to the file starting
at the given offset.
The data must be separated by at least one blank from the
offset and must not contain any imbedded blanks. The
number of bytes replaced is determined by the length of the
data specification where each 2 hexadecimal data characters
represent one byte in the file. File updates are on a byte
boundary so the data specification must be given in
complete bytes.
If a previous VERIFY command has disabled REPLACE then no
update of the file will occur. Execute the ENABLE command
to re-enable REPLACE processing.
Comments may be entered following the data specification
and must be delimited from the data specification by at
least one blank.
VERIFY COMMAND 15
--------------------------------------------------------------------
Purpose: Verify that a file contains the specified data.
Format: V [000]0:0[000] data... [comment]
Remarks: The VERIFY command compares the file data starting at the
specified offset with the data specification. If the
file data does not match the file specification then the
REPLACE command is disabled and the data as it exists in
the file is displayed.
[000]0:0[000] hexadecimal offset from the start of the file
from which data is to be compared.
The offset must be separated by at least one blank from the
command. Offsets are specified with a minimum of one and
up to four characters on either side of the colon. The
colon delimiter is required.
data... hexadecimal data to be compared with the file
starting at the given offset.
The data must be separated by at least one blank from the
offset and must not contain any imbedded blanks. The
number of bytes compared is determined by the length of the
data specification where each 2 hexadecimal data characters
represent one byte in the file. Comparisons are on a byte
boundary so the data specification must be given in
complete bytes.
Comments may be entered following the data specification
and must be delimited from the data specification by at
least one blank.
QUIT COMMAND 16
--------------------------------------------------------------------
Purpose: End PCZAP.
Format: Q
Remarks: The QUIT command ends PCZAP execution and returns to DOS.
PCZAP sets ERRORLEVEL upon termination as follows:
0: Normal completion with REPLACE enabled.
1: Normal completion with REPLACE disabled.
2: Abnormal completion.
These codes can be used with the batch IF ERRORLEVEL
command to control subsequent processing.
MESSAGES & RETURN CODES 17
--------------------------------------------------------------------
DOS 2.00+ required
PCZAP was started from a DOS version earlier than 2.00.
DOS 2.00 or greater is required to use PCZAP.
Data comparison equal
The file data and the specified data are the same.
Data comparison not equal
The file data and the specified data are not the same.
Data replaced
The REPLACE command has successfully updated the file.
ERROR: INT24H stop
An error has occurred which was processed by interrupt 24H, the
DOS critical error handler. The most common cause of this is
that the drive containing the file to be updated is not ready.
Reinsert the diskette and restart PCZAP.
ERROR: end of file
An offset has been specified that is past the end of the file or
the data specification exceeds the number of bytes remaining
from the specified offset to the end of the file.
ERROR: invalid command
A character has been entered that is not a valid PCZAP command.
ERROR: invalid data
The data specification contains an invalid hexadecimal character
or does not end on a byte boundary. The data specification must
always have an even number of characters.
ERROR: invalid offset
The offset specification contains an invalid hexadecimal
character or the delimiter between the offset and data is
missing.
ERROR: no filename specified
No filename was specified when PCZAP was started.
Restart PCZAP and specify the name of the file to be patched.
PCZAP internal error: RCTABLE size exceeded
An internal error has occurred in PCZAP. Please contact
Technica if this message occurs.
MESSAGES & RETURN CODES 18
--------------------------------------------------------------------
Replace function disabled
The REPLACE function has been disabled because VERIFY found that
the data specification does not match the contents of the file.
Replace function enabled
The REPLACE function has been re-enabled.
SYSTEM ERROR return code: 00H
00H DOS return code
An error has occurred that prevents PCZAP from continuing.
PCZAP displays the DOS error return code and DOS error message
associated with the return code. Refer to your DOS manual or
the DOS Technical Reference for an explanation of the DOS
message and return code. Some errors will also return the path
and name of the file.
DISTRIBUTION LICENSE APPLICATION PCZAP Version 1.00 19
--------------------------------------------------------------------
Date: ____/____/____
Name: ________________________________________
Company Name: ________________________________________
Department: ________________________________________
Type of business: ________________________________________
Address: ________________________________________
City: ____________________ State: ____ Zipcode: __________
Telephone: (______) _________________ Ext: _______
Please provide the following information:
1. In what quantity do you estimate distributing PCZAP?
_________ copies per ____ year or ____ one time (check one only).
2. Describe the software package(s) that you intend to distribute
PCZAP with and the intended use of PCZAP as distributed with
your software. Include the price of your software and any other
relevant information.
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
________________________________________________________________
Signature: _________________________
REGISTRATION FORM PCZAP Version 1.00 20
--------------------------------------------------------------------
Registration fees: Single user ............ $ 20.00
Commercial Site License
BBS
Computers signons
1 ............ $ 20.00 1
2 to 10 ............ $ 19.00 each 1
11 to 20 ............ $ 18.00 each 2
21 to 50 ............ $ 17.00 each 5
51 to 100 ............ $ 16.00 each 10
101 or more ............ $ 15.00 each 10
Unlimited ............ $1800.00 flat fee 20
Date: ____/____/____
Name: ________________________________________
Company Name: ________________________________________
Department: ________________________________________
Type of business: ________________________________________
Address: ________________________________________
City: ____________________ State: ____ Zipcode: __________
Telephone: (______) _________________ Ext: _______
Registration type (check only one): Registration fee
____ Single user: ............................. $ ________.00
____ Commercial Site License:
Number of computers: ________ X fee ...... $ ________.00
____ Unlimited Commercial Site License: ....... $ ________.00
California residents add 7.5% sales tax .......... $ ________.
Foreign orders add $8.00 shipping & handling ..... $ ________.00
TOTAL ENCLOSED: .................................. $ ________.
TERMS: No credit cards, CODs or cash.
Checks drawn on a U.S. bank in U.S. funds.
International bank or postal money orders in U.S. funds.
Purchase orders accepted from recognized corporations.
All foreign orders except for Canada must be prepaid.
Signature: _________________________
THANK YOU FOR YOUR SUPPORT.
January 8, 2018
Add comments