Article archive
TweetFollow Us on Twitter

Article archive

Winter 91 - SYS 7 Q&A

SYSTEM 7.0 Q & A

MACINTOSH DEVELOPER TECHNICAL SUPPORT

Q When I use the name and vRefNum returned from FindFolder, I always get a fnfErr from OpenRFPerm. Why?

A FindFolder returns both a vRefNum and a DirID. They both must be used to identify the folder. Instead of using OpenRFPerm,which takes only a vRefNum, try HOpenResFile. Avoid using PBHSetVol! (See Technical Note #140 for more information.)

Q We want to use OpenCPicture for higher resolution, not for color per se. Can OpenCPicture in System 7.0 be used with non-Color as well as Color QuickDraw Macintosh computers?

A Yes, with System 7.0, OpenCPicture can be used to create extended PICT2 files from all Macintosh computers. Under System 6.0.7 or later, you must test for 32-Bit QuickDraw before using OpenCPicture. You can do this by calling Gestalt with the gestaltQuickDrawVersion selector. If it returns gestalt32BitQD or greater, then 32-Bit QuickDraw is installed.Q Can the Communications Toolbox be used in a DA? InitCM has to be called and the manual says it should be called only once.

A Yes, it is all right to call CTB Initialization routines from CODE resources. This includes a DRVR, cdev, or INIT.

Q Can I use my 8*24 GC card with System 7.0ßx? I was told the GC misbehaves with any and all nonlinear address mapping, such as System 7.0 and A/UX. Is this true? Can this be fixed with CODE/INIT patch? Is it scheduled to be fixed in the near future?

A The 8*24 GC card software version 1.0 is not intended to run in any environment involving virtual memory management. A VM-compatible version of the GC software will be made available when System 7.0 is final. Until then, the card can be used as a video buffer, and System 7.0 preliminary software might run with VM switched off.Q Under what System 7.0 and System 6.0 conditions is it legal to call the QDError function?

A Under System 7.0, QDError can be called from all Macintosh computers. (System 7.0 supports RGBForeColor, RGBBackColor, GetForeColor, and GetBackColor for all Macintosh computers as well.) On a non-Color QuickDraw Macintosh, QDError always returns a "no error." Under System 6.0, QDError cannot be used for non-Color QuickDraw Macintosh systems.

Q Why do some CopyBits transfer modes produce different results for System 7.0 than for System 6.0?

A Under System 6.0, the srcOr, srcXor, srcBic, notSrcCopy, notSrcOr, notSrcXor, and notSrcBic transfer modes do not produce the same effect for a 16- or 32-bit (direct) pixel map as for an 8-bit or shallower (indexed) pixel map. With Color QuickDraw these classic transfer modes on direct pixel maps aren't color based; they're pixel value based. Color QuickDraw performs logical operations corresponding to the transfer mode on the source and destination pixel values to get the resulting pixel value.For example, say that a multicolored source is being copied onto a black and white destination using the srcOr transfer mode, and both the source and destination are 8 bits per pixel. Except in unusual cases, the pixel value for black on an indexed pixel map has all its bits set, so an 8-bit black pixel has a pixel value of $FF. Similarly, the pixel value for white has all its bits clear, so an 8-bit white pixel has a pixel value of $00. CopyBits takes each pixel value of the source and performs a logical OR with the corresponding pixel value of the destination. Using OR to combine any value with 0 results in the original value, so any pixel value ORed with the pixel value for white results in the original pixel value. Using OR to combine any value with 1 results in 1, so any pixel value ORed with the pixel value for black results in the pixel value for black. The resulting image shows the original image in all areas where the destination image was white and shows black in all areas where the destination image was black.

Take the same example, but this time make the source and destination 32 bits per pixel. The direct- color pixel value for black is $00000000 and the direct-color pixel value for white is $00FFFFFF. CopyBits still performs a logical OR on the source and destination pixel values, but notice what happens in this case. Using OR to combine any source pixel value with the pixel value for white results in white, and using OR to combine any source pixel value with the pixel value for black results in the original color. The resulting image shows the original image in all areas where the destination image was black and shows white in all areas where the destination image was white--roughly the opposite of what you see on an indexed pixel map.

The newer transfer modes addOver, addPin, subOver, subPin, adMax, and adMin work consistently at all pixel depths, and often, though not always, correspond to the theoretical effect of the old transfer modes. For example, the adMin mode works similarly to the srcOr mode on both direct and indexed pixel maps. Also, 1-bit deep source pixel maps work consistently and predictably regardless of the pixel depth of the destination even with the old transfer modes.

Under System Software 7.0, the old transfer modes now perform by calculating with colors rather than pixel values. You'll find that transfer modes like srcOr and srcBic work much more consistently even on direct pixel maps.

Q Is the Macintosh printing architecture different for System 7.0?

A No changes were made to the printing architecture for System 7.0. Printer drivers were revised for System 7.0 to support TrueType, to be completely 32-bit clean, and to fix bugs, but the printing architecture remains the same for System 7.0.Q BitMapToRegion does not work as described in Technical Note #275 for a PixMap with baseAddr = (NuBus address). Which calls support PixMap 32-bit base addressing with pmVersion = 4?

A As of System 7.0ß1, BitMapToRgn cannot handle a bitmap whose base address is in the NuBus TM address space or any bitmap that requires 32-bit addressing. The problem will be fixed for System 7.0's final release. As far as we know, BitMapToRgn is the only call that doesn't yet support 32-bit addressed bitmaps.

Q Can the LaserWriter 7.x driver be used with System 6.0?

A Yes! LaserWriter 7.x is compatible with both System 7.0 and System 6.0. It's still prerelease software, however. Do not ship the preliminary LaserWriter 7.x driver with your application. You'll be able to ship the final LaserWriter 7 driver with your product as soon as System 7.0 is final. To use the new LaserWriter driver with an AppleShare print spooler, you need a special LaserPrep, available on developer CDs and on AppleLink.

Kudos to our readers who care enough to ask us terrific and well-thought-out questions. The answers to these puzzles have been supplied courtesy of our teams of technical gurus; our thanks to all. Special thanks to Pete "Luke Skywalker" Alexander, Jim "Im" Beninghaus, Rich Collyer, Guillermo Ortiz, Forrest Tanaka, and Scott "Zz" Zimmerman for the material in this Q & A column. *

Have more questions? Need more answers? Take a look at the new developer technical library on AppleLink (updated weekly) or the Q & A stack on the disc that comes withdevelop . *

 
AAPL
$459.68
Apple Inc.
+4.56
GOOG
$596.33
Google Inc.
+11.22
MSFT
$30.24
Microsoft Corpora
+0.29
MacNews Search:
Community Search:

Reckless Racing 2 Review
Reckless Racing 2 Review By Greg Dawson on February 3rd, 2012 Our Rating: :: RUBBIN' AND RACIN'iPhone App - Designed for the iPhone, compatible with the iPad The original Reckless Racing game set the bar for down and dirty iOS racing. Reckless Racing 2 has raised the bar even higher.   | Read more »
Five For Friday: Week of February 3
Another week has left us behind along with the first month of the year. As always with the arrival of Friday, we take a few moments to round up five of the most interesting apps and games that we’ve yet to cover in a more extensive form. There will be fun to be had and new recipes to be learnt, amongst other things. Remarks | Read more »
GHOST TRICK: Phantom Detective Review
GHOST TRICK: Phantom Detective Review By Dan Lee on February 3rd, 2012 Our Rating: :: TRICKYUniversal App - Designed for iPhone and iPad Use “Ghost Tricks” to possess objects and solve a murder.   | Read more »
Launch Center Launches New Third Party A...
Launch Center has gotten a major new update that brings new automatic app detection. While the app launched with support for built-in notifications, now the app supports launching third-party apps with specific commands, that can be scheduled to appear as notifications on iPhone and iPod touch. | Read more »
Spy Mouse Feels the Love With New Valent...
EA and Firemint’s Spy Mouse has an update out now that’s designed to be more appropriate for this time of year, with Valentine’s Day coming up. Love is in the air, and while the cats in Agent Squeek’s life are still out to keep him from getting his cheese, everything is a lot more lovey-dovey. The app icon shows not a stern and focused Agent... | Read more »
Panorama 360 Camera Review
Panorama 360 Camera Review By Jennifer Allen on February 2nd, 2012 Our Rating: :: CREATIVEUniversal App - Designed for iPhone and iPad Creating a panoramic image just got a whole lot simpler.   | Read more »
Gravity Lander Review
Gravity Lander Review By Rob Rich on February 2nd, 2012 Our Rating: :: SHORT FLIGHTiPhone App - Designed for the iPhone, compatible with the iPad Get three cosmonauts to land on the surface of Mars safely. It’s significantly harder than it sounds.   | Read more »
Fly With Me!: Flying To The App Store To...
Following a familiar yet addictive path, EA Mobile’s latest release Fly With Me! is an endless runner – or should I say flyer – title. Players take the role of a bird as they avoid hurdles like trees, geysers and Venus fly trap, while they also chomp their way through the many bees in their path. It’s easy to get the hang of with regular taps to... | Read more »
Windosill Review
Windosill Review By Dan Lee on February 2nd, 2012 Our Rating: :: SURREALiPad Only App - Designed for the iPad Explore and solve puzzles in a dream-like world.   Developer: Vectorpark Price: $2.99 Version Reviewed: 1.0.19 Device Reviewed On: iPad | Read more »
Terra Noctis: Free Dreaming Promises Ple...
When I first played Terra Noctis, I came away with an incredibly positive opinion. Sure it had its share of problems. In fact, it had a ton of small ones. However it was still a cool platformer that was well worth the somewhat hefty (comparably) price of $2.99 at the time. The cost has dropped down to $0.99 since then, but even that might be “too... | Read more »
All contents are Copyright 1984-2010 by Xplain Corporation. All rights reserved. Theme designed by Icreon.