Subject: GSHK v1.1 on comp.binaries
From: [email-masked] (Andrew Nicholas)
Date: 11 Oct 92 18:25:34 GMT
Newsgroups: comp.sys.apple2

I have uploaded GSHK v1.1 to comp.binaries.apple2.  It should appear at a
site near you very soon.  I'll see what I can do about getting it put on
ftp.apple.com.

GS-ShrinkIt Changes
 
--GS-ShrinkIt v1.1
 
System Disk 5.0.4 or later is now required.
 
GSHK v1.1 can create self-extracting archives (SEA).  SEA files are
12K larger than regular archives and can ONLY be extracted on a IIGS (ie,
DO NOT give SEA files to people with IIe's or IIc's because SEA files are
GS/OS applications: S16 files).
 
GSHK v1.1 now has a resource fork.
 
Optimized the unpack code a bit.  These are some minor tweeks that might
make a few percent difference in speed (15-18%).  The same optimizations were
done to the SEA unpack code so making and unpacking some SEA archives is
advised.
 
GSHK no longer delays immediately after reading a file when compressing in
order to calculate a CRC on the file.  The CRC is instead calculated as the
data is compressed.  This pause was very noticable if you'd pack a very large
(>100K) file.
 
GSHK v1.1 is now approximately 25-30% faster compressing than GSHK v1.0.6.
This is entirely due to the ideas of Andy McFadden.  He has yet more ideas
about how to get GSHK to go faster, but I haven't had time to implement all
of them.  In order to achieve the speedups I've had to rewrite large sections
of the compression code.  One of the speedups includes a new hashing
algorithm.
 
               GSHK v1.0.6     GSHK v1.1
 Finder         0:48            0:33
 Moria          2:10            1:36
 
I resegmented another large chunk of GSHK so that the unzoo, unarc, unstuff,
usq, and uncompress segments share a single segment.  This saves some memory,
reduces the load time slightly, and saves some disk space.
 
Added a call to HandleDiskInsert to GSHK's main event loop.  You can just
insert an unformatted disk and GSHK will do the right thing.
 
GSHK no longer makes the "operation complete" sound under System 6.0 if
you cancel extracting or if something goes wrong with extracting.
 
If you click the <Update> button and GSHK is unable to write the comment
back to the disk the Update button will not be dimmed.
 
GSHK can now open Binary II files inside of MacBinary files.
 
In the "shrink to" dialog, if the name supplied ends with a period and
one of the checkboxes is checked which causes GSHK to change or add a suffix,
GSHK will no longer add a second period to the archive name. (ie, you'll no
longer end up with "Archive..SHK" if you started with "Archive.").
 
When pasting text into the comment area, the <Update> button undims (Jon!).
 
Added additional information on Apple-clicking to the prompt when asking
what files to archive, delete, or add to an archive.
 
GSHK can now open NuFX archives which are enclosed within MacBinary files.
 
Added a new preference, "Display warning dialogs" which enables or disables
showing the preceding dialogs.
 
Added a dialog before making a disk archive which explains what it is, why
you would want to make one and why you -wouldn't- want to make one.  This is
to help out the online services a bit and try to make people -think- before
packing the entire disk.
 
When creating a file archive if the user has selected "Add Binary II to
this..." I added a dialog which tells the user that their communications
program normally adds Binary II, not GSHK.  This is to lessen the number of
uploads to online services which are double-BNY'd (ie, one Binary II header
added by GSHK and then another by the user's comm program).  Clicking
<Cancel> only backs you up a single level so that you can either uncheck
"Add Binary II" and/or rename the archive.
 
Added a confirmation dialog before actually deleting files.
 
Added a confirmation dialog before actually deleting items from an archive.
 
Added a confirmation dialog before sorting an archive.
 
Changed the text for the prompt for GSHK & SEA when extracting to say "Extract
the (enclosed) files ("blah" etc.) where?" instead of "Put the files..."
"Extract" better describes what's actually going to happen.
 
Fixed a problem where archiving from an AppleShare volume resulted in archives
which GSHK and ShrinkIt thought were damaged.
 
GSHK now strips the high bits off of names of old-style shrinkit disk archives
(archives which were made with Shrinkit 2.1 and earlier have the high bits set
in the disk names).
 
If you get a CRC error, something should actually be displayed (the dialog 
routine was trying to read a non-existent resource).
 
Added filename of current filename being extracted to the prompt string.  If
you've got "Prompt on every extraction" on, this is a crude way to find out
what files are actually in the SEA file.
 
Added "Prompt on every extraction" to SEA wrapper and GSHK core.  This allows
you to prompt for a few files and then turn the prompting off rather than
always have prompting on or always off.  I removed the "Prompt on every
extraction" popup menu from GSHK's preferences dialog.  I hope this is a trend
as that dialog is -way- overloaded.
 
