		ifne filer__

_file_req:
		move.l a0,_arp_strukt
		move.l windowhd,_arp_w
		lea _arp_name,a1
		moveq #0,d0
		move.l 4,a6
		jsr -552(a6)			;OpenLib
		tst.l d0
		beq _fehler
		move.l d0,a6
		lea _arp_strukt,a0
		jsr -294(a6)			;Requester aufrufen

		move.l d0,_file_req_ok		;Speichern oder Abruch

		move.l a6,a1
		move.l 4,a6
		jsr -414(a6)			;CloseLib
		cmp.l #0,_file_req_ok
		beq _file_req5b
		lea _dir(pc),a0
		lea _file_name(pc),a1
_file_req2:
		move.b (a0)+,d0
		beq _file_req3
		move.b d0,(a1)+
		bra.s _file_req2
_file_req3:
		cmp.b #":",-1(a1)
		beq.s _file_req3b
		move.b #"/",(a1)+
_file_req3b:
		lea _file(pc),a0
		cmp.b #0,(a0)
		beq _no_file_name		;wurde keine Name gewhlt
_file_req4:
		move.b (a0)+,d0
		beq _file_req5
		move.b d0,(a1)+
		bra.s _file_req4
_file_req5:
		move.b #0,(a1)
		moveq #0,d0
		rts
_file_req5b:
		moveq #1,d0		;Abruch
		rts
_fehler:
		move.l #-1,d0
		rts
_no_file_name:
		move.l #-1,d0
		rts

_file_req_ok:	dc.l 0
_arp_strukt:
		dc.l 0
		dc.l _file
		dc.l _dir
_arp_w:		dc.l 0
		dc.w 0
		dc.l 1
		dc.l 1


_arp_name:	dc.b "arp.library",0
_file_name:	ds.b 128		;dir + Filename
_file:		ds.b 64			;Filename
_dir:		ds.b 64			;Direktory

		even

		ENDC

		ifne auto__

_ts1:		dc.b 0,1
		dc.b 0,0
		dc.w 4
		dc.w 4
		dc.l 0
		dc.l 0
		dc.l 0
_ts2:		dc.b 0,1
		dc.b 0,0
		dc.w 4
		dc.w 4
		dc.l 0
		dc.l 0
		dc.l 0
_ts3:		dc.b 0,1
		dc.b 0,0
		dc.w 4
		dc.w 4
		dc.l 0
		dc.l 0
		dc.l 0

		ENDC
_textst:
		dc.b 1,0
		dc.b 1,0
		dc.w 0			;x
		dc.w 0			;y
		dc.l 0
		dc.l 0			;string
		dc.l 0

_bsave:
		move.l #1,_ioerror
		bsr _dosopen
		move.l _modus,d2
		move.l _modus,d0
		move.l _dosbase,a6
		move.l _name_save,d1
		jsr -30(a6)
		move.l d0,_filehd
		move.l d0,_ioerror
		tst.l d0
		beq.s _save2
		move.l _anfang_save,d2	;Anfang der Daten
		move.l _lang_save,d3	;Laenge
		move.l _dosbase,a6
		move.l _filehd,d1
		jsr -48(a6)
		move.l d0,_ioerror
		move.l _dosbase,a6
		move.l _filehd,d1
		jsr -36(a6)
_save2:		bsr _dosclose
		cmp.l #0,_ioerror
		beq _bsave
		rts

_bload:
		move.l #1,_ioerror
		bsr _dosopen
		move.l #1005,d2
		move.l _dosbase,a6
		move.l _name_save,d1
		jsr -30(a6)
		move.l d0,_filehd
		move.l d0,_ioerror
		tst.l d0
		beq.s _bload3
		move.l _anfang_save,d2
		move.l _dosbase,a6
		move.l _filehd,d1
		move.l _lang_save,d3
		jsr -42(a6)
		move.l d0,_ioerror
		move.l d0,d6
		move.l _dosbase,a6
		move.l _filehd,d1
		jsr -36(a6)
_bload2:	bsr _dosclose
		cmp.l #0,_ioerror
		beq _bload
		ble _bload
		rts
_bload3:
		move.l _dosbase,a6
		jsr -132(a6)			;welcher Fehler
		cmp.b #205,d0
		beq _bload4
		bra _bload
_bload4:
		bsr _dosclose
		move.l #-1,_ioerror
		rts

_dosopen:
		move.l 4,a6
		lea _dosname,a1
		moveq #0,d0
		jsr -552(a6)
		move.l d0,_dosbase
		rts
_dosclose:
		move.l 4,a6
		move.l _dosbase,a1
		jmp -414(a6)

_dosname:	dc.b "dos.library",0
		even
_filehd:	dc.l 0
_ioerror:	dc.l 0
_dosbase:	dc.l 0
_modus:		dc.l 0
_name_save:	dc.l 0
_anfang_save:	dc.l 0
_lang_save:	dc.l 0

_warte:
		bsr _dosopen
		move.l _wait,d1
		move.l _dosbase,a6
		jsr -198(a6)
		bsr _dosclose
		rts
_wait:		dc.l 0
