;/* asm.s */

	INCDIR "AINCLUDE:"
	INCLUDE intuition/intuition.i

	XREF	_IntuitionBase
	XREF	_ReqEntryCount

;/*================================================*/

	XDEF	MakeRGB32

MakeRGB32:
	moveq		#0,d0
	move.b	d1,d0
	swap		d0
	move.b	d1,d0
	move.l	d0,d1
	lsl.l		#8,d1
	or.l		d1,d0
	rts

;/*================================================*/

	XDEF	New_EasyRequestArgs
	XREF	_NEW_EasyRequestArgs
	
New_EasyRequestArgs:
	addq.b	#1,_ReqEntryCount

	move.l	a3,-(sp)		;/* args */
	move.l	a2,-(sp)		;/* idcmpPTR */
	move.l	a1,-(sp)		;/* easyStruct */
	move.l	a0,-(sp)		;/* window */
	
	jsr		_NEW_EasyRequestArgs
	lea		16(sp),sp

	subq.b	#1,_ReqEntryCount
	rts

	XDEF	JumpOld_EasyRequestArgs
	XREF	_Old_EasyRequestArgs

JumpOld_EasyRequestArgs:
	move.l	a6,-(sp)
	
	pea		.after(pc)
	move.l	_IntuitionBase,a6
	move.l	_Old_EasyRequestArgs,-(sp)
	rts
	
.after:
	move.l	(sp)+,a6
	rts

;/*================================================*/
	
	XDEF	New_AutoRequest
	XREF	_NEW_AutoRequest
	
New_AutoRequest:
	addq.b	#1,_ReqEntryCount

	move.l	d3,-(sp)		;/* Height */
	move.l	d2,-(sp)		;/* Width */
	move.l	d1,-(sp)		;/* negativeFlags */
	move.l	d0,-(sp)		;/* positiveFlags */
	move.l	a3,-(sp)		;/* negativetext */
	move.l	a2,-(sp)		;/* positivetext */
	move.l	a1,-(sp)		;/* bodytext */
	move.l	a0,-(sp)		;/* window */
	jsr		_NEW_AutoRequest
	lea		32(sp),sp
	
	subq.b	#1,_ReqEntryCount
	rts
	
	XDEF	JumpOld_AutoRequest
	XREF	_Old_AutoRequest

JumpOld_AutoRequest:
	move.l	a6,-(sp)
	
	pea		.after(pc)
	move.l	_IntuitionBase,a6
	move.l	_Old_AutoRequest,-(sp)
	rts

.after:
	move.l	(sp)+,a6
	rts

;/*================================================*/

	XDEF	New_BuildEasyRequestArgs
	XREF	_NEW_BuildEasyRequestArgs
	
New_BuildEasyRequestArgs:
	addq.b	#1,_ReqEntryCount

	move.l	a3,-(sp)			;// Args
	move.l	d0,-(sp)			;// idcmp
	move.l	a1,-(sp)			;// easystruct
	move.l	a0,-(sp)			;// window
	jsr		_NEW_BuildEasyRequestArgs
	lea		16(sp),sp
	
	subq.b	#1,_ReqEntryCount
	rts

	XDEF	JumpOld_BuildEasyRequestArgs
	XREF	_Old_BuildEasyRequestArgs
	
JumpOld_BuildEasyRequestArgs:
	move.l	a6,-(sp)
	
	move.l	_IntuitionBase,a6
	pea		.after(pc)
	move.l	_Old_BuildEasyRequestArgs,-(sp)
	rts
	
.after:
	move.l	(sp)+,a6
	rts

;/*================================================*/

	XDEF	New_BuildSysRequest
	XREF	_NEW_BuildSysRequest
	XREF	_Old_BuildSysRequest

New_BuildSysRequest:
	addq.b	#1,_ReqEntryCount
	
	movem.l	d0-d1/a0-a1,-(sp)
	
	move.l	d2,-(sp)			;// height
	move.l	d1,-(sp)			;// width
	move.l	d0,-(sp)			;// flags
	move.l	a3,-(sp)			;// negtext
	move.l	a2,-(sp)			;// postext
	move.l	a1,-(sp)			;// body
	move.l	a0,-(sp)			;// window
	jsr		_NEW_BuildSysRequest
	lea		7*4(sp),sp

	movem.l	(sp)+,d0-d1/a0-a1

	pea		.after(pc)
	move.l	_Old_BuildSysRequest,-(sp)
	rts

.after:
	subq.b	#1,_ReqEntryCount
	rts

;/*================================================*/

	XDEF	New_SysReqHandler
	XREF	_NEW_SysReqHandler
	
New_SysReqHandler:
	addq.b	#1,_ReqEntryCount
	
	move.l	d0,-(sp)					;// wait
	move.l	a1,-(sp)					;// idcmpptr
	move.l	a0,-(sp)					;// window
	jsr		_NEW_SysReqHandler
	lea		12(sp),sp
	
	subq.b	#1,_ReqEntryCount
	rts

	XDEF	JumpOld_SysReqHandler
	XREF	_Old_SysReqHandler
	
JumpOld_SysReqHandler:
	move.l	a6,-(sp)
	
	move.l	_IntuitionBase,a6
	pea		.after(pc)
	move.l	_Old_SysReqHandler,-(sp)
	rts

.after:
	move.l	(sp)+,a6
	rts
	
;/*================================================*/

	XDEF	New_FreeSysRequest
	XREF	_NEW_FreeSysRequest
	XREF	_Old_FreeSysRequest

New_FreeSysRequest:
	addq.b	#1,_ReqEntryCount

	cmp.l		#0,a0
	beq.s		.byebye
	cmp.l		#1,a0
	beq.s		.byebye

	move.l	a0,-(sp)

	move.l	a0,-(sp)					;// window
	jsr		_NEW_FreeSysRequest
	addq.l	#4,sp

	move.l	(sp)+,a0
		
.byebye:

	subq.b	#1,_ReqEntryCount
	move.l	_Old_FreeSysRequest,-(sp)
	rts

;/*================================================*/

	XDEF	New_OpenWindowTagList
	XREF	_NEW_OpenWindowTagList
	
New_OpenWindowTagList:
	addq.b	#1,_ReqEntryCount

	move.l	a1,-(sp)		;// taglist
	move.l	a0,-(sp)		;// newwindow
	jsr		_NEW_OpenWindowTagList
	addq.l	#8,sp
	
	subq.b	#1,_ReqEntryCount
	rts

	XDEF	JumpOld_OpenWindowTagList
	XREF	_Old_OpenWindowTagList
	
JumpOld_OpenWindowTagList:
	move.l	a6,-(sp)

	pea		.after(pc)
	move.l	_IntuitionBase,a6
	move.l	_Old_OpenWindowTagList,-(sp)
	rts
	
.after:
	move.l	(sp)+,a6
	rts


	END

