Skip to main content
Home Documents Macintosh MPW 3.2 Toolbox Interfaces And Libraries
MPW 3.2 Toolbox Interfaces And Libraries

MPW 3.2 Toolbox Interfaces And Libraries

Macintosh · 1990 · PDF
FilenameMPW_3.2_Toolbox_Interfaces_and_Libraries_199107.pdf
Size2.97 MB
Year1990
Subsection developer / MPW / MPW_3.2
Downloads2
Enjoying MacTrove? Anonymous downloads are free and unlimited. Create a free account to track favorites, contribute metadata corrections, and join the community chat.
Reader
MPW 3.2 Toolbox Interfaces And Libraries
/
Loading…
OCR / Text contents
® Macintosh®Programmer's Workshop Toolbox Interfaces and Libraries Version 7.0 M0615LUB 030-B0 16-A 030-3622-A MPW 3.2 Libraries/Interfaces Release Notes Libraries Changes to the libraries since MPW 3.0 include the elimination of CInterface.o and CRuntime.o, their functionality having been merged into Interface.o and Runtime.o. The libraries have been resegmented so as to reduce the number of modules in segment "main". The MPW 3.2 C libraries conform to the current ANSI C standard. A number of modifications and additions have been made to the set of library functions, including new C-like string functions for Pascal strings and a C function for setting the type and creator on any file. A new library provides for the creating of applications that use a simple text I/O window to display and read console I/O (SlOW). For details, see the MPW 3.2 Simple Input/Output Window Release Notes. Linking Requirements The library CLib881.0 has a new positioning requirement as a consequence of the elimination of CRuntime.o. CLib881.0 must now not only precede all members of {CLibraries} in the link sequence but must also precede the library Runtime.o. Note that XCMDs for Hypercard require linking into one segment. Because of the new segmentation of the library, this will no longer happen automatically. This requirement can be met by putting the option -sg main on the link: command line to force the library routines and your code into a single segment. MPW 3.2 LibrarieslInterfaces Release Notes 1 Copyright Apple Computer, Inc. 1990-1991. All rights reserved. Segmentation The libraries have been resegmented, moving many of the modules out of the segment "Main". The goal of changing the segmentation is to minimize the number of modules in the segment "Main". This way, if the user needs the space in "Main" for his application or tool, he has it. If he is more concerned about speed, the user can then manipulate his makefile to contain whatever he needs in his "Main" segment. • Segment layout LIBRARY Runtlme.o Se&ment Contents MAIN %A5Init INTENV Initialization and exit procedures, 32 bit math operations A5 initialization code, _DataInit, Module #000 1 Low level IOPort functions and I/O which directly calls those functions - done for pc relative offsets Device drivers <.S.tand Alone Devices) SADEV LIBRARY Pasllb.o SelWlent Contents MAIN INTENV Compiler initializations (the functions call Runtime.o) I/O which directly calls segment INTENV in Runtime.o (may change in the future) Pascal language I/O Heap, strings and math functions SIDIO PASLIB LIBRARY StdCLlb.o Contents SIDIO SIDCLm MPW 3.2 LibrarieslInterfaces Release Notes C language I/O All ANSI functions (except I/O) 2 Copyright Apple Computer, Inc. 1990-1991. All rights reserved. LIBRARY Stubs.o Sewent Contents SADEV Device drivers (stubs out the driver functions) LIBRARY DRVRRuntime.o Se&ment Contents MAIN Driver initialization and exit procedures Changes to C Library…

Showing first 3,000 characters of 48,427 total. Open the full document →

Home Documents Macintosh MPW 3.2 Assembler Release Notes
MPW 3.2 Assembler Release Notes

MPW 3.2 Assembler Release Notes

