patch-2.1.28 linux/drivers/sound/lowlevel/README.awe
Next file: linux/drivers/sound/lowlevel/aci.c
Previous file: linux/drivers/sound/lowlevel/README.aedsp16
Back to the patch index
Back to the overall index
- Lines: 194
- Date:
Wed Jan 29 00:54:11 1997
- Orig file:
v2.1.27/linux/drivers/sound/lowlevel/README.awe
- Orig date:
Fri Oct 25 03:06:34 1996
diff -u --recursive --new-file v2.1.27/linux/drivers/sound/lowlevel/README.awe linux/drivers/sound/lowlevel/README.awe
@@ -1,29 +1,127 @@
================================================================
AWE32 Sound Driver for Linux / FreeBSD
- version 0.2.0; Oct. 16, 1996
+ version 0.3.1; Jan. 11, 1997
================================================================
* GENERAL NOTES
-This is a sound driver extension for SB-AWE32 cards to enable the
-wave synth operations. The driver is provided for both Linux 1.2.x
-and 2.0.x kernels, and also FreeBSD. Follow the corresponding
-instruction in the installation document if you use old sound drivers.
+This is a sound driver extension for SoundBlaster AWE32 and other
+compatible cards (AWE32-PnP, SB32, SB32-PnP, AWE64 & etc) to enable
+the wave synth operations. The driver is provided for both Linux
+1.2.x and 2.[01].x kernels, and also FreeBSD. Consult the
+installation document for installation on the original sound driver
+package.
This driver was written by Takashi Iwai (iwai@dragon.mm.t.u-tokyo.ac.jp)
who also maintains the code. Please forward any questions, bug fixes
-and suggestions directly to me (_NOT_ to Linus Torvalds or Hannu
+and suggestions directly to Iwai (_NOT_ to Linus Torvalds or Hannu
Savolainen).
* CAUTION
-- In the v0.2.0, parameters of hardware control are changed to have a
-compatibility with GUS driver. If you have older awesfx and drvmidi
-utilities, please get new versions and install them again.
+- On ver.0.3.1, some zero size array entries are removed from
+awe_voice.h to avoid compile error in some non-ANSI compilers.
+Due to this fix, the size of awe_voice_rec structure is changed from
+older versions. Use a constant AWE_VOICE_REC_SIZE instead of
+sizeof(awe_voice_rec).
+You can still have a compatibility by defining AWE_COMPAT_030=1, but
+this feature will be omitted in the future release.
+
+
+* NOTE TO LINUX USERS
+
+To enable this driver on linux-2.[01].x kernels, you need turn on both
+"lowlevel drivers support" and "AWE32 synth support" options in sound
+menu when configure your linux kernel and modules. For more details,
+see the installation document in the original driver package
+(awedrv-0.x.x.tar.gz) available at the web page:
+ http://bahamut.mm.t.u-tokyo.ac.jp/~iwai/awedrv/
-- The SFX file after v0.1.5 is no more compatible from 0.1.4x.
-Please remake the obsolete SFX files again by txt2sfx utility.
+If you're using PnP cards, the card must be initialized before loading
+the sound driver. There're several options to do this:
+ - Initialize the card via ISA PnP tools, and load the sound module.
+ - Initialize the card on DOS, and load linux by loadlin.exe
+ - Use PnP driver (for Linux-2.0.x)
+See the FAQ list on the URL above.
+
+
+* COMPILE FLAGS
+
+Compile conditions are defined in awe_config.h.
+
+- AWE_OBSOLETE_VOXWARE (default: not defined)
+ indicates the system is VoxWare-3.0.x (with linux 1.2.x or
+ FreeBSD) if defined. This option will be set automatically when
+ you use installation script.
+
+- AWE_NEW_KERNEL_INTERFACE (default: not defined)
+ indicates the system is OSSLite on Linux 2.1.6 or later if
+ defined. This option will be set automatically when you use
+ installation script.
+
+- HAS_LOWLEVEL_H (default: not defined)
+ indicates the system has "lowlevel.h" in the sound/lowlevel
+ directory. OSS driver has this file.
+
+- AWE_NO_PATCHMGR (default: not defined)
+ indicates the sound driver has no patch manager function (for
+ OSS-3.707 (in Linux-2.1.13) or newer).
+
+- AWE_DEFAULT_BASE_ADDR (default: not defined)
+ specifies the base port address of your AWE32 card.
+ Define this only when the driver couldn't detect your card
+ properly.
+
+- AWE_DEFAULT_MEM_SIZE (default: not defined)
+ specifies the memory size of your AWE32 card by kilo bytes.
+ Define this only when the driver couldn't detect memory size
+ properly.
+
+- AWE_MAX_SAMPLES (default: 400)
+ specifies the maximum number of wave samples.
+ The default size is set for the original GM and GS presets from
+ CreativeLab. If you have a large set of samples (eg 2MB & 8MB GM
+ presets), increase this value to appropriate size.
+
+- AWE_MAX_INFOS (default: 900)
+ specifies the maximum number of instruments.
+ The default size is set for the original GM and GS presets from
+ CreativeLab. If you have a large set of samples (eg 2MB & 8MB GM
+ presets), increase this value to appropriate size.
+
+- AWE_ALWAYS_INIT_FM (default: not defined)
+ indicates the AWE driver always initialize FM passthrough even
+ without DRAM on board. Emu8000 chip has a restriction for playing
+ samples on DRAM that at least two channels must be occupied as
+ passthrough channels.
+
+- AWE_DEBUG_ON (default: defined)
+ turns on debuggin messages if defined.
+
+- AWE_CHECKSUM_DATA (default: defined)
+ verifies check sum of sample data with the transferred data if
+ defined.
+
+- AWE_CHECKSUM_MEMORY (default: defined)
+ Verifies check sum of sample data with the written data on DRAM.
+
+- AWE_HAS_GUS_COMPATIBILITY (default: defined)
+ Enables GUS compatibility mode if defined, reading GUS patches and
+ GUS control commands. Define this option to use GMOD or other
+ GUS module players.
+
+- AWE_ACCEPT_ALL_SOUNDS_CONTROL (default: not defined)
+ Enables MIDI control #120 and #123 as "all notes off" and "all
+ sounds off" events, respectively.
+
+- DEF_FM_CHORUS_DEPTH (default: 0x10)
+ The default strength to be sent to the chorus effect engine.
+ From 0 to 0xff. Larger numbers may often cause weird sounds.
+
+- DEF_FM_REVERB_DEPTH (default: 0x10)
+ The default strength to be sent to the reverb effect engine.
+ From 0 to 0xff. Larger numbers may often cause weird sounds.
* USING THE DRIVER
@@ -32,8 +130,20 @@
All AWE32 driver and utilities can be downloaded from:
http://bahamut.mm.t.u-tokyo.ac.jp/~iwai/awedrv/
-Follow the instruction in awesfx package to make patched GM and
-GS presets. Then, load the SFX file on driver by sfxload utility.
+The GM and GS sounds include multiple instrument layers. The older
+driver couldn't handle multiple instruments. The current version
+supports this type of sounds with a special extension, but so far only
+drvmidi and playmidi can play the multiple instruments and stereo
+sounds.
+
+To play drvmidi, load the SoundFont file directly uing sfxload utility.
+
+ % sfxload -i synthgm.sf2
+
+To use other sequencers like musserver, some sounds may become
+inaudible unless converting to SFX file. Follow the instruction in
+awesfx package to make patched GM and GS presets. Then, load the SFX
+file on driver by sfxload utility.
% sfxload -i gm.sfx
@@ -58,12 +168,29 @@
* BUGS & TODO'S
-- Some instruments are inaudible, eg. glockenspiel and sinewaves.
-- No stereo sample can be used.
- More smart patch management
- More smart DRAM memory control
- Dynamic buffer allocation
- etc, etc, etc.
+
+
+* COPYRIGHT
+
+Copyright (C) 1996,1997 Takashi Iwai
+
+This program is free software; you can redistribute it and/or modify
+it under the terms of the GNU General Public License as published by
+the Free Software Foundation; either version 2 of the License, or
+(at your option) any later version.
+
+This program is distributed in the hope that it will be useful,
+but WITHOUT ANY WARRANTY; without even the implied warranty of
+MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
+GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License
+along with this program; if not, write to the Free Software
+Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
Takashi Iwai <iwai@dragon.mm.t.u-tokyo.ac.jp>
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov