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 laymans translation.
Although TransVol6 could prove useful to developers, it remains undocumented because the text answers require an additional CD which isnt 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 doesnt need it quite yet; even if the application doesnt 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 dont 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 hasnt seen in hours or hasnt 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 dont 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).