VOGONS


Lightning fast ZIP unpacker for DOS

Topic actions

First post, by MrFlibble

User metadata
Rank Oldbie
Rank
Oldbie

I was looking for any PKUNZIP alternative for DOS apart from Info-Zip's UnZip, and here I found info on a (probably) obscure late-90s/early 2000s archiver called IMP. The programme is available for DOS and Windows and offers its own archive format (which apparently gained very little traction as I've never heard about it before), but also can unpack ZIP archives.

I gave it a try in DOSBox (pick the Aus mirror at the Wayback Machine snapshot to download the file), and from my tests it vastly outperforms both PKUNZIP and UnZip in terms of speed. The 32-bit version of UnZip generally seems to work faster than PKUNZIP in DOSBox when the dynamic CPU core is available, but slows down when normal core is forced -- whereas IMP gives faster results even under these conditions. I wonder what kind of optimizations the developers made to accomplish this?

IMP was originally a shareware programme, but in the early 2000s it was released as proprietary free software. I haven't tried their own format, but it appears to use principles and features similar to those in RAR, with the option to build "solid" archives for greater compression, optional built-in recovery information and the like.

DOS Games Archive | Free open source games | RGB Classic Games

Reply 1 of 24, by eM-!3

User metadata
Rank Newbie
Rank
Newbie

I use it as my main archiver on DOS. I've made my own benchmarks few years ago and end up with same conclusions. Also I saw it's fast both in real life and DOSBox as some other archivers get much worse results when run in DOSBox. Another good thing when compared to latest 7z DOS compilations is that it's instant which means that even if you pack just few small files you won't have to wait until it starts unpacking them.

I would love to see someone making a better tool using ZSTD.

Reply 2 of 24, by DaveDDS

User metadata
Rank Oldbie
Rank
Oldbie

Does anyone known of a good/SMALL unzip utility?

Sometime I make floppies with extra material contained in unpackable
archive files.

Sometimes I use .ZIPs - which means the floppy also has:

ZEX.COM     5,854 = Menu based unpacker which calls...
ZDIR.COM 5,218 = List .ZIP in standard DIR format
UNZIP.EXE 24,052 = Info-ZIP v5.0

Which means over 34k of extra "stuff" - can be significant on a 360k
diskette.

Other times I use my own unpacker for my .MAR (MicroARchive) format.
UNP.EXE is 6,128 bytes and provides menu selection of files in the archive
to extract, as well as unpacking them... it can also include an archive
to be a self-extract (and still retain the ability to use on other archives)

But... MAR is a tool I wrote years ago which I used to "pack" DDS products
onto floppy disks for distribution (my INSTALLer could unpack them).. it's
based on a variant of LHA compression... and it's not quite as efficient as
ZIP - eg, I just ZIPed a directory containing 84 files 522,690 bytes ...
the .ZIP is 218,501 and the .MAR is 226,775

Still smaller in total than .ZIP and tools, but I'd love to find a much
smaller tool to unpack .ZIPs - that would give the best of both!

Dave ::: https://dunfield.themindfactory.com ::: "Daves Old Computers"->Personal

Reply 3 of 24, by igully

User metadata
Rank Newbie
Rank
Newbie

This PKunzip Jr . It is the smallest decompressor I know of.
I hope it helps you Dave.

PKUNZIPjr(TM) FAST! Mini Extract Utility Version 2.50 03-01-1999
Copr. 1989-1999 PKWARE Inc. All Rights Reserved.

Reply 4 of 24, by igully

User metadata
Rank Newbie
Rank
Newbie

Dave, another option which I use extensively on DOS projects I support (MiNiDOS, IG-DOS and NANO-DOS), is of course, self-extracting executables, which I select depending on the type of executable:

- for very small .COM files I use 624, as it has the smallest unpacker code size.
- for .SYS files I use UPX (remember to use the little documented --8086 switch)
- APACK is great on most files (remember to use the -x switch for XT compatibility)
- And PKLite seems to be a great choice when every other packer fails

Of course, you must be carefull on TSR programs and test them extensively as some of these packers end up corrupting them.

Reply 5 of 24, by MrFlibble

User metadata
Rank Oldbie
Rank
Oldbie

While looking for DOS archivers I found this big archive of old software:
https://www.sac.sk/files.php?d=7&l=A

