I've put a new release of NuLib2/NufxLib up on the web. For those of you not familiar with NuLib2, it allows you to access the contents of NuFX (Apple II ShrinkIt) archives. These typically have names ending in ".SHK", ".SDK", or ".BXY". NufxLib is a library of functions for accessing such archives, and NuLib2 is an archiver built on top of NufxLib. The new features in this release are: * Support for Binary II archives. You can list, add, extract, and test BNY and BQY. This can also come in handy for stripping BXY or BSE headers off. * Support for SQueeze and LZC compression. These are specified in the NuFX standard and were supported (to some extent) by the original NuLib. * Support for gzip "deflate" and bzip2 compression within a NuFX archive. Such archives can't be unpacked on an Apple II, but can be useful for storing disk images used with an Apple II emulator or file backups that will probably only be used from a PC or Mac. (Applications must be linked against libz and/or libbz2; bzip2 is disabled by default.) * The "launder" program, included as a sample application with NufxLib, now allows you to specify the compression format as an argument. This allows you to convert entire archives between LZW/2 and deflate quickly and easily. * New extended help (-h flag). The most significant result of adding the above is that NuLib2 is now a complete replacement for the original NuLib. Except for some really obscure features, NuLib2 does everything the original did, and a whole lot more besides. NuLib2 is distributed under the terms of the GNU GPL, NufxLib under the GNU LGPL. Source code, documentation, and Win32 binaries are available from http://www.nulib.com/. You can also find links to the NuLib2 SourceForge project if you're into CVS trees. ----- Some quick stats on the efficacy of "deflate" on disk images: 32 5.25" disks, chosen at semi-random: uncompressed = 4480K compressed LZW/1 = 2875K compressed deflate = 2158K 20 3.5" disks, chosen at semi-random: uncompressed = 16000K compressed LZW/2 = 8667K compressed deflate = 6913K In general, bzip2 does about as well or slightly worse. The BWT algorithm does best on large blocks of text, so the only disks that really benefit from bzip2 are collections of source code or documentation. It uses more memory and is slower then deflate, so it's disabled by default to discourage its use in archives posted to the web. Incidentally, my motivation for adding "deflate" was to allow A2 emulator users to have the advantage of gzip compression without having to compress the archive as a separate step. It seems silly for emulators to add support for ZIP archives with (perhaps ambiguously sector-ordered) images inside when we have a perfectly good storage format defined. NuLib2 can be built and will work happily without deflate or bzip2 support. The default compression format is still ShrinkIt LZW/2. Information about the new thread formats, as well as many other NuFX tidbits, can be found in the "NuFX addendum" document in the Library section of the www.nulib.com site. -- Send mail to fadden@fadden.com (Andy McFadden) - http://www.fadden.com/ CD-Recordable FAQ - http://www.cdrfaq.org/ Fight Internet Spam - http://spam.abuse.net/spam/ & http://spamcop.net/