I wrote LZEXE in 1989 and 1990 when I was 17. At that time, hard disks were small and expensive, and 5'' floppies were small (360K). Since I had only two floppy drives on my PC (an Amstrad PC1512), saving space was really an issue.
Although I wrote LZEXE for my own use, I gave it to some friends, and it was then put on some BBS's. LZEXE became then very famous, although I did not do anything to promote it. This success was quite unexpected for me.
The main problem was to find a way to decompress the executable just after its loading and to launch it. The decompressor had to be included in the executable and needed to be very small.
A good source of inspiration was the program EXEPACK from Microsoft which did a very simple compression on the executables. I used almost the same scheme. The main point was to decompress the executable while not using more memory than its decompressed size. It is not so easy because the compressor must guaranty that at each time during the decompression the compressed and decompressed parts do not overlap.
The version 0.91 of LZEXE turned out to be very reliable. Almost no
bug have been found. I never had the time to work on a new version, even
if I had many projects about it.
|LZEXE 0.91e (version 0.91 with contribution from various people)||
|LZEXE 0.91 (lastest version distributed by me)||
|LZEXE 0.90 (first version of LZEXE)||
If you look at the source code of the decompression engine of PKLITE, you'll notice that it looks like the one of LZEXE.
Fabrice Bellard, fabrice.bellard at free.fr.
[Back to my home page]