StartMgr Release Notes
First created on: 3/16/92 4:15:39 PM

----------------------------------------------------------¥----------------------------------------------------------

3/16/92 4:15:59 PM

File: BootCode.a,18
Owner: Dean Yu     
Project: MainProjºOSºStartMgrº

Radar bug: #1024540

> Release notes for this change:

Load El Kabong printing extensions at boot time along with other types of extensions.

> What was tested:

Changed an extension to have a type of ÔpextÕ and watched it get loaded anyway.

----------------------------------------------------------¥----------------------------------------------------------
3/26/92 5:58:15 PM

File: LinkedPatchLoader.a,54
Owner: Dean Yu     
Project: MainProjºLinkedPatchesº

File: Build,255
Owner: Dean Yu     
Project: MainProjºMakeº

File: SysObj.Make,447
Owner: Dean Yu     
Project: MainProjºMakeº

File: BootCode.a,22
Owner: Dean Yu     
Project: MainProjºOSºStartMgrº

File: BeforePatches.a,27
Owner: Dean Yu     
Project: MainProjºPatchesº

Radar bug: #1024282

> Release notes for this change:

A Process Manager segment was being loaded high in the system heap, causing fragmentation.  It
was loaded high because the linked patch blocks were in the way at boot time.  We tried to alleviate
this by moving these blocks high in the heap, but that stopped working.  Now we load these segments
in ÔPTCHÕ 0, which is run before linked patches, so we donÕt have to worry about the strange
memory setup at linked patch time.

> What was tested:

The Process Manager segments in question are loaded low, always.  All the locked blocks are all
in the lower third of the system heap, which is very good for fragmentation.

----------------------------------------------------------¥----------------------------------------------------------
4/1/92 9:08:46 PM

File: BootCode.a,24
Owner: Dean Yu     
Project: MainProjºOSºStartMgrº

Radar bug: #1025555

> Release notes for this change:

Add generic A/UX support to Cube-E boot code.

> What was tested:

The A/UX group tested the boot code with the changes under A/UX.  I verified that the changes do
not affect the boot process of the normal system.


----------------------------------------------------------¥----------------------------------------------------------
4/2/92 3:48:07 PM

File: Bootcode.a,25
Owner: Dean Yu     
Project: MainProjºOSºStartMgrº

File: StartSystem.a,71
Owner: Dean Yu     
Project: MainProjºOSºStartMgrº

Radar bug: #1025555

> Release notes for this change:

Move the first call to MakeSystemHeapGrowable into StartSystem.a because there used to be one
really early in the boot process before all this Gibbly stuff came around.  We canÕt put it at the
beginning of BootCode.a because that would cause the Gibbly to get closed because of the call to
_InitApplZone, so weÕre doing it before the Gibbly gets opened anyway.


> What was tested:

Booted machine, and the Gibbly kicked in.  With the call to MakeSystemHeapGrowable at the
start of BootCode.a, the Gibbly did not get executed, which is a bad thing.


----------------------------------------------------------¥----------------------------------------------------------
4/2/92 9:47:33 PM

File: BootCode.a,26
Owner: Chris Derossi     
Project: MainProjºOSºStartMgrº

Radar bug: #1018711

> Release notes for this change:

Script Extensions can legally only reside in the Extensions folder. They should not be executed from the System Folder in the normal case. However, in the case of a bootable floppy, we frequently donÕt have enough of an environment to have a full System Folder structure. So, when we fail to find the Extensions folder when looking for Script Extensions, weÕll try the System Folder. But, if the Extensions folder is found, thatÕs the only place we look for them.

> What was tested:

I walked through this code with Macsbug and fooled it into thinking there was not Extensions folder. The code correctly redirected to the System Folder. Since this bug comes from Bruges, and we donÕt have a Hebrew-localized Cube-E boot disk, I was unable to check the specific case in the bug. But, the worst thing that could happen is the bug isnÕt fixed, and we have to live with the Bruges situation where Install 1 disks are not allowed to get unblessed.

