TweetFollow Us on Twitter

Nov 93 Tips, Tidbits
Volume Number:9
Issue Number:11
Column Tag:Tips & Tidbits

Tips & Tidbits

By Neil Ticktin, Editor-in-Chief

Tip of the Month

In the September, 1993 issue of MacTech Magazine, one reader wrote in asking about finding out if QuickTime is installed via the Gestalt call. We asked you, the readers, to respond and you a number of you did. Thanks to all of you who responded including: Gary Woodcock, Gary McGath and Mats Hummel who were among the first to respond.

The first answer came from Robert Howe with a nice “clean” answer. The most interesting answer came from Alain Danteny who not only answered this question, but more about Gestalt. Robert and Alain are splitting this month’s prize.

First, the direct answer from Robert Howe: There is a new gestalt selector. You can modify your GestaltEqu.h file (with Think C) to include the following:

/* 1 */

#define gestaltQuickTime 'qtim'

(Realize that this may be included in the new header files that come with the THINK C 6.0.1 update). You may then call it as you would any other gestalt call. If QuickTime is not installed, gestalt returns an error.

A quick boolean check could be written as

/* 2 */

#include <GestaltEqu.h>
 
if (QuickTimeInstalled());
     // play a movie
 

Boolean QuickTimeInstalled ( void ) {
     return (noErr == gestalt('qtim', &result)); 
}

- Robert Howe,

via America Online

More Gestalt information

Next, comes the additional information from Alain Danteny. If you want to have a full view of all currently installed and registered gestaltSelectors, follow these steps: First, call Gestalt with selector "tabl". The response (a pointer) is the starting address of an array containing all the gestaltSelector and procAddress. The format of each entry is:

{ 3 }

gestaltTableEntry = RECORD
      gestaltSelector : OSType;
      gestaltAddr : LongInt;
    END; {Pascal-like}

/* 4 */

struct{
    OSType gestaltSelector;
    long gestaltAddr;
}gestaltTableEntry;//C-like

The very first 2 entries are:

0000 000C xxxx xxxx ; (selector = $0000 000C in hexa)
0000 0007 yyyy yyyy ;

Those are undoubtly the selectors of Gestalt's developers at Apple: Carl C. Hewitt and <unknown?>. Moreover, under macsbug, if you type:

ip xxxx xxxx (see above)

