TweetFollow Us on Twitter

Mar 90 Letters
Volume Number:6
Issue Number:3
Column Tag:Letters

Related Info: Resource Manager Dialog Manager Notification Mgr

PICT and FCMT Resources

By David E. Smith, Editor & Publisher, MacTutor

Dialog boxes in general and PICT resources in dialogs

Neil Ticktin, Truin Software

Letter to Tron in response to Mousehole report in January, 1990 issue

I ran into the same problem with pictures. The problem lies with ResEdit™’s term of “Send to Back”. It turns out that while editing the item (and this is any item, not just a PICT) in ResEdit, the item must be in front of the other items for the Dialog Manager to think of it as in back of those same items. In ResEdit, “Send to back” means make this item the lower item number, but the Dialog Manager thinks of the frontmost item with the lower number. If you just give your picture the higher item number, it should work fine.

Also, if you are using modal dialogs in either THINK or MPW Pascal or C, it would really pay for you to look into Extender DialogHandler™. It contains over 160 routines which significantly decrease the time required to write support code for completely functional modal dialogs. You can get it or product information from Invention Software (313) 996-8108, but if you call MacTutor’s Mail Order store maybe they’ll be able to get it for with their standard store discount. Also, there is a product review in the January, 1990 issue of MacTutor.

Amusing undocumented feature

Ken Manly

Buffalo Chip Software

Buffalo, NY

Your readers may be amused by an ‘undocumented feature’ that Forrest Tanaka (MacDTS) and I discovered. If you create an Apple menu using ResEdit, there are two ways you can type the apple symbol into the menu title field. If you type control-T, the value stored will be $14, and all will be well.

If you type shift-command-K (which is what Key Caps suggests) you will get a menu which looks and acts like an Apple menu, but it is not recognized by Notification Manager routines (in System 6.x). The first symptom is that when your alarm clock goes off while your application is running, the alarm icon (which should alternate with the apple) never appears. Thanks to Forrest for guessing there was something wrong with my apple, although he had no way of knowing what.

ADB??

Kirk Chase

Anaheim CA

It seems someone did not know what the acronym “ADB” meant in a recent article. “ADB” stands for “Apple’s Desktop Bus”. It was introduced with the new keyboard. It allows the chaining of serial devices such as keyboards, mice, tablets, and so on to the Mac.

If you would like more information on ADB, there is an article by Dave Kelly and David Smith in the March '89 issue. It explains some of the concepts. In their example , they demonstrate some simple communication with the ADB extended keyboard. It also references Tech Note #206. You can more find information on the Apple Desktop Bus in Inside Macintosh Vol. V.

MacFortran subroutines from MPW Assembler

Bob Robinson

Plainfield NJ 07060

One of the first things I needed after buying MPW was a way to get the files from the assembler into a format that could be used as a subroutine by Absoft MacFortran (chemists aren’t instructed in ‘C’ in college or grad school.) MacFortran subroutines can be speeded up dramatically (also true of other languages) by hand-tuning the compiler’s assembly language output. The Fortran program listed below strips out the unneeded bytes from the MPW assembler object file. The resulting file is callable from MacFortran as a subroutine, which can be loaded dynamically or linked in with the main program. Also listed below is a short assembly language Fortran function for compilation by MPW. The function locks down a Mac memory manager handle and returns a pointer. MacFortran expects function results to be returned in register D0, so the subroutine must save the result in D0 before exiting (the toolbox traps used here happen to use D0.) If it’s to be loaded dynamically by MacFortran, the subroutine must preserve A0. Note: makesub displays the subroutine name in the menu bar, to avoid the Fortran TTY window (compile with ‘O’ option.)

*****************************************************************************************
 program makesub

* R.S. Robinson 6/12/89
* Converts MPW Asm ‘.a.o’ files into MacFortran ‘.sub’ files.
* File name is obtained from clipboard.
* Removes 1st 36 bytes, and last 8 bytes (44 bytes smaller)
 implicit none   ! always a good idea
 include toolbx.par! MacFortran toolbox definitions
 integer i,j,toolbx,htoptr,length,scrap_h,scrapptr
 integer*1 subr(16384)  ! can make bigger if needed
 character*6 fname ! subroutine names always ¾ 6 chars long plus ‘.sub’
 logical*4 exists! error checking
 scrap_h=toolbx(NEWHANDLE,0)! needs a dummy handle
 length=toolbx(GETSCRAP,scrap_h,”TEXT”,i)    ! we don’t use i

* funct ‘htoptr’ locks handle & returns 32bit comptble ptr;
* or use toolbox calls: call toolbx(HLOCK,scrap_h);scrapptr=LONG(scrap_h)
 scrapptr=htoptr(scrap_h)
 fname=’’;if (length>6) length=6
 do (i=1,length);fname(i:i)=CHAR(BYTE(scrapptr+i-1));repeat
 call toolbx(HUNLOCK,scrap_h) ! finished with the scrap, release the 
handle
 inquire (file=TRIM(fname)//’.a.o’,exist=exists)
 if (.NOT.exists) stop
 call toolbx(INSERTMENU,toolbx(NEWMENU,20,char(length)//fname),0)
 call toolbx(DRAWMENUBAR) ! show that we found the file
 open(20,file=fname//’.a.o’,form=’unformatted’,recl=1)
 do (i=1,36);read(20,end=100) subr(i);repeat ! skip 1st 36 bytes
 do (i=1,16384);read(20,end=100) subr(i);repeat ! read the ‘.a.o’ file
100close(20);i=i-9 ! ignore last 8 bytes plus loop overrun
 open(20,file=fname//’.sub’,status=’new’,form=’unformatted’,recl=1)
 do (j=1,i);write(20) subr(j);repeat;close(20) ! write ‘.sub’ file
 end

*****************************************************************************************

* Assemble the code below with MPW Asm, then run ‘makesub’ after copying 
‘htoptr’
* to the clipboard in MPW. The ‘makesub’ program will produce a MacFortran-compatible
* subroutine from the MPW ‘a.o’ file. As set up here, ‘makesub’ must 
be in the same
* folder as the ‘.a.o’ file. The MPW command sequence is:
*
*(copy ‘htoptr’ to clipboard, then)
*Asm [pathname:]htoptr.a
*[pathname:]makesub (must remove ‘ apl’ extension from Fortran program)
*
;integer*4 function htoptr(handle)
; R.S. Robinson 6/12/89
; Takes ‘handle’ as argument, returns locked pointer as function result.
; Function results are obtained by MacFortran from register D0.
;
 INCLUDE ‘Traps.a’ ; MPW equates
Start PROC; needed for MPW
HTOPTR: MOVE.L A0,A2 ; preserve A0 for MacFortran
 MOVEA.L4(A7),A0 ; load pointer to ‘handle’ argument
 MOVE.L (A0),A0  ; load ‘handle’
 _MoveHHi ; move handle to top of heap zone
 _HLock ; lock it
 MOVE.L (A0),D0  ; convert to pointer, ready to strip
 _StripAddress   ; it’s now ’32-bit clean;’ result is in D0
 MOVE.L A2,A0    ; restore A0
 RTS    ; all done; return to Fortran
 END

File Comments

John I. Prugh

Tucson, AZ

First of all, I would like to thank you for providing a really informative and high quality journal to those of us interested in using and programming on the Mac. Thanks to you (and people like Richard Clark and Chuck Rusch) all the keys on my Mac’s keyboard work again and the flicker is gone from the screen, and some things make a lot more sense now

Secondly, I have a couple of questions you might be able to answer for me or redirect to someone who can. I would like to write a routine that would enable me to insert new information into the comment field of a file’s Get Info window. As far as I can tell, this data is maintained in resources in the DeskTop file called FCMTs. I can’t find any information regarding FCMTs in Apple’s Inside Macintosh.

Can you tell, me how the DeskTop knows which FCMT belongs to which file? How would I go about updating the FCMT for an arbitrary file without invoking Get Info from the standard Finder File menu.

I also have a question about Desk Accessories. Is it possible for a desk accessory to close itself, or does it always require the user to click on the DA window’s close box? If a DA can close itself, how does it do it?

Once again, thank-you for a good magazine and the worthwhile information you pack into it. (You probably think people say these nice things just so they’ll get a reply )

[Ok, a DA can close itself. As to when, that is up to the DA- Close box, menu selection, etc. You then send a CloseDriver() passing it the driver reference number (This message is passed automatically when the close box is clicked). This will then send your driver a close message. If you are using THINK C, this means the entry point selector will be 4. You then need to close any files, release any memory you may have allocated, delete and dispose of any menu you may of put up (redraw the menu bar afterwards), and dispose of any window you created.

On FCMTs, I will refer you to Technical Note #29. In it, they say the resource are for “reading” only for the Finder’s sake. But they also say that the comments are not preloaded when the DeskTop is opened, so I imagine you might not cause too much trouble. On HFS volumes you call PBGetCatInfo (Read Inside Macintosh Vol. IV, page 155 and Tech Note #69). The comment ID for a file is kept in ioFlXFndrInfo.fdComment and for a folder it is in ioDrFndrInfo.frComment. Then with the Resource Manager, you can open up the desktop file and get the FCMT with that ID. It is just a Pascal string. Typecast it, change it, and follow the procedure outlined in the resource manager to change it. I believe this will change the file comment.-ed]

Speeding Up Development

MacAnalyst 2.0 and MacDesigner 3.0

Excel Software

Excel Software has released upgraded versions of their CASE tools for the Macintosh. MacDesigner can be used to automate the structured design process or document existing software. MacAnalyst automates the process of analyzing complex systems by expressing it in graphic notations. Some of their new features include additions for designing object oriented structure, and an advanced global rename capability. For more information, contact Excel Software at:

P.O. Box 1414

Marshalltown, IA 50158

(515) 752-5359

 
AAPL
$118.93
Apple Inc.
-0.07
MSFT
$48.12
Microsoft Corpora
+0.37
GOOG
$541.03
Google Inc.
+0.66

MacTech Search:
Community Search:

Software Updates via MacUpdate

Skype 7.2.0.412 - Voice-over-internet ph...
Skype allows you to talk to friends, family and co-workers across the Internet without the inconvenience of long distance telephone charges. Using peer-to-peer data transmission technology, Skype... Read more
HoudahSpot 3.9.6 - Advanced file search...
HoudahSpot is a powerful file search tool built upon MacOS X Spotlight. Spotlight unleashed Create detailed queries to locate the exact file you need Narrow down searches. Zero in on files Save... Read more
RapidWeaver 6.0.3 - Create template-base...
RapidWeaver is a next-generation Web design application to help you easily create professional-looking Web sites in minutes. No knowledge of complex code is required, RapidWeaver will take care of... Read more
iPhoto Library Manager 4.1.10 - Manage m...
iPhoto Library Manager lets you organize your photos into multiple iPhoto libraries. Separate your high school and college photos from your latest summer vacation pictures. Or keep some photo... Read more
iExplorer 3.5.1.9 - View and transfer al...
iExplorer is an iPhone browser for Mac lets you view the files on your iOS device. By using a drag and drop interface, you can quickly copy files and folders between your Mac and your iPhone or... Read more
MacUpdate Desktop 6.0.3 - Discover and i...
MacUpdate Desktop 6 brings seamless 1-click installs and version updates to your Mac. With a free MacUpdate account and MacUpdate Desktop 6, Mac users can now install almost any Mac app on macupdate.... Read more
SteerMouse 4.2.2 - Powerful third-party...
SteerMouse is an advanced driver for USB and Bluetooth mice. It also supports Apple Mighty Mouse very well. SteerMouse can assign various functions to buttons that Apple's software does not allow,... Read more
iMazing 1.1 - Complete iOS device manage...
iMazing (was DiskAid) is the ultimate iOS device manager with capabilities far beyond what iTunes offers. With iMazing and your iOS device (iPhone, iPad, or iPod), you can: Copy music to and from... Read more
PopChar X 7.0 - Floating window shows av...
PopChar X helps you get the most out of your font collection. With its crystal-clear interface, PopChar X provides a frustration-free way to access any font's special characters. Expanded... Read more
OneNote 15.4 - Free digital notebook fro...
OneNote is your very own digital notebook. With OneNote, you can capture that flash of genius, that moment of inspiration, or that list of errands that's too important to forget. Whether you're at... Read more

Latest Forum Discussions

See All

7 tips to get ahead of the competition i...
7 tips to get ahead of the competition in Dynasty of Dungeons Posted by Simon Reed on November 28th, 2014 [ permalink ] Playcrab has launched their action-packed new dungeon crawler, Dynasty of Dungeons, today. | Read more »
Monster Strike Review
Monster Strike Review By Campbell Bird on November 28th, 2014 Our Rating: :: BILLIARD STRATEGYUniversal App - Designed for iPhone and iPad Collect monsters and battle by flinging them across the battlefield in this strangely... | Read more »
Proun+ Review
Proun+ Review By Jennifer Allen on November 28th, 2014 Our Rating: :: TWITCHY RACINGUniversal App - Designed for iPhone and iPad Twitchy racing aplenty in Proun+, an enjoyably tricky title.   | Read more »
Lucha Amigos (Games)
Lucha Amigos 1.0 Device: iOS Universal Category: Games Price: $1.99, Version: 1.0 (iTunes) Description: Forget Ninja Turtles, and meet Wrestlers Turtles! Crazier, Spicier and…Bouncier! Sling carapaces of 7 Luchadores to knock all... | Read more »
Record of Agarest War Zero (Games)
Record of Agarest War Zero 1.0 Device: iOS Universal Category: Games Price: $7.99, Version: 1.0 (iTunes) Description: HyperDevbox Holiday Turkey Black Friday Special Pricing! To celebrate the opening of the holiday season HyperDevbox... | Read more »
Raby (Games)
Raby 1.0.3 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0.3 (iTunes) Description: ***WARNING - Raby runs on: iPhone 5, iPhone 5C, iPhone 5S, iPhone 6, iPhone 6 Plus, iPad Mini Retina, iPad Mini 3, iPad 4, iPad Air,... | Read more »
Oddworld: Stranger's Wrath (Games)
Oddworld: Stranger's Wrath 1.0 Device: iOS Universal Category: Games Price: $5.99, Version: 1.0 (iTunes) Description: ** PLEASE NOTE: Oddworld Stranger's Wrath requires at least an iPhone 4S, iPad 2, iPad Mini or iPod Touch 5th gen... | Read more »
Bounce On Back (Games)
Bounce On Back 1.0 Device: iOS Universal Category: Games Price: $2.99, Version: 1.0 (iTunes) Description: | Read more »
Dwelp (Games)
Dwelp 1.0 Device: iOS Universal Category: Games Price: $.99, Version: 1.0 (iTunes) Description: === 50% off for a limited time, to celebrate release === Dwelp is an elegant little puzzler with a brand new game mechanic. To complete a... | Read more »
Make Way for Fat Chicken, from the Maker...
Make Way for Fat Chicken, from the Makers of Scrap Squad Posted by Jessica Fisher on November 26th, 2014 [ permalink ] Relevant Games has announced they will be releasing their reverse tower defense game, | Read more »

Price Scanner via MacPrices.net

Black Friday: Up to $60 off Mac minis, NY tax...
 B&H Photo has new 2014 Mac minis on sale for up to $60 off MSRP as part of their Black Friday sale. Shipping is free, and B&H charges NY sales tax only: - 1.4GHz Mac mini: $449.99 $50 off... Read more
Black Friday: 27-inch 5K iMac for $2299, save...
 B&H Photo continues to offer Black Friday sale prices on the 27″ 3.5GHz 5K iMac, in stock today and on sale for $2299 including free shipping plus NY sales tax only. Their price is $200 off MSRP... Read more
Karalux Announces 24K Gold-Plated iPhone 6
Karalux, a Vietnam-based jewellery firm, has launched a unique 24 karat gold-plated iPhone 6 version with gold-cast monolithic dragon on its back panel. The real 24 karat gold plated enclosure doesn’... Read more
Black Friday: 13-inch 2.6GHz Retina MacBook P...
 B&H Photo has lowered their price for the 13″ 2.6GHz/128GB Retina MacBook Pro to $1159 for Black Friday. That’s $140 off MSRP, and it’s the lowest price for this model (except for Apple’s $1099... Read more
View all the Black Friday sales on our Mac Pr...
We’ve updated our Mac Price Trackers with the latest information on prices, bundles, and availability on systems from Apple’s authorized internet/catalog resellers. View Black Friday sale prices at a... Read more
Black Friday: 11-inch MacBook Air for $779, s...
 Best Buy has lowered their price for the 2014 11″ 1.4GHz/128GB MacBook Air to $779.99 for Black Friday. That’s $120 off MSRP. Choose free shipping or free local store pickup (if available). Sale... Read more
Apple Store Black Friday sale for 2014: $100...
BLACK FRIDAY The Apple Store has posted their Black Friday deals for 2014. Receive a $100 PRODUCT(RED) branded iTunes gift card with the purchase of select Macs, $50 with iPads, and $25 with iPods,... Read more
Black Friday: 15% off iTunes Gift Cards
Staples is offering 15% off $50 and $100 iTunes Gift Cards on their online store as part of their Black Friday sale. Click here for more information. Shipping is free. Best Buy is offering $100... Read more
BEVL Releases Dock Tailored for iPhone 6 and...
Seattle based BEVL has released their first product: an iPhone dock that is divergent in build quality, rock-solid function and visual simplicity to complement the iPhone. BEVL is now accepting... Read more
Black Friday: $150 off 13-inch Retina MacBook...
 Best Buy has 13-inch 2.6GHz Retina MacBook Pros on sale for $150 off MSRP on their online store as part of their Black Friday sale. Choose free shipping or free local store pickup (if available).... Read more

Jobs Board

*Apple* Solutions Consultant (ASC) - Apple (...
**Job Summary** The ASC is an Apple employee who serves as an Apple brand ambassador and influencer in a Reseller's store. The ASC's role is to grow Apple Read more
Senior Event Manager, *Apple* Retail Market...
…This senior level position is responsible for leading and imagining the Apple Retail Team's global event strategy. Delivering an overarching brand story; in-store, 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* Solutions Consultant (ASC) - Apple (...
**Job Summary** The ASC is an Apple employee who serves as an Apple brand ambassador and influencer in a Reseller's store. The ASC's role is to grow Apple Read more
*Apple* Solutions Consultant (ASC) - Apple (...
**Job Summary** The ASC is an Apple employee who serves as an Apple brand ambassador and influencer in a Reseller's store. The ASC's role is to grow Apple Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.