TweetFollow Us on Twitter

Mar 95 Tips
Volume Number:11
Issue Number:3
Column Tag:Tips & Tidbits

Tips & Tidbits

By Scott T Boyd, Editor

Note: Source code files accompanying article are located on MacTech CD-ROM or source code disks.

TIP OF THE MONTH

Set Breakpoints In ROM

About a year ago I wrote a little control panel called AV Turbo ROM. What it does is set an undocumented bit in PRAM that the ROMs of Power Macs and AV class machines (840AV and 660AV) check upon restart. If the bit is set, the ROM is copied down into RAM.

While this may or may not speed up things a little (I’ve listened to several people debate this issue), that’s not why I wrote it. I wrote it because now that the ROM code is in RAM, I can set breakpoints in “ROM” code. This is very handy when debugging or for those times when you are wondering, “how does that work?”

There are a few gotchas to be aware of:

1) Now that the ROM is in RAM, RAM Doubler from Connectix and The Debugger from Jasik Designs won’t work because they expect the ROM code to be where it’s supposed to be. Sorry about that, but remember that AV Turbo ROM is simply a tool to be used in special circumstances, and it’s quite reasonable to expect system products of their nature to make certain assumptions about the ROM.

2) Restarting on a PowerMac sometimes doesn’t work. Here’s the workaround - just hit the reset button again; it usually works the second time.

3) Since the ROM can be written to now, errant code could trash things. It’s too bad that The Debugger can’t help out with it’s memory protection technology, but sometimes it’s worth making the tradeoff.

I’ve been running this for a year and haven’t had any problems, just lots of fun walking through the ROMs. AV Turbo ROM is available on most online services. Here’s one place to get it:

ftp://freebsd.cdrom.com:/.13/mac/umich/system.extensions/cdev/avturborom1.0.cpt.hqx

Another Quick Tip

Do you use TMON Pro? Do you know about trap record? If not, find out. It’s a very useful debugging tool if you are debugging code other than your own.

- Steve Kiene, mindvision@mindvision.com

Copy Bits Quicker

If you are using custom color palettes in combination with lots of calls to CopyBits, you can speed up your graphics routines by making sure that the ctSeed of both the source and destination PixMap’s color tables are the same.

If the ctSeed values are different, QuickDraw will map each color in the source color table to colors in the destination color table, slowing down the CopyBits operation. If the ctSeed values are the same, QuickDraw will assume that both PixMaps use the same color table, and it will simply copy the bits directly. This has the disadvantage that if the palettes are completely different, you will end up with the wrong colors in the destination.

- Jeremy Vineyard, jeremyv@farallon.com

Hey, Finder, Pay Attention!

I have run into several things which change a file’s creator, but the finder doesn’t update the file’s icon right away. The user often has to close and reopen the Finder window to get the proper icons to appear. If your application needs to fiddle with a file’s creator type or other attributes, you can solve the above problem by changing the ioDrMdDat field of your file’s parent directory. This “tricks” the Finder into updating the window.

void ForceFinderToUpdateFileIcon(
 FSSpecPtr theFile) 
{
CInfoPBRectempPB;

if(theFile != 0L)
 {
 tempPB.dirInfo.ioNamePtr = 0L;
 tempPB.dirInfo.ioVRefNum=theFile->vRefNum;
 tempPB.dirInfo.ioFDirIndex = -1;
 tempPB.dirInfo.ioDrDirID = theFile->parID;

 if(PBGetCatInfoSync(&tempPB) == noErr) 
 {
 tempPB.dirInfo.ioDrMdDat = LMGetTime();
 tempPB.dirInfo.ioDrDirID = theFile->parID;
 PBSetCatInfoSync(&tempPB);
 }
 } 
}

- Craig Marciniak
TemplarDev@aol.com

Hot Tip for Hot Keys

One of the things I appreciate in applications is the ability to select buttons with keystrokes (the keyboard shortcut is known as a hotkey). The following code example adds hotkey functionality to alert dialogs and can be easily added to modal dialogs. The next time you use an alert, add AlertKeyProc to the function and you will have instant hotkey functionality. Simply change

 CautionAlert(ALERT_ID, NIL) 

to

 CautionAlert(SAVE_ALERT_ID, AlertKeyProc)
 
#include <Dialogs.h>
#define kEnterKey               3
#define kReturnKey              13
#define kEscapeKey              27

