mirror of
https://github.com/elliotnunn/mac-rom.git
synced 2024-12-29 07:29:15 +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.
192 lines
6.0 KiB
Plaintext
192 lines
6.0 KiB
Plaintext
;
|
|
; File: DisplaysPriv.a
|
|
;
|
|
; Contains: Private Assembly headers for Display Manager
|
|
;
|
|
; Written by: Ian Hendry
|
|
;
|
|
; Copyright: © 1993 by Apple Computer, Inc., all rights reserved.
|
|
;
|
|
; Change History (most recent first):
|
|
;
|
|
; <11> 11/5/93 IH Sync with Excelsior.
|
|
; <SM10> 10/10/93 IH Sync with Excelsior.
|
|
; <9> 9/10/93 IH Fix cursor bug in horror ROMs and SuperMario.
|
|
; <SM8> 08-17-93 jmp Changed the gestaltDMLatestVersion equate to match the one in
|
|
; the .h file.
|
|
; <7> 8/16/93 IH #1099391 <KON>: Sync w/Reality.
|
|
; <6> 8/4/93 IH #1101633,1098397,1101795,1101636,1102280 <KON>: Fix 1102280. Add
|
|
; calls for getting declROM info. Add Trap for animation.
|
|
; <5> 6/25/93 IH Add new fields to display globals
|
|
; <4> 6/1/93 IH Add private trap selector to get timing mode table.
|
|
; <3> 5/28/93 IH #1081805,1086363: Put selectors for DMChangedDesktopIconRgn and
|
|
; DMDeskClick into the private (negative) range.
|
|
; <2> 3/31/93 IH Clean out display manager globals
|
|
; <1> 3/25/93 IH first checked in
|
|
; <2> 3/17/93 IH Change Display Manager selectors to hide private routines.
|
|
; <1> 3/5/93 IH first checked in
|
|
;
|
|
;
|
|
|
|
|
|
IF &TYPE('__INCLUDINGDISPLAYPRIVATEEQU__') = 'UNDEFINED' THEN
|
|
__INCLUDINGDISPLAYPRIVATEEQU__ SET 1
|
|
|
|
IF &TYPE('__INCLUDINGSYSPRIVATEEQU__') = 'UNDEFINED' THEN
|
|
INCLUDE 'SysPrivateEqu.a'
|
|
ENDIF
|
|
|
|
IF &TYPE('__INCLUDINGTRAPS__') = 'UNDEFINED' THEN
|
|
INCLUDE 'Traps.a'
|
|
ENDIF
|
|
|
|
|
|
; Make sure this is keep up with DisplaysPriv.h
|
|
gestaltDMLatestVersion EQU 2
|
|
|
|
|
|
DMGlobalsRec RECORD 0
|
|
|
|
fDrawingPort ds.l 1 ;
|
|
fPortStorage ds.b portRec ;
|
|
fWorkingDeskRectRgn ds.l 1 ;
|
|
fWorkingDeskFullRgn ds.l 1 ;
|
|
fWorkingUpdateRgn ds.l 1 ;
|
|
fDeskIconRgn ds.l 1 ;
|
|
fDesktopCacheRgn ds.l 1 ;
|
|
fAnimationCacheRgn ds.l 1 ;
|
|
|
|
fAnimatePSN ds.l 2 ;
|
|
fAnimateA5 ds.l 1 ;
|
|
fSavedDMGlobals ds.l 1 ;
|
|
|
|
fNextAnimateTime ds.l 1 ;
|
|
fIconRgnInvalid ds.b 1 ;
|
|
fDeskDrawNest ds.b 1 ;
|
|
|
|
|
|
fDisplayEntrySize ds.w 1 ; Initialized to be sizeof(DisplayInfoRec)
|
|
fDisplayNextID ds.l 1 ; Unique id for displays
|
|
|
|
fDisplayCount ds.w 1 ; How many displays in display table
|
|
fDisplayTable ds.l 1 ; Table of information about displays (FUTURE: should I sort and binary search?)
|
|
|
|
fNotificationCount ds.w 1 ; How many ProcPtrs in notification table
|
|
fNotificationTable ds.l 1 ; Table of information about notification (FUTURE: should I sort and binary search?)
|
|
|
|
fRemovedDevices ds.l 1 ; DeviceList of devices that have been removed (we do not dispose incase device has been cached)
|
|
|
|
; ¥¥¥ Warning ¥¥¥
|
|
;
|
|
; The BlackBird/Yeager mirroring code currently accesses these globals directly. So, donÕt move them
|
|
; without updating that code as well.
|
|
;
|
|
; ¥¥¥
|
|
;
|
|
fDevicesOverlap ds.b 1 ; If true, *some* gDevices are overlapped (partically or fully).
|
|
fDevicesMirrored ds.b 1 ; If true, all gDevices are fully overlapped, smallest gDevice determines rectangle for all devices.
|
|
fMirroringBlocked ds.b 1 ; If true, mirroring has been ÒartificallyÓ blocked (several 3rd-parties asked for this).
|
|
fUnused1Byte4 ds.b 1
|
|
|
|
;
|
|
; Back to regulary scheduled globals
|
|
;
|
|
|
|
fQDA5World ds.l 1 ; Points to fQDGlobals this value can be stuffed in A5 for display components
|
|
fQDGlobals ds.l 1 ; Storage for Display Mgr A5 world.
|
|
|
|
fUnused1 ds.l 1 ;
|
|
fUnused2 ds.l 1 ;
|
|
fUnused3 ds.l 1 ;
|
|
fUnused4 ds.l 1 ;
|
|
|
|
dmRecSize equ * ; size for this version
|
|
|
|
ENDR
|
|
|
|
|
|
MACRO
|
|
__GetDMGlobalsPtrInA0
|
|
Move.l ExpandMem,A0
|
|
Move.l ExpandMemRec.emDisplayManagerGlobals(A0),A0
|
|
ENDM
|
|
|
|
|
|
|
|
;ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ
|
|
; Define the private selectors for the Display Manager
|
|
|
|
|
|
selectInstallDisplayManager EQU -1
|
|
selectInitDisplayManager EQU -2
|
|
selectKillDisplayManager EQU -3
|
|
selectSetDesktopIconRgn EQU -4
|
|
selectGetDesktopIconRgn EQU -5
|
|
selectKeepWindowOnscreen EQU -6
|
|
selectNotifyAllProcesses EQU -7
|
|
selectSetAnimateProcess EQU -8
|
|
selectChangedDesktopIconRgn EQU -9
|
|
selectDeskClick EQU -10
|
|
selectGetROMMultiModeTable EQU -11
|
|
selectGiveDeskTime EQU -12
|
|
selectGetBestDepthModeInfo EQU -13
|
|
selectPrivateBeginConfigureDisplays EQU -14
|
|
selectRemoveCurrentProcessProcs EQU -15
|
|
selectDMMoveCursor EQU -16 ; do not want to steal a quickdraw name (MoveCursor should be QD and DMMoveCursor is mine)
|
|
selectRegisterExtendedNotification EQU -17
|
|
selectSetDisplayID EQU -18
|
|
|
|
|
|
;ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ
|
|
; Define the parameter size passed for each call
|
|
paramWordsInstallDisplayManager EQU 0
|
|
paramWordsInitDisplayManager EQU 0
|
|
paramWordsKillDisplayManager EQU 0
|
|
paramWordsSetDesktopIconRgn EQU 2
|
|
paramWordsGetDesktopIconRgn EQU 2
|
|
paramWordsKeepWindowOnscreen EQU 4
|
|
paramWordsNotifyAllProcesses EQU 0
|
|
paramWordsSetAnimateProcess EQU 2
|
|
paramWordsChangedDesktopIconRgn EQU 0
|
|
paramWordsDeskClick EQU 2
|
|
paramWordsGetROMMultiModeTable EQU 2
|
|
paramWordsGiveDeskTime EQU 0
|
|
paramWordsGetBestDepthModeInfo EQU 9
|
|
paramWordsPrivateBeginConfigureDisplays EQU 3
|
|
paramWordsRemoveCurrentProcessProcs EQU 0
|
|
paramWordsDMMoveCursor EQU 4 ; do not want to steal a quickdraw name (MoveCursor should be QD and DMMoveCursor is mine)
|
|
paramWordsRegisterExtendedNotification EQU 7
|
|
paramWordsSetDisplayID EQU 4
|
|
|
|
|
|
|
|
;ÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑÑ
|
|
; Macros for Display Manager.
|
|
; See DisplaysPriv.h for more details
|
|
;
|
|
|
|
MACRO
|
|
_DMInstallDisplayManager
|
|
DoDispatch _DisplayDispatch,selectInstallDisplayManager,paramWordsInstallDisplayManager
|
|
ENDM
|
|
|
|
MACRO
|
|
_DMInitDisplayManager
|
|
DoDispatch _DisplayDispatch,selectInitDisplayManager,paramWordsInitDisplayManager
|
|
ENDM
|
|
|
|
MACRO
|
|
_DMRemoveCurrentProcessProcs
|
|
DoDispatch _DisplayDispatch,selectRemoveCurrentProcessProcs,paramWordsRemoveCurrentProcessProcs
|
|
ENDM
|
|
|
|
; Add more selectors
|
|
|
|
MACRO
|
|
_DMSetDisplayID
|
|
DoDispatch _DisplayDispatch,selectSetDisplayID,paramWordsSetDisplayID
|
|
ENDM
|
|
|
|
|
|
|
|
ENDIF ; ...already included |