
	XREF	_DCScrBase,TopazName
	XDEF	SysRequest

	INCLUDE exec/exec_lib.i
	INCLUDE intuition/intuition_lib.i
	INCLUDE help.i

	SECTION "SysReq",CODE

SysRequest
	move.l	a0,-(sp)
	bsr	GetLibs
	SADD	SReqWindow,a0
	move.l	_DCScrBase,$1e(a0)
	CALLPC	_IntuitionBase,OpenWindow
	beq	NoSReq
	POKEL	d0,_SReqWindBase
	PEEKL	_SReqWindBase,a0
	move.l	$32(a0),a0
	SADD	STitel,a1
	moveq.l #0,d0
	moveq.l #0,d1
	CALLSYS PrintIText
	PEEKL	_SReqWindBase,a0
	move.l	$32(a0),a0
	move.l	(sp)+,a1
	moveq.l #0,d0
	moveq.l #27,d1
	CALLSYS PrintIText
	PEEKL	_SReqWindBase,a0
	move.l	$32(a0),a0
	SADD	SBorder0,a1
	moveq.l #0,d0
	moveq.l #0,d1
	CALLSYS DrawBorder
	PEEKL	_SReqWindBase,a0
	move.l	$56(a0),a0
	CALLEXEC WaitPort
	PEEKL	_SReqWindBase,a0
	move.l	$56(a0),a0
	CALLSYS GetMsg
	move.l	d0,a1
	CALLSYS ReplyMsg
	PEEKL	_SReqWindBase,a0
	CALLPC	_IntuitionBase,CloseWindow
NoSReq	rts

GetLibs move.l	4,a6
	lea	$17a(a6),a0
	SADD	IntName,a1
	CALLSYS FindName
	POKEL	d0,_IntuitionBase
	rts

IntName 	INTNAME
_IntuitionBase	ds.l	1

SReqWindow	dc.w	180,100-22,280,44
		dc.b	-1,-1
		dc.l	8!$80000,$800!$1000!$10000,0,0,0,0,0
		dc.w	0,0,0,0,15
_SReqWindBase	ds.l	1

STitel		dc.b	1,0,0,0
		dc.w	140-18*4,10
		dc.l	FontU,SBytes,0
		TEXT	SBytes,<" CHANGER MESSAGE: ">

SBorder0	dc.w	0,0
		dc.b	2,0,0,3
		dc.l	SPairs0,SBorder1
SPairs0 	dc.w	279,0,0,0,0,42
SBorder1	dc.w	0,0
		dc.b	1,0,0,3
		dc.l	SPairs1,0
SPairs1 	dc.w	0,43,279,43,279,1

FontU		dc.l	TopazName
		dc.w	8
		dc.b	1,1

	END


