Unpacking ZPart on @Macarlo' s Warp 3.0
ZPart Updated
PARTITION AND DISK
COMPRESSION UTILITY
Russian programmer Konstantin Yurievich Boyandin updates ZPart and you can download it (zprt111.zip, 206 KB) from BMT Micro, world' s largest OS/2 programs reseller. ZPart is a command line utility capable of storing and loading HDD and HDD partitions to and from a compressed image file. ZPart also allows migrating partitions to hard disks of different geometries. ZPart is shareware and registration costs $40.00.

File ZPRT111.EXE is a self-extracting archive with authenticity check;
if you are afraid of running this executable, you can decompress it using
RAR 2.02+ archiver (available from all popular DOS-related FTP sites). The
following files are inside the SFX:

ZPart.exe ZPart executable
Zero.zip ZeroDrv, ZeroDisk executables and sources
Zpartman.zip ZPart manuals (Text and HTML form)
Zprt850.msg Message resource file for codepage 850 (English)
Zprt866.msg Message resource file for codepage 866 (Russian)
Register.bmt Order form to register ZPart

If SFX fails authenticity verification, do NOT use any executables
inside, inform FTP sites administrator (if you downloaded tampered-with
archive from a FTP site) and the author; find the authentic archive.



ZPart in action


Visit the ZPart page to learn where ZPart may be available from.

To stimulate the author to add the following possible features:
- improved (up to 2-3 times, as experiments show) compression rate
- multivolume archives
- saving/restoring extended partition chain elements
- anything you can propose
there should be some donations. Again, visit the ZPart home pages at

http://www.cnit.nsu.ru/~mbo/zpart_w.htm (Russian)
http://www.geocities.com/SiliconValley/Haven/3190/zpart_e.htm (English)

to follow the news.

Please send your comments, bug reports etc. There WILL be answers and
advice, whenever possible.
 

Preamble

Part 1: formal

I. Konstantin Yurievich Boyandin (hereinafter author) offers you the piece of software
ZPart, along with additional documentation, auxiliar executable modules and resource files
(all of that hereinafter - ZPart), belonging to the domain of freely available software
(freeware).

II. You, the user of ZPart, are granted the right to