Macintosh · 1990 · PDF
FilenameMPW_3.2_Assembler_Release_Notes_199104.pdf
Size0.39 MB
Year1990
Subsection developer / MPW / MPW_3.2
Downloads2
Enjoying MacTrove? Anonymous downloads are free and unlimited. Create a free account to track favorites, contribute metadata corrections, and join the community chat.
Reader
MPW 3.2 Assembler Release Notes
/
Loading…
OCR / Text contents
030-3626-A MPW 3.2 Assembler Release Notes The following features have been added to the Assembler for version 3.2. • New optimizations. • Longer identifiers. • New parameter and syntax for module directives. • MC68040 support. • "32-Bit Everything" support. • Improved SADE support. • A new macro function : &SYSINMOD New Optimizations The 3.2 Assembler supports optimization of instructions which were previously not optimized. The following additional optimizations are available: ADD ADDA ADDI #<Data>,An #<Data>,An #<Data>,An [-8 <= data <= -1) [-8 <= data <= -1] [-8 <= data <= -1) =====> =====> =====> SUBQ SUBQ SUBQ #-<Data>,An #-<Data>,An #-<Data>,An SUB SUBA SUBI #<Data>,An #<Data>,An #<Data>,An [-8 <= data <= -1] [-8 <= data <= -1] [-8 <= data <= -1] =====> =====> =====> ADDQ ADDQ ADDQ #-<Data>,An #-<Data>,An #-<Data>,An The above optimizations only occur when the Assembler understands the operand to be a negative number. Since the Assembler operates on 32-bit arithmetic, the value of the operand must be written as a negative number in order to activate the optimization. Tiris is necessary regardless of the size (B, W, L) of the instruction. Thus, in a byte operation, the operand must specify "-1" instead of "$FF". even though, un-optimized, they would both compile to the same instruction. MPW 3.2 Assembler Release Notes 1 Copyright Apple Computer, Inc. 1990-1991. All rights reserved. ADDI #<Data>,<EA3> SUBI #<Data>,<EA3> ADD.I #<data>,An =====> =====> [+l <= data <= +8] [-32767 <= data <= +32767] =====> [+l <= data <= +8] ADDQ SUBQ #<Data>,<EA3> #<Data>,<EA3> LEA <Data>(An),An Longer Identifiers The Assembler now suppons identifiers of lengths up to 251 characters (this was done primarily to support C++ name mangling). On detecting a name that exceeds this maximum, the Assembler issues the warning: ID longer than maximum length ... truncating to maximum length. New Parameter and Syntax for Module Directives A new parameter, ForceActi ve, exists for the ccxie module and data mcxiule directives. A new syntax has been provided and error checking for conflicting parameters is in effect. ForceActive ForceActive causes a ccxie or data module to be included in the final linked output even if the Linker would otherwise strip that code or data module because there were no references to it. Syntax For code module directives: Line ::= [label] CodeDir [KeywordList] CodeDir ::= PROC I FUNC I MAIN KeywordList ::=Keyword I KeywordList, Keyword Keyword::= ENTRY I EXPORT I FORCEACTIVE For data module directives: Line ::= [label] RECORD [KeywordList] KeywordList Keyword I KeywordList, Keyword MPW 3.2 Assembler Release Notes 2 Copyright Apple Computer, Inc. 1990-1991. All rights reserved. Keyword::= ENTRY I EXPORT I INCR[EMENT] MAIN I FORCEACTIVE I DECR[EMENT] + Note: The MPW 3.0 Assembler Manual describes MAIN as a parameter for the RECORD directive, but appears to have inadvertently omitted MAIN from the syntax. 6 Import…

Showing first 3,000 characters of 11,709 total. Open the full document →

Home Documents Macintosh MPW 3.0a2 Release Notes
MPW 3.0a2 Release Notes

MPW 3.0a2 Release Notes

