TweetFollow Us on Twitter

August 92 - KON & BAL'S PUZZLE PAGE

KON & BAL'S PUZZLE PAGE

AN OFF-COLOR PUZZLE

KONSTANTIN OTHMER AND BRUCE LEAK

[IMAGE 123-125_Puzzle_Page_rev1.GIF]

See if you can solve this programming puzzle, presented in the form of a dialog between Konstantin Othmer (KON) and Bruce Leak (BAL). The dialog gives clues to help you. Keep guessing until you're done; your score is the number to the left of the clue that gave you the correct answer. These problems are supposed to be tough. If you don't get a high score, at least you'll learn interesting Macintosh trivia.

100 BAL This guy has this program that leaves all the palette colors messed up after his program quits.

KON Yeah, I've seen it. He's probably got version 1.0 of that KeithPaint program.

90 BAL This is something he wrote with MPW C, and he spent days debugging his code with SADE. He's sure it's not his problem.

KON Sounds like some kind of Palette Manager nastiness.

80 BAL He sends you a copy and it works fine on your machine.

KON Which system is he running? How many monitors does he have?

75 BAL You're both running 6.0.7 on a Macintosh fx with one Apple 13-inch color monitor.

KON That's a nice programming environment. Why doesn't he upgrade to System 7 and buy himself a real monitor?

70 BAL Well, he has System 7 on a Macintosh Quadra with a 16-inch color monitor for reading NetNews and watching QuickTime movies. But the bug doesn't happen on that machine.

KON So it must be some INIT conflict. What's he got, ColorDesk or something?

65 BAL Nope, happens without any INITs.

KON He's using the Color Manager and calling some nasty thing like SaveEntries or RestoreEntries, and he isn't MultiFinder compatible. I tell him to use the Palette Manager.

60 BAL He's using the Palette Manager, and he's totally MultiFinder friendly.

KON Sounds impossible. I swap motherboards with him.

55 BAL Still happens, just on his machine. If you swapped hard drives it would happen on yours.

KON It's got to be some kind of GDevice color table thing. I check the GDevice color table before and after running his program.

BAL Wait a second. Who has which hard drive?

KON I have mine, he has his.

50 BAL The color tables are different on his GDevice, but the same on yours.

KON Well, who restores the color table? PaletteMgrExit or something like that, right?

45 BAL The Palette Manager changes the color environment only when a window with an associated palette comes to the front. This method assumes that people who need colors request them, and people who don't request colors don't care enough to affect the color environment. Unfortunately, with this approach to color management, when an application that's Palette Manager intensive quits, and an application such as the Finder which has no intensive color demands comes to the front, you're stuck with the nonstandard color state of the application that just quit. In 32-Bit QuickDraw David Van Brink extended the Palette Manager to include a routine called PaletteMgrExit. This routine is called automatically for you when your application quits, thus restoring the default color state.

KON Don't you have the same problem when twitching between layers? If you twitch to the Finder and the other application is still running, you'll be stuck with the nonstandard color state too.

40 BAL Yeah, but there's still an application around that needs those colors, and you can potentially see that application's documents, so it's a good bet to keep them. No one is specifically asking for the standard colors, and someone wants the others, so why not keep them around? If you twitch to another application that had palettes, obviously its color needs will be satisfied.

KON So in effect you start out with a default color world, and you launch an application that twists the colors to the demands of a particular document you're viewing or editing. Upon quitting that application your machine is left in some nonstandard color state. So PaletteMgrExit cleans up the mess.

35 BAL That's basically it, but just going back to the default color environment when an application quits isn't sufficient. PaletteMgrExit reverts to the default color set modified to accommodate the application coming to the front.

KON I set an ATB on PaletteMgrExit and see if it gets called.

30 BAL It's called on your machine, but not his.

KON Well, ExitToShell is supposed to call it, and it's hard to call ExitToShell wrong, so there must be some system problem.

25 BAL Welcome to the Puzzle Page, KON. Maybe this would be an excellent opportunity to fire up one of those many fine Macintosh debugging environments, Mr. MacsBug.

KON Clearly _ExitToShell is different. So I list ExitToShell with MacsBug and see who's there.

20 BAL It's in RAM.

KON I see whose heap it's in using HZ.

15 BAL It's above all heaps.

KON So it's in MultiFinder memory. He must be running an old version of MultiFinder that doesn't know about PMgrExit.

10 BAL Yeah, you know that SetAside MultiFinder they still ship with SADE?

KON Version 6.1b9. Sounds like they never really finished it.

5 BAL Well, my hero Phil Goldman broke off the sources to add that SetAside stuff, but it was never shipped as an official Apple release, since System 7 was just around the corner. SADE needed that feature because they twitch in some weird way. So they're sort of stuck using that version, while the rest of the world moves on. And they keep shipping that old MultiFinder for those last two, die-hard, System 6 developers. System 7 SADE users don't have this problem.

KON Nasty.

BAL Yeah.

KONSTANTIN OTHMER AND BRUCE LEAKBetween vacations, KON and BAL often find themselves under a lot of pressure to catch up on their work load. When BAL gets himself in too deep, he calls

KON in for assistance. They try to hash out their puzzling problems at Apple's Fitness Center---although

KON admits to having trouble staying focused, due to what we can only call his "wandering eye." When not working on Puzzle Pages and develop  articles,

KON and

