[comp.os.msdos.programmer] Executrix info wanted

a563@mindlink.UUCP (Dave Kirsch) (01/09/91)

> kgowen@cie.uoregon.edu writes:
> One last note, I would not recommend using one [LZEXE, PKLITE, etc] of these
> compressors if your program uses overlays.

Actually, you can use it if you are using Microsoft Link style overlays.  You
can't compress the overlays, but you can compress the root EXE code.  What's
involved is after you link your application with MS link using overlays, you
have to run a program to split the root code and the overlays into seperate
files, then run something like LZEXE on the root code, then glue all the
overlays back together.

You can find the specification of the format for Microsoft EXE format with the
glued overlays to it in The MS-DOS Encyclopedia.  It's a simple matter to write
a small program to rip apart the EXE containing overlays, LZEXE the root, and
then put it back together.

I do this on my projects that contain overlays without any problems, it might
even work on other overlay linkers such as Plink and RTlink, but I can't be
sure.

--
--
/// Dave 'Zoid' Kirsch UUCP: {uunet,ubc-cs}!van-bc!rsoft!mindlink!a563
Voice: (604) 585-8844        a563@mindlink.UUCP
                             Zoid@cc.sfu.ca
                       Vancouver, British Columbia
"In-no-sense?  Nonsense!" - The Art Of Noise.

swanger@ducvax.auburn.edu (01/09/91)

I recently received an ad from Knowledge Dynamics Corporation about a product
of theirs named Executrix.  The following is an excerpt from the ad:

Executrix supposedly compresses .EXE files into a format that typically takes
30% less disk space, but the file remains directly executable from DOS.  It
compresses your file and then prepends an 800 byte decompressor to the front of
the compressed data.  When you execute the program, the decompressor is
triggered and loaded into memory.  It then dynamically relocates into high
memory, loads, decompress, and executes your program.
.
. (the rest of the ad deleted)
.

Has anyone out there used this program?  I might have a use for it soon if I
knew it worked.  I called the company and they told me that the loading and
decompression was very fast and was usually faster than loading and running the
original, uncompressed program (I am a little skeptical).

I have written a program using Microsoft C 6.0 that compiles and links to an
.EXE file that is around 400k.  I want to be able to fit this program, in
runnable form, on a 360k floppy.  I've tried several different optimization
options on the compiler.  I've tried a few of the linker options that shrink
the .EXE file.  I've used EXEPACK on the .EXE file.  400k is about as small as
I can get it without (shudder) rewriting the source!  Before I do something
that crazy, I would like to investigate the Executrix option.  So if you have
used this program, please post to the net, or send me mail.  They want $69.95
for Executrix, so I want to be positive that it works.

Thanks for any help you can give.

-------------------------------------------------------------------------------
David Swanger                           | "I'm shuffling through the Texas Sand"
Auburn University                       | "But head's in Mississippi"
                                        | "The Blues has got a hold of me"
SWANGER@DUCVAX.AUBURN.EDU  <-- INTERNET | "I believe I'm getting dizzy"
SWANGER@AUDUCVAX           <-- BITNET   |
-------------------------------------------------------------------------------
 

valley@uchicago (Doug Dougherty) (01/10/91)

swanger@ducvax.auburn.edu writes:

>I recently received an ad from Knowledge Dynamics Corporation about a product
>of theirs named Executrix.  The following is an excerpt from the ad:

>Executrix supposedly compresses .EXE files into a format that typically takes
>30% less disk space, but the file remains directly executable from DOS.  It
>compresses your file and then prepends an 800 byte decompressor to the front of
>the compressed data.  When you execute the program, the decompressor is
>triggered and loaded into memory.  It then dynamically relocates into high
>memory, loads, decompress, and executes your program.
>.
>. (the rest of the ad/text deleted)
>.


Isn't this the same thing as PKLITE (shareware) and at least one other
(whose name escapes me) that is freeware?

Note: I've never any program like this.  Guess I never saw the need...
(I remember a discussion many years ago about wanting to get NETHACK to
fit on a 360K floppy [so that users with only a dual floppy could use it].
Same sort of problem...)

kgowen@cie.uoregon.edu (Kevin Gowen) (01/10/91)

