
; Appicon

	SECTION kips,code_c

	opt c-,o+

	include	INCLUDE:libs.i
	include	INCLUDE:DMmacros.i

; Libs
	
	lea	Workname(pc),a1
	SYS	OpenLibrary
	move.l	d0,WorkBase

	lea	iconname(pc),a1
	SYS	OpenLibrary
	move.l	d0,iconbase

; Code

	move.l	iconbase,a6
	move.l	#WBTOOL,d0
	jsr	GetDefDiskObject(a6)
	move.l	d0,dobj

	SYS	CreateMsgPort
	move.l	d0,myport

	move.l	WorkBase,a6
	move.l	myport,a1
	move.l	dobj,a3
	move.l	#apptext,d0
	move.l	d0,a0
	moveq.l	#1,d0
	move.l	#0,d1
	move.l	#0,a2
	move.l	#0,a4
	jsr	AddAppIconA(a6)
	move.l	d0,Apphd

; Check Port

	move.l	#0,d1
Test	
	move.l	myport,a0
	SYS	WaitPort
	SYS	GetMsg
	tst.l	d0
	beq.s	test
	move.l	d0,a0
	move.l	am_NumArgs(a0),d1	
	cmp.w	#1,d1			; it works like this
	beq	bye			; do not change!!!!!
;	SYS	ReplyMsg
	bra.s	test

bye
	move.l	dobj,a0
	move.l	iconbase,a6
	jsr	FreeDiskObject(a6)

	move.l	Apphd,a0
	move.l	WorkBase,a6
	jsr	RemoveAppIcon(a6)

; Bye port

	move.l	myport,a0
	SYS	DeleteMsgPort

; Close Libs

	move.l	WorkBase,a1
	SYS	CloseLibrary
	
	move.l	iconbase,a1
	SYS	CloseLibrary
	rts

; End of code - start of data

Workname	dc.b	'workbench.library',0
iconname	dc.b	'icon.library',0
apptext		dc.b	'Kippers',0

WorkBase	dc.l	0
iconbase	dc.l	0
dobj		dc.l	0
myport		dc.l	0
Apicon		dc.l	0
Apphd		dc.l	0
	end
