[comp.sys.mac] WriteNow 1.07 and MultiFinder

dplatt@coherent.uucp (Dave Platt) (01/21/88)

I've had difficulty running WriteNow (version 1.07) on my 4-meg Mac SE
at work ever since I installed the System Update 5.0 software.  WriteNow 
would run properly under the "Finder" mode, but would crash or hang the
machine instantly when launched under MultiFinder.  Removing all of my
funny INITs, TOPS, TOPS Spool, TMON, Programmer Key, etc. had no effect
whatsoever on the problem;  re-copying the application from the locked,
pristine master disk didn't help either.  Strangely enough, WriteNow
(same version, different serial number) runs perfectly on my Mac II at
home, even under MultiFinder.

I called T/Maker, and spoke with a fellow named Andy, who lead me through
a short series of checks with the Finder and ResEdit.  Andy then gave
me a short series of magical keystrokes which added a four-byte resource to
the application, and the application began working perfectly.

The problem apparently dates back to WriteNow version 1.0, which (like
several Microsoft products such as Excel) contained some absolute memory
addressing mechanisms that couldn't cope properly with addresses over the
one-megabyte boundary.  MultiFinder's magic "Only run this application
in low memory" code was modified to honor WriteNow's needs as well as
Excel's.

Version 1.07 of WriteNow was rewritten so that the one-megabyte boundary
is not a problem;  it will run quite happily anywhere in memory.  In
order to inform MultiFinder that the low-memory-only restriction doesn't
apply, WriteNow is supposed to contain a "version" resource that
MultiFinder can recognize.  It seems that some copies of WriteNow 1.07
(I don't know how many) don't contain the necessary resource.  One would
think that MultiFinder would put up an "Insufficient memory to run
this application" dialog box, but apparently its code to do this doesn't
always work properly (perhaps when the system heap is very large?)
and any attempt to launch the application under these conditions
immediately reduces the system to mush.

The fix is quite easy: T/Maker has a small version-code-installer program
that Andy has offered to drop off at my office this evening;  if he
gives me the OK, I'll BinHex it and post it to comp.binaries.mac and
to Info-Mac.  In the meantime, those of you who are comfortable with
ResEdit can apply the following patch yourselves:

1) Make a copy of WriteNow.  PATCH THE COPY, NOT THE ORIGINAL!

2) Launch ResEdit and open the copy of WriteNow.

3) Check to see if the application contains a VERS resource.  If so, stop;
   it has already been patched.
   
4) Pull down New from the File menu to create a new resource type.  Enter
   VERS as the type's name.
   
5) Double-click the VERS resource type;  a window with no resources will
   appear.

6) Pull down New.  A new VERS resource with a random ID will appear.

7) Select the VERS resource, pull down Get Info from the File menu, change
   the resource ID to 0, and close the info box.

8) Pull down Open.  A hex-data box will appear for VERS 0.  Enter the
   characters "30313037".  These digits should appear in the middle of the
   window, and the string "0107" should appear at the right side.

9) Close the VERS 0 resource, the VERS resource type, and the application
   window;  confirm that the changes should be saved.  Quit ResEdit.

You should now be able to launch the patched application under MultiFinder
without having your machine choke and die.
-- 

Dave Platt
  UUCP:	...!{ames,sun,uunet}!coherent!dplatt
  Internet: coherent!dplatt@ames.arpa, ...@sun.com, ...@uunet.uu.net