In article <valley.663439441@gsbsun> valley@uchicago (Doug Dougherty) writes:
>swanger@ducvax.auburn.edu writes:
>
>>I recently received an ad from Knowledge Dynamics Corporation about a product
>>of theirs named Executrix.  The following is an excerpt from the ad:
>
>>Executrix supposedly compresses .EXE files into a format that typically takes
>>30% less disk space, but the file remains directly executable from DOS.  It
>>compresses your file and then prepends an 800 byte decompressor to the front of
>>the compressed data.  When you execute the program, the decompressor is
>>triggered and loaded into memory.  It then dynamically relocates into high
>>memory, loads, decompress, and executes your program.
>>.
>>. (the rest of the ad/text deleted)
>>.
>
>
>Isn't this the same thing as PKLITE (shareware) and at least one other
>(whose name escapes me) that is freeware?
>
>Note: I've never any program like this.  Guess I never saw the need...
>(I remember a discussion many years ago about wanting to get NETHACK to
>fit on a 360K floppy [so that users with only a dual floppy could use it].
>Same sort of problem...)


Executable compression programs seem to the latest ms-dos fad.  Last year, I
was introduced to the public domain LZEXE, and since then I have found out
about PKLITE, DIET (from Japan) and several others.  In fact, programmers
are even starting to write shell programs to handle them all.

I have used LZEXE on a commercial product I am developing and am most impressed
with the results.  It took an executable which I had written and optimized in
MSC 6.0 which was +- 147K in size and compacted it to +- 56K (!!)  And I can
tell *no* difference in the time it takes to load and execute (!!!!).  It
enabled me to fit everything onto one 360K floppy and thus meet my contract
specifications.

This is the extent of my experience with executable compressors.  Perhaps there
are others with more extensive war stories...

One last note, I would not recommend using one of these compressors if your
program uses overlays.  

-kevin
kgowen@cie.uoregon.edu

mcastle@mcs213f.cs.umr.edu (Mike Castle (Nexus)) (01/10/91)

In article <1991Jan9.075800.1019@ducvax.auburn.edu> swanger@ducvax.auburn.edu writes:
>I recently received an ad from Knowledge Dynamics Corporation about a product
>of theirs named Executrix.  The following is an excerpt from the ad:
>
>Executrix supposedly compresses .EXE files into a format that typically takes
>30% less disk space, but the file remains directly executable from DOS.  It
>compresses your file and then prepends an 800 byte decompressor to the front of
>the compressed data.  When you execute the program, the decompressor is
>triggered and loaded into memory.  It then dynamically relocates into high
>memory, loads, decompress, and executes your program.

Executrix, PKLITE, and LZEXE will probably have problems with some .exe files.
I know that at least one word processor (Word Perfect I *think*) doesn't load
all of the exe file into memory at once.  Also, with Turbo Pascal 5.5, you can
concatenate the overlay files onto the end of the .exe file (makes for a big
.exe, but it's easier to keep track of one file than many).  I would expect them
to have problems with .exe files that are created this way.  

I seem to remember reading that certain viruses were having problems (a virus
with a bug is still an interesting concept :-) with the word processor as well.
From what I understand, the first 3 bytes or so of the .exe file tells DOS
how many bytes of the .exe file to load into memory.  The virus was using this
info, and subsequently messing up the .exe file (making it irreperable, any
way).

I wouldn't be surprised to see the .exe compressors having problems with the
built in overlays at first, though I'm sure they'll catch on quickly.  

Hmm... just think... Borland and Micro-Soft might come out with versions of 
their compilers that will have a compression option.  Another space vs speed
consideration.  Would also be harder to step through certain programs in
order to get around the copy protection (though I'm sure that within a couple
months, someone would write a program that would dis-assemble even compressed
.exe files).

Oh well, if you do use these .exe compressors, be sure you keep the originals,
and try to test out every feature of the program just to make sure everything
works ok.
-- 
Mike Castle (Nexus) S087891@UMRVMA.UMR.EDU (preferred)       | ERROR:  Invalid
                mcastle@mcs213k.cs.umr.edu (unix mail-YEACH!)| command 'HELP'
Life is like a clock:  You can work constantly, and be right | try 'HELP'
all the time, or not work at all, and be right twice a day.  |

mlord@bwdls58.bnr.ca (Mark Lord) (01/11/91)

In article <1991Jan9.075800.1019@ducvax.auburn.edu> swanger@ducvax.auburn.edu writes:
<I recently received an ad from Knowledge Dynamics Corporation about a product
<of theirs named Executrix.  The following is an excerpt from the ad:
<
<Executrix supposedly compresses .EXE files into a format that typically takes
<30% less disk space, but the file remains directly executable from DOS.  It
<compresses your file and then prepends an 800 byte decompressor to the front of
<the compressed data.  When you execute the program, the decompressor is
<triggered and loaded into memory.  It then dynamically relocates into high
<memory, loads, decompress, and executes your program.

Ouch.  800 bytes.  Forget it.

Get LZEXE or PKLITE from Simtel20.. much cheaper even with the shareware
registration fee, and also MUCH better products.  More like 50-70% compression
and less than a couple hundred bytes for the decompression logic.

Where have you been for the past year, anyway ?     :)
-- 
 ___Mark S. Lord__________________________________________
| ..uunet!bnrgate!mlord%bmerh724 | Climb Free Or Die (NH) |
| MLORD@BNR.CA   Ottawa, Ontario | Personal views only.   |
|________________________________|________________________|

steven@ozonebbs.UUCP (Steven Rubin) (01/12/91)

swanger@ducvax.auburn.edu writes:

> I recently received an ad from Knowledge Dynamics Corporation about a product
> of theirs named Executrix.  The following is an excerpt from the ad:
> 
> Executrix supposedly compresses .EXE files into a format that typically takes
> 30% less disk space, but the file remains directly executable from DOS.  It
> compresses your file and then prepends an 800 byte decompressor to the front 
> the compressed data.  When you execute the program, the decompressor is
> triggered and loaded into memory.  It then dynamically relocates into high
> memory, loads, decompress, and executes your program.
> .
> . (the rest of the ad deleted)
> .
> 
> Has anyone out there used this program?  I might have a use for it soon if I
> knew it worked.  I called the company and they told me that the loading and
> decompression was very fast and was usually faster than loading and running t
> original, uncompressed program (I am a little skeptical).
> 
> I have written a program using Microsoft C 6.0 that compiles and links to an
> .EXE file that is around 400k.  I want to be able to fit this program, in
> runnable form, on a 360k floppy.  I've tried several different optimization
> options on the compiler.  I've tried a few of the linker options that shrink
> the .EXE file.  I've used EXEPACK on the .EXE file.  400k is about as small a
> I can get it without (shudder) rewriting the source!  Before I do something
> that crazy, I would like to investigate the Executrix option.  So if you have
> used this program, please post to the net, or send me mail.  They want $69.95
> for Executrix, so I want to be positive that it works.
> 
> Thanks for any help you can give.
> 
There is also a Shareware program by PKWare that does the same thing called 
PKLite.  Its probably on Simtel20 somewhere.


---
Steven Rubin                                           @      @
{netcom, crash!nusdecs}!nusjecs!ozonebbs!steven           oo
Disclaimer: I don't even speak for myself!           \__________/

bright@nazgul.UUCP (Walter Bright) (01/15/91)

In article <4383@mindlink.UUCP> a563@mindlink.UUCP (Dave Kirsch) writes:
/> kgowen@cie.uoregon.edu writes:
/> One last note, I would not recommend using one [LZEXE, PKLITE, etc] of these
/> compressors if your program uses overlays.
/Actually, you can use it if you are using Microsoft Link style overlays.  You
/can't compress the overlays, but you can compress the root EXE code.  What's
/involved is after you link your application with MS link using overlays, you
/have to run a program to split the root code and the overlays into seperate
/files, then run something like LZEXE on the root code, then glue all the
/overlays back together.
/I do this on my projects that contain overlays without any problems, it might
/even work on other overlay linkers such as Plink and RTlink, but I can't be
/sure.

I know it should will work on Zortech's virtual overlay system, because the overlay
sections are disguised to look like Microsoft overlays. This was deliberate
so file compressors and other EXE file modification programs would leave
the VCM overlays alone.