*
*  killreq
*  für OS 2.0
*
*  automatischer, gurufreier Reset
*  bei "Software Failure"
*
*  von Oliver Wagner
*  O.WAGNER@LINK-ESW.ZER
*

	xref	_LVOAllocMem
	xref	_LVOSetFunction
	xref	_LVOOpenLibrary
	xref	_LVOAutoRequest
	xref	_LVOEasyRequestArgs

	section	"kr",CODE

	move.l	4,a6
	lea	in(pc),a1
	moveq	#36,d0
	jsr	_LVOOpenLibrary(a6)
	move.l	d0,d7
	bne.s	ok
err:
	moveq	#-1,d0
	rts
ok:
	moveq	#64,d0
	moveq	#0,d1
	jsr	_LVOAllocMem(a6)
	move.l	d0,d6
	beq.s	err
	move.l	d0,a5
	lea	nf(pc),a4
	moveq	#15,d1
copy:
	move.l	(a4)+,(a5)+
	dbf	d1,copy

	move.l	d7,a1
	move.w	#_LVOAutoRequest,a0
	jsr	_LVOSetFunction(a6)

	move.l	d7,a1
	move.l	d6,d0
	addq.l	#4,d0
	move.w	#_LVOEasyRequestArgs,a0
	jsr	_LVOSetFunction(a6)
nf:
	moveq	#0,d0
	rts
	move.l	8(a1),a0
	lea	sf(pc),a1
cp:
	move.b	(a1)+,d0
	beq.s	res
	cmp.b	(a0)+,d0
	beq.s	cp
	bne.s	nf
res:
	move.l	$f80000,128
	trap	#0
sf:	dc.b	"Software Failure",0
in:
	dc.b	"intuition.library",0

	END
