Demos
=====

Introduction
------------

A "demo" is a program which demonstrate its creators' skills in coding,
music, and visual arts.  They do not simply play back pre-rendered
animations such as FLIs, MPEGs, and AVIs, but instead calculate their
images "on the fly".  Similarly, the music is never a straight recording,
but generated in realtime as well.

Demo programming started on the Commodore 64 and Commodore Amiga, tapping 
all the potential that the video and sound chips on those machines offered.
IBM PC demo programming lagged behind due to the lack of a capable standard
for graphics and audio.  The emergence of VGA broadened the horizon for 
visual wizardry on the IBM PC, but a suitable sound standard was still
missing, until now.  The Sound Blaster and its work-alikes at the time 
offered FM synthesis, which did not meet the desires of most musicians for 
sound quality, and a DAC (digital to analog convertor) which was only
capable of playing sound "spoon-fed" to it by the CPU.  Many demos thus
resorted to emulating wavetable synthesis by doing the sound processing in 
software and then outputting the resultant digital signal to the DAC.  This 
work-around provided much better music than FM can, but bogged the CPU down 
tremendously.  

The UltraSound was embraced by demo coders throughout the world the instant 
it was released.  It provided RAM-based wavetable synthesis, offering 
greater realism than FM synthesis and greater versatility than ROM-based 
wavetable cards, at a price comparable to many FM synthesis soundcards of 
its day. 

In this subdirectory are examples of demos which support the UltraSound.
Demos in general push hardware to its limits, and, thus, non-standard
systems may cause demos to crash.  It is often best to run demos from a
"bare-bones" boot disk void of all TSRs except himem.sys and the UltraSound
initialization steps (the ULTRASND and ULTRADIR environment variables need
to be set for demos to correctly recognize the UltraSound).

Notes
=====
These demos are provided as-is for your enjoyment.  Gravis does not
guarantee that they will work on all machines, and it should not be 
construed that the contents of these demos necessarily reflect the 
views of Gravis.

Crystal Dream 2 (\demos\cd2\cd2.exe)
------------------------------------
- Boot without a memory manager such as EMM386.
- Boot with himem.sys.
- Choose UltraSound when asked to choose your soundcard at the start.

Debut (\demos\debut\go.bat)
---------------------------------
- You may use a memory manager.
- Select the base address of your UltraSound when prompted to do so.
  If your UltraSound is on its default base address (220h), then simply
  hit '1'.
- This demo may lock up at the end on some machines.
- Warning:  There is depicted nudity in this demo.  Viewer discretion is
  advised.

Elements (\demos\elements\elements.exe)
---------------------------------------
- Boot without a memory manager such as EMM386.
- Boot with himem.sys.
- Hit "Enter" after the title screen appears to start the demo.

The Jungly Kitchen (\demos\jungly\jungly.exe)
---------------------------------------------
- Answer "yes" to UltraSound question.
- Hit Esc to advance through the different sections of the demo.
- This demo is historically significant as being one of the first demos,
  if not the first demo, to support UltraSound natively.

Symbology (\demos\symb\symb.exe)
--------------------------------
- Choose Gravis UltraSound when prompted.
- Select your base address and IRQ.  If you are unsure of what they are,
  type "SET" at the DOS prompt, hit Enter, and check the ULTRASND
  environment variable for your settings.  The first number after the
  equal sign in the base address, while the 4th number is the IRQ you
  need to specify.

Unreal 1.1 (\demos\unreal\unreal.exe)
-------------------------------------
- Choose Gravis UltraSound when prompted.

2nd Reality (\demos\unreal2\2ndfix.exe)
---------------------------------------
- Select UltraSound when prompted.
- This demo encodes an audio track on the surround channel.  A surround
  sound decoder/amplifier is needed to reproduce the surround channel
  correctly.
- Starting the demo with the "u" switch (i.e. typing "2ndfix u") reveals
  a "hidden" part in the demo with new music.
- If the demo doesn't appear to run correctly when started with "2ndfix",
  try running second.exe instead.

Untitled (\demos\untitled\untitled.exe)
---------------------------------------
- Boot without a memory manager.
- Boot with himem.sys.
- Select UltraSound when prompted, or simply let the demo autodetect your
  sound hardware.

Cyclewar (\demos\cyclewar\cycle.exe)
------------------------------------
- Choose Gravis UltraSound when prompted.

ASM-94 (\demos\asm-94\asm-94_2.exe)
-----------------------------------
- This small demo is an invitation to Assembly 94, an annual event held
  in Finland where demo coders compete for prizes and prestige.

HEART QUAKE (\demos\heartq\heartq.exe)
--------------------------------------
- This demo came took third place at Assembly '94.

Verses (\demos\verses\verses.exe)
---------------------------------
- This is the winning demo from Assembly '94.

Further Notes
=============
- These demos tend to play their music very loudly, which may cause
  clipping if the equipment you have the UltraSound hooked up to cannot
  handle the large voltage swing.  Also, headphones plugged into the
  line out are sure to cause distortion as the line-level output is not 
  meant to drive headphones.
- The Ctrl-Alt-Delete sequence is usually disabled when these demos are
  run, so don't be alarmed if you can't perform a soft-reset.  Simply hit
  the hardware reset button to reboot.
- The musical style in most demos is often very "techno", as opposed to
  "acoustic".  The UltraSound handles both varieties of music equally well.
- Do not view these demos if you are sensitive to strobing lights.

End.
