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

57 lines
1.5 KiB
Plaintext

;EASE$$$ READ ONLY COPY of file “alLDEF.a”
; 1.0 prp 08/07/1989 Initial Creation
; END EASE MODIFICATION HISTORY
;________________________________________________________________________________
;
; File: alLDEF.a
; Contains: alias manager list definition procedure
; adopted from FindFile
; Written by: Prashant Patel
;
; Copyright 1989 by Apple Computer, Inc.
; All Rights Reserved.
;
;________________________________________________________________________________
BLANKS ON
STRING ASIS
INCLUDE 'Traps.a'
INCLUDE 'PackMacs.a'
alLDEF PROC EXPORT
; PROCEDURE DrawCell(LMessage:INTEGER; LSelect:BOOLEAN; LRect:Rect; LCell: Cell;
; LDataOffset, LDataLen:INTEGER; LHandle:Handle);
; Stack Frame definition for ListDefProc 0
LHandle EQU 4 ; Handle to list data record
LParamSize EQU 20 ; # of bytes of parameters
BRA.S @0 ; enter here
; standard header
DC.W 0 ; flags word
DC.B 'LDEF' ; type
DC.W -16390 ; ID
DC.W 0 ; version
@0
MOVE.L LHandle(SP), A1 ; Get handle to list record
MOVE.L (A1), A1 ; Pointer to list record
MOVE.L listDefHandle(A1), A0 ; Get handle to me (defproc)
_HUnlock ; Unlock me (fix for List Manager bug)
MOVE.L refCon(A1), D0 ; Should be (gulp) pointer to C defproc
BEQ.S noC ; Bail out if no C yet
MOVE.L D0, A0 ; Get in right register
JMP (A0) ; execute the real one
noC:
MOVE.L (SP)+, A0 ; Return address
ADDA.W #LParamSize, SP ; Pop args
JMP (A0) ; Return to List Mgr.
END