[comp.sys.mac.programmer] Programmer's tip; coping with INITs.

earleh@eleazar.dartmouth.edu (Earle R. Horton) (06/16/88)

As Jay Freeman reported in this newsqroup, he recently had a problem
with an INIT which looked like a bad compiler to him.  Since there are
so many INITs around, and who knows what they contain, I find the
following procedure helpful upon first encountering mysterious program
bugs.  Seems simple to me, but Jay said I should post it...

Make a copy of your "System Tools #1" disk.  Put MacsBug in the System
Folder.  No PD, ShareWare, or Commercial INITs allowed on this disk.
When you encounter a mysterious bug that "can't" be your fault, reboot
the Mac from the "clean" disk and see if the bug is still there.

Although I never succeeded in contacting the author of the suspected
INIT, the problem SEEMED to be that part of a patch installed by the
INIT file was written in Pascal, which considers register D2 to be a
scratch register.  If you patch system routines with a high-level
language, make sure that the appropriate registers get saved.  You
might have to write assembly glue to save one register.  DO IT.

Earle R. Horton, Thayer School of Engineering, Hanover, NH
  I wouldn't mind dying -- it's that business of having to stay dead that
  scares the sh*t out of me.  -- R. Geis

freeman@spar.SPAR.SLB.COM (Jay Freeman) (06/18/88)

The solution was indeed simple, but thinking of it evidently
wasn't; I didn't!  Then again, perhaps *I* am simple.  Thanks
again ..

					-- Jay Freeman