you will decompile the gestaltProc and see that those selectors are probably used internaly by the traps Gestalt, NewGestalt, ReplaceGestalt... the gestaltProc uses two signatures: "carl" and "bbmc" (who's bbmc?)

Following entries are non-Apple gestaltSelectors: mainly INITS and cdev signatures (ADex, ADrk, MClk, NowT aso). Last are well-known Apple's system Selectors. This array ends up with longint $7FFF FFFF.

- Alain Danteny,

Nancy, France

MOVEM.L Warning!

The MOVEM is a 680x0 assembler instruction. It is used a lot for saving and restoring the values of multiple data and address registers. I tried to save off two address register values with the lower register first and then restoring it later using two MOVE.L instructions. I ran into an unexpected surprise. The instruction:

MOVEM.L A2/A4,-(A7)

is not equivalent as you would expect to the 2 instructions:

MOVE.L  A2,-(A7)
MOVE.L  A4,-(A7)

but instead to:

MOVE.L  A4,-(A7)
MOVE.L  A2,-(A7)

The instruction MOVEM.L stores the registers from high to low, ignoring the order you specify. In other words,

MOVEM.L A2/A4,-(A7)

does the same thing as:

MOVEM.L A4/A2,-(A7)

Using MOVEM pre-decriment, -(A7), in conjunction with MOVEM postincrement, (A7)+, addressing, saving off and restoring the same registers is what the instruction was apparently designed for and works just fine for that purpose.

- Marek Hajek

Hajek’s Solutions

Reno, Nevada

Toggle invisibles in MPW

I often need to see “invisible” characters in text files, because many of mine come from BBS captures and may have glitches in them. MPW’s sequence for turning the display of invisible characters on and off is cumbersome, so I added a menu and keyboard shortcut; a single command to toggle the display. The following command adds a “Toggle Invisibles” to the Edit menu, so Command-Option-Y (displayed as ¥, option-Y) does the trick.

/* 5 */

AddMenu Edit "Toggle Invisibles/¥" 
 'If `Format -x a "{Active}"` == "Ail" ; 
   Format -a AIl "{Active}" ; 
  Else ; 
   Format -a Ail "{Active}" ; 
  End'

What this does: The first Format command, `Format -x a "{Active}"`, emits a string describing the active window’s format attributes. The If statement compares this to a default string of “Ail”: “A” for Auto-indent on, “i” for invisibles off, and “l” for lock-scroll off. Based on the result of that comparison, another Format command is issued to turn the display of invisible characters on or off (Format -a AIl or Format -ia Ail, respectively).

The format attribute strings “Ail” and “AIl” assume the other defaults for the file format attributes are Auto-indent ON and lock-scroll OFF. These are the common defaults, but you can change them by switching the case of the A and L in the format command. For example, if you prefer to not auto-indent, the format attribute strings would be “ail” and “aIl” instead.

- Lee David Rimar

Absoft Corporation

Need information on your Macintosh?

Need some extensive information about your Mac? In AppleLink, press Option - Command - D.

- William Modesitt

Maui Software

 
AAPL
$111.78
Apple Inc.
-0.87
MSFT
$47.66
Microsoft Corpora
+0.14
GOOG
$516.35
Google Inc.
+5.25

MacTech Search:
Community Search:

Software Updates via MacUpdate

LibreOffice 4.3.5.2 - Free Open Source o...
LibreOffice is an office suite (word processor, spreadsheet, presentations, drawing tool) compatible with other major office suites. The Document Foundation is coordinating development and... Read more
CleanApp 5.0.0 Beta 5 - Application dein...
CleanApp is an application deinstaller and archiver.... Your hard drive gets fuller day by day, but do you know why? CleanApp 5 provides you with insights how to reclaim disk space. There are... Read more
Monolingual 1.6.2 - Remove unwanted OS X...
Monolingual is a program for removing unnecesary language resources from OS X, in order to reclaim several hundred megabytes of disk space. It requires a 64-bit capable Intel-based Mac and at least... Read more
NetShade 6.1 - Browse privately using an...
NetShade is an Internet security tool that conceals your IP address on the web. NetShade routes your Web connection through either a public anonymous proxy server, or one of NetShade's own dedicated... Read more
calibre 2.13 - Complete e-library manage...
Calibre is a complete e-book library manager. Organize your collection, convert your books to multiple formats, and sync with all of your devices. Let Calibre be your multi-tasking digital librarian... Read more
Mellel 3.3.7 - Powerful word processor w...
Mellel is the leading word processor for OS X and has been widely considered the industry standard since its inception. Mellel focuses on writers and scholars for technical writing and multilingual... Read more
ScreenFlow 5.0.1 - Create screen recordi...
Save 10% with the exclusive MacUpdate coupon code: AFMacUpdate10 Buy now! ScreenFlow is powerful, easy-to-use screencasting software for the Mac. With ScreenFlow you can record the contents of your... Read more
Simon 4.0 - Monitor changes and crashes...
Simon monitors websites and alerts you of crashes and changes. Select pages to monitor, choose your alert options, and customize your settings. Simon does the rest. Keep a watchful eye on your... Read more
BBEdit 11.0.2 - Powerful text and HTML e...
BBEdit is the leading professional HTML and text editor for the Mac. Specifically crafted in response to the needs of Web authors and software developers, this award-winning product provides a... Read more
ExpanDrive 4.2.1 - Access cloud storage...
ExpanDrive builds cloud storage in every application, acts just like a USB drive plugged into your Mac. With ExpanDrive, you can securely access any remote file server directly from the Finder or... Read more

Latest Forum Discussions

See All

Make your own Tribez Figures (and More)...
Make your own Tribez Figures (and More) with Toyze Posted by Jessica Fisher on December 19th, 2014 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
So Many Holiday iOS Sales Oh My Goodness...
The holiday season is in full-swing, which means a whole lot of iOS apps and games are going on sale. A bunch already have, in fact. Naturally this means we’re putting together a hand-picked list of the best discounts and sales we can find in order... | Read more »
It’s Bird vs. Bird in the New PvP Mode f...
It’s Bird vs. Bird in the New PvP Mode for Angry Birds Epic Posted by Jessica Fisher on December 19th, 2014 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »
Telltale Games and Mojang Announce Minec...
Telltale Games and Mojang Announce Minecraft: Story Mode – A Telltale Games Series Posted by Jessica Fisher on December 19th, 2014 [ permalink ] | Read more »
WarChest and Splash Damage Annouce Their...
WarChest and Splash Damage Annouce Their New Game: Tempo Posted by Jessica Fisher on December 19th, 2014 [ permalink ] WarChest Ltd and Splash Damage Ltd are teaming up again to work | Read more »
BulkyPix Celebrates its 6th Anniversary...
BulkyPix Celebrates its 6th Anniversary with a Bunch of Free Games Posted by Jessica Fisher on December 19th, 2014 [ permalink ] BulkyPix has | Read more »
Indulge in Japanese cuisine in Cooking F...
Indulge in Japanese cuisine in Cooking Fever’s new sushi-themed update Posted by Simon Reed on December 19th, 2014 [ permalink ] Lithuanian developer Nordcurrent has yet again updated its restaurant simulat | Read more »
Badland Daydream Level Pack Arrives to C...
Badland Daydream Level Pack Arrives to Celebrate 20 Million Downloads Posted by Ellis Spice on December 19th, 2014 [ permalink ] | Read more »
Far Cry 4, Assassin’s Creed Unity, Desti...
Far Cry 4, Assassin’s Creed Unity, Destiny, and Beyond – AppSpy Takes a Look at AAA Companion Apps Posted by Rob Rich on December 19th, 2014 [ permalink ] These day | Read more »
A Bunch of Halfbrick Games Are Going Fre...
A Bunch of Halfbrick Games Are Going Free for the Holidays Posted by Ellis Spice on December 19th, 2014 [ permalink ] Universal App - Designed for iPhone and iPad | Read more »

Price Scanner via MacPrices.net

Kodak Returns to CES With New Consumer Produ...
Former photography colossus Kodak is returning to CES for the first time in three years where the Kodak booth (#21818 South Hall 1) will showcase a wide range of innovative, imaging-related products... Read more
Invaluable Launches New Eponymously -Named A...
Invaluable, the world’s largest online live auction marketplace, hhas announced the official launch of the Invaluable app for iPad, now available for download in the iTunes App Store. Invaluable... Read more
IDC Reveals Worldwide Mobile Enterprise Appli...
International Data Corporation (IDC) last week hosted the IDC FutureScape: Worldwide Mobile Enterprise Applications and Solutions 2015 Predictions Web conference. The session provided organizations... Read more
Hello Vino Wine App Launches “Safe Ride Home”...
Hello Vino has announced addition of a new “Get a Safe Ride Home” feature in its Food & Drink app with a direct connection to Uber, the technology platform that connects users with rides. The... Read more
DEVON-technologies Releases DEVONthink To Go...
Coeur d’Alene, Idaho based DEVON-technologies, LLC has updated DEVONthink To Go, its mobile companion to DEVONthink, to version 1.5. The update includes an iOS 8 extension, compatibility with the... Read more
The Apple Store offering free next-day shippi...
The Apple Store is now offering free next-day shipping on all in stock items if ordered before 12/23/14 at 10:00am PT. Local store pickup is also available within an hour of ordering for any in stock... Read more
It’s 1992 Again At Sony Pictures, Except For...
Techcrunch’s John Biggs interviewed a Sony Pictures Entertainment (SPE) employee, who quite understandably wished to remain anonymous, regarding post-hack conditions in SPE’s L.A office, explaining “... Read more
Holiday sales this weekend: MacBook Pros for...
 B&H Photo has new MacBook Pros on sale for up to $300 off MSRP as part of their Holiday pricing. Shipping is free, and B&H charges NY sales tax only: - 15″ 2.2GHz Retina MacBook Pro: $1699... Read more
Holiday sales this weekend: MacBook Airs for...
B&H Photo has 2014 MacBook Airs on sale for up to $120 off MSRP, for a limited time, for the Thanksgiving/Christmas Holiday shopping season. Shipping is free, and B&H charges NY sales tax... Read more
Holiday sales this weekend: iMacs for up to $...
B&H Photo has 21″ and 27″ iMacs on sale for up to $200 off MSRP including free shipping plus NY sales tax only. B&H will also include a free copy of Parallels Desktop software: - 21″ 1.4GHz... Read more

Jobs Board

*Apple* Store Leader Program (US) - Apple, I...
…Summary Learn and grow as you explore the art of leadership at the Apple Store. You'll master our retail business inside and out through training, hands-on experience, Read more
Project Manager, *Apple* Financial Services...
**Job Summary** Apple Financial Services (AFS) offers consumers, businesses and educational institutions ways to finance Apple purchases. We work with national and Read more
*Apple* Retail - Multiple Positions (US) - A...
Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
*Apple* Retail - Multiple Positions (US) - A...
Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, you're also the Read more
*Apple* Retail - Multiple Positions (US) - A...
Job Description: Sales Specialist - Retail Customer Service and Sales Transform Apple Store visitors into loyal Apple customers. When customers enter the store, Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.