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