Macintosh · 1988 · PDF
FilenameMPW_3.0a2_Release_Notes_198807.pdf
Size32.61 MB
Year1988
Subsection developer / MPW
Downloads2
Enjoying MacTrove? Anonymous downloads are free and unlimited. Create a free account to track favorites, contribute metadata corrections, and join the community chat.
Reader
MPW 3.0a2 Release Notes
/
Loading…
OCR / Text contents
MPW 3.0A2 Release Notes July 14, 1988 Overview This release note pertains to the following MPW products: • MPW Development Environment • MPWPascal •MPWC • MPW Assembler MPW C++ has its own separate release note. This release note, the MPW 3.0 ERS's, and other tool-specific release notes are the documentation for this release. Differences between the ERS, previous 3.0 development releases, and this release are documented below. If no release note exists for something that has an ERS, assume that the piece has been implemented as documented in the ERS. MPW 3.0A2 highlights include a symbolic debugger, project management system, and new C compiler. All of the C pieces of MPW, were compiled with this new C. Since MPW 2.0, the C header files have three important changes: every function has a function prototype, the capitalization for routines that pass strings and points has changed, and the definition of Str255 has changed. The capitalization and Str255 changes will require changes to your C source. See the section below titled ''Interfaces." Another change in MPW 3.0A2 may require a change to your Makefiles. The Pascal compiler no longer uses the Load/Dump mechanism. Instead, the compiled object code for each unit is saved in the unit's resource fork. Therefore, dependency rules (in Makefiles) upon Pascal dump files are obsolete. See the section below titled ''Pascal." The A2 C compiler now has function prototype checking turned on. Furthermore, the C compiler is very strict about type compatibility. Be forewarned ... Installation • Installation horn floppies - MPW 3.0 now includes an installer disk for installing MPW from a set of floppy disks. Here are the steps for automatically installing MPW on your disk: 1) drag the "Installation Folder" onto the hard disk where you want MPW installed 2) launch the MPW Shell found in the ''Installation Folder" Apple Computer, Inc. Confidential Page 1 (the one you just dragged onto your hard disk) 3) the installation script will run and will prompt you to insert a disk in the internal drive. You can insert the MPW disks in any order and it won't hurt to insert a disk more than once. 4) once the installation is complete, throw away the "Installation Folder," and launch the newly installed shell. For those not using the installer script, you will notice that the· configuration of :MPW on the floppies has changed. The files on the disks are in folders that represent their final destination when moved to a hard disk. Pascal, for example, used to be found at the root level of the Pascal disk. Now, however, Pascal will be found in a "Tools" folder on the Pascal disk. This means that there will be duplicate folders across the set of floppies and you won't be able to drag the contents of each floppy onto a hard disk without some conflict. • Installation from Spudsffaters - simply drag the MPW and SADE folders onto your hard disk. Reporting Bugs Please report any bugs you find to the BRC. Please use the latest v…

Showing first 3,000 characters of 500,000 total. Open the full document →

Home Documents Macintosh MPW A5 Driver Runtime Library
MPW A5 Driver Runtime Library

MPW A5 Driver Runtime Library

Macintosh · 1986 · PDF
FilenameMPW_A5_Driver_Runtime_Library_19860612.pdf
Size0.68 MB
Year1986
Subsection developer / MPW
Downloads2
Enjoying MacTrove? Anonymous downloads are free and unlimited. Create a free account to track favorites, contribute metadata corrections, and join the community chat.
Reader
MPW A5 Driver Runtime Library
/
Loading…
OCR / Text contents
4. '• Macintosh Programmer's Workshop AS Driver Runtime Library Writing a Desk Accessory or Device Driver that Uses Global Data. Steve Hartwell June 12, 1986 Revised July 30, 1986 Notice: This documents the ASDRVRRuntime.o library, which is not released with MPW 1.0. For information about writing desk accessories or drivers which don't need global data, use the DRVRRuntime.o library provided with the MPW 1.0 release, and see the MPW manual section on " Writing a Desk Accessory or Other Driver Resource". The A5DRVRRuntime.o library is available internally to Apple engineers; contact the Development Systems Group for more information. Overview. Desk accessories and other drivers have traditionally been written in assembly language, partly because of the peculiar format of the 'DRVR' resource needed for drivers. Setting up the DRVR layout header, passing register-based procedure parameters, and coping with the nonstandard exit conventions of the driver routines has made it fairly difficult to implement drivers in higher-level languages like Pascal or C. The library ASDRVRRuntime.o and the resource type 'DRVW' declared in MPWTypes.r simplifies the task of writing a desk accessory or device driver in Pascal or C. Together they compose the driver layout header and the five entry points which set up the open, prime, status, control, and close functions of a driver. The advantages of using A5DRVRRuntime.o are: • No assembler source is required. • The resource compiler is an integral step in the build process, permitting the easy addition of a desk accessory menu or other owned resources. • The programmer's interface to the open, prime, status, control, and close routines use Pascal calling conventions. Since the C compiler can easily be directed to declare functions which use Pascal calling conventions, the driver header can by used by both languages without additional glue. Each function returns a result code which is passed back to the system. • Previously, desk accessories and drivers have been required to allocate their own storage for global data. A5DRVRRuntime uses the new A5Lib routines which allow access to initialized global data as the languages and assembler support them. • Because access to global data is available, drivers may link with the language libraries, including routines which reference global data (but see note below}. A5DRVRRuntime Library • Internal Release Only Page 2 Drivers have peculiar exit conventions, requiring immediate calls to exit via an RTS instruction, but non-immediate calls to JMP to the IODone routine. The ASDRVRRuntime glue handles the proper exit conventions. Some programming restrictions still apply to non-application code resources such as drivers. Most notably is the restriction against the use of one variety of global data -- global variables which are initialized to procedure pointers. Unfortunately, the 1/0 portions of the language libraries and the Integrated Environment functions use in…

