                            *********************
                            *   FalcAMP v0.99d  *
                            *********************

           Audio MPEG Layer 3 player for Atari Falcon 030 computers
             By Denis "STGhost" HUGUET and David "Splash" CARRERE
                                 -----------
                                 Sector One
                                  1998-2000


  Sector One is proud to present this new release of the MP3 player for Atari
Falcon 030 computers.


Table Of Contents:

  I  / What is MP3 ?
  II / The player
  III/ Features
  IV / Known bugs and limits of this version
  V  / What's new in this version ?
  VI / Authors



I/ What is MP3 ?
----------------

  The MP3 fileformat has become one of the most used audio format in the
world. This format is in fact the "layer 3" of the MPEG audio streams.
Unlike most people think, the MP3 isn't a better compression system:
for a given bitrate, it will give the same filesize as a "layer 2" file.
The "layer 3" has been developed for low bitrate streams so that it 
provides a good way to transfer audio data across Internet. But at com-
mon bitrates (those used for good sound quality) it doesn't differ in
quality compared to "layer 2" files (except if a bad encoder has been
used, of course). The "layer 2" is recommended for very high quality
encodings (high bitrates).


II/ The player
--------------

  Well, it took us a lot of time but here it is. This program is now a plugin
for our GEM Interface. This plugin will allow you to play MP3 files under
these conditions:

 -only layer 3 is supported
 -MPEG 1, MPEG 2 and MPEG 2.5 fileformats are supported
 -Mono, Stereo and Dual-channel files are accepted, not Joint-Stereo.
  (Joint-Stereo files will be played as mono automatically)
 -the file is not severly damaged (simple error-recovery built-in)

  If the file is recognized, the player will prepare the replay according to
the commands from the interface.

  The decoder is now interrupt based, so it should run perfectly under a
any environment. But, remember that it will use a lot of available CPU time.
  Please keep in mind that both processors, even though they're working in
parallel, need to synchronize so if you have not a correct replay (noises into
the sound most of the time, and slowed tempo) it means that one of the
processor is too slow...either you're doing too much things in parallel
on the 030 side or the dsp is simply too slow (should only happen if you
don't use an audio clock on a standard Falcon for playing an MPEG 1 stream
at 44Khz).

  The only condition to run this player is to have about 1.8Mo of free RAM
on your Falcon 030. This amount of memory is required mainly to speed up
the player. Don't forget that the GEM interface will need a bit of memory
itself.

  However, if you want to play MP3 files on a standard Falcon (16Mhz CPU)
you should avoid big screen resolution because this may cause some slowdown
of the replay. This should be very important if you have a VGA screen on
your Falcon. You can either keep a large screen by shrinking the number
of colours or use a small screen with a lot of colours...


III/ Features
-------------

  The player supports some extra features:

-External audio clocks automatically detected and used (dual clocks and FDI
 recognized too) (contact us if some clock isn't well recognized)
-Linear sample interpolation to convert MPEG replay frequency to Falcon
audio frequency. Useful only if you have not an external clock.
-ID3 tags v1 and v2 recognized: they will be displayed in the file info
 window (v1, v2.2.0 and v2.3.0 supported)
-Displays details about the fileformat in the file info window (along with
 ID3 if any). These infos are based on the first frame, but it supports
 format-changes on the fly (except for frequency)
-Variable bitrate supported
-CPU speed boards accepted and recommended (especially if you don't have
  any external audio clock and you want to play 44.1kHz or 48kHz stereo
  files).
-Improved error recovery: Many MP3 files have structural errors...FalcAMP
 can handle these files in a better way now: it can resynchronize the stream
 to continue the replay... The player won't skip any frame and it won't
 stop. The plugin has been made to remain active in such cases so that it
 doesn't disturb the GEM interface... However, it may cause some glitches or
 any other strange sound while the player tries to resynchronize.
- Even supports files with both tag v1 and v2
- A small search range at the begining of the file has been added to allow
 the replay of files that begin with a blank (null bytes). However, it may
 allow non-mp3 files to be played, so be careful... Some checks have been
 added to prevent this but some binary files may go through.
- DSP timeout has been lowered so that a DSP crash can be detected faster.
 The delay should be 4 seconds before a timeout warning to the gem interface
- Preliminary joint-stereo computations added on 030 side, it will reduce the
 load of the DSP part for this kind of file.
- The player computes the minimum number of IMDCT required to replay the
 file with the best accuracy. This allows the DSP decoder to work faster with
 Stereo files (up to 7% faster). This is helpful for a 32Mhz DSP and hardly
 slows down the 030 side.


IV/ Known bugs and limits of this version
-----------------------------------------

- The player might be in pause mode even though the interface states it is
 playing, this is a plugin bug, not an interface bug... This is normally
 fixed but who knows !

- Joint-stereo encoding scheme is not yet supported (except in our own
betaversions !), but should be soon (we are in the process of debugging
it / furthermore, the JS replay is deadly slow on a standard Falcon,
so we are trying to optimize a bit more the DSP replayer !). It will be
decoded as a normal Stereo-encoded file. This will result in more or less
noisy clicks on the left channel and probably weird sound on the right
channel...

- We did our best to make this player works with 16Mhz 030/32Mhz DSP. Most
of the time, the file will be replayed correctly, even if it could use most
of the available time of your Falcon. But problems are possible sometimes
with 44kHz and 48Khz stereo MP3 files, resulting in a kind of echo effect or
adding noisy clicks. If you have a 50Mhz 030/50Mhz DSP, you should never have
this kind of problem !
 Anyway, to let standard Falcons users listen to all MP3, we added a special
"Standard Falcon" mode, which will output Joint stereo and Stereo files as if
they were mono. A 32Mhz DSP has then enough time to process the file at
correct rate. This special mode is activated using the "Force Mono output"
setup of the GEM interface.

  We tried to make this software system friendly, and to prevent any
unexpected freezing of your computer. But, please, keep in mind that we
cannot guarantee a complete reliability. You have been warned !

  For bug reports, please send an email to STGHOST or SPLASH, using more
or less the following model. Try to fill it with maximum accuracy.

FAMP's standard bug report:
~~~~~~~~~~~~~~~~~~~~~~~~~~~

a- Executable file and my configuration

My FalcAMP GEM version is the: _____, MP3.PLG version is: _____ and
plugin filesize is ______ bytes.
(check plugin infos in GEM interface to get plugin version)

Hardware configuration of your Falcon: model, memory, and additional
hardware (clocks, faster CPU/FPU/DSP, enhanced sound system, ...).

Software configuration of your Falcon (when you found FAMP's bug, else the
most frequently used): TOS version, additonal OS.

b- Layer 3 file

(Please, always keep the file which is not played correctly until we
answered.)

A bug occured with: ________.MP3 file (available at: ...).
Filesize is: ...
Displayed infos are: ...

Kind of error:

-> Famp give me the following error message:
-> Famp is locked
-> The sound is not correct. Here is a short description of what occured.
-> ...

  A FAQ file with most common problems that users encoutered with FalcAMP
is included. If you have a bug, please check first if the FAQ file cannot
give the answer to your problem !


V/ What's new in this version ?
-------------------------------

 Here's the list of the changes that have been made since the previous
release of Falcamp (v0.92) :

- Now plugin based !
- Fixed some (last ?) bugs in the scalefactor decoding.
- Fixed a bug in the computing of number of IMDCT required
- Added glitch protection system (halves volume when an unrecoverable error
 is detected  because the glitches are not very pleasant to ears...)
- Glitch minimizing upon seek
- Rewritten joint-stereo precomputings in a faster way for the 030
- Automatic looping system added
- Added system to modify DSP tables upon file change
- File checker rewritten to support all possible file features in the same
 file (both ID3 v1 and v2, with or without a WAV header)
- DSP player can be configured on the fly, during replay
- Little optimizations and improvements of the DSP player
- The sound quality will give you full satisfaction now ! (DSP)
- Bug removed from mixed-blocks requantization (DSP)


VI/ Authors
----------

  Who did what in this player:

STGHOST (030 part)       deunstg@free.fr
 File parsing, tag parsing, disk caching, scalefactor decoding, fast Huffman
 decoding, clock detection, IMDCT estimation, joint-stereo precomputing,
 error recovery and many weeks of debugging

SPLASH (DSP part)        dcarrere@worldnet.fr
 Sound system init, DMA-DSP transfer, requantisation, antialiasing
 butterflies, IMDCT, polyphase filerbank, linear interpolation, and many
 more weeks of debugging


FAMP is a 100% assembler product, based on AMP 0.71, AMP 0.76, MPEGA and ISO
MPEG sourcecode, that we completely changed, improved, and optimized for the
Falcon 030.


  We'd like to thank:

-Tomislav Uzelac for spreading his sources of AMP
-Stephane Tavenard for giving us his sources of MPEGA
-All people who supported and helped us to remove bugs
-All people who believed in us...

  We decided to spread this software as a freeware. We did FAMP for the fun,
and also because we were dying to listen MP3 files on our Falcon ! Also,
maybe we did it because people used to say that it would be probably
impossible to do, and we were convinced that it was possible.
  Anyway, because of the huge work we put into this player, we wait -at least-
for support and aknowledgements, and -at most- for money if you think it
worth the price. If you use FAMP often, please, do not forget us... It may
speed-up the release of next version ! :-)

Have fun !
