[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: sytem 6.0.2?
ericlob <ericlob@cris.com> wrote:
> In article <Ezn4qJ.FG@boss.cs.ohiou.edu>, Stavros Robert Karatsoridis
> <skaratso@oucsace.cs.ohiou.edu> wrote:
>
> > ericlob <ericlob@cris.com> wrote:
> > > In article <360522F2.A6BE3E4F@cybercable.fr>, vignau@cybercable.fr wrote:
> >
> > >> 4) I once did a patch of the TextEdit ToolSet, I really think that
> > >> the thing had to create a new version of the tool and not a patch.
> > >> Patches are nice but are not very comfortable to use (taking lots of
> > >> memory, more files to load...)
> >
> > > I'd like to see the tools rewritten and get rid of the patch code the
> > > system throws on all of them (TS1, TS2).
> >
> > Those patches are for the toolbox code that is in ROM. Unless you want to
> > burn a set of new ROMs, those files would remain necessary, especially
> > since the ROMs are different between the ROM 01 and the ROM 3.
>
> I'd like to see the tools rewritten to be RAM resident, and unify the code
> base where possible, but that's just me :).
Bad idea. Wastes RAM, and the toolbox code would run slower than it
does out of ROM (due to the memory refresh cycles interfering with RAM
accesses).
I'd rather have seen an optional ROM upgrade for the ROM 3 around the
time of System 6, allowing a much more compact system disk to be set up
for upgraded machines (throw away most of the TOOLnnn files and use a
substantially smaller patch file).
The disadvantage is that it would probably mean even more space required
on a generic system disk, so probably a bad idea overall. :-)
> Anyway, my understanding (and I'm by no means a toolbox expert) was that
> the tool locator checked the version of the tool in ROM and then (on my
> ROM 01 anyway) generally loaded in the newer version into RAM anyway.
Not exactly. The tool locator will only load a toolset from disk if it
has no information about a resident toolset. If a toolset is ROM-based,
the corresponding TOOLnnn file is usually ignored (see below for
exceptions to this). In any case, there is never a comparison between
toolset version numbers in memory and on disk.
The OS boot files (TOOL.SETUP, TS2 and TS3) use tool locator functions
to patch the tool tables, replacing selected functions in the ROM-based
tools with revised versions.
ROM 1 only contains toolsets 1 through 13 (Tool Locator through the
secret toolset 13). Any higher numbered toolset is always loaded from
disk (TOOL014 or higher). Lower numbered toolsets are patched from
TOOL.SETUP or TS2 at boot time. You may notice that toolsets 13 and
lower have never been provided as files on the system disk.
ROM 3 contains all of ROM 1's toolsets (newer versions), plus most of
the higher numbered toolsets that don't deal directly with the operating
system (such as the System Loader and Standard File).
With System 5.0.0 through 5.0.4, some of the functions in ROM-resident
toolsets 14 and higher are patched from TOOL.SETUP and TS3, and non-ROM
toolsets are loaded from the appropriate TOOLnnn file as needed.
Starting around System 6, the number of ROM 3 patches required by this
method was getting out of hand for some toolsets, so for these toolsets,
the OS makes the tool locator forget about the existance of the
ROM-based toolset, resulting in the disk-based one being loaded when it
is needed. I think this applies to the larger user interface toolsets
like the Menu Manager and Window Manager. Most of the smaller ones like
the List Manager are still used from ROM with some RAM-based patches.
--
David Empson
dempson@actrix.gen.nz
Snail mail: P.O. Box 27-103, Wellington, New Zealand