
	INCLUDE	vd0:include/include.gs
	INCLUDE	vd0:include/commodities.i
	INCLUDE	vd0:include/commodities_lib.i
	INCLUDE	vd0:include/layers_lib.i
	INCLUDE	vd0:include/icon_lib.i
	INCLUDE	vd0:include/workbench.i


*****
*	definition des expressions et macros du programme.
*****

BYTE		EQU	1
WORD		EQU	2
TRUE		EQU	1
FALSE		EQU	0
NULL		EQU	0

CX_MAGIC	EQU	51914
CX_FAIRY	EQU	65230

CXP_PRIORITY	EQU	21

CXP_QUALMASK	EQU	~(IEQUALIFIER_CAPSLOCK+IEQUALIFIER_INTERRUPT+IEQUALIFIER_MULTIBROADCAST+IEQUALIFIER_RELATIVEMOUSE)

MsgType_	EQUR	d7
MsgId_		EQUR	d6
Broker_		EQUR	d5
RetMsg_		EQUR	d4
SigFlg_		EQUR	d3


EXEC	MACRO
	movea.l	4.w,a6
	jsr	_LVO\1(a6)
	ENDM

CX	MACRO
	movea.l	_CxBase(a4),a6
	jsr	_LVO\1(a6)
	ENDM

ICON	MACRO
	movea.l	_IconBase(a4),a6
	jsr	_LVO\1(a6)
	ENDM

INT	MACRO
	movea.l	_IntuitionBase(a4),a6
	jsr	_LVO\1(a6)
	ENDM

DOS	MACRO
	movea.l	_DOSBase(a4),a6
	jsr	_LVO\1(a6)
	ENDM

LAYER	MACRO
	movea.l	_LayerBase(a4),a6
	jsr	_LVO\1(a6)
	ENDM

* CALL : saut a la routine quand a6 contient deja le pointeur sur la library :

CALL	MACRO
	jsr	_LVO\1(a6)
	ENDM


LAB	MACRO
\1	EQU	*-_DataBase
	ENDM

DAT	MACRO
\1	EQU	*-_DataBase
	ENDM

CHAR	MACRO
\1	EQU	*-_DataBase
	ENDM


* _DataBase:		* data header

*	lea	_DataBase,a4
*
*	lea	long1(a4),a0		<==>	lea	long1,a0
*	movea.l	long4(a4),a1		<==>	movea.l	long4,a1
*	move.l	#_DataBase+long2,d0	<==>	move.l	#long2,d0
*	move.w	word1(a4),d1		<==>	move.w	word1,d1