Maybe there's some lightweight/small unzip tool for DOS that's not widely known.

I have reservations about PKZip, Jr., since it's not really freeware, as far as I can tell, and it cannot handle some types of ZIP archives.

DOS Games Archive | Free open source games | RGB Classic Games

Reply 6 of 24, by DaveDDS

User metadata
Rank Oldbie
Rank
Oldbie
igully wrote on 2025-07-01, 17:21:

This PKunzip Jr . It is the smallest decompressor I know of.
I hope it helps you Dave. ... Copr. 1989-1999 PKWARE Inc. All Rights Reserved.

Thanks, I do think I've see it before ... but I'm not keen to distribute obsolete/abandoned software
unless it has officially been made "free" (as far as I know PKware never released their stuff)

Dave ::: https://dunfield.themindfactory.com ::: "Daves Old Computers"->Personal

Reply 7 of 24, by igully

User metadata
Rank Newbie
Rank
Newbie

It was released for free.
You may still find old versions of this exact same tool in some of their public ZIP package releases.
PKWARE always encouraged paying an extra fee for tech support and other tools that could fix zips, make them executables, etc. But this was not one of those.

Reply 8 of 24, by DaveDDS

User metadata
Rank Oldbie
Rank
Oldbie
igully wrote on 2025-07-01, 17:31:

Dave, another option ... self-extracting executables

The problems with self-extracting are:

If you have many programs, the extraction code get replicated for each one.

Can't be used to pack non-executables (like .HLP files)

No ability present what available and allow selection.

These days when I make a bootable DOS floppy, it's typically to do
things not easily done on more restrictive "modern" OSs. (Like direct
hardware access).

THis can be something like system diagnostics tools, or for example
a bootable ImageDisk setup.

ImageDisk has to run under DOS because it needs full/unrestricted access
to the PC FDC (it can read/resstore disks the PC was never intended to
access).

So I make a bootable floppy, which:

- Sets up a RamDisk (plaec to work with images)
- Has basic DOS utilities available.
- Has ImageDisk and it's necessary tools.
- Has some of my other tools/utilities
- Has communication software (to get images on/off)
- Has dozens of network "packet drivers"

All in all, dozens of available files, some not executable.

Not wanting to require a massive RamDisk ... I make all these easily
selectable from an on-screen menu, so the user can only unpack the
stuff he wants to use at the time.

So far my own archiver has been working OK - I'd just like to use .ZIP
so I can fit a bit more onto the floppies 😀

Last edited by DaveDDS on 2025-07-01, 19:51. Edited 1 time in total.

Dave ::: https://dunfield.themindfactory.com ::: "Daves Old Computers"->Personal

Reply 9 of 24, by DaveDDS

User metadata
Rank Oldbie
Rank
Oldbie
igully wrote on 2025-07-01, 19:31:

It was released for free. ...

Do you have an pointer to an official release?

The executable you posted says:
"Copr. 1989-1999 PKWARE Inc. All Rights Reserved."

Which does not indicate free... I'd need an official release to be comfortable with distributing others work!

(seeing the .COM is only 3K - might be worth a bit of disassembly to see details on how to unpack .ZIP in little code)

Dave ::: https://dunfield.themindfactory.com ::: "Daves Old Computers"->Personal

Reply 10 of 24, by igully

User metadata
Rank Newbie
Rank
Newbie

If you want to squeeze more data in less space you could also use .RAR which is better at general compression.
The latest DOS full released version was v2.50. I don't know how tiny is the standalone decompressor, but I know the developer released the source for it and even ported it to 32-bit DOS.

Reply 11 of 24, by igully

User metadata
Rank Newbie
Rank
Newbie
DaveDDS wrote on 2025-07-01, 19:47:
Do you have an pointer to an official release? […]
Show full quote
igully wrote on 2025-07-01, 19:31:

It was released for free. ...

Do you have an pointer to an official release?

The executable you posted says:
"Copr. 1989-1999 PKWARE Inc. All Rights Reserved."

Which does not indicate free... I'd need an official release to be comfortable with distributing others work!

(seeing the .COM is only 3K - might be worth a bit of disassembly to see details on how to unpack .ZIP in little code)

