Path: utzoo!attcan!uunet!iconsys!caeco!jose!pedro!ubik From: ubik@pedro.UUCP (Ubik) Newsgroups: comp.sys.apple Subject: DDD Pro Keywords: DDD Pro, optimization Message-ID: <449@pedro.UUCP> Date: 5 Jul 88 08:37:41 GMT Distribution: na Organization: Bitsko's Bar & Grill, Public Access, Salt Lake City Lines: 25 DDD Pro does indeed fill unused blocks on ProDOS disks with nulls. DDD Pro doesn't use "true" Huffman compression - it uses a mutated combination of run-length encoding/Huffman that takes a frequency count on the current track, finds the 20 (I think, don't remember too well) most frequently occuring values and assigns them pre-generated variable-length bit patterns, then encodes the rest of the bytes verbatim. When unpacking, DDD can tell if the data following is verbatim or not by looking at the prefix bit - if it is a 0 then it's a packed variable-length code, otherwise the 8 bits following is a verbatim byte. I disassembled DDD 2.1 a while back (about a year ago) and that's where I got my information. DDD Pro uses the same compression algorithm as DDD 2.1, and I also happen to know both of the DDD Pro authors (Doug & Andy). Toshiyasu Morita UUCP: ...!uunet!iconsys!caeco!pedro!ubik -- "Yes, I'm ubiquitous - I'm here, aren't I?"