Short:        eXternal Format Rippers master library
Author:       Andreas Szabo
Uploader:     silva psi5 com
Type:         util/misc
Version:      4.5
Replaces:     xfrmaster.lha
Requires:     any amiga or amiga emulator
Architecture: 

	PURPOSE AND FEATURES

There have been many rippers on amiga with various functions. If you
wanted to write your own ripper because of implementing a function that
the others had not, you needed to rewrite all those formats out there.
Now is the times when ultimate redemption has come to you programmers
of the rippers. XFR is a standard amiga library that supports external
clients similar to eagleplayer rippers, and, XFR can be utilised from
any program easily through a standard interface. Some details:

	- 100% written in 68000 assembler
	- object based interface
	- external clients use taglists
	- check or scan files
	- scan memory
	- read tracks from a disk
	- special deep scan mode
	- scan hook function
	- abort and continue
	- extract samples from modules
	- convert format to more common
	- fix/patch embedded replayers
	- developer material and guide


	ARCHIVE CONTENTS

	xfrmaster.library		the library itself
	xfr/				clients
	xfrlibinfo			shell and wb tools,
	xfrlist				see usage below
	xfrscan				 .. ..
	xfremove			 .. ..
	xfr-usage.txt			quick start info
	X-Systems.TXT			about similar libs
	XFRGenie			Delitracker XFR Genie
	EagleXFR			XFR Eagleplayer Engine
	xfr_developer.guide		developer autodoc
	#?.asm				example sources*
	xfr.i				assembler include file
	xfr_lib.i			.. (lvo offsets)
	xfrmaster_pragmas_#?.h		for different compilers
	xfrmaster_stubs.a		what are these for?
	xfrmaster_lib.fd		fd file

	* may undergo changes from rel to rel, i do try to
	  release some good sources without further notice


	VERSION AND UPDATES, HOMEPAGE

There are no known bugs. Details on missing features are documented
in the guide or commented in the includes. The c header files are
experimental and incomplete. I do not understand c and you may help me.

You may check for updates at http://www.psi5.com/~silva/afilter/. A
list of clients is also maintained there and with some may be links
to recent client updates or to their authors webpages.

The supplied tools do support some of the features of
xfrmaster.library, though there is more available for developers.

If you like this library and/or tools, please leave me a note per email.
Write to: silva@psi5.com


	LEAGALITY

This software is freeware. You may not have to pay for it. You may send
money or something usefull to silva@psi5.com.

I take no response for anything concerning XFR. You may not distribute
it or the archive nor partial but may spread the word and hand out the
homepage address. You may use and modify the supplied sourcecodes for
your own purposes without remaking and redistributing annother version
or clone of XFR or one of the supplied clients or tools under my name. 


	INSTALLATION

1. You copy the contents of libs/ from this archive to libs:.
2. You copy the xfr tools where you want them. I recommend C: but
   you may use some of them via icon also, so maybe sys:tools/
   or else place in a WB-drawer is the place.
3. put the genie or engine in the appropriate directory,
   DeliGenies for Delitracker or Engines for Eagleplayer, both
   just one dir under the main dir where the player main program is
4. You copy the developer files where you want them.


	USAGE

A help text for the Delitracker XFR Genie can be found when selecting
the Genie from the Delitracker Genie list, pressing config and then
in its menu the help key while the menu is open (menuhelp). Closing
the progress window does stop the scan and then the genie does show
what XFR has been found until that.

The tools are very self explaining and can be started from shell or
workbench. You can also select their icons together with other
files or directorys to process. In the shell the "?" argument prints
out some info for xfrlibinfo, -scan and -list. At xfrlibinfo you do
not need to use -> " <-. The xfremove does not have any parameters.
It frees the library and all clients from memory when idle (so you
do not need to reboot after changing the client files, just type
xfremove and load again whichever XFR-prog youd like).

