Path: utzoo!attcan!uunet!lll-winken!lll-lcc!ames!joyce!sri-unix!hplabs!nsc!voder!apple!tecot
From: tecot@Apple.COM (Ed Tecot)
Newsgroups: comp.sys.mac.programmer
Subject: Re: Is MultiFinder running  [was Re: System 6.0 breaks my cdevs! revisited]
Message-ID: <14108@apple.Apple.COM>
Date: 17 Jul 88 01:31:57 GMT
References: <227@hodge.UUCP> <3988@pasteur.Berkeley.Edu> <5212@batcomputer.tn.cornell.edu> <46753DN5@PSUVM> <13829@apple.Apple.COM> <478@esquire.UUCP> <480@esquire.UUCP>
Reply-To: tecot@apple.apple.com.UUCP (Ed Tecot)
Organization: Apple Computer Inc, Cupertino, CA
Lines: 35

In article <480@esquire.UUCP> sbb@esquire.UUCP (Stephen B. Baumgarten) writes:
>In article <13829@apple.Apple.COM> Ed Tecot writes:
>>The reason this isn't done is because it would cost over 4K of system heap
>>space.
>
>4k?  Is this a typo or have you guys totally lost it?  By not backpatching,
>each application that wants to support both color and b/w has dozens of
>duplicated calls, making programming difficult and applications grow in 
>size.  The code for handling color is always going to have to be there;
>why force applications to carry around the extra baggage of code that will
>never get used on a Plus/SE (or vice versa)?

Actually it IS a typo.  I should have written:
ONE reason this isn't done is because it would cost OVER 14K of system heap
space.

4K is simply what is required to build the extended trap dispatch table
required for Color Quickdraw.  In addition, there is all the conversion of
data structures (pixMap cGrafPort, gDevice, etc.) and parameters so they
can be passed to the equivalent b/w routines.  There are 211 routines and
vectors in CQD.  If each routine requires 40 bytes of glue on average, that
is almost 8K more.  Add in the additional data structures and globals that
would have to be added so that these calls would make sense (cWmgrPort, etc.)
and you've exceeded 14K.  And we haven't even discussed making glue for the
Palette Manager and the color portion of the Menu Manager (which would have
to be done as well).  And not to mention a few months of an engineers time
for code which does effectively nothing!

For comparison, the new styled TextEdit weighs in at less than 10K, the
Notification Manager is 3K, the Sound Manager <4K.

I remember not too long ago, when people were complaining that HyperCard
and MultiFinder won't fit in 1 Meg and that system heap space was being
gobbled up at an alarming rate.  What happened?

						_emt