------------------------------------------------------------------------
jol v0.3 - plays various songs using USS Lite sound devices under Linux
------------------------------------------------------------------------

The jol player will playback .MOD song formats under Linux. The USS
Lite sound driver must have been previously compiled into the kernel.
I use v2.0.29 of the Linux kernel, RedHat v4.0, and USS Lite v3.54
sound drivers. It's quite possible that earlier versions of the above
softwares will work just fine.

The jol player supports only the /dev/dsp device provided by the USS
USS sound driver. The user can specify whether to produce 8/16 bit
samples, mono or stereo output, and specify the output mixing rate of
the MOD. Any sound card which provides a /dev/dsp should be usable
with this program.

The jol player can load and play the following song formats.
     - original 15 sample MODs
     - extended 31 sample MODs
     - protracker extra track MODs
     - startrekker 4, 8 channel MODs
     - taketracker 4, 6, 8, 16, 32 channel MODs

Many playback effects are implemented. Some might even be implemented
correctly! The period, volume and slide effects seem to work well. I
believe the loop and speed effects are also working fine. There are
temporary solutions (read: kludges) for performing some of the
more esoteric effects.

The jol player uses timing systems based upon NTSC Amigas by default.
This can cause songs produced on PAL Amigas to play poorly or out
of tune. There is no way to tell jol which timing system to work.
Until I figure out how to distinguish the PAL and NTSC format MODs
I will continue to default with NTSC timings.

The jol player will play the songs specified on the command line in
order. An exit value of 0 indicates successful playback of all songs.
Non-zero return values indicate some form of error: negative values
being a problem with the command line and postive values being some
form of internal error. You can find a list of command-line options
by entering "jol --help" or read the man page "man jol".

The jol player was written in C++ and will probably require the GNU
C++ compiler. The code assumes that integers are 32-bit which will
most likely give some poor person porting related migraines. I think
I have also assumed a little endian memory architecture. If I have
made this mistake then jol is most definitely Intel-linux dependent.

Bug reports are always welcome. I encourage people to find the bugs
and correct them (makes my life easier) but please mail me what you
have done. Then I can include it into the next release and so make
everyone happy. I also love suggestions. If you think the design will
cause problems, is grossly inefficient or you think I've implemented
an effect wrong then dont be shy. Tell me and I'll correct the code
and honour you in the CREDITS file. You can send any constructive or
helpful critiscm to.

	nathan.hand@anu.edu.au

Glowing praise is always welcome, but never expected :-)

--
Nathan Hand -- 1997
Engineering/Computing Student
Australian National University