Showing first 3,000 characters of 18,634 total. Open the full document →

Home Documents Macintosh C++ Technical Notes 1 3
C++ Technical Notes 1 3

C++ Technical Notes 1 3

Macintosh · 1988 · PDF
FilenameC++_Technical_Notes_1-3_1988.pdf
Size2.21 MB
Year1988
Subsection developer / MPW
Downloads4
Enjoying MacTrove? Anonymous downloads are free and unlimited. Create a free account to track favorites, contribute metadata corrections, and join the community chat.
Reader
C++ Technical Notes 1 3
/
Loading…
OCR / Text contents
( C++ Technical Notes-Number 1 H. Kanner Development Systems Group 29 February 1988 This is the first of a series of technical notes on the C++ language. Because there is as yet only one book on the language, TM C++ Programming Language by Bjarne Stroustrup, and many sections of the book have been written in a difficult to follow style, I felt that it might be of use to write some notes on various aspects of the language with which I initially had difficulty. By the way, the cited book will be refeITed to here and henceforth as The Book. It has often been said that the ultimate definition of a programming language is the official compiler. That is, the semantics of a piece of source code is really understood by inspecting the output of the compiler. In the case of the AT&T C++ compiler, this task is made easier by the fact that this output is C code. I cannot too strongly recommend to readers that they try to clear up linguistic obscurities by consttucting the simplest possible test cases, running them through cfront, and looking at the output. One warning: do not try this with an inliM function. This fust note deals with references. I anticipate a minimum of two more notes, to be published when I feel I understand the subjects sufticiendy. They will respectively cover constructors and destn1etors, with emphasis on their storage management aspects, and overloaded opezators, with emphasis on the distinction between defining them as TMmbers or friends. I had a little difficulty understanding why references had been introduced into C++. They are an exception to the symmetry of the terrible C notation for declarations, in which one can at least say that operators such as •, Q,_311d Dhave the same meaning when used in a declaration as when used in an expression. That is, char *s; char* t; char c • *t; all use the * to denote dereferencing a pointer. The first of the above three lines should literally be read: "If you were to dereferences, you would get a char." It is ttue that the compiler does not care where the white space is, and Bjame prefers the style of the second line, which he likes to state as "t is a pointer to char," as if char* represented the type "pointer to char." This is very informal. In fact he cautions that if you wril8 ._ chait"* s,t,u; only the first~ dlele will be a poinrer to char; the second two will be declared as char. A reference uses the & symbol. But int& means reference to int, &x means address of x, and neither of int& x; int &x; can be interpreted as "If you were to take the address of x,. you would get an int." ,./ 2 I now whet the reader's interest by making a promise. By the end of this note, I will have illustrated that references make it possible for the following to be perfectly legal C++: int i; f(i) - 10; I introduce references by exploring to the point of tediousness what we really mean when we say int i. The symbol i is regarded as a synonym for the address, to be determined at some fuwre time, of a…

Showing first 3,000 characters of 64,249 total. Open the full document →

Home Documents Macintosh MPW 3.0 Reference Volume 1
MPW 3.0 Reference Volume 1

MPW 3.0 Reference Volume 1

Macintosh · 1988 · PDF
FilenameMPW_3.0_Reference_Volume_1_1988.pdf
Size29.53 MB
Year1988
Subsection developer / MPW
Downloads2
Enjoying MacTrove? Anonymous downloads are free and unlimited. Create a free account to track favorites, contribute metadata corrections, and join the community chat.
Reader
MPW 3.0 Reference Volume 1
/
Loading…
OCR / Text contents
ti® Macintosh® Macintosh Programmer's Workshop 3.0 Reference S APPLE COMPUI'ER, INC. 'J1ili manual and the software described in iI are copyrighted, with all righrs reserved. Under the copyright laws, this manual or the software may not be copied, in whole or part, without written consent of Apple, . except in the normal use of the software or to make a backup copy of the software. The same proprietary and copyright notices must be affixed to any permitted copies as were affixed to the original. 'J1ili exception does not allow copies to be made for others, whether or not sold, but all of the .material pwchased (with all backup copies) may be sold, given, or loaned to another person. Under the law, copying includes translating into another language or format. POSTSCRIPT is a trademark of Adobe Systems Incorporated. Linotronic is a registered trademark of Linotype company. Adobe Illustrator 88 is a trademark of Adobe Systems Incorporated. lmageStudio is a trademark of Esselte Pendaflex Corporation in the United States, of LetraSet Canada Limited in Canada, and of Esselte LetraSet limited elsewhere. Motorola is a trademark of Motorola, Inc. QMS is a registered trademark of QMS, Inc. You may use the software on any UNIX is a trademark of AT&T Bell Laboratories. computer owned by you, but extra copies cannot be made for this purpose. Simultaneously published in the United States and Canada. C 1985-88 Apple Computer, Inc. 20525 Mariani Ave. Cupertino, California 95014 (408) 996-1010 Pascal Compiler C 1982-88 Apple Computer, Inc. e 1981svs,1nc. Apple, the Apple logo, AppleShare, AppleTalk, A/UX, ImageWriier, LaserWriter, Lisa, MacApp, Macintosh, and SANE are registered trademarks of Apple Computer, Inc. MPW, QuickDraw, ResEdit, and SADE are trademarks of Apple Computer, Inc. MacDraw, MacPaint, and MacWriie are registered trademarks of Claris Corporation. Microsoft Wotd is a trademark of Microsoft Corporation. MPW sample programs Apple Computer, Inc. grantS users of the Macintosh Programmer's Workshop a royalty-free license to incorporate Macintosh Programmer's Workshop sample programs into their own programs, or to modify the sample programs for use in their own programs, provided such use is exclusively on Apple computers. For any modified Macintosh Programmer's Workshop sample program, you may add your own copyright notice alongside the Apple copyright notice. Contents Figures and tables xxvii Part I Shell Reference 1 Introduction: The New and the Nec5ary 3 Power tools for Macintosh programmers 5 What's new in MPW 3.0 7 MPWC++ 7 Projector 8 Symbolic Application Debugging Environment (SADE) 8 New or enhanced tools 8 New or enhanced Shell commands 10 New Shell editor capabilities 12 New standard Shell variables 13 Changes to menus and dialogs 14 Miscellaneous Shell changes 14 Numeric libraries 15 MPW Cand MPW C++ Include files 16 MPW Pascal 16 MPW tool libraries 17 What you'll need 17 Hardware and system requirements 17 . System Folder r…

Showing first 3,000 characters of 500,000 total. Open the full document →

Subscribe to MPW
mp.ls