Release notes for OSS/FreeBSD 
-----------------------------

This is the first public beta test version of OSS/FreeBSD.
Some parts of the driver are still under construction so
everything doesn't work perfectly yet. Final 3.8 version of OSS
is expected to be ready before summer.
Check http://www.4front-tech.com for information about latest
versions.

Note! The evaluation license included in this package gives
you 5 days time to evaluate OSS/FreeBSD. After 5 days OSS will
work only 10 minutes after it has been started (using soundon).
Full licenses are available from http://www.4front-tech.com.

Known bugs in this release are:
- Audio recording and playback with GUS "Classic" doesn't work.
- System will crash if any of the sound device files are
accessed after OSS/FreeBSD has been unloaded. For this
reason avoid unloading OSS (using soundoff command). Reboot
the machine if you wish to unload OSS.

What is OSS/FreeBSD
-------------------

Please look at http://www.4front-tech.com for further information
about OSS and it's features.

OSS/FreeBSD is new and improved version of the old VoxWare sound
driver included in FreeBSD kernel source distribution. OSS/FreeBSD
offers superset of the features of VoxWare. New goodies that are
not available in VoxWare are:

- Easy installation. OSS/FreeBSD does _NOT_ require recompiling and
relinking of kernel or fiddling with the kernel config files 
(however you may need to do this to remove the old VoxWare driver
if it's included in the kernel. This is not required with the
"standard" 2.2 kernel).
OSS/FreeBSD is a loadable kernel module (LKM) which is installed
and configured using it's own menu based too (see below).

- Support for huge number of new soundcards. Practically all consumer
class soundcards are supported, including full Sound Blaster family
(up to SB AWE64 Gold). Most Plug&Play (PnP) soundcards are supported
too.

- Support for the Emu8000 synthesizer engine of SB 32, AWE32, AWE64 and
AWE64 Gold.

- Improved driver programming API (see http://www.4front-tech.com/pguide
for more info).

- SoftOSS virtual MIDI engine. SoftOSS permits playing wave table quality
MIDI with any (cheap) 16 bit soundcard by emulating wave table in software.
At least P166 CPU is required for best quality mode but lower quality modes
are available for slower machines too. Note that SoftOSS included in this
OSS/FreeBSD version is a preview version.

System requirement
------------------

- "Stock" FreeBSD 2.2-RELEASE (2.2-GAMMA may work too). FreeBSD
versions 2.1.x and 3.0 are not compatible with this driver version
(3.0 will be supported in future but 2.1.x is too limited).
IMPORTANT!!! Sound driver can _NOT_ be compiled into the kernel when
you install OSS/FreeBSD. OSS/FreeBSD is a sound driver itself and it
can't work together with the sound driver included in kernel.
- i486 or higher CPU.
- Minimum of 16M of RAM (24M or more recommended). Kernel is 
likely to fail allocating DMA buffer for OSS if there are less
than 16M of RAM. This may also happen in machines with large RAM
after it has been up for relatively long time. 
- One or more soundcards.

Installing OSS/FreeBSD
----------------------

The installation package (ossfreebsd*.tar.gz) contains the oss/ directory.
It's intended to be installed in /usr/lib/oss (any other directory is possible
too). Perform the following steps to install OSS/FreeBSD:

0) Ensure that there is no sound driver (VoxWare) linked in the kernel. Normally
the sound driver is there only if you have installed it yourself. If command
cat /dev/sndstat fails, there is no older sound driver. Otherwise reconfigure and
recompile the kernel to remove the old sound driver before proceeding.

1) Install the files included in the installation package.

Sign on to the machine as root (or use "su - root").

cd /usr/lib
gunzip -c ossfreebsdXXXXX.tar.gz|tar xvf -

This step creates directory /usr/lib/oss and saves the files in it.

2) Execute the install script

cd /usr/lib/oss
./Install

3) Run soundconf to define your soundcard

Be carefull when running this program for first time. There is a minimal risk that
the machine locks up so don't do this on heavily loaded production system without
entering single user mode.

/usr/lib/oss/soundconf

The above command starts a menu based configuration program which lets you
to add and configure one or more soundcards. At the first time this program
asks permission to run autodetection procedure. Using it is recommended if you
can take risk of hanging the machine (the propability of this is very small).
Otherwise use the "Add new card/device" function to add one or more soundcards.
The device selected by the autodetect function is usually a "generic" device. In
some cases there may be another driver which offers better capabilities. 

There is one important thing to remember when defining the sound card manually:

DON'T SELECT BLINDLY A SOUND BLASTER FROM THE LIST OF AVAILABLE DEVICES.

Every soundcard manufacturer claim that their card is Sound Blaster compatible.
In almost every case so called "clone" cards work better when configured in
some other way (usually the autodetect feature finds this). If you are not sure
about how to configure OSS, just contact support@4front-tech.com. Tell us
manufacturer and model of the card. Sending us a list of major IC chips on the card
is recommended (if you know what are IC chips).

4) Finally start OSS/FreeBSD

/usr/lib/oss/soundon

Be carefull when doing this for first time after changing configuration. I/O, IRQ
and/or DMA conflicts may crash your system in worst case. For this reason it's
recommended to avoid "testing" when there is something (more or less) important
running on the machine. 

5) Stopping OSS/FreeBSD

Execute /usr/lib/oss/soundoff. Be very carrefull after stopping OSS since any attempt
to access sound device files in /dev is likely to crash the machine (this will be fixed
in near future). It's recommended to leave OSS loaded until the machine is rebooted.

Uninstalling OSS/FreeBSD
------------------------

Simply execute /usr/lib/oss/soundoff and then remove the OSS directory using
rm -rf /usr/lib/oss


Using OSS/FreeBSD
-----------------

OSS/FreeBSD is upward compatible with the older VoxWare sound driver which has been
used in FreeBSD and Linux for years. For this reason all sound applications available
for FreeBSD will work with OSS. In addition all audio application written for Linux
will work provided that they compile in FreeBSD.

Few simple applications are included in this package (in /usr/lib/oss). Many of these
packages are from the snd-util-3.x.tar.gz package (ftp://ftp.4front-tech.com/ossfree).

- mixer		A simple command line mixer program.
- play		A player for .wav, .voc, .au and some other audio files.
- mplay		A simple command line MIDI player.
- savemixer	Saves current active mixer settings to be used as the "power on"
		default values when soundon is executed next time.
- sfxload	A instrument patch management program for SB 32/64/AWE cards. 

Files in the ./docs directory contain more information about using OSS.

Please contact info@4front-tech.com in case you have more questions about OSS/FreeBSD
and OSS in general.
