
; -------------->  Setup Shell Code  <-----------

	SECTION	shell,code_c
	
	opt	o+,c-
	
	include	includes/libs.i

; --------------> Main Routines


	bra.s	OpenLibraries
back1	bsr	CreateRequest
	
	bra.s	CloseLibraries
back2	
	rts
	
; --------------> Open Libraries

OpenLibraries
	lea	INTname(pc),a1
	bsr	openLIB
	move.l	d0,INTbase
	beq	noINT
	lea	GADname(pc),a1
	bsr	openLIB
	move.l	d0,GADbase
	beq	noGAD
	lea	GFXname(pc),a1
	bsr	openLIB
	move.l	d0,GFXbase
	beq	noGFX
	bra.s	back1

openLIB
	move.l	$4.w,a6
	moveq.l	#0,d0
	jsr	OpenLibrary(a6)
	rts

; --------------> Close Libraries

CloseLibraries
	move.l	INTbase,a1
	bsr	closeLIB
	move.l	GADbase,a1
	bsr	closeLIB
	move.l	GFXbase,a1
	bsr	closeLIB
	bra.s	back2
	

closeLIB
	move.l	$4.w,a6
	jsr	CloseLibrary(a6)
	rts
	
; --------------> Error Routines

noINT
noGAD
noGFX
	
; --------------> Routines
CreateRequest
	move.l	INTbase,a6
	move.l	#0,a0
	lea	RequestStruct,a1
	lea	RequestFlags,a2
	move.l	#0,a3
	jsr	EasyRequestArgs(a6)
	rts

; --------------> Data
	
INTname		dc.b	'intuition.library',0
GADname		dc.b	'gadtools.library',0
GFXname		dc.b	'graphics.library',0

Title		dc.b	'EZrequest',0
Fmt		dc.b	'  xxxxxxx ',$a
		dc.b	'123456',0

Buttons		dc.b	'Okay|Maybe|Could do|Might do|Never know|Cancel',0
	
INTbase		dc.l	0
GADbase		dc.l	0
GFXbase		dc.l	0
Windowhd	dc.l	0

RequestFlags	dc.l	0
RequestStruct	dc.l	es_SIZEOF,0,Title,Fmt,Buttons

	end
