Status
Screenshots
Download
Mailing List
List Archive
Quesa Forum
Todo
Bug List
CVS Server
API Reference
Documentation
Building Quesa
LGPL License
Carbon Dating
Contributors
Quesa Logo
Links
|
|
Carbon Dating
At their 1999 WWDC conference, Apple removed the QD3D API from the list of
technologies they planned to support under Carbon (the subset of the Mac OS
Toolbox available to native Mac OS X applications).
One of the main goals of Quesa was therefore to produce a Carbon-compatible
implementation of the QD3D API. This was achieved shortly before WWDC 2000,
and the week after the conference Quesa was successfully built as a Carbon
library on Mac OS X DP4.
For historical interest, a report from Apple's Carbon Dater tool on the Quesa
library is shown below (this reported was generated with a build of Quesa after
around 3 months of development, when all the Mac OS specific code that would
require carbonisation had been implemented).
Note that the DMRegisterNotifyProc and DMRemoveNotifyProc are the only calls
which were actually present in the Quesa source (so the true "Supported" figure
was actually 95.6%). The remaining items were generated by the Metrowerks MSL
library, and disappear in more recent versions of CodeWarrior.
Carbon CompatibilityReport
|
Report for: Quesa
|
Report date: 7/23/99
|
|
File Creator: ????
|
Data gathered by analyzer version: 1.2
|
|
File Type: shlb
|
Data gathered on: 7/23/99
|
Summary
Analysis of Imports
Supported with Modifications
Common OS Services
Display Manager
With the exception of certain obsolete or 68K-specific functions, Carbon will support the Display Manager. Functions that take a univeral procedure pointer may need to be modified however.
DMRegisterNotifyProc
DMRemoveNotifyProc
Hardware Interfaces
Device Manager
Carbon does not support the Device Manager as an interface for installing or interacting with device drivers. However, you can continue to use the PBRead and PBWrite functions (and their variants) for reading and writing to open files.
In Mac OS X, code that communicates directly with hardware devices must use the IOKit API. Other types of code that have relied on the Device Manager interface in the past (such as desk accessories) should be converted into applications.
Note: The Serial Driver will be supported through a new set of functions similar to PBOpen, PBControl, PBStatus, etc., but specific to serial communication.
PBReadAsync
This function is only supported for reading from open files.
PBReadSync
This function is only supported for reading from open files.
PBWriteAsync
This function is only supported for writing to open files.
PBWriteSync
This function is only supported for writing to open files.
Unsupported API
Carbon Core
Mixed Mode Manager
Mac OS X will not run 68K code. However, Carbon will support universal procedure pointers (UPPs) transparently, so you do not have to change them or remove them from your code. You may want to keep Mixed Mode Manager calls in your application to maintain compatibility with the current version of the Mac OS. Mixed Mode Manager calls from Carbon applications running on Mac OS 8 will function normally.
DisposeRoutineDescriptor
Use a specific UPP disposal routine; e.g., use Dispose ControlDefinitionProc instead of the more general function DisposeRoutineDescriptor.
NewRoutineDescriptor
Applications should use ProcPtrs for their own code and plug-ins, and use the system-supplied UPP creation functions (such as NewModalFilterProc) for Toolbox callback UPPs. You still need to dispose of those UPPs using DisposeRoutineDescriptor, so that any allocated memory can be cleaned up when your application is running on Mac OS 8.
Analysis of Access to Low Memory Addresses
| Address |
Access Type |
Located in Function |
Comments |
No Invalid Access Detected
Analysis of Resources Loaded into System Heap
No resources loaded into system heap.
|