Path: utzoo!utgpu!jarvis.csri.toronto.edu!mailrus!um-math!sharkey!cfctech!teemc!hpftc!zardoz!henry.jpl.nasa.gov!elroy.jpl.nasa.gov!usc!apple!dlyons
From: dlyons@Apple.COM (David Lyons)
Newsgroups: comp.sys.apple
Subject: Tool 30 really is the Resource Mgr; user toolsets
Message-ID: <34414@apple.Apple.COM>
Date: 29 Aug 89 23:02:55 GMT
References: <713@mountn.dec.com>
Organization: Apple Computer Inc, Cupertino, CA
Lines: 59

In article <713@mountn.dec.com> shatara@memit.dec.com (Chris Shatara) writes:
>[...]
>    There is no tool30 on the Distribution disk for GS/OS v3.0 There
>    is however a tool34.  Are you sure the resouce manager is tool30?

Yup, I'm sure:

  030 = Resource Manager
  031 = (not currently used: reserved)
  032 = MIDI
  033 = Video Overlay toolset
  034 = Text Edit

You're correct that there is no "TOOL030" file--that's because the Resource
Manager is stored as *:System:System.Setup:Resource.Mgr (a Permanent Init
File).

>    If the resource manager is indeed tool30 (somehow) and I loaded
>    First Byte's tool30 into the */system/tools folder, could this cause
>    the system error $1103 that I talked about in a recent posting?

I don't remember the circumstances of the $1103 error, but when the
application loads toolset 30 and then starts making *toolbox calls*
to that toolset, it is *actually* making Resource Manager calls without
meaning to.  The most likely result is a crash into the monitor in short
order--but it's conceivable you could get an $1103 error somehow in the
resulting weirdness. 

In another message you asked for more details about user toolset.  The
answer is Yes, you have to convince the application writers to use them--
there's nothing you can do as a user to get the application to use User
Toolsets instead of System Toolsets.

User Toolsets are just like System Toolsets, except the current
application owns all the toolset numbers (the *system software*
owns all the system toolset numbers, and developers who steal
system toolset numbers are shooting themselves in the chests with
very slow bullets).

To call a *system* toolset, you JSL $E10000 or JSL $E10004.
To call a *user*   toolset, you JSL $E10008 or JSL $E1000C.
     (The toolset # and function # are always in X.)

(If your favorite programming environment doesn't provide a nice way
to call functions in user toolsets, *complain*!)

To install a *system* toolset, you use LoadOneTool (or LoadTools, or
     StartUpTools).
To install a *user*   toolset, you get the toolset in memory somehow
     (Restart/InitialLoad or InitialLoad2 are good choices).

 --Dave Lyons, Apple Computer, Inc.          |   DAL Systems
   AppleLink--Apple Edition: DAVE.LYONS      |   P.O. Box 875
   AppleLink--Personal Edition: Dave Lyons   |   Cupertino, CA 95015-0875
   GEnie: D.LYONS2 or DAVE.LYONS         CompuServe: 72177,3233
   Internet/BITNET:  dlyons@apple.com    UUCP:  ...!ames!apple!dlyons

   My opinions are my own, not Apple's.