----------------------------------------------------------¥----------------------------------------------------------
4/13/92 7:01:31 PM

File: BootCode.a,27
Owner: Dean Yu     
Project: MainProjºOSºStartMgrº

Radar bug: #1027105

> Release notes for this change:

DonÕt disable script extensions if the primary script is non-Roman, as a script extension is
required for such systems.  Also, stripped out the skanky AppleTalk stuff that loaded a dummy
LAP routine since AppleTalk 57.0.4 does that.

> What was tested:

Added Hebrew as a secondary script and rebooted.  The script extension is loaded if the shift key
is not held down, and not loaded if it is held down.  Made Hebrew the primary script.  The extension
loads whether or not the shift key is held down.

----------------------------------------------------------¥----------------------------------------------------------
4/15/92 11:53:39 PM

File: StartSystem.a,73
Owner: Dean Yu     
Project: MainProjºOSºStartMgrº

Radar bug: #1027491

> Release notes for this change:

Clear ioVRefNum before calling HGetFileInfo to find a Gibbly which can boot.  This field used to
be cleared by something that was moved into BootCode.a.  If weÕre lucky, this field will happen
to have 0, and Gibblies will work.  If weÕre not so lucky, this field will have garbage and Gibblies
wonÕt kick in.  If weÕre totally out of luck, weÕre running Cube-E on a new machine, and we wind
up with a sad Mac.

> What was tested:

DB-Lite is able to boot with this change.  My sample Gibbly that fixes a stupid MacTCP bug on my
Zydeco works.  (I wouldnÕt be able to finish the boot process without this fix.)

----------------------------------------------------------¥----------------------------------------------------------
4/20/92 2:28:55 PM

File: Boot3.a,32
Owner: Dean Yu     
Project: MainProjºOSºStartMgrº

Radar bug: #1024149

> Release notes for this change:

DAL should not be disabled when AppleTalk is turned off, since it could be used through
the serial
port.  Take out the code which prevents DAL from loading if AppleTalk is off.

> What was tested:

Turned AppleTalk off from the Chooser, and rebooted.  After the machine has started up,
DAL was
still loaded, and taking up 20K for no good reason.
----------------------------------------------------------¥----------------------------------------------------------
4/29/92 5:37:48 PM

File: Boot3.a,34
Owner: Dean Yu     
Project: MainProjºOSºStartMgrº

Radar bug: #1027105

> Release notes for this change:

Took out code that prevented script extensions from being disabled at boot time when
Roman was not the primary script.

The reasoning behind the code in the first place was that for other countries like Japan,
for example, the script extensions are not optional software, and should not be disabled
when the user holds down the shift key, since this would result in some strange stuff
going on on the screen.  A change was made to the boot code to keep the script extensions
loading if Roman was not the primary script.

This was fine and dandy.  The script extensions were always loading.  The problem was
that the secondary inits, like Akiko and InputBackSupport were still being disabled.
This obviously presents a problem to people who are trying to use the system.  This would
be further exacerbated in the future if third parties right input methods.  There is no
elegant way to solve the general problem, and the solve the specific problem of Akiko and
IBS isnÕt the right thing, so I took out the original change.  This puts us back to the
way the world was under 7.0, GomTalk, and Bruges.

> What was tested:

Made sure that script systems are disabled when the shift key is held down, when Japanese
was both a primary and secondary script.
----------------------------------------------------------¥----------------------------------------------------------
5/28/92 6:22:39 PM

File: BootEqu.a,9
Owner: Dean Yu     
Project: MainProjºInternalºAsmº

File: Boot2.a,75
Owner: Dean Yu     
Project: MainProjºOSºStartMgrº

File: Boot3.a,35
Owner: Dean Yu     
Project: MainProjºOSºStartMgrº

Radar bug: #1030972

> Release notes for this change:

If the ÔbootÕ 2 resource in the System file cannot find a Gibbly that knows how to boot
the machine, it used to put up a system error alert saying that the disk is too old to be
used on this Macintosh.  When some code was moved from ÔbootÕ 2 into ÔbootÕ 3, the code
that set up the DSAT error table was moved too.  This prevents the error from being
displayed by the SysError call in ÔbootÕ 2, so it just sad Macs.  The reason the error
table initialization was moved into ÔbootÕ 3 was so that the standard one could be
overridden by a Gibbly.

Changed ÔbootÕ 2 so that it sets a bit in low memory instead of calling SysError if it
canÕt find a Gibbly to boot with.  It then calls the SystemÕs ÔbootÕ 3 to display the
message.  Changed ÔbootÕ 3 to look at this bit right after the DSAT error table is set
up.  If it sees that the bit is set, it will display the appropriate error, otherwise,
the boot process continues.

> What was tested:

Edited the changed System fileÕs ÔgblyÕ resource so that it canÕt boot on a Mac IIci.
Without another Gibbly that can boot the ci, the error that says that the disk is too old
for this Macintosh is displayed.  When a Gibbly that can boot the machine is placed in
the System folder, the Gibbly gets the boot process, and the machine can boot.
----------------------------------------------------------¥----------------------------------------------------------
6/15/92 7:00:41 PM

File: Boot3.a,36     
Owner: Chris Derossi     
Project: MainProjºOSºStartMgrº

Radar bug: #1032429

> Release notes for this change:

Comm Toolbox tools can have INITs in them. System 7 checked for INITs in Connection
tools, File Transfer tools, and Terminal Emulation tools. Telephone tools were not
checked for INITs, but should be.

I changed the startup code to also check for INITs in Telephone tools. Telephone tools
have a type of ÔvbndÕ.

> What was tested:

I changed the type of the Caps Lock extension to ÔvbndÕ and verified that it loaded and
functioned on my PowerBook.
----------------------------------------------------------¥----------------------------------------------------------
6/24/92 10:14:36 PM

File: GibblyMacros.a,5
Owner: Dean Yu     
Project: MainProjºInternalºAsmº

File: Boot2.a,76
Owner: Dean Yu     
Project: MainProjºOSºStartMgrº

File: Boot3.a,37
Owner: Dean Yu     
Project: MainProjºOSºStartMgrº

Radar bug: #1033818

> Release notes for this change:

A Gibbly file may get closed before override patches are installed to prevent it from
being closed if the system heap grows, forcing all files above the system resource map to
close down.  This was exhibited on a DB-Lite, trying to boot of an external hard drive by
holding down command-option-shift-delete.

Now, ÔbootÕ 2 places the GibblyÕs resource map underneath the system resource map so that
calls to _RsrcZoneInit wonÕt close it.  The MakeGibblyResident macro has been updated to
look for the Gibbly at the bottom of the resource chain instead of the top.  A call to
_UseResFile in ÔbootÕ 3 to force the system to be the current resource map before loading
linked patches was removed now that the System file is at the top of the resource chain
until MakeGibblyResident is called.

> What was tested:

Nick Vicaro moved the Gibbly below the system file in the resource chain in the DB-Lite
Gibbly to prove that this solution would prevent the Gibbly from being closed, and this
was found to be true.  I did further testing on existing machines to ensure that the
changes made would not affect booting on a Gibbly-less machine, or a machine that the
system can boot, but has an external Gibbly anyway, and all these cases work
successfully.
----------------------------------------------------------¥----------------------------------------------------------
6/27/92 4:03:30 PM

File: GibblyMacros.a,6
Owner: Dean Yu     
Project: MainProjºInternalºAsmº

File: Boot2.a,77
Owner: Dean Yu     
Project: MainProjºOSºStartMgrº

File: Boot3.a,38
Owner: Dean Yu     
Project: MainProjºOSºStartMgrº

Radar bug: #1033818

> Release notes for this change:

Leave the reference number of the Gibbly in CurMap so that Gibblies will know what their
reference number is.

> What was tested:

Machines that do and donÕt require Gibblies to boot continue to do so.

----------------------------------------------------------¥----------------------------------------------------------
7/22/92 5:53:54 AM

File: Boot3.a,39     
Owner: Chris Derossi     
Project: MainProjºOSºStartMgrº

Radar bug: #1018711

> Release notes for this change:

For our Install 1 disks, we donÕt have enough room to build a real System Folder. So
instead, we put everything at the root of the disk and rely on the fact that the boot
code will default all file calls there. This is how the System and Finder are found even
if there isnÕt any blessed System Folder.

Unfortunately, the Folder Manager doesnÕt have the same built-in defaults, so anyone
relying on finding things with the Folder Manager will fail on one of these magic Install
disks. The code to search for and load Script Extensions used the Folder Manager. This
meant that WSI and WSII would not be loaded if there wasnÕt a System Folder.

I tried to fix this in December by having the code try the System Folder if it couldnÕt
find an Extensions Folder. Now, if it doesnÕt find a System Folder either, it goes ahead
and tries the default directory, which is the root.

> What was tested:

I put a Hebrew System, WorldScriptª I, and the Installer on a floppy. Before my change,
when I booted it, alerts would come up in Chicago instead of the Hebrew font. After my
change, alerts come up with Hebrew characters and are right-justified.
----------------------------------------------------------¥----------------------------------------------------------
8/13/92 11:30:56 AM

File: Boot3.a,40     
Owner: Dean Yu     
Project: MainProjºOSºStartMgrº

Radar bug: #1039434

> Release notes for this change:

QuickTime 1.0 had a bug where it wouldnÕt register any of itÕs components if the
Component Manager was already installed.  To fix this problem, Cube-E has some code in
the boot code that loads QuickTimeÕs components for it.  The difference is that QuickTime
only loads itÕs components when the CPU is a 68020 or better, whereas Cube-E always
loaded the components.  This causes a problem with QuickTime 1.5 and the Photo CD codec,
since it winds up getting called on a 68000, which is bad because itÕs using 68020
instructions.  Add a check in the boot code to make sure weÕre not on a 68000 CPU before
loading QuickTime components.

> What was tested:

Verified that QuickTimeÕs components are not loaded on a Mac Plus, but are loaded on a
IIci.

----------------------------------------------------------¥----------------------------------------------------------
9/2/93 2:33:59 AM

File: StartBoot.a,52     
Owner: Ian Hendry     
Project: SuperMarioProjºOSºStartMgrº

File: DisplayMgr.c,16     
Owner: Ian Hendry     
Project: SuperMarioProjºToolboxºDisplayMgrº

Radar bug: #1108969, 1106433

> Release notes for this change:

1108969:  Made sure that notification was available at init time.  This means changing
StartBoot.a to call initialize me in the ROM version and it means having no process
manager dependencies.

I also make sure I am using the system heap when I allocate apple events.  I switched the
code to assume that registered notification procs are responsible for disposing their own
apple events.

1106433:  I fixed my use of CopyPixMap so that I no longer count on QuickDraw to do the
right thing with nil color tables.  I cleaned up the code a little around there so I am
not making bad assumptions about ports.


> What was tested:

1106433:  Built and tested on PDM running NQD extension provided by Shannon to determine
that a) if I make the CopyPixMap call with a nil color table it works (although it
returns an error) and b) that I no longer use a nil color table and so I get no error at
all.

1108969:  Built a small test tool extension that registers itself at init time and dumps
the apple events from display manager.  The tool can also remove notification procs.  I
checked that the procs are correctly installed, that notification happens, that removal
works.  I checked that removing all the procs works, that removing some of the procs
works,  that installing one proc works, that installing multiple procs works.  Everything
seeems cool now.
----------------------------------------------------------¥----------------------------------------------------------