pascal Boolean AlertKeyProc(DialogPtr theDialog, 
  EventRecord *e, short *itemHit)
{
   char         theChar;
   short        num, i, iType;
   Handle       iHandle;
   Rect         iRect;
   Str255       iText;
   long         finalTicks;
 
   switch( e->what )
   {
      case keyDown:
      case autoKey:
         theChar = (e->message & charCodeMask);
         if(theChar == kReturnKey || theChar == kEnterKey)
         {
            *itemHit = 1;
            return( TRUE );
         }
         else if(theChar == kEscapeKey)
         {
            *itemHit = 2;
            return( TRUE );
         }
         else
         {
            num = CountDITL( theDialog );
            for(i=0; i<num; i++)
            {
               GetDItem(theDialog, i, &iType, &iHandle, &iRect);
               if(iType == ctrlItem + btnCtrl)
               {// If the button is a push button
                  GetCTitle((ControlHandle )iHandle, iText);
                  if(theChar == iText[1] || 
                     theChar == tolower(iText[1]))
                  {
                     *itemHit = i;
                     HiliteControl((ControlHandle )iHandle, 1);
                     return( TRUE );
                  }
               }
            }
         }
         break;
   }
   return( FALSE );
}

- Jeff Beeghly, jbeeghly@u.washington.edu

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Backup and Sync 3.46 - File backup and s...
Backup and Sync (was Google Drive) is a place where you can create, share, collaborate, and keep all of your stuff. Whether you're working with a friend on a joint research project, planning a... Read more
iClock 5.5 - Customizable menu bar clock...
iClock replaces the old Apple's default menu bar clock with more features, customization and increases your productivity. Features: Have your Apple or Google calendar instantly available from the... Read more
Garmin Express 6.18.0.0 - Manage your Ga...
Garmin Express is your essential tool for managing your Garmin devices. Update maps, golf courses and device software. You can even register your device. Update maps Update software Register your... Read more
MarsEdit 4.3.5 - Quick and convenient bl...
MarsEdit is a blog editor for OS X that makes editing your blog like writing email, with spell-checking, drafts, multiple windows, and even AppleScript support. It works with with most blog services... Read more
Xcode 11.0 - Integrated development envi...
Xcode includes everything developers need to create great applications for Mac, iPhone, iPad, and Apple Watch. Xcode provides developers a unified workflow for user interface design, coding, testing... Read more
DaisyDisk 4.8 - $9.99
DaisyDisk allows you to visualize your disk usage and free up disk space by quickly finding and deleting big unused files. The program scans your disk and displays its content as a sector diagram... Read more
VMware Fusion 11.5.0 - Run Windows apps...
VMware Fusion and Fusion Pro - virtualization software for running Windows, Linux, and other systems on a Mac without rebooting. The latest version includes full support for Windows 10, macOS Mojave... Read more
Apple Configurator 2.10 - Configure and...
Apple Configurator makes it easy to deploy iPad, iPhone, iPod touch, and Apple TV devices in your school or business. Use Apple Configurator to quickly configure large numbers of devices connected to... Read more
Spotify 1.1.15.448. - Stream music, crea...
Spotify is a streaming music service that gives you on-demand access to millions of songs. Whether you like driving rock, silky R&B, or grandiose classical music, Spotify's massive catalogue puts... Read more
MenuMeters 1.9.8 - CPU, memory, disk, an...
MenuMeters is a set of CPU, memory, disk, and network monitoring tools for Mac OS X. Although there are numerous other programs which do the same thing, none had quite the feature set I was looking... Read more

Latest Forum Discussions

See All

Marvel Strike Force is adding Agent Coul...
Marvel Strike Force, the popular squad-based RPG, is set to receive a bunch of new content over the next few weeks. [Read more] | Read more »
Lots of premium games are going free (so...
You may have seen over the past couple weeks a that a bunch of premium games have suddenly become free. This isn’t a mistake, nor is it some last hurrah before Apple Arcade hits, and it’s important to know that these games aren’t actually becoming... | Read more »
Yoozoo Games launches Saint Seiya Awaken...
If you’re into your anime, you’ve probably seen or heard of Saint Seiya. Based on a shonen manga by Masami Kurumada, the series was massively popular in the 1980s – especially in its native Japan. Since then, it’s grown into a franchise of all... | Read more »
Five Nights at Freddy's AR: Special...
Five Nights at Freddy's AR: Special Delivery is a terrifying new nightmare from developer Illumix. Last week, FNAF fans were sent into a frenzy by a short teaser for what we now know to be Special Delivery. Those in the comments were quick to... | Read more »
Rush Rally 3's new live events are...
Last week, Rush Rally 3 got updated with live events, and it’s one of the best things to happen to racing games on mobile. Prior to this update, the game already had multiplayer, but live events are more convenient in the sense that it’s somewhat... | Read more »
Why your free-to-play racer sucks
It’s been this way for a while now, but playing Hot Wheels Infinite Loop really highlights a big issue with free-to-play mobile racing games: They suck. It doesn’t matter if you’re trying going for realism, cart racing, or arcade nonsense, they’re... | Read more »
Steam Link Spotlight - The Banner Saga 3
Steam Link Spotlight is a new feature where we take a look at PC games that play exceptionally well using the Steam Link app. Our last entry talked about Terry Cavanaugh’s incredible Dicey Dungeons. Read about how it’s a great mobile experience... | Read more »
Combo Quest (Games)
Combo Quest 1.0 Device: iOS Universal Category: Games Price: $.99, Version: 1.0 (iTunes) Description: Combo Quest is an epic, time tap role-playing adventure. In this unique masterpiece, you are a knight on a heroic quest to retrieve... | Read more »
Hero Emblems (Games)
Hero Emblems 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: ** 25% OFF for a limited time to celebrate the release ** ** Note for iPhone 6 user: If it doesn't run fullscreen on your device... | Read more »
Puzzle Blitz (Games)
Puzzle Blitz 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: Puzzle Blitz is a frantic puzzle solving race against the clock! Solve as many puzzles as you can, before time runs out! You have... | Read more »

Price Scanner via MacPrices.net

11″ WiFi iPad Pros on sale today for up to $2...
Amazon has new 2018 Apple 11″ WiFi iPad Pros in stock today and on sale for up to $200 off Apple’s MSRP. These are the same iPad Pros sold by Apple in its retail and online stores. Be sure to select... Read more
Select 12″ iPad Pros on sale for $200 off App...
Amazon has select 2018 Apple 12″ iPad Pros in stock today and on sale for $200 off Apple’s MSRP. These are the same iPad Pros sold by Apple in its retail and online stores. Be sure to select Amazon... Read more
Get one of Apple’s new 2019 iPhone 11 models...
Boost Mobile is offering the new 2019 Apple iPhone 11, iPhone 11 Pro, and 11 Pro Max for $100 off MSRP. Their discount reduces the cost of an iPhone 11 to $599 for the 64GB models, $899 for the 64GB... Read more
13″ 1.4GHz Silver MacBook Pros on sale for $1...
B&H Photo has new 2019 13″ 1.4GHz 4-Core Touch Bar Silver MacBook Pros on sale for $100 off Apple’s MSRP. Overnight shipping is free to many addresses in the US. These are the same MacBook Pros... Read more
4-core and 6-core 2018 Mac minis available at...
Apple has Certified Refurbished 2018 Mac minis available on their online store for $120-$170 off the cost of new models. Each mini comes with a new outer case plus a standard Apple one-year warranty... Read more
$250 prepaid Visa card with any Apple iPhone,...
Xfinity Mobile will include a free $250 prepaid Visa card with the purchase of any new iPhone, new line activation, and transfer of phone number to Xfinity Mobile. Offer is valid through October 27,... Read more
Sprint is offering the 64GB Apple iPhone 11 P...
Sprint has the new 64GB iPhone 11 Pro available for $12.50 per month for new customers with an eligible trade-in in of iPhone 7 or newer. That’s down from their standard monthly lease of $41.67. The... Read more
Final week: Apple’s 2019 Back to School Promo...
Purchase a new Mac using Apple’s Education discount, and take up to $400 off MSRP. All teachers, students, and staff of any educational institution with a .edu email address qualify for the discount... Read more
Save $30 on Apple’s AirPods at these reseller...
Amazon is offering discounts on new 2019 Apple AirPods ranging up to $30 off MSRP as part of their Labor Day sale. Shipping is free: – AirPods with Charging Case: $144.95 $15 off MSRP – AirPods with... Read more
Preorder your Apple Watch Series 5 today at A...
Amazon has Apple Watch Series 5 GPS models available for preorder and on sale today for $15 off Apple’s MSRP. Shipping is free and starts on September 20th: – 40mm Apple Watch Series 5 GPS: $384.99 $... Read more

Jobs Board

*Apple* Mobile App Developer - eiWorkflow So...
…eiWorkflow Solutions, LLC is currently looking for a consultant for the following role. Apple Mobile App Developer Tasks the role will be performing: ? Mobile App Read more
Essbase Developer - *Apple* - Theorem, LLC...
Job Summary Apple is seeking an experienced, detail-minded Essbase developer to join our worldwide business development and strategy team. If you are someone who Read more
Student Employment (Blue *Apple* Cafe) Spri...
Student Employment (Blue Apple Cafe) Spring 2019 Penn State University Campus/Location: Penn State Brandywine Campus City: Media, PA Date Announced: 12/20/2018 Date Read more
Best Buy *Apple* Computing Master - Best Bu...
**732093BR** **Job Title:** Best Buy Apple Computing Master **Job Category:** Store Associates **Location Number:** 001441-Beaumont-Store **Job Description:** The Read more
*Apple* Mobile Master - Best Buy (United Sta...
**733770BR** **Job Title:** Apple Mobile Master **Job Category:** Store Associates **Location Number:** 000376-Benton Harbor-Store **Job Description:** **What does a Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.