
                                 Cthugha V5.0
                          'An Oscilliscope on Acid'

                    by the Digital Aasvogel Group. 1993-1994
                            Revision V5.0 - 29Jun94 zaph    



                       Who's this Cthugha dude anyway ?
-----------------------------------------------------------------------
"Cthugha resembles an enormous burning mass continually varying in shape.
It dwells at or near the star Fomalhaut, from whence it may be called.
It is one of the most obscure and remote of all the Great Old Ones."
Call of Cthulhu - Chaosium

When Cthugha is summoned he is always accompanied by Fire Vampires.

'There appeared thousands of tiny points of light. ... The myriad points of
light were living entities of flame!  For wherever they touched, fire sprang
up.'
The dweller in Darkness, by August Derleth



                      What does this software do then ?
-----------------------------------------------------------------------
Audio input seeded image processing.
Cool.
Hook up your CD player to the input of your soundblaster card,
or use your CD-ROM player if you've got one.
Run Cthugha (DOS program)
Then play some of your coolest music
- and wow, does your screen look like a 90's lava lamp or what ?

Cthugha 'listens' to your music, and changes the display dynamically
to the sound.  

Ever looked an an oscilliscope of your voice or of music ?

Think of this as an oscilliscope on acid.





                            Technical Stuff :
-----------------------------------------------------------------------

Sound Cards :

Tested with soundblaster Pro and 16
Tested with GUS
**PROBABLY DOESN'T WORK WITH A PAS AT THE MOMENT :-(

(Sorry - that's all we had, if you want other cards supported get in
touch, and we'll see what we can do.)

Oh yeah, it needs a 386 too :-)
And it *really* wants a 486 with a good-speed graphics card...
And it *flys* with a Pentium PCI machine :-)

Command Line syntax:

Cthugha: Command line options
(These are Case sensitive commands)

  -L,-M,-C  : Use Line/Mic/CD as input
  -G,-S,-P  : Use GUS/SB/PAS (default: search)
  -O        : Use OLD SB code (useful for PAS or other cards that dont work)
  -s,-m     : Default to STEREO/MONO
  -i,-e     : Disable Inbuilt/External Palettes

  -T <num>  : Minimum frames before changing
  -R <num>  : extra random frames before changing
              time delay formula : delay = t + rand()%r

  -V <0-255>: Set input volume to <0-255>
  -v <rate> : VU bar sample rate (Default=4000)

  -Q <num>  : Number of frames before silence change <def:200>
  -f <num>  : Start with flame   #<num>
  -w <num>  : Start with wave    #<num>
  -p <num>  : Start with palette #<num>
  -l        : Lock to first wave/flame/palette

  -d        : Pause just before running (usually for debug)
  -X,-x     : Debug mode (no sound source needed) - generate random noise
  -t <fname>: Load alternate Translation table file
  -q <fname>: Load alternate Quiet strings from a text file
  -I <fname>: Load settings from .ini file

  -B <num>  : Set the beat volume level to #<num>                <def:220>
  -b <num>  : Set the number of beats to #<num> (0,-ve to disable) <def:16>
(Notes on BEATS):
  The BEAT flags allow the screen to try to change on a regular number of
  loud beats...  Usually this matches either a drum beat, or loud vocals..
  If you set the values too low, everything starts going crazy :-)
  This would be better implemented as a frequency based system, but since
  the FFT code isnt going yet...

Keyboard Commands (While running) :

- +     Drop/Increase the sample rate by 1000hz
< >     Drop/Increase the noise threshold (blanking level)

i       write current setting to INI file

w       change wave function
f       change flame function
p       changes palette
t       changes table (how it uses the palette)
d       changes display function (up/down etc)
m       massage the audio (figure that one out!!)
L       Lock modes (No random switching)
c       CD player interface
<space> randomally changes something (maybe the same)
*       Stereo/Mono toggle
!       Toggle Translation Table

<esc>   Exit
x       Exit






                            More Tech Stuff :
-----------------------------------------------------------------------

Palette File Format :
The format is the same that FRACTINT uses.  If not all color indexes
are specified then they default to black.  The color values are
specified in RGB tupples (0-255), where 0 is black.  Easy !
The software scans the current directory for palette files (ext .MAP)
and uses up to the first 25 it finds.
Format -

255 255 255 comments index 0
... ... ...
255 255 255 comments color index 255

If you come up with a good palette file, 
email it to zaph@torps.apana.org.au






                              Translation Tables:
-----------------------------------------------------------------------
These tables are used to design just about ANY effect, without recompiling
the source to Cthugha!!!

Here's how they work.
You generate a table, 320x204, of integers - the integer represents the
SOURCE pixel for this DESTINATION pixel.

e.g  in a small 3x3 world..
123
456
789    would do nothing

236
519
478    would rotate around the edge, and pop back to the center...

Read the source to GENTABLE.C to try to work out how it works, or send me
some email!

Several tables are included with Cthugha - try them with the -t <fname>
option.  Currently, only one table can be loaded for a given run of Cthugha.




                                 Quiet Strings:
-----------------------------------------------------------------------
If everything goes quiet for a while, then Cthugha will pop up one of 
19 strings to the screen
Each string can be up to 19 characters long, and can be read from a text
file with the following command line parameter

cthugha -q filename

The first 19 characters of each line are used for the string table.





                         Contact/Shipping/legal things :
-----------------------------------------------------------------------
CTHUGHA V5.0

Forward messages to Zaph
    Internet zaph@torps.apana.org.au
    Torps Productions BBS +61-3-813-3688
    FidoNet 3:634/386                   (FREQ CTHUGHA for the latest version)
    Compuserve 100240,2002  (I'd rather use Internet...)

    or:

    Zaph
    PO Box 331 
    Richmond 3121 
    Victoria, Australia


SHAREWARE  (PostcardWare/CDWare)
Free for non-commercial use  -  Send a Postcard to show your appreciation
If you have more money than you know what to do with, then send me a CD
of something you like listening to with Cthugha on the screen...

Really, there's no point sending me a cheque for $20-$30, because its going
to cost to get it cashed anyway, and I'd probably go out and buy a CD with
the money, so - if you want to send more than a postcard,  why not just send
a CD instead ??

Commercial users register for US$50 (or AUS$50)
(Previous versions were US$20, but it costs that much to cash the cheque!)

    Kevin Burfitt
    PO Box 331
    Richmond 3121 
    Victoria, Australia


If you can't afford to register send a video tape of public performance
or send a postcard :-)

If you forward this program on to friends, make it available on a
BBS, etc please include this document (un-adulterated).

If you run a shareware house/store, the disk you sell this program on
is not allowed to be sold for more than US$20.

DISCLAIMER : this software is provided 'as is' without waranty
of any kind implied or expressed.

If it works, great.
If it doesn't, then that's your bad luck - send us some mail and we will try
to fix it.





                                  Thanks to:
-----------------------------------------------------------------------
Coders:

zaph@torps.apana.org.au       (Kevin Burfitt)   Thats me :-)
moles@torps.apana.org.au      (Myles Abbott)    Documentation/Ideas
u23783@vicvm.uic.edu          (Daniel Sachs)    SBpro/SB16 Stereo Support,
                                                CD stuff, Borland support
ukr8@rz.uni-karlsruhe.de      (Jochen Quante)   GUS support
ae510@freenet.carleton.ca     (Derek Beland)    PAS support (not yet)

General:

Dean Scully                             Convinced me to release the beast...
millen3@rpi.edu (Neal Millen)           First person to email me with ideas!
bl2i+@andrew.cmu.edu (Bryan Lewis)      Said nice things about Cthugha
pgray@umr.edu (Paul Gray)               Convinced me to release this version
markd@bushwire.apana.org.au             Offered his site for FTP access

ID software                             For DOOM :-)



Postcards from:  (so far!)
-----------------------------------------------------------------------
Finland    : Toni Nikkanen
Denmark    : Ole Nielsen (and his 5.y.o. Neice)
Sweden     : Nader Attar
USA        : Lang Zerner, Mark Mathais, Gabor Lauffer
Netherlands: Reinout von Shouwen
Australia  : James Milne


CD's from:  (so far!)
-----------------------------------------------------------------------
Pete Namlooks Ambient Compilation 2     from   Don Weir, Australia



Good CD's to watch:  (With comments from the net!)
-----------------------------------------------------------------------

The Cure:
Dire Straits:     Brothers in Arms
Ella Fitzgerald:  (really!!, the 20's songs - trp@Cs.Nott.AC.UK)
Enigma:
Enya:             (Excellent with all white palettes - jsee+@andrew.cmu.edu)
Nine Inch Nails:
Peter Gabriel:
Pink Floyd:       The Dark Side Of The Moon
Pink Floyd:       Momentary lapse of reason
Pink Floyd:       (actually, anything by Pink Floyd will do...)
Orbital:
Smashing Pumpkins:
Metallica:        Orion - use the crawling worms mode :-)
Metallica:        Use Lightning for most tracks
Hendrix:
Manic Depression:
Pete Namlook:
Klaus Schulze:


SOURCE CODE:
-----------------------------------------------------------------------
The Source code to V5.0 should be in this archive.  If you didn't get the
source, then email me on  zaph@torps.apana.org.au

If you are interested in contributing to the source, contact me via the
Internet  zaph@torps.apana.org.au


TroubleShooting                                         TroubleShooting
-----------------------------------------------------------------------

Q: Why doesnt Cthugha work with my V2 Soundblaster ?
A: It might, try using the -O mode for compatibility

Q: Why isnt there native support for my <xxx> card ?
A: Because I need someone like you to write it for me!!
   For now, try the -S or -O options...

Q: How can I register Cthugha ?
A: You can send me a postcard, its all I ask...  if you have too much money
   and don't know what to do with it, then send me a CD of something that 
   looks cool with Cthugha!
   (You could send more, but I don't ask for it... so far I've been sent
   several postcards, a couple of long letters, and a CD)

