VOGONS


7-Zip 24.09 for DOS

Topic actions

First post, by dajhorn

User metadata
Rank Newbie
Rank
Newbie

Retro7zip is a native backport of 7-Zip for DOS and Win32c:

The 24.09+2 release runs on FreeDOS, MS-DOS, SvarDOS, OS/2, Windows 95, Windows NT 3.1, and most other DOS platforms. System requirements are:

  • DOS 3.3
  • 386 CPU
  • 3MB RAM (for the 7zm.exe mini build)

Reply 3 of 35, by dajhorn

User metadata
Rank Newbie
Rank
Newbie
R-998 wrote on 2025-01-10, 20:25:

Does this version have a speed benchmark?

No, the `b` command in retro7zip is disabled because the DOS runtime lacks the necessary timers and counters, both POSIX-style and NT-style.

Implementing the 7-Zip benchmark for DOS is something that I might do later.

Reply 4 of 35, by Grzyb

User metadata
Rank l33t
Rank
l33t
dajhorn wrote on 2025-01-10, 18:50:

Retro7zip is a native backport of 7-Zip for DOS and Win32c:

What do you mean by "Win32c"?
I can only see LE executables for DOS extender...

The 24.09+2 release runs on FreeDOS, MS-DOS, SvarDOS, OS/2, Windows 95, Windows NT 3.1, and most other DOS platforms.

But it runs in DOS session, with LFN support only in Windows 9x, right?

Zaglądali do kufrów, zaglądali do waliz, nie zajrzeli do dupy - tam miałem klimatyzm.

Reply 5 of 35, by dajhorn

User metadata
Rank Newbie
Rank
Newbie

What do you mean by "Win32c"?
I can only see LE executables for DOS extender...

The earlier 24.08 release was built for win32c and used the HX extender. That code is still in repo, and I intend to do a proper release for Windows NT 3.1 or Windows NT 3.5 later, perhaps with the 7zFM GUI.

But it runs in DOS session, with LFN support only in Windows 9x, right?

No. If something like DOSLFN.COM is running -- like FreeDOS 1.4 installs by default -- then long file names will work without Windows 9x.

Reply 6 of 35, by Grzyb

User metadata
Rank l33t
Rank
l33t

OK, I'm trying to understand which version to use for which OS...
Just tried the original Win32 version under Windows 98 SE, but: "linked to missing export..."

Zaglądali do kufrów, zaglądali do waliz, nie zajrzeli do dupy - tam miałem klimatyzm.

Reply 7 of 35, by DosFreak

User metadata
Rank l33t++
Rank
l33t++

For the original 7-zip: You'll need to use KernelEX on 98-ME if you want to use versions of 7-zip > v9.30.

How To Ask Questions The Smart Way
Make your games work offline

Reply 8 of 35, by Grzyb

User metadata
Rank l33t
Rank
l33t
DosFreak wrote on 2025-01-10, 23:00:

For the original 7-zip: You'll need to use KernelEX on 98-ME if you want to use versions of 7-zip > v9.30.

OK, meanwhile this DOS version seems to work...

Zaglądali do kufrów, zaglądali do waliz, nie zajrzeli do dupy - tam miałem klimatyzm.

Reply 9 of 35, by Gmlb256

User metadata
Rank l33t
Rank
l33t

Excellent! 👍

Previously, I had to use HX-DOS with the console version of 7-zip 9.20 as existing DOS ports of P7ZIP couldn't properly handle DOS file paths.

VIA C3 Nehemiah 1.2A @ 1.46 GHz | ASUS P2-99 | 256 MB PC133 SDRAM | GeForce2 GTS 32 MB | Voodoo2 12 MB | SBLive! | AWE64 | SBPro2 | GUS

Reply 11 of 35, by dajhorn

User metadata
Rank Newbie
Rank
Newbie
Grzyb wrote on 2025-01-10, 22:55:

OK, I'm trying to understand which version to use for which OS...
Just tried the original Win32 version under Windows 98 SE, but: "linked to missing export..."

7-Zip 24.09 for Windows 95 and Windows NT

Let me know how well the updated win32c build works.

Reply 12 of 35, by Grzyb

User metadata
Rank l33t
Rank
l33t
DosFreak wrote on 2025-01-10, 23:00:

For the original 7-zip: You'll need to use KernelEX on 98-ME if you want to use versions of 7-zip > v9.30.

On pure Windows 98 SE, the original 7-Zip 24.09 won't even install.
After adding KernelEx 4.5.2, it does install, but won't run - "Unsupported Windows version" or "linked to missing export...".