You can now set "Add Comment to: No Files" and when archiving or adding, GSHK
won't add comments.  This is useful to make sure that no space is wasted when
making SEAs.
 
Changed routines which deal with dates to use the 5.0.3 (and later) toolbox
call ConvSeconds which does date/time conversion to various formats.  This
saves a few K in the main segment (and leaves me with less code to actually
maintain). The time format is the same time format as in the control panel.
 
Dave and I converted the GSHK source code to MPW IIGS in one (grueling) weekend
(5/10/92).

-- 
Andy Nicholas                 GEnie & America-Online: shrinkit
Apple Computer, Inc.                        InterNET: [email-masked]
Path: news.weeg.uiowa.edu!news.uiowa.edu!uunet!think.com!ames!data.nas.nasa.gov!taligent!apple!shrinkit
From: [email-masked] (Andrew Nicholas)
Newsgroups: comp.sys.apple2
Subject: Re: GSHK v1.1 on comp.binaries
Keywords: shrinkit
Message-ID: <[email-masked]>
Date: 13 Oct 92 01:31:25 GMT
References: <[email-masked]> <[email-masked]>
Organization: Apple Computer Inc., Cupertino, CA
Lines: 15

In article <[email-masked]> [email-masked] (Tc Wilson) writes:

>> I have uploaded GSHK v1.1 to comp.binaries.apple2.  It should appear at a
>> site near you very soon.  I'll see what I can do about getting it put on
>> ftp.apple.com.

GSHK v1.1 is available for ftp from ftp.apple.com:

/ftp/dts/utils/a2gs-shrinkit11.bsc

andy

-- 
Andy Nicholas                 GEnie & America-Online: shrinkit
Apple Computer, Inc.                        InterNET: [email-masked]
Path: news.weeg.uiowa.edu!news.uiowa.edu!hobbes.physics.uiowa.edu!zaphod.mps.ohio-state.edu!sdd.hp.com!think.com!ames!agate!apple!apple!mumbo.apple.com!gallant.apple.com!city-lights.apple.com!user
From: [email-masked] (Matt Deatherage)
Newsgroups: comp.sys.apple2
Subject: Re: GSHK v1.1 on comp.binaries
Message-ID: <[email-masked]>
Date: 13 Oct 92 00:07:03 GMT
References: <[email-masked]> <[email-masked]>
Sender: [email-masked]
Followup-To: comp.sys.apple2
Organization: Developer Technical Support, Apple Computer, Inc.
Lines: 47

In article <[email-masked]>, [email-masked] (Tc
Wilson) wrote:
> 
> [email-masked] (Andrew Nicholas) writes:
> 
> > I have uploaded GSHK v1.1 to comp.binaries.apple2.  It should appear at a
> > site near you very soon.  I'll see what I can do about getting it put on
> > ftp.apple.com.
> > 
> 
> Well, I had problems with the .SEA file refusing to run (kept stopping 
> right at the launch with "error $1104" [can't find segment, I think]). 
> However, I -was- able to extract the actual nufile record out of the 
> archive (go to +$2EE5 of the .SEA file and copy off that part).
> 
> Oddly enough, when I had GSHK1.1 re-create a new .SEA file of the same 
> files, -that- .SEA file worked fine... 

This is as good a place as any to alert folks to this:

IF YOU FIND A SELF-EXTRACTING ARCHIVE IN BINSCII FORMAT, DO NOT UNBINSCII
IT BEFORE MOVING IT TO AN APPLE II.

Several people ran something like sciibin to turn the SEA back into a
binary file on their internet boxes, and then used XMODEM or YMODEM to
move the self-extracting archive to a IIgs.  It turns out that if you
do this, XMODEM or YMODEM pads the file to a 128-byte boundary.  The
System Loader then sees the garbage at the end of the file as "not a
load segment" (which, of course, it isn't) and complains that something's
wrong.

If you already have the SEA on your system and have problems like TC
explained, try resetting the EOF of the file 118119 (instead of the
probable 118272 you have) and it should work fine.  These numbers are
for the GSHK 1.1 self-extracting archive _only._

> Tc Wilson/The Captain           "Programming is an art form
> [email-masked]        that fights back."
> .... or try: TCQ, The Captain's Quarters (614) 488-8401, 300-38400 hst

============================================================================
Matt Deatherage, Developer Support Center, Apple Computer, Inc.
Personal mail only -- please POST technical questions, questions about
Apple and its policies, where to find documents and related inquiries.
The opinions I express don't represent Apple, which makes us both happy.
============================================================================