Compact Pro

56 views
Skip to first unread message

Eli the Bearded

unread,
Apr 4, 2021, 10:31:21 PMApr 4
to
In the 1990s, I registed my copy of Compact Pro and used it extensively
for Mac file compression. Besides firing up an emulator to run an
extractor, anyone know how to decompress the .cpt files it made?

I've checked here already:

http://www.cyclos.com/compactpro.htm

Old Mac and DOS binaries, but I was hoping for something I could run on
Linux (preferred) or NetBSD.

Elijah
------
has also emailed the support address there

firstname lastname

unread,
Apr 15, 2021, 8:50:19 PMApr 15
to
On Monday, April 5, 2021 at 12:31:21 PM UTC+10, Eli the Bearded wrote:
> In the 1990s, I registed my copy of Compact Pro and used it extensively
> for Mac file compression. Besides firing up an emulator to run an
> extractor, anyone know how to decompress the .cpt files it made?

> Old Mac and DOS binaries, but I was hoping for something I could run on
> Linux (preferred) or NetBSD.

try this, it says it supports compact pro:
http://ibiblio.org/pub/linux/utils/compress/macutils.tar.gz

Eli the Bearded

unread,
Apr 17, 2021, 12:58:49 AMApr 17
to
Says it does, but apparently not. It didn't compile out of the box,
because some variables were declared 'extern' and 'static', so I
dropped the statics, eg:

< static char *lzh_pointer;

> char *lzh_pointer;

But it just gives me CRC errors. These files do decompress with the DOS
program I have (but then I get DOS names out, with long filenames
shortened with tildes), so I don't believe the files are corrupt as a
CRC might imply.

Oh well. Thanks for the effort. I may find a use for other things in
that package.

Elijah
------

LLG

unread,
Aug 7, 2021, 7:57:35 AMAug 7
to
> But it just gives me CRC errors. These files do decompress with the DOS
> program I have (but then I get DOS names out, with long filenames
> shortened with tildes), so I don't believe the files are corrupt as a
> CRC might imply.

I looked at the DOS unpacker and the macutils sources and they look very close and should work OK. I could debug the issue if you provide some CompactPro archives to test.

Eli the Bearded

unread,
Aug 8, 2021, 2:20:13 AMAug 8
to
Ooo. That's exciting.

Sure:

https://qaz.wtf/tmp/compactpro/

Eight files of various sizes and content.

Elijah
------
has not seen the DOS program's source code

LLG

unread,
Aug 8, 2021, 1:33:37 PMAug 8
to
> Eight files of various sizes and content.

That's easy. Replace the entire table in crc/zip.c with the normal one starting with 0x77073096 (easily found online).

I also made a Python script to extract the archives.

Eli the Bearded

unread,
Aug 8, 2021, 9:10:16 PMAug 8
to
In comp.compression, LLG <tanarri...@yahoo.com> wrote:
> > Eight files of various sizes and content.
> That's easy. Replace the entire table in crc/zip.c with the normal one
> starting with 0x77073096 (easily found online).

I found that table here http://www.mrob.com/pub/comp/crc-all.html

Tricksy thing that macutils source. crc/zip.c is a generated file but
the makefile doesn't make that clear. When I did "rm *.o; make" in
the crc directory, it built makecrc first and overwrote my changes
to zip.c, producing a libcrc.a that was still broken. I thought I
might have forgotten to save the changes when everything worked
exactly as before.

$ diff -u makefile.orig makefile
--- makefile.orig 2021-08-08 18:06:24.871687850 -0700
+++ makefile 2021-08-08 18:06:45.539250712 -0700
@@ -10,10 +10,10 @@
fi

clean:
- -rm -f $(CRCC) $(CRCO) libcrc.a makecrc makecrc.o
+ -rm -f $(CRCO) libcrc.a makecrc makecrc.o

$(CRCC): makecrc
- ./makecrc
+ echo NOT RUNNING ./makecrc

makecrc: makecrc.o
cc -O -o makecrc makecrc.o
$

> I also made a Python script to extract the archives.

With a working CRC this tool seems pretty good. Thanks for the pointer.

Elijah
------
also upped the PATCHLEVEL define for the build
Reply all
Reply to author
Forward
0 new messages