The scanning, listing and libinfo text output can be canceled with
CTRL+C.

There is a general XFR difference in scanning and listing file and
data recognition, so some data can be ripped out of files, but not
properly listed as a stand alone files. Hope for future improvements
or re/write a client yourself. And last but not least XFR is rather
a ripper than a file/ or datatype recognition tool.

I recommend to deactive the player genie if you only want to listen to
music. You would do yourself a great favor.

Advanced options for xfrscan are (see "xfrscan ?" for beginner):

TO <directory>			save files, default is verbose only
EXCLUDE <filenamepattern>	do not scan these files, e.g. #?.info
DISK <drivenumber>		select floppy drive 0 to 3 to read a
				whole disk for input to scan it; please
				do not use this (use xad) to load disk
				that are amiga dos formated or do contain
				an os filesystem directory. such may
				produce very false results, though for
				bootgirl bootblock pictures its ok--)
CHIP				scan the entire local chipmem area 
FAST				scan the fastmem area(s)
RAM or MEMORY			scan all chip and fast ram area(s)
				(you may also use CHIP and FAST combined)
DEEP				scan in deep mode
HYBRID				scan in normal and deep mode combined
ODD				scan odd addresses, e.g. you have
				cut a decrunched demo in a texteditor
				at a byte offset (needs 68020+ CPU or
				emulation of such)
PCSTYLENAMES			per default names are f.e. mod.amegas,
				with this opt. the will be amegas.mod
COMPACT				no blank lines in text output
OVERWRITE			default is adding numbers to filenames
				that exist when saving

Please write me if you find the overwrite option usefull. I doubt.
Write to: silva@psi5.com


	DEVELOPEMENT

You may use the supplied example sources, change them or make your
own to write a program that utilises xfr. If you make a client (much
more simple than a program, you do not need to worry about allmost
anything), consider the very informative guidelines that are written
and illustrated on the homepage. A client should match them to be
included into the xfr distribution.

Send it to me along with its sources. We can decide and you can get a
link on the homepage to support it yourself, offer updates, etc.

My eMail adress is silva@psi5.com.


	CREDITS AND EARLY HISTORY

I learned by trying object based developement and then through xfd and
xad by Dirk Stöcker, Georg Hörmann, but rather by analysing dozens of
formats and replays. In the beginning, that has been annother dozen of
years beyond, through heavy and dirty ripping. Later through many years
of allmost useless developement and planning. Armin Sander was the guy
at the M&T support hotline and he encouraged me to take over his job
there. After (or before) this he has given me and my schoolfriend some
improved assembler and reassembler to work with. So the work continued
in a new environment.

The eXternal Format Rippers are mainly made from my earlier projects
Universal Ripper and Amiga Filterium.

For most of the eXternal Formats that are supported now by XFR I
referred to other ripper sources. Certain authors and providers of
informations are listed on the homepage and can be retrieved with the
supplied xfrlibinfo program from the clients directly. Sometimes the
shell command "version" can do this also.

If you want to make a good program consider to implement xad, xfd and
xvs from aminet.net. They do you all a great work as e.g. unpacking
allmost all homecomputer and pc archives, decrunching amiga intros and
checking amiga software for viruses.

===============================================================
DISCLAIMER
===============================================================

Copyright (c) 2015 Andreas G. Szabo

Permission is hereby granted, free of charge, to any person
obtaining a copy of this software and associated documentation
files (the "Software"), to deal in the Software without
restriction, including without limitation the rights to use,
copy, modify, merge, publish, distribute, sublicense, and/or
sell copies of the Software, and to permit persons to whom the
Software is furnished to do so, subject to the following
conditions:

The above copyright notice and this permission notice shall be
included in all copies or substantial portions of the Software.

THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES
OF MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND
NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT
HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY,
WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR
OTHER DEALINGS IN THE SOFTWARE.

--
eXternal Format Rippers

pps: Zak McKracken for President