So, using the DOS port for now, and waiting for the early-Win32 (is "Win32c" the official name for that?) port...

Zaglądali do kufrów, zaglądali do waliz, nie zajrzeli do dupy - tam miałem klimatyzm.

Reply 15 of 35, by DosFreak

User metadata
Rank l33t++
Rank
l33t++
Grzyb wrote on 2025-01-12, 01:32:
On pure Windows 98 SE, the original 7-Zip 24.09 won't even install. After adding KernelEx 4.5.2, it does install, but won't run […]
Show full quote
DosFreak wrote on 2025-01-10, 23:00:

For the original 7-zip: You'll need to use KernelEX on 98-ME if you want to use versions of 7-zip > v9.30.

On pure Windows 98 SE, the original 7-Zip 24.09 won't even install.
After adding KernelEx 4.5.2, it does install, but won't run - "Unsupported Windows version" or "linked to missing export...".

So, using the DOS port for now, and waiting for the early-Win32 (is "Win32c" the official name for that?) port...

There have been a lot of updates to KernelEx since 4.5.2, there is a thread on MSFN but this thread isn't for the original 7-zip so best to leave that for a different thread.

How To Ask Questions The Smart Way
Make your games work offline

Reply 16 of 35, by dajhorn

User metadata
Rank Newbie
Rank
Newbie
roytam1 wrote on 2025-01-12, 02:09:

I wonder if you can make a smaller one that size is comparable with old 7zdecwat?

https://www.ibiblio.org/pub/micro/pc-stuff/fr … hiver/7zdec.zip

The updated 7zdec-24.08 variant is already in FreeDOS. And just 67 kilobytes small.

Reply 17 of 35, by roytam1

User metadata
Rank Newbie
Rank
Newbie
dajhorn wrote on 2025-01-12, 02:49:
roytam1 wrote on 2025-01-12, 02:09:

I wonder if you can make a smaller one that size is comparable with old 7zdecwat?

https://www.ibiblio.org/pub/micro/pc-stuff/fr … hiver/7zdec.zip

The updated 7zdec-24.08 variant is already in FreeDOS. And just 67 kilobytes small.

yeah but it is still bigger than Rugxulo's 7zdecwat's 42KB in size.

Reply 18 of 35, by dajhorn

User metadata
Rank Newbie
Rank
Newbie
roytam1 wrote on 2025-01-12, 03:42:

yeah but it is still bigger than Rugxulo's 7zdecwat's 42KB in size.

Version 17 lacks PPMD8, LFN, crypto, and the latest hashers.

Version 24.08 has a build misconfiguration that add a few kilobytes, but it won't get much smaller than it already is.

Reply 19 of 35, by zyzzle

User metadata
Rank Member
Rank
Member

EDIT: This DOS version of 7ZA appears to NOT work with wildcards or directories, rendering it almost entirely useless. Per the examples (and every other version of 7zip I've ever used), the example command in the help doesn't work, eg:
7za a -mx a.7z *.txt
doesn't work, even when there are many .txt files in the directory. It just aborts and creates a 32-byte .7z file with zero files added. On the other hand, 7za (and also the included 7zr and 7zm .exe) do successfully create archives with each file manually specified (eg, "7z a a.7z a.txt b.txt c.txt ... ). Also, it doesn't work to add directories, eg (7z a a.7z sample\) to add "directory \sample to the archive. I even tried UNIX-style switches (eg, "7za a a.7z /sample" even though this didn't make sense.

Why didn't you make it possible to add files with wildcards or just by not explicitly stating any files to - by default - add ALL files, eg "7za a -mx a.7z" should just create a .7z archive with all files in the current directory added, just like in every other version of 7zip I've ever used?

How in the world to add directories and use wildcards when creating new .7z files? I must either be missing something major or my brain must be cooked.

I also replaced the Causeway DOS extender with CWSDPMI and D3X stubs and still the same behavior as above. Madness...

Outstanding. Long live MS-DOS in 2025 and beyond.

The last version of 7zip for DOS that I could find was version 16.02 . This is a great upgrade. I'm testing speed and robustness compared to the very old DOS versions (9.20 and 16.02), and hope this one is faster for the same settings, especially on newer systems on bare metal.

As to 7zdec, the 42 kb version referenced above is super fast and lean. RayeR also made some versions of 7zdec (based on 7zdec from 7zip versions 15 and 16) for DOS which were even smaller (30kb or so UPXed).

Incidently, does your new compile support the newest libdeflate and zopfli variants of creating a deflate'd ZIP archive, as advanceZIP version 2.6 (binary available for DOS) does?