mirror of
https://github.com/elliotnunn/supermario.git
synced 2024-11-25 09:30:50 +00:00
441 lines
17 KiB
Plaintext
441 lines
17 KiB
Plaintext
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.
|
||
----------------------------------------------------------•----------------------------------------------------------
|