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