***************************************************************************
*                               /\                                        *
*                              /--\					  *
*      |\     /                      /-------\				  *
*      | \    |  /---- :     :	    |          /-----\ |----\   /----	  *
*      |  \   | |      |     |	    |          |     | |     | |	  *
*      |   \  | |----  |  ^  |	    |          |     | |____/  |----	  *
*      |    \ | |      | / \ |	    |	       |     | |  \    |	  *
*      |     \|  \____ |/   \|	     \_______/ \_____/ |   \_   \____	  *
*  									  *
*			 P R O D U C T I O N				  *
*									  *
***************************************************************************



Some information about UCDM - The Software Soundchip


Copyright
---------
The UCDM-players TAMMANY, TERMODY, NIKITA, RACHEL, BANSHEE, NAISHEE,
ANGELICA, CATHRYN and MORTICIA are Copyright NEW CORE SOFTWARE and may
not be used or included in any commercial software without our written
permission. Nor may they be changed or rewritten in any way.

Registered Octalyser users are allowed to include the UCDM-players in
their own non-commercial software. We consider Shareware and 
Licenceware as non-commercial as long as the accumulated sale of the title
brings in less than 1000 GBP. If the income from your title exceeds 
1000 GBP you are obliged to send 10% of the profit to New Core 
Software. See the file named UCDM_FAQ.TXT for contact adress.

Unregistered Octalyser users are only allowed to use our UCDM-players
from within the Octalyser.

The UCDM-standard is public domain so anyone is allowed to write 
his own Players and Feeders. The ASCII-string beginning 362 bytes from
the start of every player states who owns its copyright.


What is UCDM?
-------------
UCDM is simply a standard for replayroutines, consisting of two parts,
Players (UMP) and Feeders. A Feeder reads the songdata, translates it
into sampleadresses, volumes and frequencies with which it feeds the
player, that makes the actual replay (the heavy bit).

The idea is that every user shall be able to combine these two routines
so it suits him the best. I have a large variety of players from 12.5 kHz
4 voice with no volume control taking approximately 13% CPU-time on a
normal STE, to an 8 voice 25 kHz player taking aproximately 95 % CPU-time.

In the same way I can easily make different feeders ranging from normal
Tracker- or Quartet-Feeders to EPSS lookalike MID-file-Feeders, thus
beeing able to play all known songformats without having to rewrite the
whole replayroutine. However, the only Feeder I've written so far is a
CORESONG-Feeder (my own fileformat, more about this later), the Feeder
in Octalyser is written by Code.

How do I use UCDM in Octalyser?
-------------------------------
Octalyser has a built in Feeder, so the only thing you have to do is to
load the desired Player from the UCDM-menu and activate it.
If you then play a module you will probably notice that toneslides sounds
terrible. To make it sound better you simply increase the variable in the
UCDM-menu marked 'TO' (abreviation for TONES) and then activate it again.
The higher the value, the better will toneslides, tonevibratos and finetune-
settings sound, but the more memory will the Player take if it uses a 
frequency-table (like Tammany).
If you are using 60 Hz screenupdate (including a Falcon in VGA-mode)
some players will mess with the 8-channel-editor and make it flicker.
Tammany doesn't work any good with the 8-channel-editor at all.


Why should I use UCDM in the Octalyser?
---------------------------------------
The internal Octalyser replay routine is written to be flexible and take
smallest possible amount of memory. My UCDM routines are more speciallised
and have therefore some other advantages and disadvantages. Tammany for
example plays 8 voices in 25 kHz on a normal STE, with other words it's
a lot faster than the internal routine. On the downside it takes a lot of
memory and some calculations are a bit rough, which results in a slightly
distorted sound (you will probably not notice it if you don't listen very
carefully).
If you are a Falcon-owner you should absolutely use the players called
Naishee and Banshee, that takes better use of Falcons increased resources.