Unfortunately, I only kept that executable as I was interested in its reduced size. You can find an entire web page with many references which may help you solve that at: https://www.pcjs.org/blog/2025/04/05/

Anyway, it would be much better to disassemble the code and even re-optimize it to build an even tinier version, which seems at first sight more than plausible.

Reply 12 of 24, by DaveDDS

User metadata
Rank Oldbie
Rank
Oldbie
igully wrote on 2025-07-01, 19:50:

If you want to squeeze more data in less space you could also use .RAR which is better at general compression.
The latest DOS full released version was v2.50. I don't know how tiny is the standalone decompressor, but I know the developer released the source for it and even ported it to 32-bit DOS.

Thanks, do you have a link to the source?

I have to say I find the bit about the dev. porting it to 32-bit a little worrying.

- It has to be TINY - It's not worth my shrinking the size of the archives by say 10k
only to have to put more than 10k "extra stuff" to unpack them. (this is why I still use my .MAR
format - it's a bit larger than .ZIP but the total I have to distribute is less)
I have an UNRAR.EXE (2.06) which is 32k .EXE (and dumping the .EXE - it's already compressed)

- I want something that can run on a 16 bit system. (hopefully 32bit not a requirement)

Dave ::: https://dunfield.themindfactory.com ::: "Daves Old Computers"->Personal

Reply 13 of 24, by igully

User metadata
Rank Newbie
Rank
Newbie

Link to the source is the 5th link on this web page:
https://web.archive.org/web/20180901215639/ht … com/rar_add.htm

Be warned that there is a 32-bit dos command-line decompressor that is anything but tiny in that same web page.
Better try out the 16-bit one from v2.50 which is about 32KB, or even better build a new tinier 16-bit DOS using sources.

Reply 14 of 24, by jakethompson1

User metadata
Rank Oldbie
Rank
Oldbie
DaveDDS wrote on 2025-07-01, 20:06:
Thanks, do you have a link to the source? […]
Show full quote
igully wrote on 2025-07-01, 19:50:

If you want to squeeze more data in less space you could also use .RAR which is better at general compression.
The latest DOS full released version was v2.50. I don't know how tiny is the standalone decompressor, but I know the developer released the source for it and even ported it to 32-bit DOS.

Thanks, do you have a link to the source?

I have to say I find the bit about the dev. porting it to 32-bit a little worrying.

- It has to be TINY - It's not worth my shrinking the size of the archives by say 10k
only to have to put more than 10k "extra stuff" to unpack them. (this is why I still use my .MAR
format - it's a bit larger than .ZIP but the total I have to distribute is less)
I have an UNRAR.EXE (2.06) which is 32k .EXE (and dumping the .EXE - it's already compressed)

- I want something that can run on a 16 bit system. (hopefully 32bit not a requirement)

It has to be an archiver+compressor or you could split the archive into one file per entry (like DOS 5.0+ EXPAND.EXE files, .??_)
gzip would be a free equivalent to expand.

If it has to be a ZIP file, something you could look into is to build your own Info-ZIP UNZIP, and whether you can #ifdef away features you aren't using: like any compression method other than Deflate, encryption support, LF/CRLF translation support, etc.

Reply 15 of 24, by DaveDDS

User metadata
Rank Oldbie
Rank
Oldbie

I'm still deciding if it's worth trying to improve my current system. I only asked because this topic came up and I
hadn't found anything free which works better than the stuff I wrote ... always something I keep an eye out for...

I have been looking at the PKUNZIPjr. At 3k code, about 1500 lines disassembly, it *might* be worth reverse engineering
the decompression... But I'd have to add in the ability to show the archive content and menu-select what to extract, as
well as self-extract or apply to another archive - so likely would get close to the 6k size of my current tool. But my .MAR
archive come reasonable close to .ZIP and it's already done! (and I do have to do some testing to see if it can handle the
various archives I've made over the years - being PK I would expect so ... but I have encountered some third-party .ZIP tools
which couldn't!)

But always work exploring other options.

Dave ::: https://dunfield.themindfactory.com ::: "Daves Old Computers"->Personal

Reply 16 of 24, by roytam1

User metadata
Rank Newbie
Rank
Newbie
DaveDDS wrote on 2025-07-02, 04:36:
I'm still deciding if it's worth trying to improve my current system. I only asked because this topic came up and I hadn't found […]
Show full quote

I'm still deciding if it's worth trying to improve my current system. I only asked because this topic came up and I
hadn't found anything free which works better than the stuff I wrote ... always something I keep an eye out for...

I have been looking at the PKUNZIPjr. At 3k code, about 1500 lines disassembly, it *might* be worth reverse engineering
the decompression... But I'd have to add in the ability to show the archive content and menu-select what to extract, as
well as self-extract or apply to another archive - so likely would get close to the 6k size of my current tool. But my .MAR
archive come reasonable close to .ZIP and it's already done! (and I do have to do some testing to see if it can handle the
various archives I've made over the years - being PK I would expect so ... but I have encountered some third-party .ZIP tools
which couldn't!)

But always work exploring other options.

There is "TUNZ.com" that is a bit smaller than PKUNZJR but it seems to be based on a RE of PKUNZJR.

Reply 17 of 24, by MrFlibble

User metadata
Rank Oldbie
Rank
Oldbie
DaveDDS wrote on 2025-07-01, 19:47:
igully wrote on 2025-07-01, 19:31:

It was released for free. ...

Do you have an pointer to an official release?

PKUNZIP, Jr. is part of the shareware package of PKZIP for DOS, the latest version being 2.50. The official distributive is available here (pkz250dos.exe), among other places. It is true that PKUNZIP, Jr. does not include a notice saying this is an unregistered version (unlike the regular PKUNZIP or other PKWARE tools). However, I don't remember the license stating that PKUNZIP., Jr. is freeware -- unlike official releases of UnRAR that explicitly say to in the license.

I also do not think that PKWARE ever declared their products freeware officially. I have encountered PKUNZIP in certain packages of demo/shareware games from the 90s, as part of the makeshift installers, but I'm not sure if these weren't registered versions -- the license clearly states that if you're a gov't institution, company or other organization, you need to purchase a license that allows to distribute either PKUNZIP or SFX archives.

roytam1 wrote on 2025-07-02, 07:51:

There is "TUNZ.com" that is a bit smaller than PKUNZJR but it seems to be based on a RE of PKUNZJR.

Found an instance here, the programme says it was developed in the University of Varna, Bulgaria. Certainly an interesting thing, if it was clean-room reverse-engineering, then perhaps it's legit?

DOS Games Archive | Free open source games | RGB Classic Games

Reply 18 of 24, by DaveDDS

User metadata
Rank Oldbie
Rank
Oldbie
MrFlibble wrote on 2025-07-02, 11:05:

... I also do not think that PKWARE ever declared their products freeware officially

That's the problem - shareware is NOT freeware - just because some element of a shareware package do not have a "unregistered" notice,
it is still subject to copyright (and it does have a notice about that)

Found an instance here, the programme says it was developed in the University of Varna, Bulgaria. Certainly an interesting thing, if it was clean-room reverse-engineering, then perhaps it's legit?

I was looking for it - can you tell me how you got it?
I'm using Chrome under winblows which blocks it because it's an unsafe (ie: executable under ancient OS) file.
I can disable that check, but then the TUNZ.COM that I get from the download is a 25k html file...

Dave ::: https://dunfield.themindfactory.com ::: "Daves Old Computers"->Personal

Reply 19 of 24, by roytam1

User metadata
Rank Newbie
Rank
Newbie
DaveDDS wrote on 2025-07-02, 12:59:
That's the problem - shareware is NOT freeware - just because some element of a shareware package do not have a "unregistered" n […]
Show full quote
MrFlibble wrote on 2025-07-02, 11:05:

... I also do not think that PKWARE ever declared their products freeware officially

That's the problem - shareware is NOT freeware - just because some element of a shareware package do not have a "unregistered" notice,
it is still subject to copyright (and it does have a notice about that)

Found an instance here, the programme says it was developed in the University of Varna, Bulgaria. Certainly an interesting thing, if it was clean-room reverse-engineering, then perhaps it's legit?

I was looking for it - can you tell me how you got it?
I'm using Chrome under winblows which blocks it because it's an unsafe (ie: executable under ancient OS) file.
I can disable that check, but then the TUNZ.COM that I get from the download is a 25k html file...

click the filename, it will show another page. in that page, click the download icon next to filename in navigation bar on the top.