• Compact Pro

    From Eli the Bearded@21:1/5 to All on Mon Apr 5 02:31:19 2021
    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From firstname lastname@21:1/5 to Eli the Bearded on Thu Apr 15 17:50:18 2021
    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Eli the Bearded@21:1/5 to nmtpycjz@gmail.com on Sat Apr 17 04:58:47 2021
    In comp.compression, firstname lastname <nmtpycjz@gmail.com> wrote:
    On Monday, April 5, 2021 at 12:31:21 PM UTC+10, Eli the Bearded wrote:
    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

    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
    ------

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From LLG@21:1/5 to All on Sat Aug 7 04:57:34 2021
    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.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Eli the Bearded@21:1/5 to tanarriscourge@yahoo.com on Sun Aug 8 06:20:11 2021
    In comp.compression, LLG <tanarriscourge@yahoo.com> wrote:
    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.

    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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From LLG@21:1/5 to All on Sun Aug 8 10:33:36 2021
    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.

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)
  • From Eli the Bearded@21:1/5 to tanarriscourge@yahoo.com on Mon Aug 9 01:10:14 2021
    In comp.compression, LLG <tanarriscourge@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

    --- SoupGate-Win32 v1.05
    * Origin: fsxNet Usenet Gateway (21:1/5)