Unannounced Calls
Volume Number: 8
Issue Number: 4
Column Tag: On the Lighter Side
New Unannounced System Calls 
from the WWDC
By Gar, DataPak Software
You may have missed one or more of the several “secret” meetings in Room K of
the San Jose Convention Center during the World Wide Developers Conference. Our
sneak reporter was on the scene and has obtained exclusive information, leaked,
regarding some of the new unannounced system extensions planned for the Macintosh
operating system. Details are still sketchy, but we managed to obtained this exclusive
reportage on the following new System Managers.
Features Manager
PROCEDURE SetReviewerMode (resID: resource; MicrosoftClone,
ClarisClone, AldusClone:ProcPtr);
This is used to instantly add features demanded by trade journal reviewers. The
resID is a resource of menus that add the features reviewers look for. MicrosoftClone
is a procedure you can call which enables your software to look and act just like some
Microsoft product. For example, in word processing your ProcPtr would point to an
MSWord() procedure and spreadsheet to a MSExcel() procedure. ClarisClone and
AldusClone may also be used for the same purposes. However, if all three ProcPtr
parameters = NIL, the default procedure, “MeToo” is used by the system software.
Note: This procedure originally had an array of ProcPtrs to refer to any given
number of product look alikes. However general usage has dictated that this be reduced
to these three.
Support Manager
FUNCTION GenerateComplaint (address:Str255;
key_words:LONGINT; vast_threat:Boolean):TEHandle;
This function generates a complaint to any software vendor of your choosing,
writing the complaint and/or threatening letter for you.
The address string should contain the mailing address for the letter; if the string
is empty, the last address used for a complaint will be used again.
The key_words parameter is an array of bits defining the key words and phrases
to include in the letter, as follows:
Bit Key Word/Phrase Generated
1 “You people...” is inserted wherever possible.
2 “Your product...” is used, otherwise “my product” is inserted.
3 “Dr.” is appended to your name (e.g., “Dr. Donald Trump,” and so on. However,
if this bit is not set, “Ph.D.” is appended by default.
4 “... very disconcerting” is used frequently.
5 Sweeping, vague generalities are randomly generated. Examples: “Your product
is buggy,” and “... everyone dislikes your product,” etc.
If the vast_threat parameter = TRUE, a threat to complain about the vendor on
all e-mail services and trade journals is included in the letter.
GenerateComplaint will mercifully truncate the resulting letter to 32K by
returning a TEHandle as the result.
System 7: Two Secret Functions
FUNCTION TransVol6 (chap:Integer):Handle;
This function returns a Handle of text which simplifies and explains a specific
chapter in Inside Mac, volume 6. Generally, the chapter in vol 6 will make no sense
as-is unless this function is used to return a layman’s translation.
Although TransVol6 could prove useful to developers, it remains undocumented
because the text answers require an additional CD which isn’t shipped with the
freebies; if this special CD is not on-line, the function returns NIL.
PROCEDURE FillAll (Var complaint:Str255);
This forces all available memory in the machine to be used even if the
application doesn’t need it quite yet; even if the application doesn’t call this function,
portions of it are still used by System 7 itself.
FillAll is used by most of the major Mac developers; although it is accessible to
anyone, small developers generally don’t use it since their situation demands their
programs run on smaller, less expensive machines.
The complaint parameter will return a special Applelink address in which you
can contact Apple and beg for bigger machines than ever.
FillAll is particularly useful if you are shipping an expensive product that does
very little - research has shown that a user feels more secure with a product in which
they are forced to upgrade their memory to use it.
The Undocumented Mac ROM Routines
As we were rummaging through some pre-1984 archives, we came across a
top-secret document of ROM traps that have never been publically documented!
PROCEDURE MacWait (diskGrind:Boolean);
Causes the processor to delay, usually because the application is running too fast.
MacWait is called repeatedly by most of the popular Macintosh programs, and is called
most frequently from applications that are greater than 500K and/or cost more than
$500.
If diskGrind = TRUE, the internal drive will spin a few times before this
function returns.
MacWait can be used by programmers who want to annoy the user for fairly good
reasons (such as forcing him or her to type slower or to use the mouse instead of
command keys).
PROCEDURE GhostSwap (name:Str255; random:Boolean);
Presents a disk-swap icon of a floppy disk that the user hasn’t seen in hours or
hasn’t seen before at all. The basic purpose of GhostSwap is to ensure that the user is
on their toes and to check the integrity of the floppy drive at random intervals.
Although applications generally don’t call GhostSwap, it is still used frequently
by the Mac OS and Finder. GhostSwap is called the most often after the floppy drive has
remained dormant for several weeks but wakes up from, say, doing a backup.
The name of the floppy is given in the name parameter, or if random = TRUE, the
OS makes up a name. Although technical superstitition would dictate otherwise, there is
no foundation to the belief that GhostSwap gets called most often when the OS senses you
are in a hurry to finish an important job.
FUNCTION ChoosePrice(k:LongInt; glossies:Integer;suf95:Boolean;
quality:Boolean):LongInt;
Returns the recommended suggested retail price for any new Macintosh software
program. ChoosePrice a is highly proprietory function and is only used by the very
largest companies either before or during the launch of a new release.
The price suggestion is computed as follows: k is the size of the application in
kilobytes (if you are guessing at k during pre-development, multiply 150K times the
number of people making design decisions).
The k parameter is the most critical since ChoosePrice will roughly compute
$100 per k.
The glossies parameter is the second most critical number; it indicates the
number of double-page glossy ads that will appear in the next six months. However, if
the first six months of glossies will appear before the first version is shipping, you
should add a little extra to the function to recoup your financial losses.
The suf95 parameter indicates what the price should end with: if the suf95 =
TRUE, then the last two digits of the price will end with “95.” otherwise the price will
end with “99” (the default).
The quality parameter is basically ignored in all the latest ROM versions, but is
in the definition for compatibility purposes (originally, this parameter indicated the
quality and usefullness of the software to determine the suggested price but was later
discarded on the realization this factor had no bearing on this decision).