TweetFollow Us on Twitter

October 90 - Macintosh Q&A

Macintosh Q & A

MACINTOSH DEVELOPER TECHNICAL SUPPORT

QI am confused about the service routines and data areas passed in the _ADBOp call. What does it all mean?

A That 's a good question. The ADBOp call looks like this:

FUNCTION ADBOp (data:Ptr; compRout:ProcPtr; buffer:Ptr;
    commandNum:INTEGER) : oserr;

data is a pointer to the "optional data area." This area is provided for the use of the service routine (if needed).

compRout is a pointer to the completion or service routine to be called when the _ADBOp command has been completed. It has the same meaning as the service routine passed to the _SetADBInfo call.

buffer is a pointer to a Pascal string, which may contain 0 to 8 bytes of information. These are the 2 to 8 bytes that a particular register of an ADB device is capable of sending and receiving.

commandNum is an integer that describes the command to be sent over the bus.

There is some confusion over the way the completion routines are called from _ADBOp. You can call these routines in one of three ways, depending on what you want to do:If you do not wish to have a completion routine called, as in a Listen command, pass a NIL pointer to _ADBOp.

If you wish to call the routine already in use by the system for that address (as installed by _SetADBInfo), call _GetADBInfo before calling _ADBOp, and pass the routine pointer returned by _GetADBInfo to _ADBOp.

If you wish to provide your own completion routine and data area for the _ADBOp call, simply pass your own pointers to the _ADBOp call.

Remember, there should rarely be a reason to call _ADBOp. Most cases are handled by the system's polling and service request mechanism. In the cases where you must call _ADBOp, don't do it in a polling fashion, but as a mechanism for telling the device something (for example, telling the device to change modes or, in the case of the extended keyboard, to turn an LED on or off).

QThe AppleTalk spec claims a data rate of 230.4 kbaud, which should require a 3.6864 MHz input to the SCC, but RTxCB on the Macintosh carries a 3.672 MHz clock. How does the AppleTalk driver reconcile this discrepancy and what frequency should I use?

A The SCC contains a phase-locked loop that can lock on and synchronize with AppleTalk transmissions whose clock rates are not exactly to specifications, so everything is fine as long as both ends of the communication are using approximately the same clock frequency. If you are designing your own AppleTalk hardware from scratch, it's easiest to use a 3.6864 MHz oscillator and a Z8530. This has been tested and works just fine.

QWhen I fill in the fields of MPW's Name Binding Protocol (NBP) EntityName structure, AppleTalk doesn't recognize the entity, even though I know it's out there. What's going on?

A The real definition of EntityName is three PACKED strings of any length (32 is just an example). No offsets for Asm are specified since each string address must be calculated by adding the length byte to the last string ptr. In Pascal, string(32) will be 34 bytes long (fields never start on an odd byte unless they are only 1 byte long). So correct-looking interfaces for Pascal and C will be generated, but they won't be the same, which is OK since they aren't used.

The point here is that you should never try to access the fields of the EntityName field directly. The only reason the type is defined at all is so that you can allocate EntityName variables that will hold the largest possible EntityName. To fill in an EntityName record, you should call the NBPSetEntity routine.QHow do I determine which language is in use on the system?

A Every language has a corresponding KCHR resource. Inside Macintosh, volume I, page 499, lists the currently defined country codes, which are the resource IDs of the KCHR resources.

To find out which KCHR is in use, call the Script Manager function GetScript with the verb smScriptKeys. This call returns the ID of the KCHR resource in use (not the ID of the KEYC resource, as stated in Inside Macintosh, volume V, page 312).

Here's a bit of C code that determines which KCHR is being used:

#include <script.h>
...
kchrID = GetScript(smRoman, smScriptKeys);

kchrID will be 1 when booted in French, 2 when booted in British English, and so on.

QWhen I use DeleteRevision to remove old revisions from my Projector database, the actual size of the ProjectorDB file doesn't decrease much. How can I make the file smaller?

A Projector does not currently compact files. What it does is mark the areas of the database that are now free and put them into a free page list. This effectively puts holes into your database, holes that are subsequently filled up when you add more revisions.

