                            *********************
                            *   FalcAMP v0.90  *
                            *********************

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


  Sector One is proud to present the third new release of an MP3 player
for 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 spread
as a TTP executable file as we're still working on it. It 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.
  (in fact, there is a trick to listen to Joint-Stereo files, see below)
 -the file is not severly damaged (simple error-recovery built-in)

  If the file is recognized, it will be played until its end unless you
press the 'space' key before.

  The decoder is now interrupt based, so it should run perfectly under a
multitasking environment. But, remember that it will use a lot of available
CPU time. Next versions, we'll have some GEM interface that will let users
of monotasking OS use FalcAMP as a desk accessory.
  Please keep in mind that both processors, even though they're working in
parallel, need to synchronize so if you get a rate higher than 100% 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).

  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.

  However, if you want to play MP3 files on a standard Falcon without an
external audio clock, 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)
-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 at the beginning
 of the replay (v1, v2.2.0 and v2.3.0 supported)
-Displays details about the fileformat at the beginning of the replay
 (after 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). It's not very important for this version, but it will be for
  the next release (if you want to use it as a desk accessory for example).
-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... If too many successive errors occur, the player
 will skip some frames instead of stopping. With the GEM interface, you'll
 be able to control the tolerance of the player... 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. You'll be
 warned of this by the player.
- DSP timeout has been lowered so that a DSP crash can be detected faster.
 The delay is less than 20 seconds on a standard Falcon, but it gets
 smaller if your Falcon is faster than standard (for the 680x0 side).
- 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 accuracy of Layer 3 final resolving could be improved, even if the
current version should give full satisfaction.

- The Joint-Stereo encoding scheme isn't supported yet but 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...This
filetype will be supported in a next release.

- 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. To use this special mode, keep the SHIFT key held when starting
FalcAMP.

  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, all the more this is a betaversion.
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 FAMP version is the: ___, FAMP.TTP filesize is ______ bytes.

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 you 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.82) :

- Fixed the bubble bug by recoding the scalefactor extraction in a cleaner
 way (no longer based on AMP for this part but on MPEGA :) Now, the only
 trouble that can occur are glitches due to error recovery on damaged
 files (or/and badly encoded ones) and some side-effects of joint stereo
 that can sound strange (but it's not a bug)
- Now playing in interrupted mode !!! This means the player won't slow
 down because of disk accesses or redraws...It means that you can
 use FalcAMP in a multitasking environment without any trouble due to other
 applications running ;)
- The disk-cache is now bigger thanks to the interrupt mode (you now have
 16 seconds in RAM for a 128kbits/s). The RAM usage is a bit bigger though
 (around 1.8Meg needed i think)
- Fixed a problem with parameter passing with Magxdesk...it sends longnames
 in a kind of drag'n'drop format on the "small" commandline instead of using
 the environment variables. Should work now.
- Fixed the error of error-display system that was only working with 1 of the
 2 interrupts used.
- Fixed a DSP crash that occured when an MP3 files begins with a damaged or
 illegal frame.
-Improved interrupt sync-system...the dsp interrupt should be slightly faster
 now (it won't make much difference on standard falcon though)
- The Joint Stereo emulation now works independently of the external clock
 (but true joint stereo is not supported by the dsp yet).


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

  Who did what in this player:
                             (I know what you did since last summer :-)

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 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 !
