supermario/base/SuperMarioProj.1994-02-09/Toolbox/GetMgr/GetMgrPatches.a
2019-06-29 23:17:50 +08:00

45 lines
2.0 KiB
Plaintext

;
; File: GetMgrPatches.a
;
; Contains: linked patches to the Get Mgr.
;
; Copyright: © 1989-1992 by Apple Computer, Inc., all rights reserved.
;
; Change History (most recent first):
;
; <2> 2/10/92 JSM Moved this file to GetMgr folder, keeping all the old revisions.
; <1> 1/12/91 JDR first checked in
;
load 'StandardEqu.d'
include 'LinkedPatchMacros.a'
AfterReleaseResourceInGetNewWindow ROMBind (Plus,$15F50),(SE,$105A8)
AfterReleaseResourceInGetNewControl ROMBind (Plus,$15FA2),(SE,$105FA)
;————————————————————————————————————————————————————————————————————————————————————————————————————
; The Plus and SE ROM versions of GetNewWindow call ReleaseResource on the WIND resource.
; The Plus and SE ROM versions of GetNewControl call ReleaseResource on the CNTL resource.
; On newer ROMs this was changed to only call HUnlock and HPurge. This change is being rolled into
; the Plus and SE patches for the very first time with a very elegant patch in System 7. - JDR
DontReleaseWINDorCNTLResource ComeFromPatchProc _ReleaseResource,,(Plus,SE)
cmpROM AfterReleaseResourceInGetNewWindow,(sp) ; is this GetNewWindow?
beq.s DoThePatch ; yes, don't _ReleaseResource
cmpROM AfterReleaseResourceInGetNewControl,(sp) ; is this GetNewControl?
bneOld ; no, then do _ReleaseResource
DoThePatch
move.l (sp)+,a1 ; save caller's return address
move.l (sp)+,a0 ; get WIND/CNTL resource handle
_HUnlock
_HPurge
jmp (a1) ; return to ROM
EndProc
;————————————————————————————————————————————————————————————————————————————————————————————————————
End