********************************************************************************
	XDEF	_xesffff,_xes0000,_xes01,_xes02
	XDEF	_xes04,_xes38,_xes39,_xes40
	XDEF	_xes41,_xes42,_xes43
	XDEF	_xes50,_xes64,_xes65
********************************************************************************
		RSRESET
W_id		rs.w	1			WNX id
W_idname	rs.b	16			WNX unique name
W_apid		rs.w	1			ap id of parent
W_grafhandle	rs.w	1			graf handle of parent
W_global	rs.l	1			ptr to parent's global array
W_vdiparams	rs.l	1			ptr to parent's VDI_PARAMS
W_aesparams	rs.l	1			ptr to parent's AES_PARAMS
W_messagebuf	rs.l	1			ptr to message buffer
W_in		rs.w	8			input stuff
W_out		rs.w	8			output stuff
W_flags		rs.w	1			flags for event handling
W_link		rs.l	1			address to resume execution at
W_tcount	rs.w	1			timer count (in 20ms)
W_troutine	rs.l	1			address of timer handler
W_mroutine	rs.l	1			address of message handler
W_broutine	rs.l	1			address of button handler
W_kroutine	rs.l	1			address of keyboard handler
W_rroutine	rs.l	1			address of wm_redraw handler
W_termroutine	rs.l	1			address of termination handler

* TOTAL = 102 bytes for a parmblk.
********************************************************************************

	SECTION TEXT
_xesffff
* 	xes_submit(&parmblk)
*
		move.l	(sp)+,_rts5

		move.w	#-1,-(sp)
		move.w	#-1,-(sp)
		trap	#5
		subq.l	#4,sp

		move.l	_rts5,-(sp)
		rts

_xes0000
*	xes_init(&parmblk)
*
		move.l	(sp)+,_rts5
	
		move.w	#0,-(sp)
		trap	#5
		subq.l	#4,sp
		
		move.l	_rts5,-(sp)

		rts

_xes01
* this is the new 8/21/91 xes_rsrcinit.  Should add support for
* already fixed up .RSCs, etc.  This is going to be tough.
*
* 	xes_rsrcinit(fixflag,scaleflag,&resource,&parmblk)
*
		move.l	(sp)+,_rts5

		movem.l	(sp)+,d0-d1		d0 = fixflag | scaleflag
*						d1 = &resource
		
		move.l	(sp),a0
		movem.l	d0-d1,W_in(a0)

		move.w	#1,-(sp)
		move.w	#-1,-(sp)
		trap	#5
		lea	-12(sp),sp

		move.l	_rts5,-(sp)

		rts


_xes02	
*	xes_sibling(&string,&parmblk)
*
		move.l	(sp)+,_rts5

		move.l	(sp)+,d0		d0 = &string

		move.l	(sp),a0			a0 = &parmblk
		move.l	d0,W_in(a0)		*parmblk = &string
		
		move.w	#2,-(sp)
		move.w	#-1,-(sp)
		trap	#5
		subq.l	#8,sp
		
		move.l	_rts5,-(sp)
		
		rts


_xes04
*	xes_mesagwrite(&message,length,&recipientlist,&parmblk)
*
		move.l	(sp)+,_rts5
		
		move.l	(sp)+,d2		d2 = WNX_in+6
		move.w	(sp)+,d1		d1 = WNX_in+4
		move.l	(sp)+,d0		d0 = WNX_in+0
		
		move.l	(sp),a0
		move.l	d0,W_in(a0)
		move.w	d1,W_in+4(a0)
		move.l	d2,W_in+6(a0)

		move.w	#4,-(sp)
		move.w	#-1,-(sp)
		trap	#5
		lea	-14(sp),sp
		
		move.l	_rts5,-(sp)

		rts


_xes38
*	xes_malloc(amount,&parmblk)
*
		move.l	(sp)+,_rts5
		
		move.l	(sp)+,d0		d0 = amount

		move.l	(sp),a0			a0 = &parmblk
		move.l	d0,W_in(a0)		*parmblk = d0
		
		move.w	#38,-(sp)
		move.w	#-1,-(sp)
		trap	#5
		subq.l	#8,sp
				
		move.l	_rts5,-(sp)
		
		rts


_xes39
*	xes_flush(&parmblk)
*
		move.l	(sp)+,_rts5	
		
		move.w	#39,-(sp)
		move.w	#-1,-(sp)
		trap	#5
		subq.l	#4,sp		we never get here
		
		move.l	_rts5,-(sp)

		rts


_xes40	
*	xes_genv(&parmblk)
*
		move.l	(sp)+,_rts5
		
		move.w	#40,-(sp)
		move.w	#-1,-(sp)
		trap	#5
		subq.l	#4,sp
		
		move.l	_rts5,-(sp)

		rts


_xes41
*	xes_pwindow(&parmblk)
*
		move.l	(sp)+,_rts5

		move.w	#41,-(sp)
		move.w	#-1,-(sp)
		trap	#5
		subq.l	#4,sp
		
		move.l	_rts5,-(sp)
		
		rts


_xes42
* 	xes_draw(startindex,endindex,&parmblk)
*
		move.l	(sp)+,_rts5
		
		movem.w	(sp)+,d0-d1
		
		move.l	(sp),a0
		movem.w	d0-d1,W_in(a0)
		
		move.w	#42,-(sp)
		move.w	#-1,-(sp)
		trap	#5
		subq.l	#8,sp

		move.l	_rts5,-(sp)
		
		rts


_xes43
*	xes_redraw(handle,aflag,&resource,dflag,&parmblk)
*
		move.l	(sp)+,_rts5

		movem.l	(sp)+,d0-d1		d0 = handle|aflag
*						d1 = &resource
		move.w	(sp)+,d2		d2 = dflag
		
		move.l	(sp),a0			a0 = &parmblk
		movem.l	d0-d1,W_in(a0)		
		move.w	d2,8(a0)
		
		move.w	#43,-(sp)
		move.w	#-1,-(sp)
		trap	#5
		lea	-16(sp),sp
		
		move.l	(sp)+,_rts5
		
		rts


_xes50
*	xes_chrsrc(treenum,&parmblk)
*
		move.l	(sp)+,_rts5
		
		move.w	(sp)+,d0		d0 = treenum
		
		move.l	(sp),a0			a0 = &parmblk
		move.w	d0,W_in(a0)
		
		move.w	#50,-(sp)
		move.w	#-1,-(sp)
		trap	#5
		subq.l	#6,sp
		
		move.l	_rts5,-(sp)
		
		rts


_xes64
* 	xes_stredit(handle,&resource,index,ch,curspos,&parmblk)
*
		move.l	(sp)+,_rts5

		movem.l	(sp)+,d0-d2		d0-d2 = all params

		move.l	(sp),a0			a0 = &parmblk
		movem.l	d0-d2,W_in(a0)

		move.w	#64,-(sp)
		move.w	#-1,-(sp)
		trap	#5
		lea	-16(sp),sp
		
		move.l	_rts5,-(sp)

		rts


_xes65
*	xes_xformdo(handle,&resource,index,&parmblk)
*
		move.l	(sp)+,_rts5
		
		movem.l	(sp)+,d0-d1		d0-d1 = all params
		
		move.l	(sp),a0
		movem.l	d0-d1,W_in(a0)
		
		move.w	#65,-(sp)
		move.w	#-1,-(sp)
		trap	#5
		lea	-16(sp),sp
		
		move.l	_rts5,-(sp)
		
		rts
********************************************************************************
	SECTION BSS
_rts5	ds.l	1
********************************************************************************

