******************************** * Macro defines, include after mproc.equ * 11 June 91 SPL *.Last mod - 1/31/93 1:00 SCRIPT1 .macro S movi :S:,a0 calla script_play1 .endm SX .macro lbl,w1,w2,w3 .def :lbl: :lbl: .word :w1:,:w2:,:w3: .endm LWLWLW .macro l,w,l2,w2,l3,w3 .long :l: .word :w: .long :l2: .word :w2: .long :l3: .word :w3: .endm LWLWLWLW .macro l,w,l2,w2,l3,w3,l4,w4 .long :l: .word :w: .long :l2: .word :w2: .long :l3: .word :w3: .long :l4: .word :w4: .endm HDMAC .macro l .eval 0,X .long :l: .loop 16 .long :l:+X .eval X+90H,X .endloop .endm HDMAC2 .macro l .eval 0,X .long :l: .loop 5 .long :l:+X .eval X+90H,X .endloop .eval X-90h*5,X .loop 5 .long :l:+X .eval X+90H,X .endloop .eval X-90h*5,X .loop 5 .long :l:+X .eval X+90H,X .endloop .long :l: .endm BADCHK .MACRO reg,lo,hi,val cmpi :lo:,reg jrlt bad? cmpi :hi:,reg jrgt bad? jruc ok? bad? movi :val:,:reg: ok? .endm *CLICK AN AUDIT COUNTER AUDIT .macro P1 MOVI :P1:,A0 CALLA AUD1 .endm *AUDIT A WORD LONG RAM LOCATION *P1 = AUDIT *P2 = RAM LOCATION AUDITCNT .macro P1,P2 MOVE @:P2:,A1 MOVI :P1:,A0 CALLA AUD .endm *Get a game adjustment value in A0 ADJUST .macro P1 MOVI :P1:,A0 CALLA GET_ADJ .endm *FCALL - Function call without using the system stack FCALL .macro n,b movi :n:,:b:,L exgpc :b: .endm *FRET - Function return without using the system stack FRET .macro b exgpc :b: .endm ****************************************************************************** PRINT_STR .macro FONT,SPACING,CSPACE,X,Y,PALETTE,PR_METHOD .long :FONT: .word :SPACING: .word :CSPACE: .word :X: .word :Y: .long :PALETTE: .long :PR_METHOD: .endm ;----------------------------------------------------------------------------- ; This macro is just a convience... ; ; Destroys A3 ;----------------------------------------------------------------------------- snd_req .macro snd_ptr push a2,a3 movi :snd_ptr:,a2 move *a2+,a3 ;a3=sound code calla SNDSND pull a2,a3 .endm BSSX .macro n,s .def :n: .bss :n:,:s: .endm SUBR .macro p1 .def :p1: .even :p1: .endm SUBRP .macro p1 .even :p1: .endm STRUCT .macro o .asg :o:,SOFF .endm STRUCTPD .macro .asg PDATA,SOFF .endm STRUC .macro n,s :n: .set SOFF .eval SOFF+:s:,SOFF .endm WORD .macro n :n: .set SOFF .eval SOFF+16,SOFF .endm LONG .macro n :n: .set SOFF .eval SOFF+32,SOFF .endm APTR .macro n :n: .set SOFF .eval SOFF+32,SOFF .endm LABEL .macro n :n: .set SOFF .endm FLAG .macro n :n:_B .equ SOFF :n:_M .equ 1<