mirror of
https://github.com/elliotnunn/supermario.git
synced 2024-11-29 20:49:19 +00:00
57 lines
1.5 KiB
Plaintext
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
|
|
|