


	incbin	start-4000.bin

Waiter:
	lea.l	__(pc),a4
	move.l	4.w,a6
	move.l	a6,ExecBase-__(a4)
	jsr	-666(a6)			;CreateMsgPort

	move.l	d0,MagicPort-__(a4)
	beq.w	.noPort

	moveq	#37,d0
	lea.l	DosName(pc),a1
	jsr	-552(a6)			;OpenLibrary
	move.l	d0,DosBase-__(a4)
	beq.w	.noDos

	pea.l	Template-__(a4)
	move.l	(sp)+,d1
	pea.l	Array-__(a4)
	move.l	(sp)+,d2
	moveq	#0,d3
	move.l	DosBase-__(a4),a6
	jsr	-798(a6)			;ReadArgs
	move.l	d0,Args-__(a4)
	bne.b	.B
	bsr.w	PrintFault
	bra.b	.noArgs
.B:
	move.l	0+Array-__(a4),d1
	moveq	#-2,d2				;READ
	jsr	-84(a6)				;Lock
	move.l	d0,d1
	bne.b	.A
	bsr.b	PrintFault
	bra.b	.noPath
.A:	jsr	-90(a6)				;UnLock


	lea.l	NotifyStr-__(a4),a0
	move.l	0+Array-__(a4),(a0)
	addq.l	#1,12(a0)
	move.l	MagicPort-__(a4),16(a0)
	move.l	a0,d1
	jsr	-888(a6)			;StartNotify
	tst.l	d0
	bne.b	.loop

	moveq	#236/2,d1			;ERROR_NOT_IMPLEMENTED
	add.l	d1,d1
	bsr	PrintFaultB
	bra.b	.bye

.loop:
	moveq	#-1,d0
	move.l	ExecBase-__(a4),a6
	jsr	-318(a6)			;Wait

	btst	#12,d0
	bne.b	.bye

	move.l	MagicPort-__(a4),a0
	jsr	-372(a6)			;GetMsg
	tst.l	d0
	beq.b	.loop
.bye

	pea.l	NotifyStr-__(a4)
	move.l	(sp)+,d1
	move.l	DosBase-__(a4),a6
	jsr	-894(a6)			;EndNotify

.noPath:
	move.l	Args-__(a4),d1
	move.l	DosBase-__(a4),a6
	jsr	-858(a6)			;FreeArgs
.noArgs:
	move.l	DosBase-__(a4),a1
	move.l	ExecBase-__(a4),a6
	jsr	-414(a6)
.noDos:
	move.l	MagicPort-__(a4),a0
	move.l	ExecBase-__(a4),a6
	jsr	-672(a6)			;DeleteMsgPort
.noPort:
	moveq	#0,d0
	rts

PrintFault:
	jsr	-132(a6)			;IoErr
	move.l	d0,d1
PrintFaultB:
	moveq	#0,d2
	jmp	-474(a6)			;PrintFault



DosName:	dc.b	"dos.library",0
TEMPLATE:	dc.b	"PATH/K/A",0

		dc.b	"$VER: NotifyWait 0.3 (01.03.02) by Zbigniew Trzcionkowski",10,0

		cnop	0,4
NotifyStr:
		ds.l	1			;path
		ds.l	1
		ds.l	1
		ds.l	1			;SENDMESSAGE
		ds.l	1
		ds.l	1*7

MagicPort:	ds.l	1
ExecBase:	ds.l	1
DosBase:	ds.l	1
Args:		ds.l	1
Array:		ds.l	1*1

__:

