sschneider@pro-exchange.cts.com (The RainForest BBS) (03/05/89)
ShrinkIt 1.0 is released! The following excerpt of material is to show you the recent changes and additions.....most notable; will unpack BLU files. Disk pack/unpacks REQUIRE two disks... files are different and can be packed or unpacked as long as there is room on the device. /steve system manager the rainforest bbs ----------------------/ whack it here ! /-------------------------------- S H R I N K I T(tm) F O R T H E A P P L E I I Written by Andy Nicholas ShrinkIt Documentation 3/3/89 Excerpt <Complete documentation is in SHRINKIT1.0.BQY> What's New? ----------- o Binary II is automatically recognized by the unpacker. If you ask ShrinkIt to (U)nshrink from a Binary II file, the contents of that file will be listed like they are for NuFX files, and you can selectively extract what you wish. Any bundled subdirectories are automatically created. o Bundled directory support. You select the inclusion of a directory and *ALL* of its contents (including any subdirectories and their contents, up to 32 levels deep) just by pressing the space bar to place a check-mark beside the subdirectory. The extractor works by creating the needed subdirectories for a selected file automatically. The whole process is fairly fast and works very well. o Defeat of optimization of ProDOS disks while packing. ShrinkIt 0.95 always assumes that if the disk being packed is a ProDOS disk, and that a bitmap is available to optimize the thing -- that's not always true. Some people were using ShrinkIt to archive their floppies, but Apple's Backup program places a prodos compatible header entry so that ShrinkIt 0.95 is fooled into doing the bitmap optimization. 1.0 will optimize a disk being packed if the Open Apple key is held down at the beginning of a pack, otherwise, <Not Optimized> will appear in the window information bar. o Copy files, including all the files in nested subdirectories, up to 32 levels deep. o Create subdirectories. o Delete files is a "flat" file deleter. I wasn't sure if making it recursive would pose problems for people because then if you checked off a subdir to delete, it would delete everything in that subdirectory. So, in this version, that option is left up to you. o Type file contents (TXT files or AppleWorks AWP files.. sorry, no backwards scrolling, this is an archive program :-) o The user-interface has been clarified and enhanced. There is a selection button for the space bar, you can select multiple archives for unshrinking, or listing, and more file info is displayed in the list box. o The video driver for ShrinkIt has been completely rewritten. 0.95 uses the apple firmware, but 1.0 uses my own routines, and as a result, even works on a Cortland (IIgs prototype), I am told... Also, The screen displays are much faster and there is less flicker when something major is done to the screen. o If a volume is filled while (S)hrinking or (A)dding to an archive, the record count will be corrected. o More memory is available for the shrink/unshrink output buffer. About 18.1k total memory is available in v1.0 for the output buffer space. Part of the problem with LZW is that to get any kind of speed out of it, you have to use a hash-table, which in my case takes up 16k of the same bank that the output buffer, input buffer, and executing code are also in. v0.95 has about a 10k buffer, so v1.0's is about 100% larger. The packing/unpacking is slightly faster because of this. o A lot of the internal code has been rewritten, some of it almost from scratch. It allows for such things as the selection of all 253 files in a directory for an action (packing/unpacking/ copying/typing/etc), instead of the 64 file limit in 0.95 and previous. o You can just hit 'period' to abort most functions instead of OA-. o Pressing OA-<space> while selecting records to be extracted will place an inverse check-mark beside the record name, and when it comes time for that record to be extracted, ShrinkIt will prompt to for a new directory for the file to be put in. So records can be extracted into multiple destination directories. Just pressing <space> sends the record to the current directory. o There's an OA-A(all) command at a fileDialog for extracting every file in an archive, or archiving every file in a directory.' o OA-U selects all files to be put into an archive as uncompressed files after choosing (S)hrink. o OA-P at the record selector puts an inverse checkmark beside all the records indicating that you want all records extracted WITH prompting. o OA-G is "Go" at the fileDialog. This is so that if there are only subdirectories in a directory, you can operate on those subdirectories without having to open them. (just like Copy II+) o Typing the complete pathname of a file at a fileDialog will perform an operation on that file. For instance, if you type the complete pathname of a file after choosing (T)ype at the main menu, ShrinkIt will show the contents of that single file. o Pressing <return> while the highlighter bar is on top of a filename while in a fileDialog will perform the chosen function on ONLY that file. Pressing the <space> bar will place a check beside a filename, ala AppleWorks (Thanks Morgan and Lance!). o I put a picture of a floppy disk done with mousetext in the error box when an error occurs. I was bored one evening.. tough to imagine. ****************** As of 3/2/89, ShrinkIt will *NOT* function correctly with Glen Bredon's CACHE.XL utility. CACHE.XL causes some really strange behavior in ShrinkIt. ****************** Special Features ---------------- ShrinkIt is equipped with 3 forms of virus detection. If a virus were to ever attach itself to ShrinkIt, you will be warned by an Alert window which will inform you of the presumed presence of a virus. It will allow you to exit ShrinkIt and take whatever steps are necessary to combat the virus. I find the commandeering of my files by viruses detestable and put the virus detector in ShrinkIt to help others avoid them. When unshrinking disks, a 140k disk image will fit onto an 800k disk. The problem is that if the disk is a ProDOS disk, after it's unshrunk, the bitmap will not be correct and the total_blocks on the device will be set to 280 instead of 1600. ShrinkIt allows you to unpack a 140k disk image onto an 800k disk and will fix the bitmap and total_blocks automatically as long as the disk image in question is ProDOS. The converse is not true. You cannot take an 800k disk image and fit it onto a 140k disk. The low level volume number of a 5.25" disk is preserved by ShrinkIt when archiving 5.25" disks. An error-check (CRC) of the data is also kept by ShrinkIt. In the event that the data in an archive becomes corrupted, ShrinkIt will warn you. Holding down the OA key as a disk is beginning to be shrunk will enable the disk bitmap optimizer, which will automatically zero the unused blocks on a ProDOS disk on-the-fly. If this option is selected, "<Optimized>" will be displayed on the window information bar; otherwise, "<Not Optimized>" will be displayed. About the Author ---------------- I am currently a Junior attending Moravian College in Bethlehem, Pennsylvania, majoring in Computer Science. I made ShrinkIt Freeware because I believe that such a common utility program as an archiver should be able to be used by as many people as possible. If you use ShrinkIt and feel that it is valuable to you, I urge you to send me something for my work. Paper Bag Productions CsNET: shrinkit@moravian.edu c/o Andy Nicholas InterNET: shrinkit%moravian.edu@relay.cs.net Box 435, Moravian College liberty!batman!shrinkit@sun.com Bethlehem, PA 18018 Uucp: rutgers!lafcol!lehi3b15!mc70!shrinkit rutgers!liberty!batman!shrinkit AppleLink PE: ShrinkIt ProLine: andyn@pro-sol.cts.com [619-670-5379] "ShrinkIt" is a registered trademark of Paper Bag Productions. Thanks! ------- Kent Dickey, for the enormous amount of help he gave me with the algorithm. Jerry Hewett, for the HyperFormat source code. Morgan Davis, for showing me a good user-interface design to follow and providing many good suggestions along the way. Evan Ron Aussenberg, for writing some preliminary documentation for 1.0 Ken Scrogan, for writing some preliminary documentation for 1.0 Lance Taylor-Warren and Larry Hawkins, for giving me support when I needed it most. I would also like to thank the following people for their help and time in testing ShrinkIt while it was still in the very early stages: Vince Cooper, Steve Schneider, Dave Lyons, Jon Davidson, Joe Schober, Ron Drum, Jason Blochowiak, Rich Sims, John Brooks, Mike Brunsmann, Larry Virden, and Eric Mueller Misc Stuff and Propaganda ------------------------- If you find a bug in ShrinkIt which you can consistently duplicate, *PLEASE* get in contact with me about it. In the works: I am working on writing a 16-bit, fast as, well, just fast, IIGS version of ShrinkIt. This will be Freeware, or at the worst, probably Shareware. I am beginning work on a Q&D II+/Unenhanced IIe 40-column version of ShrinkIt. It won't have any fancy features like the IIGS or 80-column version of ShrinkIt, but it will work. Again, Freeware. I also have 2 IIGS-only text-based terminal programs which vaguely resemble United Software Industries' MouseTalk(tm) product. One is a standalone terminal program and the other is a Classic Desk Accessory (CDA). Both programs have essentially the same features: scrollback buffer, a plethora of transfer protocols (xmodem, crc-xmodem, xmodem-1k, 4modem, Ymodem, Ymodem-G, and a protocol developed by Paul Meiners of GT PowerComm fame: MEGAlink), support of both the SSC and internal GS serial port, a split-screen chat mode in which the size of the screen partition is adjustable, an automated dialer which can rotary dial a list of systems, and a lot of other nifty features. These will not be Freeware, but will be sold commercially (gee, not even Shareware -- I gotta eat somehow :) for $40-60 bundled together. The terminal programs will be available sometime... well, soon. (see, I've learned not to promise dates :-) ----------------------------/ Whack it here ! /------------------------------ /steve system manager ----------------------------------------------------------------------------- | UUCP: crash!pro-exchange!sschneider APPLELINK : sschneider | | ARPA: crash!pro-exchange!sschneider@nosc.mil COMPU$ERVE: 75166,2544 | | INET: sschneider@pro-exchange.cts.com GENIE : sschneider | | The RainForest @ 305-434-4927 / PO Box 841422, Pembroke Pines, Fl, 33084 | -----------------------------------------------------------------------------