Your database will get smaller only if the free pages are at the end of the file; then Projector will shrink the file. However, there is very little you can do about controlling this situation. If you absolutely must have a smaller database, then all you can do is check everything out, orphan the files, and create a new database. The disadvantage of this method is that you lose all your revisions and revision comments.

The Projector team is aware of the need to compact the database. The team is currently studying the feasibility of adding such a function.

QHow does MultiFinder decide the starting order when you set multiple applications to start up under MultiFinder with Set Startup? Is there any way to control the order?

A Here's the lowdown on MultiFinder application startup procedures.

From the Finder, launch, in order, application A, application B, and then application C. Switch to the Finder, choose Set Startup, and select Open Applications and DAs. The launch order is now application C, then application B, then application A. Regardless of the type of view from the Finder, the startup order is from top to bottom, respectively.

If you'rereally interested, the Finder Startup file in the System Folder contains the applications and files to be launched and the order in which they should be launched. This file contains a 'fndr' ID = 0 resource that stores the applications and their pathnames. The applications are launched in the order in which they are listed. You can use ResEdit to view the resource and see the filenames, the VRefNums, and the volume names of the startup applications. You can also tell the number of startup applications by the number at the beginning of the resource (that is, 0000 0001 means one item).

Remember, however, that this informmation is valid only for pre-System 7.0 MultiFinder environments.

 

Community Search:
MacTech Search:

Software Updates via MacUpdate

Latest Forum Discussions

See All

The Legend of Heroes: Trails of Cold Ste...
I adore game series that have connecting lore and stories, which of course means the Legend of Heroes is very dear to me, Trails lore has been building for two decades. Excitedly, the next stage is upon us as Userjoy has announced the upcoming... | Read more »
Go from lowly lizard to wicked Wyvern in...
Do you like questing, and do you like dragons? If not then boy is this not the announcement for you, as Loongcheer Game has unveiled Quest Dragon: Idle Mobile Game. Yes, it is amazing Square Enix hasn’t sued them for copyright infringement, but... | Read more »
Aether Gazer unveils Chapter 16 of its m...
After a bit of maintenance, Aether Gazer has released Chapter 16 of its main storyline, titled Night Parade of the Beasts. This big update brings a new character, a special outfit, some special limited-time events, and, of course, an engaging... | Read more »
Challenge those pesky wyverns to a dance...
After recently having you do battle against your foes by wildly flailing Hello Kitty and friends at them, GungHo Online has whipped out another surprising collaboration for Puzzle & Dragons. It is now time to beat your opponents by cha-cha... | Read more »
Pack a magnifying glass and practice you...
Somehow it has already been a year since Torchlight: Infinite launched, and XD Games is celebrating by blending in what sounds like a truly fantastic new update. Fans of Cthulhu rejoice, as Whispering Mist brings some horror elements, and tests... | Read more »
Summon your guild and prepare for war in...
Netmarble is making some pretty big moves with their latest update for Seven Knights Idle Adventure, with a bunch of interesting additions. Two new heroes enter the battle, there are events and bosses abound, and perhaps most interesting, a huge... | Read more »
Make the passage of time your plaything...
While some of us are still waiting for a chance to get our hands on Ash Prime - yes, don’t remind me I could currently buy him this month I’m barely hanging on - Digital Extremes has announced its next anticipated Prime Form for Warframe. Starting... | Read more »
If you can find it and fit through the d...
The holy trinity of amazing company names have come together, to release their equally amazing and adorable mobile game, Hamster Inn. Published by HyperBeard Games, and co-developed by Mum Not Proud and Little Sasquatch Studios, it's time to... | Read more »
Amikin Survival opens for pre-orders on...
Join me on the wonderful trip down the inspiration rabbit hole; much as Palworld seemingly “borrowed” many aspects from the hit Pokemon franchise, it is time for the heavily armed animal survival to also spawn some illegitimate children as Helio... | Read more »
PUBG Mobile teams up with global phenome...
Since launching in 2019, SpyxFamily has exploded to damn near catastrophic popularity, so it was only a matter of time before a mobile game snapped up a collaboration. Enter PUBG Mobile. Until May 12th, players will be able to collect a host of... | Read more »

