
	include	"SNES.i"

	include	"code/SNES_gui.i"

	incdir	"!includes:OS3.0"
	include	"libraries/reqtools.i"

	incdir	"!includes:"
	include	"LVO/reqtools_lib.i"
	include	"LVO/dos_lib.i"

TRUE	equ	1
FALSE	equ	1

	section	code,code

FSL_SelectLoadFile
* * * * * * * * * * * * * * * * * * * * * * * * *
* Calls _SelectFile with mode 'load'.		*
*						*
* IN:	a0 - Pointer to string-buffer.		*
*	d0 - Size of string-buffer.		*
*						*
* OUT:	d0 - Success				*
*						*
* All registers remain intact.			*
* * * * * * * * * * * * * * * * * * * * * * * * *

	movem.l	a1,-(sp)

	lea.l	LoadFileStruct,a1
	bsr	FSL_SelectFile

	movem.l	(sp)+,a1
	rts

FSL_SelectSaveFile
* * * * * * * * * * * * * * * * * * * * * * * * *
* Calls _SelectFile with mode 'save'.		*
*						*
* IN:	a0 - Pointer to string-buffer.		*
*	d0 - Size of string-buffer.		*
*						*
* OUT:	d0 - Success				*
*						*
* All registers remain intact.			*
* * * * * * * * * * * * * * * * * * * * * * * * *

	movem.l	a1,-(sp)

	lea.l	SaveFileStruct,a1
	bsr	FSL_SelectFile

	movem.l	(sp)+,a1
	rts


FSL_SelectFile
* * * * * * * * * * * * * * * * * * * * * * * * *
* Requests for a file thru a Asl-requester.	*
*						*
* IN:	a0 - Pointer to string-buffer.		*
*	a1 - Pointer to title and taglist.	*
*	d0 - Size of string-buffer.		*
*						*
* OUT:	d0 - Success				*
*						*
* All registers remain intact.			*
* * * * * * * * * * * * * * * * * * * * * * * * *

	movem.l	d0-a6,-(sp)

	move.l	_ReqToolsBase,a6
	move.l	a0,a5
	move.l	a1,a3
	move.l	d0,d5

	move.l	ptr_FileRequester,a4

	move.l	a4,a1
	lea.l	FilenameTemp,a2
	move.l	a3,a0
	add.l	#4,a0
	move.l	(a3),a3
	jsr	_LVOrtFileRequestA(a6)
	tst.l	d0
	beq	.Fail

	move.l	rtfi_Dir(a4),a0

	move.l	a5,a1

.CopyDrawerToBuffer
	move.b	(a0)+,(a1)+
	bne	.CopyDrawerToBuffer

	move.l	_DosBase,a6

	move.l	a5,d1
	move.l	#FilenameTemp,d2
	move.l	d5,d3
	jsr	_LVOAddPart(a6)	

	move.l	_ReqToolsBase,a6

	tst.l	d0
	beq	.Fail

	movem.l	(sp)+,d0-a6
	st.l	d0
	rts

.Fail

	movem.l (sp)+,d0-a6
	clr.l	d0
	rts

	section	bss,bss

FilenameTemp	ds.l	109

	section	data,data

LoadFileStruct	dc.l	LoadFileText
		dc.l	RTFI_Flags,0
		dc.l	TAG_END

SaveFileStruct	dc.l	SaveFileText
		dc.l	RTFI_Flags,FREQF_SAVE
		dc.l	TAG_END

		dc.l	TAG_END

LoadFileText	dc.b	"Load ROM...",0
SaveFileText	dc.b	"Save SNES Image...",0