BAL actually write software. As a follow-on to their previous QuickDraw and QuickTime successes, look for QuickFit, featuring QuickTime-based exercise videos and QuickBuf protein powder. You read it here first! *

SCORING

  • 90-100 So you're still using System 6 with SADE? Upgrade to System 7 immediately!
  • 60-80 Do you swear to tell the truth, the whole truth, and nothing but the truth?
  • 35-55 Good job. Next time you're in L.A., try out for "Jeopardy."
  • 5-30 Hey, we're with you! MacsBug users through and through. *

Thanks to Sean Callahan, Scott Douglass, and David Van Brink for reviewing this column.*

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Latest Forum Discussions

See All

Dispatch is bringing its superhero shena...
If you were anywhere online last year, then you would have no doubt heard of Dispatch, and been flooded with videos of it. With its star-studded cast and unrelenting humour, it fast became a hit, racking up over four million downloads. And it is a... | Read more »
5 reasons to sink your teeth into VAMPIR...
On October 28, Netmarble will globally launch VAMPIR, its latest and most macabre MMORPG, plunging players into a Gothic world of vampires, sorcerers and cursed creatures of the night. Built around blood, fear and large scale battles, the MMORPG... | Read more »
Gundam Blitz Order opens registration fo...
It would appear that video game developers are delving into my childhood and making idle games from my favourite TV shows. First, Bandai completely whiffed with Digimon Up, perhaps the single biggest miss of a beloved franchise in recent memory. Now... | Read more »
The Traitors Interactive Game lets you l...
With the second season of The Celebrity Traitors in full swing, the world is once more enthralled by just how good a liar our heroes are. I don’t watch it, but I hope James Blunt wins. The premise does intrigue me, however, and thanks to Fusebox... | Read more »
Dissidia Duellum Final Fantasy brings in...
For all his successful manipulations and successes through Final Fantasy 9, I never really liked Kuja. And it's not like I dislike him; more I nothing him. But that's just me; the vast majority of the fandom adore him, and they are in luck, for Kuja... | 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 »
Sky Patrol (Games)
Sky Patrol 1.0.1 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0.1 (iTunes) Description: 'Strategic Twist On The Classic Shooter Genre' - Indie Game Mag... | Read more »
The Princess Bride - The Official Game...
The Princess Bride - The Official Game 1.1 Device: iOS Universal Category: Games Price: $3.99, Version: 1.1 (iTunes) Description: An epic game based on the beloved classic movie? Inconceivable! Play the world of The Princess Bride... | Read more »

Price Scanner via MacPrices.net

Amazon Offers 14″ M5 Pro MacBook Pro for $206...
Amazon is offering another opportunity to save on Apple’s 14-inch M5 Pro MacBook Pro, with new offers on the Space Black configuration with 24GB RAM and a 1TB SSD starting at just $2069.10. Apple... Read more
Amazon Takes $900 Off 16″ M5 Max MacBook Pro,...
Amazon has expanded its latest sale on Apple’s 16-inch M5 Max MacBook Pro, dropping the Space Black configuration with 36GB RAM and a 2TB SSD to just $3499. Apple sells this configuration for $4399,... Read more
B&H Slashes Up to $1400 Off M4 Pro Mac mi...
B&H is offering new clearance discounts on select previous-generation Apple Mac minis, with savings of up to $1400 on high-end M4 Pro configurations. The sale includes the standard M4 Mac mini... Read more
B&H Slashes $400 Off 14″ M5 Pro MacBook P...
B&H has launched a substantial new discount on Apple’s 14-inch M5 Pro MacBook Pro, taking $400 off the Space Black configuration with 24GB RAM and a 1TB SSD. Regularly priced at $2499, the 14-... Read more
Take $50 off iPad at Amazon, prices start at...
Amazon again has 11th-generation A16 WiFi iPads in stock on sale for $50 off MSRP, starting at $399. Shipping is free: – 11″ 11th-generation 128GB WiFi iPads: $399 $50 off MSRP – 11″ 11th-generation... Read more
Amazon Lowers 13″ M5 MacBook Air to $1149, No...
Amazon has increased its discounts on Apple’s 13-inch M5 MacBook Air, dropping the standard 16GB/512GB configuration to just $1149. Apple sells this configuration for $1299, so Amazon’s latest price... Read more
Amazon and B&H Slash Mac mini Prices, M6...
Amazon and B&H are offering new discounts on Apple’s M6 and M5 Pro Mac minis, with savings reaching $149.01 and prices starting at just $779. Configuration Apple MSRP Retailer Sale Price Savings... Read more
Amazon Takes Up to $150 Off 15″ M5 MacBook Ai...
Amazon has launched new discounts on Apple’s 15-inch M5 MacBook Airs, with savings of up to $150 and prices starting at just $1399. Configuration Apple MSRP Amazon Price Savings 15″ M5 16GB/512GB $... Read more
Amazon Takes Up to $150 Off 13″ M5 MacBook Ai...
Amazon has launched a new round of discounts on Apple’s 13-inch M5 MacBook Airs, with savings of up to $150 and prices starting at just $1199. Configuration Apple MSRP Amazon Price Savings 13″ M5... Read more
Verizon Launches iPhone Duo Pre-Orders With N...
Verizon has opened pre-orders for Apple’s new iPhone Duo, the company’s first foldable iPhone, with prices starting at $1999.99 and a new no-trade-in promotion available through its Simplicity Plan.... Read more

Jobs Board

All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.