How do I use UCDM in my own programs?
-------------------------------------
To use UCDM and Octalysermodules in your own programs you will need a
Feeder that can read modules or CORESONG-files (a module can easily be
converted to a CORESONG). See the files in the folder namned CORESONG
for all the necessary details. Please make sure that you follow the
rules stated in the Copyright-section above.
Why we use our own fileformat is that it is more compact than a module
(the songdata (not samples) takes between 20-60 % of it's original size)
and that we want to put the song and samples in two different files, so
you can have more than one song in your program using the same samples.


Information about the UCDM-Players
----------------------------------
Here follows some technical information about the UCDM-Players supplied
with Octalyser. All CPU-time is refered to a standard STE if nothing else
is stated.

ANGELICA - This is a new 50 kHz 4 voice player that replaces TERMODY,
           which was delivered with the earlier versions of Octalyser.
           It's based around the same Algorithm as Termody and plays
           four voices in REAL 50 kHz (no 25 kHz multiplex as in 
           Protracker's `Hi-Speed 50').
           The main differences between Angelica and Termody is that
           Angelica supports CIA-timing (The B-flag in Octalyser can 
           be set), takes a lot less memory, is Falcon-compatible and
           gives better soundquality. Besides, it's also a lot slower
           than Termody but still fast enough for Octalyser.
           I really recommend you to use this player as your premiere
           player for 4-voice modules since it gives the best possible
           soundquality and supports everything in the Octalyser.
           It uses the blitter, which will make the lower border 
           and 8-channel-editor flicker when used in 60 Hz. 

TAMMANY - This is a 25 kHz Multiplex 8 voice player taking a maximum of
          about 95% CPU-time, but it varies a lot depending on the
          amount of voices actually playing and effects in use.
          It takes quite a lot of memory and distorts the sound a 
          little bit, although it is very hard to hear.
          Falconcompatible and uses the blitter. Does not support
          CIA-timing. Can't be used together with the 8-channel-editor
          (not even in 50 Hz) since the blitter is called anywhere during
          the first 200 scanlines, making the screen flicker since it
          disturbs a very important interrupt.
          
CATHRYN - This player was meant to replace Tammany fully. It takes 
          half the amount of memory that Tammany does, it supports
          CIA-timing, it doesn't disturb the 8-voice-editor and takes
          a maximum of a little more than 80% CPU-time. Unfortunately
          it takes more CPU-time in average than Tammany and it also
          sounds a little bit worse, especially when using very high-
          pitched samples since it's not using Multiplex. The sound-
          difference should be about the same as between Protrackers
          normal 25 kHz and 50 kHz Hi-Speed. 
          If you're low on memory or using the 8-channel-editor I 
          recommend you to use Cathryn instead of Tammany.
           
NAISHEE - Is a 4 channel 16-bit 50 kHz Falcon-only player. Since I can't
          program the DSP yet, this runs on the 68030, taking nearly half
          it's processortime. The reason that it's this slow is that I
          have used the slowest kind of replayroutines in order to increase
          the replayquality as high as possible. It doesn't distort the
          sound at all and the 16-bit output makes sure that it takes
          use of all eight bits of the samples even when playing at low
          volume. Supports CIA-timing. Takes almost no memory at all.

BANSHEE - This is an 8 voice version of NAISHEE. It's slow, but plays
          eight voices at highest possible quality.
          
ATTENTION!!!!
-------------
Both Naishee and Banshee are very unstable on some Falcons. This is 
due to what is called the timer-bug, a hardware-bug in some Falcons 
( mine for example :( ). A lot of programs using the soundsubsystem 
are crashing now and then on these computers (Octalyser & Cubase 
Audio for example), but not all, so there must be a way to tackle the
problem. I have been given some theories to why it crashes, so I shall 
test them and can hopefully come up with a solution later. If I manage 
to fix them I will spread them around as PD.


NIKITA  - This is a slow 25 kHz multiplex, 4 voice Player taking nearly
          no memory at all. No distortion either. It should give the
          same soundquality as the internal player. The only difference
          is that this uses multiplex instead of Anti-Alias, so all of
          you that have argued about which method gives the best
          quality can now make comparisons. The reason I wrote this
          is that there absolutely is need for a normal allround-player
          for gameintros etc.  Falcon compatible.

RACHEL &
RACHEL_B - These players sounds like shit, but their replay is quite fast.
           They doesn't support finetempo or even volume-control and 
           the replay is only at 12.5 kHz without Anti-Alias.
           So you might wonder why I send you these players. The 
           reason is that they are among the fastest players around 
           and takes a very small amount of memory, making them great 
           for use in games and demos. The main reason that the most
           songs sounds terrible with them is that they are using 
           volumecontrol and highpitched sounds (especially hi-hats).
           A module using no volumecontrol and no highpitched tones 
           might sound very good with these players. For example is 
           the main part in an old demo by DHS called Tyranny played
           using a very early version of Rachel. If you have seen it 
           you probably remember that the music didn't sound too bad.
           So if the musician designs a song using Rachel he will hear 
           what instruments and commands he can use and come up with a 
           song that sounds rather good. The only difference between 
           these two players is that RACHEL_B uses the blitter, making 
           it a bit faster and less useful in programs using a lot of 
           timed interrupts. Rachel takes a maximum of 16 % CPU-time 
           and Rachel_B takes a maximum of 13.5 % CPU-time.
           They are also Falcon-compatible.
                    


And to all of you that wonder why I name the players like this I have
no good answer except that it's easier to talk about 'NIKITA' than
25KHZM4V.UMP (which would mean 25 kHz, Multiplex, 4 voices) and that
I give them names that I like.


OTHER UCDM-PLAYERS
------------------

I have written two UCDM-Players that are not in this package:

MORTICIA - This player was written for Unique Development Sweden and will 
           be used in their game called "OBSESSION" which will be a 
           totally fabulous pinball-game. The player uses 5 voices in
           25 kHz (4 for the music and 1 for the soundeffects).
           This will not be distributed to others than softwarehouses
           that are ready to pay for it.

TERMODY - This is an old 50 kHz player. It plays 4 voices in 50 kHz
          and don't take more than 60% CPU-time. But it totally eats
          memory, might produce some clicking sounds now and then, is
          not Falcon compatibel, doesn't support CIA-timing and 
          distorts the sound a bit more than any other of my players.
          Because of all these negative side-effects I decided to not
          bundle it with the Octalyser anymore (it was bundled with 
          all earlier versions of the Octalyser).
          If anybody wants it, then just send me enough money for a 
          disk, envelope and stamp and I will send it to you.



If anybody out there is interested in writing UCDM Players and/or Feeders,
then feel free to contact me for information.

If somebody out there want to write UCDM-Players for the Amiga or Macintosh
in order to create a standard (would be useful when converting games
between platforms) they are very welcome to contact me.

Happy UCDM-using out there!


                         Best wishes

                 Tord Jansson ( Blade of New Core )

Ps.
    See the file named UCDM_FAQ.TXT for contact adress.