make use of ZPart on arbitrary number of computers simultaneously given you do not
change executable modules supplied in distribution archives for which no sources are
provided (namely, zpart.exe) as well as documentation files (which will be provided
in separate archive zpartman.zip
distribute ZPart without any limitations, given it is re-distributed in original distribution
archive. Re-distributed archive must be an exact binary copy of one of distribution
archives available from the Download section.

III. You, the user of ZPart are forbidden to

distribute ZPart on commercial basis (i.e., get paid for it). The only exclusion is this:
you only may be paid for the media on which ZPart is transferred.
disassemble, apply reverse code programming or otherwise derive the source code,
partially or in whole, of executable modules for which no source code was provided
in distribution archive (namely, zpart.exe
make use of ZPart as a part of a software package, training course etc. which is
assumed to bring profit to its owner(s).
perform other actions which would violate, to any extent, the copyright of the author
of ZPart, as defined in corresponding legal sources.

IV. Since ZPart is offered to you for free, you are using this product on your own risk only.
All warranties are explicitly disclaimed. The author is not liable for any damage, data loss
and other types of harmful consequences, related directly or indirectly to the usage of ZPart,
even if the author has been warned of possibility of such consequences.

V. The author distributes ZPart on the so called worthware (or "optional shareware") basis.
This means "donate only if you find this useful". If ZPart was of use to you, and if you are
interested to receive new versions of ZPart (with new features, for other platforms etc)
please consider donating to the ZPart cause. Otherwise, the author does not guarantee that

the author will be possible to consult you on the problems related to ZPart usage
there will be ever new versions of this product
any bugs and defects of ZPart implementation will be fixed quickly
other software by the author will also be available for free

Comment: the worthware approach - "donate only if you find it useful" does differ from the
shareware approach - "try and either pay or stop using". Nothing forces you to pay -
however, you should consider donating to the worthware cause.

Part 2: informal

After you have read the Part 1 of this Preamble, the author offers you to read a License
agreement on any commercial products you are using.

Now try to answer two following questions:

could you outline the fundamental difference between degrees of responsibility,
offered by commercial and non-commercial software developers?
is it worth to continue paying the commercial software developers for the products not
supported by them in any way?

The author, however, does not proclaim that it is normal to use pirated versions of the
commercial software. AFter all, some of these pieces of software are at times of relatively
good quality.

Instead, the author offers you to make extensive use of non-commercial software, especially
when there is choice of what to use. The life proves that non-commercial substitutes are
better supported, less complex and resource-eating and so on.

If you do not suppose the current state of matters on software market is normal, there's still
time to change the situation.

FAQ: frequently asked questions

Question: Could I compress a floppy disk (CD,..) with ZPart? (CD,..)?
Answer: No. ZPart can only be used to compress hard disk drives and its partitions.

Question: Why there is only DOS version of ZPart?
Answer: There are several reasons:

DOS is the only operating system which can be placed on a single floppy disk, so that
there is still a lot of space to place additional programs
DOS (especially not MS-DOS) is simple, to a certain extent reliable OS, which does
not hinder you from accessing peripheral devices (which is possible with minimal
overhead)
DOS provides a single thread of execution, which simplifies the development of
software of this type
 

Question: How well and how quickly does ZPart compress partitions?
Answer: There cannot be a simple and correct answer to this question. Since there are no
well-known tests to try ZPart on, I will give some examples from my own experience (to
give some impression):

250 Mb partition, with Windows95 installed (and most of the popular software located
on file server) is compressed to 20-60 Mb, depending on what has been installed. On
5x86 133 MHz IDE HDD PIO 4 computer it takes 25 to 40 minutes to compress the
partition and not less than 4 minutes to decompress (comrpessed image available from
IBM LAN server network)
80 Mb DOS partition is compressed to 12-40Mb image (with 25 Mb space left
unused); the compression lasts for 8 to 25 minutes, decompression 90 seconds
minimum

Now try yourself to create your own impression.

Question: Can I compress formatted for such-and-such operating system with ZPart? Will
long filenames etc. remain intact after the partition is compressed?
Answer: Of course. ZPart does not care what is on the partition - it's just a stream of data
which is necessary to compress. The only problem you should always be aware of is how to
fill the unused space on partition with zeroes - to improve the compression rate and reduce
compression time.

Question: Which compression algorithm does ZPart use?
Answer: ZPart up to version 1.10 is based upon freely available Zlib library. All the
partitions images created by ZPart (note: MBR images are not compressed at all) are
compatible with gzip compresion format.

Question: ZPart aborts with such-and-such diagnostic message. What should I do?
Answer:First of all, make sure that

You are using original, undamaged, authentic version of ZPart
You are running ZPart under "pure DOS", without disk cache, HDD access monitors,
with multitasking and disk swap disabled. The Author recommends to boot from
"minimal" DOS floppy disk. Thus far there was no obvious incompatibilities with
network access software (tested on Netware and LAN server networks).
You are not trying to create a compressed partition image on the same partition
You are not running ZPart from under DOS session (box, emulation window,..) of
such operating systems as OS/2, Linux, Windows 3.1/95/NT/98.
You have enough disk space to hold the compression image. The only possible way in
the worst case (which has been never reported) is to have free space equal to the size
of the partition being compressed.
The situation is reproducable each time you try
 

Now, if you are sure that the inadequate ZPart behaviour is the fault of ZPart itself, perform
the following steps:

write down the hardware configuration of the computer on which ZPart fails to run
write down the output of the following command:

zpart -di -v

(literally, if possible)
try to run ZPart again, with -v (verbosely) parameter added. Write down everything
ZPart reports.
 

Now send an e-mail to the Author containing everything you've written down in the steps
above and wait, in the hope that the Author knows what to do.

Question: After the system (bootable) partition has been transferred to another type of hard
disk, it stopped being bootable. Why?
Answer: Make sure that aftre you have issued the command to transfer the partition, say

zpart -lp 1 mypart.dat -uh newhdr.dat

you haven't forgotten to "touch" - correct - the boot sector of the newly transferred partition,
with command like

zpart -tbs 1

(assuming that the partition record in the MBR was number 1 - number 0 is the first).

If the "touching" does not work, add -v parameter and write down everything ZPart reports.
Mail the Author the output, as long as detailed description of the both source and target
systems for which the transfer has failed. Note: the Author could not experiment with all
types of bootable partitions, so such failures are quite possible. The author tried only
FAT-type partitions (although other people tried other types, without failure reports).

If everything fails, help me to discover the bootable partition layout in order to "teach" ZPart
to recognize it.

Question: What are the limitations of ZPart?
Answer: It's helpful to know that Zpart

has been tested (by the Author and his colleagues) on IDE types of HDDs, less than 2
Gb in capacity. However, there are reports that compressing larger disks is OK as well
cannot save or load separate partitions within extended partition's chain - however, the
whole extended partition can be saved or loaded
cannot transfer extended partitions on HDD of another geometry
cannot create multivolume image files (see below)
cannot handle disk failures - the HDD must be flawless
 

Question: I know there's a lot of free space on a partition. However, ZPart works long and
compresses it poorly. What's the matter?
Answer: To compress a relatively "empty" partition well, it's not enough to have a lot of
free space only. The unused space is most probably filled with erased files' contents - and,
consequently, can be quite hard to compress well. To enhance speed and compression ratio,
you should fill the unused partition's space with repetitive pattern (say, zero bytes).
Moreover, there's a useful operation called disk defragmentation (especially useful on
FAT-type partitions), which, in turn, should be performed before you fill the unused space,
so that the unused space was held in one or more of relatively large disk segments.

To sum up, here's the recommended sequence of actions to create a partition's image:

defragment the disk (for example, with Defrag, DiskOpt and similar programs)
after boot-up from "pure" DOS floppy disk, fill up the unused disk space with
programs like ZeroDrv , ZeroDisk (included into distribution archive). Note: if the
image type is not DOS-compatible, you should look for the relevant utility, given it
exists.
immediately, before any other actions, run ZPart to create a compressed image

To compress the whole disk well and quickly, you should make sure all partitions are
defragmented and all the unused space is zeroed. If there is space unused by partitions, you
can follow this sequence:

create a new partition (with program such as FDisk), giving it all the unused space (if
possible, make it FAT-type)
reboot the computer and format the newly created partition (this operation, if applied
to FAT partitions, cleans up the disk space).
zero disk with ZeroDrv etc.
remove the temporary partition and run ZPart to compress the disk

More details can be obtained from the relevant manuals and reference materials.

History of changes

Version 0.99 (21-st of August, 1997)

the first public release
saveing/loading partitions and MBR implemented
few or no validations of MBR and/or partition image

Version 0.99a (30-th of August, 1997)

"short" command synonyms added (in the Authors's opinion, the possible source of
fatal typos)
compression quality parameter added
almost all partition types are displayed, as reported in the Ralf Brown's Interrupts list
release 54
extended partitions chain can be displayed
duvide by zero error fixed when compressing small partition (such as OS/2 Boot
Manager)
bug fixed when the partition was restored on different geometry, even if warning was
displayed

Version 1.00 (15-th of September, 1997)

"-useheader" modifier added
"-fitpartition" command added

Version 1.00a (15-th of October, 1997)

"-verbose" modifier added
"-updatembr" modifier added
"-imitate" modifier added
"-bioschecksonly" modifier added
"-touchbootsector" command added

Version 1.00b (25-th of November, 1997)

several minor flaws, as well as mysterious "error reading partition" bug fixed

Version 1.10 beta (20-th of January, 1998)

external message file feature: now one can "translate" ZPart to any language using
8-bit character set
"-savedisk" and "-loaddisk" commands added

Version 1.10 (25-th of June, 1998)

error 0x80 - timeout reading large (more than 2 Gb) partitions fixed (I hope, since
there's no chance to test it here)
several minor code improvements

Version 1.11 (12-th of July, 1998)

user manuals, in Russian and English included, both in plain text and HTML format
external messages resource file in Russian included
minor code changes

User manual

1. Hardware and software requirements

ZPart up to version 1.10 is a 32-bit DOS extender program, based upon PMODE/W DOS
extender . Here are minimal hardware requirements to run ZPart:

80386 CPU or compatible
2 Mb of RAM available

ZPart will work under any operating environment compatible with DOS 5.00.

Note: since ZPart uses low-level (BIOS) calls to access hard disks, the following operating
environment components are highly undesirable:

software disk cache (HyperDisk, SmartDrive,..)
software HDD monitor or lock (including anti-virus "shields"
multitasking or disk swap to the partition being compressed

The ideal environment is to boot with "pure" DOS bootable floppy disk. If you don't know
how to create such disks, please refer to the relevant sources of knowledge.

While using networks (Netware and IBM LAN Server network), there were no obvious
incompatibilities between ZPart and network service software detected. By the way,
network (redirected) drives are the best place to save to/load from compressed images (and,
probably, ZPart itself).

2. Command-line syntax

ZPart the following general command-line parameters format:

ZPart [command [modifier [modifier]*] ]

i.e., one command and one or more modifiers. The order is of no importance. If no
parameters are present, or wrong (malformed or illegal) parameters are found, ZPart prints
concise help message.

Both commands and modifiers can have long and short versions; they are separated with
vertical line when referred to below.

The full list of allowed commands is:

(-diskinfo | -di) report hard disk drive(s) parameters
(-loadmbr | -lmbr) file load MBR from a file
(-savembr | -smbr) file save MBR to a file
(-loadpartition | -lp) number file load partition image from a file
(-savepartition | -sp) number file save partition compressed image to a file
(-loaddisk | -ld) file load the whole drive contents from a file
(-savedisk | -sd) file save the whole drive contents to a file
(-fitpartition | -fp) number file create partition header in a separate file,
to use afterwards (see also below)
(-touchbootsector | -tbs) number modify boot sector of the selected partition
to make it bootable (after it has been
transferred from different geometry)

The full list of allowed modifiers is:

(-imitate | -i) imitate data writing (to file or to disk)
(no imitation by default)
(-verbose | -v) give more details on what is going on
(as taciturn as possible by default)
(-updatembr | -umbr) force updating MBR if partition record differs
from those found in MBR
(refuse to perform the command by default)
(-bioschecksonly | -bco) do not check the partition record parameters,
let BIOS to complain if necessary
(allow validation by default)
(-drive | -d) number use this drive number (the first drive is number 0)
(use drive number 0 by default, the first HDD)
(-compression | -c) rate choose the compression rate (from 0 - none - to 9)
(rate 9 is used by default, the best and slowest)
(-useheader | -uh) file use this partition external partition header
(no value by default, see below)

Not all modifiers make sense when applied to a given command.

2.1. Detailed commands description

2.1.1. -diskinfo

-diskinfo or -di
--------- ---

This command displays information on geometry and partitioning of the HDDs available.
The output may look like this:

HDD 0: 620 cyl, 64 heads, 63 sectors per track (1220 Mb)
Drive 0 partition table:
0: 200 Mb ( 411201 sectors) DOS FAT16 large hidden (OS/2 BM)
1: 817 Mb ( 1673280 sectors) *** Extended ***
00: 817 Mb ( 1673217 sectors) HPFS
2: 200 Mb ( 411264 sectors) HPFS
3: Boot 1 Mb ( 4032 sectors) OS/2 Boot Manager
HDD 1: 619 cyl, 64 heads, 63 sectors per track (1218 Mb)
Drive 1 partition table:
0: 1218 Mb ( 2495745 sectors) DOS FAT16 large
1: <unused>
2: <unused>
3: <unused>

The output is rather obvious and straightforward. If you need more comments, please refer
to relevant sources of knowledge (on HDDs and BIOS).

Note: ZPart displays the type of partition based on MBR (Master Boot Record - the very
first sector of a HDD, which is loaded in the memory and executed as part of computer boot
sequence) partition record. Since, as usually, many developers are not too friendly and often
choose already assigned partition codes, this information is not necessarily correct.

2.1.2. -loadmbr

-loadmbr file or -lmbr file
------------- ----------

This command allows to load MBR from a file (512 bytes long), where it has been stored as
is, without any comrpession or encryption.

ATTENTION! This command can make your information irreversibly lost! Please think
several times before you issue this command, especially if you haven't saved MBR contents
prior to this command!

Note: after the MBR has been replaced, it's necessary to reboot computer so the changes
worked. Hence, until you reboot your system, there's always a chance to restore MBR (if
you have saved it, of course).

2.1.3. -savembr

-savembr file ¿½¿ -smbr file
------------- ----------

This commands allows to save MBR contents in a file (512 bytes long), without compression
or encryption.

Tip: you can "hide" a partition by saving MBR, erasing partition record in a saved MBR
image and reloading MBR. However, make sure that "hidden" space was not used by other
partitions.

2.1.4. -loadpartition

-loadpartition number file or -lp number file
-------------------------- ---------------

ATTENTION! This command can make your information irreversibly lost! Unlike loading
wrong MBR, the contents of the whole space the partition occupied are overwritten!

This command restores the saved partition image from a file (which can be located, for
example, on a network drive).

Number is a number from 0 to 3, indicating the partition record number in MBR which
defines the partition. Look -diskinfo command description above.

File is a file name of the partition image.

The following details should be kept in mind:

if the -useheader modifier was used with this command, the -updatembr modifier is
assumed. The partition record data are taken from external header file passed as
argument to -useheader modifier and the corresponding MBR record is overridden.
if the partition record stored in partition image file differs from that found in MBR, the
operation fails, unless the -updatembr modifier is used. In the last case, the MBR
record is overriden and overwritten.
the gzip format can assume some damaged partition images as plain data stream,
without complaining. So, in the very unlikely case data can be destroyed. If theere is
a chance the partition image could be damaged, use -imitate modifier to test it first.
if the partition image file was damaged, ZPart will terminate with relevant diagnostics.
Mind that partition is most probably unusable and should be either deleted or replaced
with valid partition image.
under no circumstances one should load partition image of the partition if the
image file is located on the same partition being replaced. The consequences cannot
be predicted.

After this comamnd is completed, the computer must be rebooted before the changes take
effect. Do not evem try to work with the partition that has just been replaced, without
rebooting first.

2.1.5. -savepartition

-savepartition number file or -sp number file
-------------------------- ---------------

This command compressed the partition data and stores them in a file. See the description of
-loadpartition command for the arguments meaning.

The following should be kept in mind:

under no circumstances one should try to create a partition image on the same
partition. The consequences cannot be predicted.
it's good idea to defragment the partition and zero unused space, as is advised in the
FAQ section.
make sure no other process addresses the partition being compressed, as is advised in
the FAQ section.

2.1.6. -loaddisk

-loaddisk file or -ld file
-------------- --------

ATTENTION! This command can destroy the contents of the whole hard disk drive!
Use with extreme care!

This command loads the contents of the whole disk from previously stored disk image file.
See desccriptions of -loadpartition command for useful notes.

2.1.7. -savedisk

-savedisk file or -sd file
-------------- --------

This command compresses and stores the whole hard disk drive (specified, if necessary,
with -drive modifier) contents in a file.

Read the FAQ section to learn how to enhance compression ratio and speed.

2.1.8. -fitpartition

-fitpartition file or -fp file
------------------ --------

Note: if no valid -useheader modifier was supplied, this operation will fail (no data
corruption, though).

This command scans the MBR records and tries to find room enough to place the selected
partition image file. The resulting partition header is created, if the operation succeeds, and
written to a header file, which allows one to use the -fitpartition command.

If there's no room to fit the partition, ZPart will terminate and explain the reason of failure.

Note: this command can be used to "move higher" or "move lower" the partition on the same
hard disk drive.

The partition image file is not changed by this command.

2.1.9. -touchbootsector

-touchbootsector number or -tbs number
----------------------- -----------

After the partition has been moved to different geometry, some boot records in its boot
sector can become invalid. If the partition was bootable, this should be corrected.

This command tries to make the minimal necessary changes so the partition become
bootable again.

So, the sequence of commands to transfer a bootable partition can look like

zpart -loadpartition 2 alien.par -useheader newplace.dat
zpart -tbs 2

Note: this "correcting" operation has been tested only on FAT-type partitions. If you fail to
make your bootable partition become bootable after transfer, please contact the Author.
There's a chance the solution can be found and implemented.

2.2. Detailed modifiers description

2.2.1. -imitate

-imitate or -i
-------- --

This modifier allows to imitate the writing of data (to file or to disk). In other words, it can be
used to test the partition image or disk surface.

No imitation is assumed by default.

2.2.2. -verbose

-verbose or -v
-------- --

This modifier can be used to obtain more information on what ZPart is doing. Useful when
investigating a problem, or if one is just curious.

By default ZPart reports as little as possible.

2.2.3. -updatembr

-updatembr or -umbr
---------- -----

If you load a partition, its MBR record should exatcly match the one stored in image file.

So, if you wish to replace unconditionally the partition, this modifier should be used.

Note: when external header is used with -useheader modifier, this modifier is also assumed.

2.2.4. -bioschecksonly

-bioschecksonly or -bco
--------------- ----

Before ths disk manipulation starts, ZPart verifies MBR, partition image and so on, to reduce
the possibility of fatal data loss.

In some cases (reported for some outdated or not-so-standard BIOSes) these checks can lead to a failure. Several times it was reported that ZPart created perfectly normal partition image files, but was also complaining about strange HDD behaviour.

This modifier can in some cases bypass the problem.

Note: neither the Author, nor his colleagues have ever noticed the mentioned BIOS
malfunctioning.

2.2.5. -drive

-drive number or -d number
------------- ---------

By default ZPart works with the first HDD in the system, namely drive 0 (or "drive C" - do
not mix with "drive C:").

To apply the operation to other HDDs (if present), one can use this modifier. The second
drive in the system is drive 1 and so on.

2.2.6. -compression

-compression rate or -c rate
----------------- -------

This implementation of compression algorithm ZPart uses up to version 1.10, allows to
control the efficiency of compression and speed.

Rate 0 means no compression at all. Rate 9 (default) is the best, but somewhat slow
compression.

2.2.7. -useheader

-useheader file or -uh file
--------------- --------

This modifier refers to a file, which either contains or will contain partition record data (16
bytes long).

The modifier makes sense only when used with -loadpartition or -fitpartition commands.

3. Example of usage

To save the whole drive number 1 (the second HDD) to the file disk_d.dat:

zpart -sd disk_d.dat -drive 1

Load (transfer) a bootable partition as partition number 2 (third in MBR) from an image file
q:\partdata\my_sys.par and external header file q:\headdata\head_new.dat:

zpart -lp 2 q:\partdata\my_sys.par -uh q:\headdata\head_new.par
zpart -tbs 2

To check whether the partition 3 (fourth in the MBR) of drive 0 can be compressed:

zpart -i -sp 3 dummy.dat

(note: file dummy.dat is created and erased, even if existed!)

4. Common pitfalls

Please read the FAQ section, to know of the most common pitfalls related to usage of ZPart.

5. Additional programs

Two additional programs, along with their sources, are distributed with ZPart 1.10 - to zero
unused disk space on DOS-compatible partitions. The programs are ZeroDrv and ZeroDisk.
The latter is also compiled for OS/2 (zero2.exe).

ZeroDrv command-line synatx is

zerodrv drive_letter

So, to wipe the unused disk space on drive D:, issue a command

zerodrv d

ZeroDisk command-line syntax is

ZeroDisk directory [directory]*

where directory is a directory name where temporary files will be created.

Both programs cannot wipe more than 2 Gb of space - but with sources supplied, one can
easily modify them to overcome this restriction.

Of course, one can also use other, more powerful tools if necessary.

6. External message resource

Starting from version 1.10 beta, ZPart is capable to replace all (but the copyright notice)
message it can produce.

The external message resource must be located in exactly the same directory where the
ZPart executable is located and should differ by extension - .msg. E.g., if the executable is
named zpart110.exe, the message resource mus be named zpart110.msg so that ZPart could
find and interpret it.

If no message resource file is found, default (English) set of messages is applied (built in
executable body).

The prorotype of message resource file (actually, the resource for codepage 850, English) is
supplied in the distribution archive and is named zprt850.msg. The Russian (code page
866) prototype is, respectively, named zprt866.msg.

The ZPart assumes the following guidelines when interpreting external messages resource:

everything after the '#' character up to the end of line is considered a comment and
ignored
the first data should be code page number which is assumed by the message resource
(positive integer value)
the rest of the file consists of pairs "number" "message", where number is a message
number (positive integer value) and message line body enclosed in double quotes. To
split a message into several lines, place the parts of it immediately one after another.
Message numbers must be the same in case of multiline message.
message numbers may not decrease from line to line
escape sequences '\n', '\t', '\r', '\f' can be used to introduce the corresponding
characters (refer to C language manuals for the meaning of these sequences); use '\\'
to insert the backslash.
do not create new message numbers (considered an error).
do not remove, move or modify the C format sequences (starting with '%'), this can
result in ZPart misbehaviour.

The overhead of this feature is the amount of RAM of the size equal to the external
messages resource file. No other types of overhead.

If you create an external messages resource file, not included into distribution Zpart archive,
you can send it to the Author to make it widely available. However, you must provide valid
contact information (both in e-letter to the Author and the message resource). Otherwise, this
add-on will be rejected.

Developer's comments

1. Partition images layout

The compressed images are in gzip format. After they have been decompressed, the
following data layout is assumed:

Hard disk partition image layout
--------------------------------

Start Length Meaning
----- ------ -------
00h 1 (byte) maximal possible number of HDD head
01h 1 (byte) maximal possible sector number
02h 2 (word) maximal possible cylinder number
04h 16 partition record number (in MBR) - see related
references for exact layout
14h ??? partition data

Hard disk image layout
----------------------

Start Length Meaning
----- ------ -------
00h 4 (prefix) 0xFFFFFFFF, magic number
04h 4 (type) 0x6B736944 ('Disk'), magic value
08h 1 (byte) maximal possible HDD head number
09h 1 (byte) maximal possible sector number
0Ah 2 (word) maximal possible cylinder number
0Ch ??? disk data

2. Further plans

It is quite unlikely that the Author will continue improving ZPart, unless he is financially
stimulated to do so. However, the hope is the base of all, so one could hope that the
following features might appear in the subsequent ZPart versions:

one or more of not implemented features mentioned in the FAQ section
better (and, probably, slower) compression algorithm

It is for you, the ZPart user, to decide, whether there will be better ZPart versions. If you
wish to wotk with reliable, better and cheaper (in financial sense) software, you should
consider donating to this cause.

However, even the kind word from you is a good reward. So, if ZPart was of use to you, say
at least thanks!

3. Acknowledgements

The Author of ZPart would like to express his sincere gratitude to

Dmitry Irtegov, whose RawZip program has inspired the Author to create ZPart
Mark Adler and Jean-loup Gailly, the authors of the brilliant tool, Zlib compression
library
Charles Scheffold and Thomas Pytel, the authros of PMODE/W DOS extender
All those who helped the Author much by testing ZPart, including the following
names: Vladimir Tupitsyn, Albert Crosby, Bill Moore, Claas Hilbrecht, Kring
Matthias, Mike Webb, Tony Younes

Register ZPart!

Registration fee is 40 USD.

Why to register?

Well, here are several arguments "pro" registering ZPart:

all who registers ZPart will be considered a registered users of all subsequent Author's
data compression utilities (one of those, which can be viewed as superset, or "senior
brother" of ZPart, will be released in autumn, 1998) and in which the capabilities of
ZPart will be available only to registered users
you will stimulate Author's research on data compression, with proper software
implementation for public use
you'll prevent several not-so-bad people from dying of starvation

To learn how to register ZPart, please refer to file "register.bmt" which comes with ZPart
archive, or download the file via the following link, if it's missing in your copy of the
archive:
register.bmt

You can also visit BMT Micro site and order ZPart on-line, via secure order form.

Or you can use ZPart registration form right now.

Please consider registering. Further bonuses will be offered to those having registered
ZPart.

Important note: registering means donating to the Author, not paying for ZPart, first of all.
Judging by what's being registered more frequently, the Author will spend more or less time
on certain projects and, subsequently, put more or less in public versions of his products.

Note: Russian customers should contact the author by email to settle the registering, if you
have problems doing it.
 

CONTACT AUTHOR

Konstantin Boyandin
Email addresses:
mbo@ccphys.nsu.ru
ralionmaster@geocities.com
Homepage URLs:
http://www.geocities.com/SiliconValley/Haven/3190
http://www.cnit.nsu.ru/~mbo
On all matters concerning ZPart please contact the Author at mbsoft@ccphys.nsu.ru.


@Macarlo, Inc.
@Macarlo's Shareware & Web
OS/2
Java Lobby Member
Java Site Accredited
[TOP] [HOME] [INDEX]