Price Scanner via MacPrices.net

Apple is offering significant discounts on 16...
Apple has a full line of 16″ M3 Pro and M3 Max MacBook Pros available, Certified Refurbished, starting at $2119 and ranging up to $600 off MSRP. Each model features a new outer case, shipping is free... Read more
Apple HomePods on sale for $30-$50 off MSRP t...
Best Buy is offering a $30-$50 discount on Apple HomePods this weekend on their online store. The HomePod mini is on sale for $69.99, $30 off MSRP, while Best Buy has the full-size HomePod on sale... Read more
Limited-time sale: 13-inch M3 MacBook Airs fo...
Amazon has the base 13″ M3 MacBook Air (8GB/256GB) in stock and on sale for a limited time for $989 shipped. That’s $110 off MSRP, and it’s the lowest price we’ve seen so far for an M3-powered... Read more
13-inch M2 MacBook Airs in stock today at App...
Apple has 13″ M2 MacBook Airs available for only $849 today in their Certified Refurbished store. These are the cheapest M2-powered MacBooks for sale at Apple. Apple’s one-year warranty is included,... Read more
New today at Apple: Series 9 Watches availabl...
Apple is now offering Certified Refurbished Apple Watch Series 9 models on their online store for up to $80 off MSRP, starting at $339. Each Watch includes Apple’s standard one-year warranty, a new... Read more
The latest Apple iPhone deals from wireless c...
We’ve updated our iPhone Price Tracker with the latest carrier deals on Apple’s iPhone 15 family of smartphones as well as previous models including the iPhone 14, 13, 12, 11, and SE. Use our price... Read more
Boost Mobile will sell you an iPhone 11 for $...
Boost Mobile, an MVNO using AT&T and T-Mobile’s networks, is offering an iPhone 11 for $149.99 when purchased with their $40 Unlimited service plan (12GB of premium data). No trade-in is required... Read more
Free iPhone 15 plus Unlimited service for $60...
Boost Infinite, part of MVNO Boost Mobile using AT&T and T-Mobile’s networks, is offering a free 128GB iPhone 15 for $60 per month including their Unlimited service plan (30GB of premium data).... Read more
$300 off any new iPhone with service at Red P...
Red Pocket Mobile has new Apple iPhones on sale for $300 off MSRP when you switch and open up a new line of service. Red Pocket Mobile is a nationwide MVNO using all the major wireless carrier... Read more
Clearance 13-inch M1 MacBook Airs available a...
Apple has clearance 13″ M1 MacBook Airs, Certified Refurbished, available for $759 for 8-Core CPU/7-Core GPU/256GB models and $929 for 8-Core CPU/8-Core GPU/512GB models. Apple’s one-year warranty is... Read more

Jobs Board

Licensed Practical Nurse - Womens Imaging *A...
Licensed Practical Nurse - Womens Imaging Apple Hill - PRN Location: York Hospital, York, PA Schedule: PRN/Per Diem Sign-On Bonus Eligible Remote/Hybrid Regular Read more
DMR Technician - *Apple* /iOS Systems - Haml...
…relevant point-of-need technology self-help aids are available as appropriate. ** Apple Systems Administration** **:** Develops solutions for supporting, deploying, Read more
Operating Room Assistant - *Apple* Hill Sur...
Operating Room Assistant - Apple Hill Surgical Center - Day Location: WellSpan Health, York, PA Schedule: Full Time Sign-On Bonus Eligible Remote/Hybrid Regular Read more
Solutions Engineer - *Apple* - SHI (United...
**Job Summary** An Apple Solution Engineer's primary role is tosupport SHI customers in their efforts to select, deploy, and manage Apple operating systems and Read more
DMR Technician - *Apple* /iOS Systems - Haml...
…relevant point-of-need technology self-help aids are available as appropriate. ** Apple Systems Administration** **:** Develops solutions for supporting, deploying, Read more
All contents are Copyright 1984-2011 by Xplain Corporation. All rights reserved. Theme designed by Icreon.