* header for ps modules

lref  macro
_LVO\1      equ  -6*(\2+4)
      endm

call  macro
      jsr   _LVO\1(A6)
      endm

print macro
      lea   \1,A0
      bsr   msg
      endm

ERR   macro
      lea   \1,A0
      bsr   msg
      bra   reinterp
      endm

DEF   macro
      xdef  _\1
_\1
      endm

ARG   macro
      cmp.w    #\1,(A5)+
      bne      type_mismatch
      move.l   (A5)+,D0
      endm

RETURN   macro
      move.w   #\1,D2
      bra      r.ipush
      endm

bstr  macro
\1    dc.b  1$-*-1
      dc.b  '\2',10
1$
      endm


cnttype     set   -1
newtype  macro
\1          equ   cnttype
cnttype     set   cnttype+1
         endm

   newtype     Illegal
   newtype     ICode
   newtype     Integer
   newtype     Name
   newtype     String
   newtype     Boolean
   newtype     Real
   newtype     FontID
   newtype     Array
   newtype     Mark
   newtype     Dictionary
   newtype     Save
   newtype     Dummy
   newtype     File

PointFive   equ   $80000040
OnePoint    equ   $80000041
ThreePoint  equ   $C0000042
FourPoint   equ   $80000043

HiRes       equ   1
NumColors   equ   16
InterAct    equ   1
NumPlanes   equ   4

PstackSize  equ    20
IstackSize  equ   100
DstackSize  equ   20
SstackSize  equ   10
SAreaSize   equ   3000
SizeDict    equ   100
CodeSize    equ   5000


