mirror of
https://github.com/elliotnunn/boot3.git
synced 2024-12-21 04:29:37 +00:00
5b0f0cc134
Resource forks are included only for .rsrc files. These are DeRezzed into their data fork. 'ckid' resources, from the Projector VCS, are not included. The Tools directory, containing mostly junk, is also excluded.
515 lines
19 KiB
Plaintext
515 lines
19 KiB
Plaintext
;
|
|
; File: MiscPatches.a
|
|
;
|
|
; Contains: Miscellaneous patches that don't fit anyplace else. Currently contains the following patches:
|
|
;
|
|
; Patch to _SynchIdleTime to handle idling for File Manager, Edition Manager, Data Access
|
|
; Manager, and PPC Toolbox.
|
|
;
|
|
; InitApplication and CleanupApplication.
|
|
;
|
|
; Gestalt function for Data Access Manager, Edition Manager,
|
|
; Standard File, and AppleEvent Manager.
|
|
;
|
|
; Copyright: © 1989-1992 by Apple Computer, Inc. All rights reserved.
|
|
;
|
|
; Change History (most recent first):
|
|
;
|
|
; <SM8> 11/3/92 SWC Changed SlotEqu.a->Slots.a and removed INCLUDE of Traps.a.
|
|
; <SM7> 9/3/92 PN Nuke the check for IIci because this is SuperMario.
|
|
; <SM6> 7/14/92 PN Use the real name for PPCTrap
|
|
; <SM5> 5/20/92 TN Moved entry points for Packs 8 ,9, 11, 13, 15 to new files in
|
|
; the folder with the corresponding Pack sources.
|
|
; <SM4> 5/16/92 kc Remove PowerPrivEqu.a include.
|
|
; <SM3> 4/15/92 kc Change bsr to jsr.
|
|
; <SM2> 4/13/92 JSM Roll-in changes from Reality: (note: still need to merge in revision <55>)
|
|
; <56> 4/7/92 JSM Use more specific equates in place of emPackGlobals everywhere.
|
|
; <54> 12/31/91 RB Removed _PowerDispatch trap definition. It is now in Traps.a
|
|
; <53> 12/6/91 YK Added _CleanUpApplicationComponents to CleanupApplication.
|
|
; (Deja VuÉ)
|
|
; <52> 11/21/91 YK Removed _InputUtilsDispatch.
|
|
; <51> 10/28/91 SAM/KSM Rolled in Regatta changes.
|
|
; <3> 6/14/91 SAM (HJR) Using new PowerMgr record names.
|
|
; <1> 5/15/91 SAM Split off from 7.0 GM sources. Added support for power cycling
|
|
; at every few SynchIdle calls (for TIM).
|
|
; <50> 10/23/91 DTY _CleanUpApplication now calls _GetOverrideMap to determine when
|
|
; to stop closing files instead of blindly going on through to the
|
|
; System file.
|
|
; <49> 10/23/91 YK Added _InputUtilsDispatch for the Input Utilities.
|
|
; <48> 10/18/91 JH Fixed dumb error accessing DictionaryMgr handle in
|
|
; DictionaryDispatch
|
|
; <47> 10/17/91 JH Added _DictionaryDispatch for the dictionary manager.
|
|
; <46> 10/17/91 JSM DonÕt use hasPPC conditional.
|
|
; <45> 9/19/91 JSM DonÕt use forNuFinder conditional (this was the only file that
|
|
; used it).
|
|
; <44> 9/18/91 JSM Cleanup header, remove references to hasSplineFonts.
|
|
; <43> 6/12/91 LN removed #include 'HardwareEqu.a'
|
|
; <42> 2/25/91 dnf dfh, #80720,#82672: Give the File Manager some idle time so it
|
|
; can make sure there are enough FCBs available.
|
|
; <41> 2/4/91 CL (MR)Moving the cleanup of TrueTypeª caches into cleanup app from
|
|
; BassPatches for 7.0.
|
|
; <40> 12/14/90 DFH (ksm) DoSevenOhIdle was a head patch to SystemTask. Now it is
|
|
; its own trap, SynchIdleTime, and is called by the Process Mgr at
|
|
; SystemTask and in idle scheduling time.
|
|
; <39> 10/15/90 JSM <stb> Use ppcIdleCmd.
|
|
; <38> 9/21/90 DDG Added a package handler for picture utilities.
|
|
; <37> 9/5/90 ngk Add AppleEventMgr stuff and conditionalizing code more
|
|
; <36> 8/17/90 gbm stop using myHasEditionMgr, since the build system now has its
|
|
; act together
|
|
; <35> 8/6/90 BBH add CommToolbox cleanup code to CleanupApplication as a JSR
|
|
; instead of a patch
|
|
; <34> 7/31/90 DFH Fixed typos in new CleanupApplication code.
|
|
; <33> 7/31/90 DFH Put CleanupApplication's calls in proper sequence. Added Sound
|
|
; Mgr and Resource Mgr cleanups.
|
|
; <32> 7/25/90 PKE In CleanupApplication, call to CleanupScriptApp replaces code
|
|
; that disposed of application itl cache. In InitApplication, add
|
|
; InitScriptApp call to set up application-specific Script Mgr
|
|
; globals (including itl cache). Include ScriptPriv.a.
|
|
; <31> 7/25/90 DFH Include MFPrivate.a to get InitApplication and
|
|
; CleanupApplication.
|
|
; <30> 7/12/90 STB Moved _DispatchHelper & _ProcHelper patch installation code to
|
|
; DispatchHelper.a
|
|
; <29> 7/8/90 JSM Pass in pointer to use count instead of offset when calling
|
|
; _ProcHelper.
|
|
; <28> 7/7/90 JSM Split DispatchHelper and ProcHelper off to {OS}DispatchHelper.a
|
|
; so SixPack can use them, general format cleanup.
|
|
; <27> 7/2/90 PKE Added code to CleanupApplication that disposes of applicationÕs
|
|
; itl2/itl4 cache.
|
|
; <26> 6/20/90 DTY Removed ShutdownMgr.a from MiscPatches and made it a stand-alone
|
|
; 'lpch'
|
|
; <25> 6/19/90 VL Convert various routines for linked patches.
|
|
; <24> 6/13/90 JSM Add include of SlotEqu.a and ROMEqu.a to fix BigBang build after
|
|
; ShutDownMgr.a changes.
|
|
; <23> 6/8/90 ngk Fix bug in PACKHelper, It was trashing A2.
|
|
; <22> 5/31/90 ngk Add gestault selector for StandardFile. Changed PACKHelper to
|
|
; not need a exit proc.
|
|
; <21> 5/2/90 PKE Included 'GestaltPrivateEqu.a' to fix the build. It is now
|
|
; needed for ShutDownMgr.a, which is included here.
|
|
; <20> 4/24/90 S To Include a Call to PPC at System Task Time.
|
|
; <19> 4/20/90 KSM DispatchHelper used to assume that there were no ÒholesÓ in the
|
|
; table, even if they were between the first and last selectors.
|
|
; With a simple branch (I hope), we can keep this from being a
|
|
; problem.
|
|
; <18> 3/20/90 EMT Used smaller (and faster) color quickdraw test.
|
|
; <17> 3/15/90 JSM Do a JMP instead of RTS from PACKHelper to DispatchHelper.
|
|
; <16> 3/10/90 ngk Change Pack11 (Editions Mgr) to use new package dispatcher.
|
|
; Added bit to dispatch flags that means selectors are even
|
|
; numbers.
|
|
; <15> 3/5/90 DVB Only PMgrExit on color machines ha ha
|
|
; <14> 2/26/90 JSM Fix Pack13Entry to check for globals.
|
|
; <13> 2/26/90 JSM Database Access Manager (PACK 13) now uses PACKHelper.
|
|
; <12> 2/24/90 JSM Add support for reentrant locking to PACKHelper.
|
|
; <11> 2/21/90 JSM Tighten up DispatchHelper.
|
|
; <10> 2/20/90 JSM Change DispatchTable format for DispatchHelper, tweak
|
|
; PACKHelper.
|
|
; <9> 2/19/90 JSM Add generic package dispatcher PACKHelper, add PPC Browser as
|
|
; PACK 9.
|
|
; <8> 2/16/90 DVB Add PMgrExit
|
|
; <7> 2/15/90 JSM Add generic dispatcher DispatchHelper.
|
|
; <6> 2/4/90 DNF Add include of FileMgrPrivate.a
|
|
; <5> 1/21/90 ngk Changed gestaltEditionMgr to gestaltEditionMgrAttr
|
|
; <4> 1/12/90 CCH Added include of ÒHardwarePrivateEqu.aÓ.
|
|
; <3> 1/6/90 ngk Use symbolic names for Edition manager calls
|
|
; <2> 1/4/90 JSM Add Gestalt function for 7.0 features.
|
|
; <2.4> 12/11/89 GMR Pulled Sony driver Format patch from this file, now in separate
|
|
; patch file (FormatPatch.a).
|
|
; <2.3> 12/8/89 dnf Reorder equates to make things work
|
|
; <2.2> 11/6/89 csd changed ShutDown Manager trap to point to the ShutDown Manager
|
|
; dispatcher, instead of the ShutDown Manager init code.
|
|
; <2.1> 11/4/89 ngk Added call to DataPublication Quit in _CleanupApp
|
|
; <2.0> 11/2/89 dba fixed ShutDown Manager initialization; I am a bad doggie!
|
|
; <1.9> 10/31/89 dba moved ShutDown Manager here
|
|
; <1.8> 10/16/89 KST Added two traps: InitApplication and CleanUpApplication.
|
|
; <1.7> 10/16/89 CCH Commented out EntryTable entries for InitApplication and
|
|
; CleanupApplication until the extended trap dispatcher is rolled
|
|
; into the big bang build.
|
|
; <1.6> 10/11/89 CCH Added _InitApplication and _CleanupApplication.
|
|
; <1.5> 10/6/89 JSM Patch SystemTask and _Pack13 for SnarfMan.
|
|
; <1.4> 10/1/89 ngk Added DataPublications Idle call to SytemTask chain.
|
|
; <1.3> 8/18/89 CCH Removed definition of onMac32.
|
|
; <1.2> 8/9/89 ngk Added new safer dispatcher for PACK=11 (DataPublications)
|
|
; <1.1> 8/8/89 GMR Fixed conditional testing for new sony driver.
|
|
; <1.0> 8/7/89 GMR Adding for first time to EASE.
|
|
;
|
|
|
|
PRINT PUSH,OFF
|
|
|
|
LOAD 'StandardEqu.d'
|
|
INCLUDE 'LinkedPatchMacros.a'
|
|
INCLUDE 'BTreeEqu.a'
|
|
include 'MMUEqu.a'
|
|
include 'BootEqu.a'
|
|
include 'HardwareEqu.a'
|
|
include 'FileMgrPrivate.a'
|
|
include 'GestaltEqu.a'
|
|
include 'GestaltPrivateEqu.a' ; <21>
|
|
include 'Slots.a' ; <24>
|
|
include 'ROMEqu.a' ; <24>
|
|
include 'EditionsPrivate.a'
|
|
include 'DatabaseAccess.a'
|
|
include 'DispatchHelperPriv.a'
|
|
include 'MFPrivate.a'
|
|
include 'ScriptPriv.a' ; <32>
|
|
include 'ResourceMgrPriv.a'
|
|
include 'PPCPriv.a' ; <39>
|
|
include 'fontPrivate.a' ; <CEL-41>
|
|
include 'universalEqu.a'
|
|
include 'PowerPrivEqu.a'
|
|
|
|
PwrCycCount EQU $AA ; <1>
|
|
|
|
PRINT POP
|
|
|
|
;
|
|
; These patches are installed on all ROM families
|
|
;
|
|
ROMs Plus,SE,II,Portable,IIci
|
|
|
|
|
|
;___________________________________________________________________________________
|
|
;
|
|
; Routine: SynchIdleTime
|
|
;
|
|
; Inputs: none
|
|
;
|
|
; Outputs: none
|
|
;
|
|
; Can destroy: D0-D2,A0-A1
|
|
;
|
|
; Function: Gets called at synchronous idlish time by Process Mgr
|
|
;
|
|
; Calls FileManagerIdleProc to check FCB allocation.
|
|
;
|
|
; Calls _EditionBackGroundTask only if the package is loaded
|
|
; and some edition files are in use.
|
|
;
|
|
; Calls DBIdle only if the Data Access manager globals are allocated.
|
|
;
|
|
; Calls idle routine for PPC Toolbox.
|
|
;
|
|
;___________________________________________________________________________________
|
|
|
|
SynchIdleTimeProc PatchProc _SynchIdleTime
|
|
import FileManagerIdleProc
|
|
|
|
jsr FileManagerIdleProc ; <42>
|
|
|
|
IF hasEditionMgr THEN
|
|
;
|
|
; Check if we need to call _EditionBackGroundTask
|
|
;
|
|
|
|
MOVE.L ExpandMem, A0 ; get expanded memory area
|
|
LEA ExpandMemRec.emDataPub(A0),A0 ; get em globals location
|
|
MOVE.L (A0),D0 ; test if allocated
|
|
BEQ.S @emIdleDone ; if not, no need to do idle
|
|
|
|
MOVE.L D0,A1
|
|
MOVE.L EdtnMgrGlobals.firstPubCB(A1),D0
|
|
CMP.L D0,A0 ; if no pub control blocks
|
|
BEQ.S @emIdleDone ; then done
|
|
MOVE.L EdtnMgrGlobals.nextPollTime(A1),D0 ; if timer has not expired
|
|
CMP.L Ticks,D0 ; then check for DBIdle
|
|
BHI.S @emIdleDone
|
|
|
|
SUBQ #2,SP ; place holder for result
|
|
_EditionBackGroundTask ; call dpBackGroundTask
|
|
TST.W (SP)+ ; ignore result
|
|
@emIdleDone
|
|
ENDIF
|
|
|
|
|
|
IF hasDataAccessMgr THEN
|
|
;
|
|
; Check if we need to call DBIdle
|
|
;
|
|
|
|
MOVE.L ExpandMem, A0 ; get expanded memory area
|
|
MOVE.L ExpandMemRec.emSnarfGlobals(A0), D0 ; get Snarf globals
|
|
BEQ.S @doneDBIdle ; if not allocated no need to do idle
|
|
|
|
SUBQ #2,SP ; place holder for result
|
|
MOVE.W #$00FF,D0 ; actually call DBIdle
|
|
_Pack13
|
|
TST.W (SP)+ ; ignore result
|
|
@doneDBIdle
|
|
ENDIF
|
|
|
|
;
|
|
; always do PPC idle routine
|
|
;
|
|
|
|
MOVEQ #ppcIdleCmd,D0 ; <39> call PPC idle routine
|
|
_PPC ; PPC trap <PN>
|
|
|
|
WITH PMgrRec,PowerDispRec ;
|
|
BRA.S @Done ; <PN> branch always because we are SM ROM
|
|
Testfor hwCbPwrMgr ; do we have a power manager?
|
|
BEQ.S @Done ; no power cycling
|
|
MOVE.L PMgrBase,A0 ; Get the Power Manager Globals
|
|
MOVE.W PwrCycSyncCount(A0),D0 ; Get the number of syncIdle before IdleMind
|
|
ADDI.W #1,PMgrScratch.SyncCounter(A0) ; Increment scratch counter
|
|
CMP.W PMgrScratch.SyncCounter(A0),D0 ; Have we done enough SyncIdles
|
|
BLT.S @Done
|
|
CLR.W PMgrScratch.SyncCounter(A0) ; reset counter
|
|
MOVEQ #IdleMindDisp,D0 ; Set the selector to IdleMind
|
|
_PowerDispatch
|
|
@Done
|
|
rts
|
|
|
|
ENDPROC ; SynchIdleTimeProc
|
|
|
|
;___________________________________________________________________________________
|
|
;
|
|
; Routine: InitApplication <1.6>
|
|
;
|
|
; Inputs: none
|
|
;
|
|
; Outputs: status flag ? (currently unused) in D0
|
|
;
|
|
; Can destroy: D0-D2,A0-A1
|
|
;
|
|
; Function: Gets called at application launch by Multifinder to set up the world.
|
|
;
|
|
;___________________________________________________________________________________
|
|
|
|
InitApp PatchProc _InitApplication
|
|
;
|
|
; Set up application-specific Script Mgr globals <32>
|
|
;
|
|
SUBQ #2,SP ; space for OSErr result
|
|
_InitScriptApp ; go set up appÕs script globals
|
|
ADDQ #2,SP ; always returns NoErr, ignore
|
|
|
|
;
|
|
; All done, return status flag in D0
|
|
;
|
|
MOVEQ #-1,D0
|
|
RTS ; big routine
|
|
|
|
ENDPROC ; InitApp
|
|
|
|
;___________________________________________________________________________________
|
|
;
|
|
; Routine: CleanupApplication <1.6>
|
|
; Inputs: none
|
|
; Outputs: none
|
|
; Destroys: D0/A0-A1
|
|
; Gets called by the Process Mgr's ExitToShell code. The current low memory, traps,
|
|
; VBLs, etc. are for the dying application. This is the chance for OS and ToolBox to
|
|
; tidy up things that were given to the application.
|
|
; BEWARE! The order of operations here is VERY important. This is why you add code
|
|
; here, rather than patching this or some other trap. In general, we want to cleanup
|
|
; from the top down. For example, since closing the resource files nukes any custom
|
|
; code provided by the app (e.g. WDEFs), we must cleanup parts that use the custom code
|
|
; (e.g. the Palette Mgr) BEFORE closing the resource files. Similarly, CloseResFiles and
|
|
; _BTCleanUp are called before _FSCleanup so _FSCleanup doesn't close the files out from
|
|
; under the Btree or Resource Mgrs.
|
|
;
|
|
;___________________________________________________________________________________
|
|
|
|
CleanupApp PatchProc _CleanupApplication
|
|
|
|
CLR.L -(SP) ; room for result
|
|
MOVE.L applZone,A0 ; point to zone hdr
|
|
MOVE.L A0,-(SP) ; push start ptr
|
|
MOVE.L (A0),-(SP) ; push zone trailer
|
|
_sbKillSomeCaches
|
|
ADDQ #4,SP ; ignore result
|
|
|
|
IF hasCommToolbox THEN
|
|
;
|
|
; Clean up CommToolbox if necessary
|
|
;
|
|
import CleanUpCommToolbox
|
|
JSR CleanupCommToolbox
|
|
ENDIF
|
|
|
|
IF hasEditionMgr THEN ; <36>
|
|
;
|
|
; Check if app was doing Edition Manager stuff that needs cleaning up
|
|
;
|
|
MOVE.L ExpandMem, A0 ; get expanded memory area
|
|
MOVE.L ExpandMemRec.emDataPub(A0), D0 ; get dp globals
|
|
BEQ.S @noEditionMgr ; if not allocated, no need to do cleanup
|
|
SUBQ #2,SP ; place holder for result
|
|
_QuitEditionPack ; call pack11 clean up
|
|
TST.W (SP)+ ; ignore result
|
|
@noEditionMgr
|
|
ENDIF
|
|
|
|
;
|
|
; Clean up Compoents and Component insetances belong to this app.
|
|
;
|
|
_CleanUpApplicationComponents <53>
|
|
|
|
;
|
|
; Clean up the Palette Manager if there is one.
|
|
;
|
|
CMP.W #$3FFF,ROM85 ; do we have color QD?
|
|
BHI.S @noPMgrExit
|
|
_PMgrExit
|
|
@noPmgrExit
|
|
|
|
;
|
|
; Clean up Sound Manager
|
|
;
|
|
_SndAppDead
|
|
|
|
;
|
|
; Clean up application-specific Script Mgr globals (incl itl2/4 cache) <27><32>
|
|
;
|
|
SUBQ #2,SP ; space for OSErr result
|
|
_CleanupScriptApp ; go clean up appÕs script globals
|
|
ADDQ #2,SP ; always returns NoErr, ignore
|
|
|
|
;
|
|
; Clean up Resource Manager. Close resource files from the top of the
|
|
; chain down to, but not including, the system file. After this, defprocs
|
|
; and any other "system" code from the application chain are suspect.
|
|
; NOTE: Could be using ROM routine CloseFiles in ResourceMgr.a.
|
|
;
|
|
@CloseResFiles
|
|
move.l TopMapHndl, a1 ; start at the top
|
|
subq #4,sp
|
|
move.l SysMapHndl,-(sp) ; <50>
|
|
_GetOverrideMap ; <50> Stop at the first system override file
|
|
cmpa.l (sp)+, a1 ; down to the system file?
|
|
beq.s @DoneResMgr ; stop at the system file
|
|
move.l (a1), a1 ; deref handle to get map
|
|
move.w MRefNum(a1), -(sp) ; get file refnum from map
|
|
_CloseResFile ; close said file (sets new TopMapHndl)
|
|
bra.s @CloseResFiles ; and try again
|
|
@DoneResMgr
|
|
|
|
;
|
|
; Do BTree Manager clean up
|
|
;
|
|
suba #fscpbLen,sp ; allocate ioPB
|
|
movea.l sp,a0 ; a0=ioPB
|
|
moveq #(fscpbLen/4)-1,d0 ; d0=size in long
|
|
movea.l a0,a1
|
|
|
|
@BTClear clr.l (a1)+
|
|
dbra d0,@BTClear
|
|
_BTCleanUp ; clean up B*tree
|
|
|
|
;
|
|
; Do File System clean up
|
|
;
|
|
moveq #(fscpbLen/4)-1,d0 ; d0=size in long
|
|
movea.l a0,a1
|
|
|
|
@FSClear clr.l (a1)+
|
|
dbra d0,@FSClear
|
|
_FSCleanUp ; cleanup FS
|
|
adda.L #fscpbLen,sp ; deallocate space
|
|
|
|
rts
|
|
|
|
ENDPROC ; CleanupApp
|
|
|
|
;___________________________________________________________________________________
|
|
;
|
|
; FUNCTION get70MgrAttr(selector : OSType; VAR response : LONGINT) : OSErr;
|
|
;
|
|
; Generic Gestalt function for testing for existence of System 7.0
|
|
; features. Since this patch is for 7.0 only, it always returns 1 in the
|
|
; response. If your particular feature requires more bits set in the
|
|
; response, don't use this routine. Currently, this is the function
|
|
; for the gestaltDBAccessMgrAttr and gestaltEditionMgrAttr selectors.
|
|
;
|
|
; Registers A0 and A1 are destroyed.
|
|
;
|
|
;___________________________________________________________________________________
|
|
|
|
get70MgrAttr PROC
|
|
|
|
MOVE.L (SP)+,A0 ; return address
|
|
MOVE.L (SP)+,A1 ; address of result
|
|
|
|
MOVE.L #1,(A1) ; 7.0 features always under 7.0!
|
|
|
|
ADDA.W #4,SP ; pop the selector type
|
|
MOVE.W #noErr,(SP) ; it always works
|
|
JMP (A0)
|
|
|
|
ENDPROC ; get70MgrAttr
|
|
|
|
|
|
|
|
;___________________________________________________________________________________
|
|
;
|
|
; Additional patch code goes here
|
|
;
|
|
;___________________________________________________________________________________
|
|
|
|
;___________________________________________________________________________________
|
|
;
|
|
; dimg entry - Dictionary Manager
|
|
;
|
|
;___________________________________________________________________________________
|
|
|
|
DictionaryDispatch PatchProc _DictionaryDispatch
|
|
|
|
DictionaryHandle EQU ExpandMemRec.emDictionaryMgrPackHandle
|
|
DictionaryUseCount EQU ExpandMemRec.emDictionaryMgrUseCount
|
|
|
|
MOVE.L ExpandMem,A1 ; get expand mem into A1
|
|
MOVE.L DictionaryHandle(A1),A0 ; move the handle to the code into A0
|
|
ADD.W #DictionaryUseCount,A1 ; A1 = pointer to use count
|
|
_ProcHelper ; let ProcHelper take over
|
|
|
|
ENDPROC ; DictionaryDispatch
|
|
|
|
;___________________________________________________________________________________
|
|
;
|
|
; Install Gestalt functions for gestaltDBAccessMgrAttr, gestaltEditionMgr,
|
|
; gestaltStandardFileAttr, and gestaltAppleEventsAttr
|
|
;
|
|
; !!!! all just return 1 for system 7.0 !!!!!
|
|
;
|
|
;___________________________________________________________________________________
|
|
|
|
MiscPatchesInstall InstallProc
|
|
|
|
IMPORT get70MgrAttr
|
|
|
|
IF hasDataAccessMgr THEN ; <37>
|
|
MOVE.L #gestaltDBAccessMgrAttr, D0 ; Data Access Manager
|
|
lea get70MgrAttr, A0
|
|
_NewGestalt
|
|
ENDIF
|
|
|
|
|
|
IF hasEditionMgr THEN ; <37>
|
|
MOVE.L #gestaltEditionMgrAttr, D0 ; Edition Manager
|
|
lea get70MgrAttr, A0
|
|
_NewGestalt
|
|
ENDIF
|
|
|
|
MOVE.L #gestaltStandardFileAttr, D0 ; Standard File
|
|
leaResident get70MgrAttr, A0
|
|
_NewGestalt
|
|
|
|
IF hasAppleEventMgr THEN ; <37>
|
|
MOVE.L #gestaltAppleEventsAttr, D0 ; AppleEvent Manager
|
|
lea get70MgrAttr, A0
|
|
_NewGestalt
|
|
ENDIF
|
|
|
|
;___________________________________________________________________________________
|
|
; Gestalt function for the dictionary manager.
|
|
; just returns 1 for CubeE
|
|
;____________________________________________________________________________________
|
|
MOVE.L #gestaltDictionaryMgrAttr, D0 ; Dictionary Manager
|
|
lea get70MgrAttr, A0
|
|
_NewGestalt
|
|
|
|
|
|
RTS
|
|
|
|
ENDPROC
|
|
|
|
|
|
END ; of file |