Commit fb42d0e3 authored by Linus Torvalds's avatar Linus Torvalds

Import 2.1.28

parent 3e391afe
......@@ -26,7 +26,7 @@ HTML-ized shopping list.
http://www.datanet.hu/generations/linux/Changes2.html is an
English-language HTML version.
Last updated: February 11, 1997.
Last updated: February 27, 1997.
Current Author: Chris Ricker (gt1355b@prism.gatech.edu).
Current Minimal Requirements
......@@ -38,7 +38,7 @@ encountered a bug!
- Kernel modules modutils-2.1.23
- Gnu C 2.7.2.1
- Binutils 2.7.0.3
- Linux C Library 5.4.17
- Linux C Library 5.4.23
- Dynamic Linker (ld.so) 1.8.5
- Linux C++ Library 2.7.2.1
- Procps 1.01
......@@ -73,7 +73,7 @@ accordingly.
For modules to work, you need to be running libc-5.4.x or greater.
Since updates to libc fix other problems as well (security flaws, for
example) and since 5.4.7 is missing a few needed symbols, try to get
the latest 5.4.x you can. Currently, libc-5.4.17 is the latest public
the latest 5.4.x you can. Currently, libc-5.4.23 is the latest public
release.
If you upgrade to libc-5.4.x, you also have to upgrade your dynamic
......@@ -113,12 +113,6 @@ information to them if you need to replace the automatic routes.
in some standard tools. Check in /proc/net/rt_local to verify their
presence.
SysVinit
========
To avoid an oops while shutting down or rebooting the computer,
upgrade to SysVinit 2.69.
RPM
===
......@@ -160,8 +154,6 @@ Libc++: ls -l /usr/lib/libg++.so.*
Modutils: insmod -V
Mount: mount --version
Procps: ps --version
SysVinit: strings `egrep -li INIT_VERSION=sysvinit- /proc/*/environ | head
-1` | egrep -i INIT_VERSION=sysvinit-
RPM: rpm --version
Sh-utils: expr --v
......@@ -191,12 +183,12 @@ ftp://sunsite.unc.edu/pub/Linux/GCC/release.gcc-2.7.2.1
Linux C Library
===============
The 5.4.17 release:
ftp://tsx-11.mit.edu/pub/linux/packages/GCC/libc-5.4.17.bin.tar.gz
ftp://sunsite.unc.edu/pub/Linux/GCC/libc-5.4.17.bin.tar.gz
Installation notes for 5.4.17:
ftp://tsx-11.mit.edu/pub/linux/packages/GCC/release.libc-5.4.17
ftp://sunsite.unc.edu/pub/Linux/GCC/release.libc-5.4.13
The 5.4.23 release:
ftp://tsx-11.mit.edu/pub/linux/packages/GCC/libc-5.4.23.bin.tar.gz
ftp://sunsite.unc.edu/pub/Linux/GCC/libc-5.4.23.bin.tar.gz
Installation notes for 5.4.23:
ftp://tsx-11.mit.edu/pub/linux/packages/GCC/release.libc-5.4.23
ftp://sunsite.unc.edu/pub/Linux/GCC/release.libc-5.4.23
Linux C++ Library
=================
......@@ -227,14 +219,7 @@ Procps utilities
The 1.01 release:
ftp://tsx-11.mit.edu/pub/linux/sources/usr.bin/procps-1.01.tgz
ftp://sunsite.unc.edu/pub/Linux/system/Status/ps/procps-1.01.tgz
SysVinit utilities
==================
The 2.69 release (when it gets there):
ftp://tsx-11.mit.edu/pub/linux/sources/sbin/sysvinit-2.69.tar.gz
ftp://sunsite.unc.edu/pub/Linux/system/Daemons/init/sysvinit-2.69.tar.gz
ftp://sunsite.unc.edu/pub/Linux/system/status/ps/procps-1.01.tgz
RPM utilities
=============
......@@ -254,7 +239,7 @@ DOSEMU
The 0.64.3.1 release:
ftp://tsx-11.mit.edu/pub/linux/ALPHA/dosemu/dosemu0.64.3.1.tgz
ftp://sunsite.unc.edu/pub/Linux/system/Emulators/dosemu0.64.3.1.tgz
ftp://sunsite.unc.edu/pub/Linux/system/emulators/dosemu0.64.3.1.tgz
Loadlin
=======
......
......@@ -8,10 +8,6 @@ ifdef CONFIG_YM3812
OBJS := $(OBJS) adlib_card.o
endif
ifdef CONFIG_AEDSP16
OBJS := $(OBJS) aedsp16.o
endif
ifdef CONFIG_AUDIO
OBJS := $(OBJS) audio.o
endif
......
3.7-beta12
0x030707
3.8-beta9
0x030803
Changelog for version 3.7-beta10
--------------------------------
Changelog for version 3.8-beta8
-------------------------------
Since 3.5-beta5
Since 3.8-beta6
- Fixed the famous Quake delay bug.
Since 3.8-beta5
- Fixed many bugs in audio playback.
Since 3.8-beta4
- Just minor changes.
Since 3.8-beta1
- Major rewrite of audio playback handling.
- Added AWE32 support by Takashi Iwai (in ./lowlevel/).
Since 3.7-beta#
- Passing of ioctl() parameters between soundcard.c and other modules has been
changed so that arg always points to kernel space.
- Some bugfixes.
Since 3.7-beta5
- Disabled MIDI input with GUS PnP (Interwave). There seems to be constant
stream of received 0x00 bytes when the MIDI receiver is enabled.
......
......@@ -15,4 +15,55 @@ bool 'Additional low level drivers' CONFIG_LOWLEVEL_SOUND
if [ "$CONFIG_LOWLEVEL_SOUND" = "y" ]; then
bool 'ACI mixer (miroPCM12)' CONFIG_ACI_MIXER
bool 'AWE32 synth' CONFIG_AWE32_SYNTH
bool 'Gallant Audio Cards (SC-6000 and SC-6600 based)' CONFIG_AEDSP16
if [ "$CONFIG_AEDSP16" = "y" ]; then
comment 'SC-6600 Audio Cards have no jumper switches at all'
bool 'SC-6600 based audio cards (new Audio Excel DSP 16)' CONFIG_SC6600
if [ "$CONFIG_SB" = "y" -a "$CONFIG_AEDSP16_MSS" != "y" ]; then
bool 'Audio Excel DSP 16 (SBPro emulation)' CONFIG_AEDSP16_SBPRO
if [ "$CONFIG_AEDSP16_SBPRO" = "y" ]; then
comment 'Audio Excel DSP 16 [Sound Blaster Pro]'
hex 'I/O base for Audio Excel DSP 16 220 or 240' \
AEDSP16_BASE $SBC_BASE
int 'Audio Excel DSP 16 IRQ 5, 7, 9, 10, 11' \
AEDSP16_SBC_IRQ $SBC_IRQ
int 'Audio Excel DSP 16 DMA 0, 1 or 3' AEDSP16_SBC_DMA $SBC_DMA
fi
fi
if [ "$CONFIG_MSS" = "y" -a "$CONFIG_AEDSP16_SBPRO" != "y" ]; then
bool 'Audio Excel DSP 16 (MSS emulation)' CONFIG_AEDSP16_MSS
if [ "$CONFIG_AEDSP16_MSS" = "y" ]; then
comment 'Audio Excel DSP 16 [Microsoft Sound System]'
hex 'I/O base for Audio Excel DSP 16 220 or 240' AEDSP16_BASE 220
int 'Audio Excel DSP 16 IRQ 5, 7, 9, 10, 11' \
AEDSP16_MSS_IRQ $MSS_IRQ
int 'Audio Excel DSP 16 DMA 0, 1 or 3' AEDSP16_MSS_DMA $MSS_DMA
fi
fi
if [ "$CONFIG_MIDI" = "y" ]; then
bool 'Audio Excel DSP 16 (MPU401 emulation)' CONFIG_AEDSP16_MPU401
if [ "$CONFIG_AEDSP16_MPU401" = "y" ]; then
comment 'Audio Excel DSP 16 [MPU-401]'
if [ "$CONFIG_AEDSP16_SBPRO" != "y" \
-a "$CONFIG_AEDSP16_MSS" != "y" ]; then
hex 'I/O base for Audio Excel DSP 16 220 or 240' AEDSP16_BASE 220
fi
int 'MPU401 IRQ for Audio Excel DSP 16 5, 7, 9, 10 or 0 (disable)' \
AEDSP16_MPU_IRQ $MPU_IRQ
fi
fi
if [ "$CONFIG_SC6600" = "y" ]; then
comment 'SC-6600 specific configuration'
bool 'Activate SC-6600 Joystick Interface' CONFIG_SC6600_JOY
int 'SC-6600 CDROM Interface (4=None, 3=IDE, 1=Panasonic, 0=?Sony?)' \
CONFIG_SC6600_CDROM 4
hex 'SC-6600 CDROM Interface I/O Address' CONFIG_SC6600_CDROMBASE 0
fi
fi
fi
......@@ -15,4 +15,55 @@ bool 'Additional low level drivers' CONFIG_LOWLEVEL_SOUND
if [ "$CONFIG_LOWLEVEL_SOUND" = "y" ]; then
bool 'ACI mixer (miroPCM12)' CONFIG_ACI_MIXER
bool 'AWE32 synth' CONFIG_AWE32_SYNTH
bool 'Gallant Audio Cards (SC-6000 and SC-6600 based)' CONFIG_AEDSP16
if [ "$CONFIG_AEDSP16" = "y" ]; then
comment 'SC-6600 Audio Cards have no jumper switches at all'
bool 'SC-6600 based audio cards (new Audio Excel DSP 16)' CONFIG_SC6600
if [ "$CONFIG_SB" = "y" -a "$CONFIG_AEDSP16_MSS" != "y" ]; then
bool 'Audio Excel DSP 16 (SBPro emulation)' CONFIG_AEDSP16_SBPRO
if [ "$CONFIG_AEDSP16_SBPRO" = "y" ]; then
comment 'Audio Excel DSP 16 [Sound Blaster Pro]'
hex 'I/O base for Audio Excel DSP 16 220 or 240' \
AEDSP16_BASE $SBC_BASE
int 'Audio Excel DSP 16 IRQ 5, 7, 9, 10, 11' \
AEDSP16_SBC_IRQ $SBC_IRQ
int 'Audio Excel DSP 16 DMA 0, 1 or 3' AEDSP16_SBC_DMA $SBC_DMA
fi
fi
if [ "$CONFIG_MSS" = "y" -a "$CONFIG_AEDSP16_SBPRO" != "y" ]; then
bool 'Audio Excel DSP 16 (MSS emulation)' CONFIG_AEDSP16_MSS
if [ "$CONFIG_AEDSP16_MSS" = "y" ]; then
comment 'Audio Excel DSP 16 [Microsoft Sound System]'
hex 'I/O base for Audio Excel DSP 16 220 or 240' AEDSP16_BASE 220
int 'Audio Excel DSP 16 IRQ 5, 7, 9, 10, 11' \
AEDSP16_MSS_IRQ $MSS_IRQ
int 'Audio Excel DSP 16 DMA 0, 1 or 3' AEDSP16_MSS_DMA $MSS_DMA
fi
fi
if [ "$CONFIG_MIDI" = "y" ]; then
bool 'Audio Excel DSP 16 (MPU401 emulation)' CONFIG_AEDSP16_MPU401
if [ "$CONFIG_AEDSP16_MPU401" = "y" ]; then
comment 'Audio Excel DSP 16 [MPU-401]'
if [ "$CONFIG_AEDSP16_SBPRO" != "y" \
-a "$CONFIG_AEDSP16_MSS" != "y" ]; then
hex 'I/O base for Audio Excel DSP 16 220 or 240' AEDSP16_BASE 220
fi
int 'MPU401 IRQ for Audio Excel DSP 16 5, 7, 9, 10 or 0 (disable)' \
AEDSP16_MPU_IRQ $MPU_IRQ
fi
fi
if [ "$CONFIG_SC6600" = "y" ]; then
comment 'SC-6600 specific configuration'
bool 'Activate SC-6600 Joystick Interface' CONFIG_SC6600_JOY
int 'SC-6600 CDROM Interface (4=None, 3=IDE, 1=Panasonic, 0=?Sony?)' \
CONFIG_SC6600_CDROM 4
hex 'SC-6600 CDROM Interface I/O Address' CONFIG_SC6600_CDROMBASE 0
fi
fi
fi
# Makefile for the Linux sound card driver
#
# Note 2! The CFLAGS definitions are now inherited from the
# parent makes. (hopefully)
#
#
.PHONY: dummy
SUB_DIRS = lowlevel
VERSION = `head -1 .version`
TARGET_OS = linux
USRINCDIR = /usr/include
MODULEDIR = /lib/modules/misc
FIXEDOBJS = soundcard.o dev_table.o sound_switch.o
ifndef NO_LOWLEVEL
FIXEDOBJS := $(FIXEDOBJS) lowlevel/lowlevel.o
endif
ifeq (.defines,$(wildcard .defines))
include .defines
include .objects
endif
ifndef TOPDIR
TOPDIR=/usr/src/linux
endif
ifndef HOSTCC
build:
@echo Compiling modularized sound driver
@make sound.o
@echo Sound module compiled.
install: sound.o
cp sound.o $(MODULEDIR)
endif
.c.o:
$(CC) $(CFLAGS) -c $<
ifeq ($(CONFIG_SOUND),y)
all: local.h sound.a
OBJS += $(FIXEDOBJS)
else
all:
endif
ifndef HOSTCC
#
# Running outside the kernel build.
#
CC = gcc
HOSTCC = gcc
CFLAGS = -O2 -D__KERNEL__ -DMODULE -I/usr/src/linux/include -Wall -Wstrict-prototypes -fomit-frame-pointer -pipe -m486
USE_DEPEND=y
else
include $(TOPDIR)/Rules.make
endif
sound.a: $(OBJS)
-rm -f sound.a
$(AR) rcs sound.a $(OBJS)
sync
clean:
rm -f core core.* *.o *.a tmp_make *~ x y z *%
rm -f configure
cd lowlevel;make clean
cd vivo;make clean
indent:
for n in *.c;do echo indent $$n;indent $$n;done
local.h:
$(MAKE) clean
$(MAKE) setup
$(MAKE) oldconfig
$(MAKE) dep
@echo
@echo
@echo
@echo NOTE! Object file dependencies may not be up to date. Run
@echo make again if kernel/driver doesn''t link properly. Restarting
@echo it now may save some time.
@echo
@echo
config: configure
@$(MAKE) setup
@./configure > local.h
@echo \#define SOUND_CONFIG_DATE \"`date`\" >> local.h
@echo \#define SOUND_CONFIG_BY \"`whoami`\" >> local.h
# @echo \#define SOUND_CONFIG_HOST \"`hostname`\" >> local.h 2>/dev/null
# @echo \#define SOUND_CONFIG_DOMAIN \"`hostname -d`\" >> local.h 2>/dev/null
@echo \#define SOUND_UNAME_A \"`uname -a`\" >> local.h
oldconfig: setup configure
@./configure -o > local.h
@echo \#define SOUND_CONFIG_DATE \"`date`\" >> local.h
@echo \#define SOUND_CONFIG_BY \"`whoami`\" >> local.h
# @echo \#define SOUND_CONFIG_HOST \"`hostname`\" >> local.h 2>/dev/null
# @echo \#define SOUND_CONFIG_DOMAIN \"`hostname -d`\" >> local.h 2>/dev/null
@echo \#define SOUND_UNAME_A \"`uname -a`\" >> local.h
kernelconfig: setup
rm -f configure
$(HOSTCC) -o configure configure.c
./configure fixedlocal > local.h
./configure fixeddefines > .defines
@echo \#define SOUND_CONFIG_DATE \"`date`\" >> local.h
@echo \#define SOUND_CONFIG_BY \"`whoami`\" >> local.h
# @echo \#define SOUND_CONFIG_HOST \"`hostname`\" >> local.h 2>/dev/null
# @echo \#define SOUND_CONFIG_DOMAIN \"`hostname -d`\" >> local.h 2>/dev/null
@echo \#define SOUND_UNAME_A \"`uname -a`\" >> local.h
mkscript: setup
rm -f configure
$(HOSTCC) -o configure configure.c
./configure script > Config.in
cat lowlevel/Config.tmpl >> Config.in
./configure fixedlocal > local.h
./configure fixeddefines > .defines
clrconf:
rm -f local.h .depend synth-ld.h trix_boot.h smw-midi0001.h maui_boot.h .defines
configure: configure.c
$(HOSTCC) -o configure configure.c
@cat .blurb
dep:
$(CPP) -M $(CFLAGS) -I. *.c > .depend
setup:
@echo Compiling Sound Driver v $(VERSION) for Linux
sound.o: local.h $(FIXEDOBJS) sound.a
-rm -f sound.o
$(LD) -r -o sound.o $(FIXEDOBJS) sound.a
modules: local.h sound.o
ln -fs `pwd`/sound.o $(TOPDIR)/modules/sound.o
lowlevel/lowlevel.o: dummy
cd lowlevel;make CC="$(CC)" CFLAGS="$(CFLAGS)"
contrib:
cd lowlevel;make clean;make module "CC=$(CC)" CFLAGS="$(CFLAGS)"
ifdef USE_DEPEND
#
# include a dependency file if one exists
#
ifeq (.depend,$(wildcard .depend))
include .depend
endif
endif
OSS Lite version 3.7-beta release notes
OSS Lite version 3.8-beta release notes
---------------------------------------
Most up to date information about this driver is available from
......@@ -12,11 +12,11 @@ sites). It gives instructions about using sound with Linux. It's bit out of
date but still very useful. Information about bug fixes and such things
is available from the web page (see below).
New Programmer's Guide is currently under work (June/July 96). Please
check http://www.4front-tech.com/pguide for more info.
Please check http://www.4front-tech.com/pguide for more info about programming
with OSS.
====================================================
- THIS VERSION ____REQUIRES____ Linux 2.1.5 OR LATER.
- THIS VERSION ____REQUIRES____ Linux 2.1.26 OR LATER.
====================================================
Packages "snd-util-3.7.tar.gz" and "snd-data-0.1.tar.Z"
......
Informations about Audio Excel DSP 16 can be found in the source
file aedsp16.c
Please, read the head of the source before using it. It contain useful
informations.
Riccardo
This diff is collapsed.
......@@ -72,6 +72,15 @@ Please check http://www.4front-tech.com/osslite for more info.
Hannu Savolainen
hannu@voxware.pp.fi
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
NOTE!
Running the script enclosed below is usually not required. All known Linux
distributions build them automaticly during installation. You need to run
this script only if "ls /dev/sndstat" displays "No such file or directory".
In case of any other error message you should start looking for the reason
from somewhere else (see above).
!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!
----------------- cut here ------------------------------
#!/bin/sh
# *****************************************
......
This diff is collapsed.
......@@ -5,7 +5,7 @@
*/
/*
* Copyright (C) by Hannu Savolainen 1993-1996
* Copyright (C) by Hannu Savolainen 1993-1997
*
* OSS/Free for Linux is distributed under the GNU GENERAL PUBLIC LICENSE (GPL)
* Version 2 (June 1991). See the "COPYING" file distributed with this software
......@@ -78,7 +78,7 @@ typedef mixer_ent mixer_ents[2];
#define MIX_ENT(name, reg_l, pola_l, pos_l, len_l, reg_r, pola_r, pos_r, len_r) \
{{reg_l, pola_l, pos_l, len_l}, {reg_r, pola_r, pos_r, len_r}}
mixer_ents ad1848_mix_devices[32] = {
static mixer_ents ad1848_mix_devices[32] = {
MIX_ENT(SOUND_MIXER_VOLUME, 27, 1, 0, 4, 29, 1, 0, 4),
MIX_ENT(SOUND_MIXER_BASS, 0, 0, 0, 0, 0, 0, 0, 0),
MIX_ENT(SOUND_MIXER_TREBLE, 0, 0, 0, 0, 0, 0, 0, 0),
......@@ -98,7 +98,7 @@ MIX_ENT(SOUND_MIXER_LINE2, 4, 1, 0, 5, 5, 1, 0, 5),
MIX_ENT(SOUND_MIXER_LINE3, 18, 1, 0, 5, 19, 1, 0, 5)
};
mixer_ents iwave_mix_devices[32] = {
static mixer_ents iwave_mix_devices[32] = {
MIX_ENT(SOUND_MIXER_VOLUME, 25, 1, 0, 5, 27, 1, 0, 5),
MIX_ENT(SOUND_MIXER_BASS, 0, 0, 0, 0, 0, 0, 0, 0),
MIX_ENT(SOUND_MIXER_TREBLE, 0, 0, 0, 0, 0, 0, 0, 0),
......@@ -108,7 +108,7 @@ MIX_ENT(SOUND_MIXER_SPEAKER, 26, 1, 0, 4, 0, 0, 0, 0),
MIX_ENT(SOUND_MIXER_LINE, 18, 1, 0, 5, 19, 1, 0, 5),
MIX_ENT(SOUND_MIXER_MIC, 0, 0, 5, 1, 1, 0, 5, 1),
MIX_ENT(SOUND_MIXER_CD, 2, 1, 0, 5, 3, 1, 0, 5),
MIX_ENT(SOUND_MIXER_IMIX, 13, 1, 2, 6, 0, 0, 0, 0),
MIX_ENT(SOUND_MIXER_IMIX, 16, 1, 0, 5, 17, 1, 0, 5),
MIX_ENT(SOUND_MIXER_ALTPCM, 0, 0, 0, 0, 0, 0, 0, 0),
MIX_ENT(SOUND_MIXER_RECLEV, 0, 0, 0, 0, 0, 0, 0, 0),
MIX_ENT(SOUND_MIXER_IGAIN, 0, 0, 0, 4, 1, 0, 0, 4),
......@@ -123,7 +123,7 @@ MIX_ENT(SOUND_MIXER_LINE3, 18, 1, 0, 5, 19, 1, 0, 5)
* VOLUME, SYNTH, LINE, CD are not enabled above.
* MIC is level of mic monitoring direct to output. Same for CD, LINE, etc.
*/
mixer_ents c930_mix_devices[32] = {
static mixer_ents c930_mix_devices[32] = {
MIX_ENT(SOUND_MIXER_VOLUME, 22, 1, 0, 5, 23, 1, 0, 5),
MIX_ENT(SOUND_MIXER_BASS, 0, 0, 0, 0, 0, 0, 0, 0),
MIX_ENT(SOUND_MIXER_TREBLE, 0, 0, 0, 0, 0, 0, 0, 0),
......
......@@ -5,7 +5,7 @@
*/
/*
* Copyright (C) by Hannu Savolainen 1993-1996
* Copyright (C) by Hannu Savolainen 1993-1997
*
* OSS/Free for Linux is distributed under the GNU GENERAL PUBLIC LICENSE (GPL)
* Version 2 (June 1991). See the "COPYING" file distributed with this software
......
This diff is collapsed.
This diff is collapsed.
/*
* PnP soundcard support is not included in this version.
*
* There is a separately distributed patch available for AEDSP16.
* AESDP16 driver is now included in the lowlevel directory.
*/
#define DISABLED_OPTIONS (B(OPT_SPNP)|B(OPT_AEDSP16)|B(OPT_UNUSED1)|B(OPT_UNUSED2)|B(OPT_UNUSED3)|B(OPT_UNUSED4)|B(OPT_UNUSED5))
#define DISABLED_OPTIONS (B(OPT_SPNP)|B(OPT_AEDSP16)|B(OPT_UNUSED1)|B(OPT_UNUSED2)|B(OPT_UNUSED3)|B(OPT_UNUSED4)|B(OPT_UNUSED5)|B(OPT_UART6850))
/*
* sound/configure.c - Configuration program for the Linux Sound Driver
*/
/*
* Copyright (C) by Hannu Savolainen 1993-1996
* Copyright (C) by Hannu Savolainen 1993-1997
*
* OSS/Free for Linux is distributed under the GNU GENERAL PUBLIC LICENSE (GPL)
* Version 2 (June 1991). See the "COPYING" file distributed with this software
......@@ -75,7 +75,7 @@
B(OPT_SSCAPE)|B(OPT_TRIX)|B(OPT_MAD16)|B(OPT_CS4232)|\
B(OPT_SPNP))
#define SBDSP_DEVS (B(OPT_SB)|B(OPT_SPNP)|B(OPT_MAD16)|B(OPT_TRIX))
#define SEQUENCER_DEVS (MIDI_CARDS|B(OPT_YM3812)|B(OPT_ADLIB)|B(OPT_GUS)|B(OPT_MAUI))
#define SEQUENCER_DEVS 0x7fffffff
/*
* Options that have been disabled for some reason (incompletely implemented
* and/or tested). Don't remove from this list before looking at file
......@@ -145,7 +145,7 @@ hw_entry hw_table[] =
char *questions[] =
{
"ProAudioSpectrum 16 support",
"Sound Blaster (SB, SBPro, SB16, clones) support",
"_TRUE_ Sound Blaster (SB, SBPro, SB16/32/64, ESS, Jazz16) support",
"Generic OPL2/OPL3 FM synthesizer support",
"Gravis Ultrasound support",
"MPU-401 support (NOT for SB16)",
......@@ -991,6 +991,12 @@ ask_parameters (void)
3,
"0, 1 or 3");
ask_int_choice (B (OPT_MSS), "MSS_DMA2",
"MSS/WSS second DMA (if possible)",
FMT_INT,
-1,
"0, 1 or 3");
ask_int_choice (B (OPT_SSCAPE), "SSCAPE_BASE",
"SoundScape MIDI I/O base",
FMT_HEX,
......@@ -1037,7 +1043,7 @@ ask_parameters (void)
}
if (dump_only)
show_comment (B (OPT_MAUI),
show_comment (B (OPT_TRIX),
"ERROR! You have to use old sound configuration method with AudioTrix.");
ask_int_choice (B (OPT_TRIX), "TRIX_BASE",
......
......@@ -7,9 +7,14 @@
* interfaces. This is just a temporary driver until full PnP support
* gets implemented. Just the WSS codec, FM synth and the MIDI ports are
* supported. Other interfaces are left uninitialized.
*
* Supported chips are:
* CS4232
* CS4236
* CS4236B
*/
/*
* Copyright (C) by Hannu Savolainen 1993-1996
* Copyright (C) by Hannu Savolainen 1993-1997
*
* OSS/Free for Linux is distributed under the GNU GENERAL PUBLIC LICENSE (GPL)
* Version 2 (June 1991). See the "COPYING" file distributed with this software
......@@ -25,8 +30,6 @@
#define KEY_PORT 0x279 /* Same as LPT1 status port */
#define CSN_NUM 0x99 /* Just a random number */
static int *osp;
static void
CS_OUT (unsigned char a)
{
......@@ -48,7 +51,7 @@ probe_cs4232_mpu (struct address_info *hw_config)
mpu_base = hw_config->io_base;
mpu_irq = hw_config->irq;
return 0;
return 1;
}
void
......@@ -181,7 +184,7 @@ probe_cs4232 (struct address_info *hw_config)
* Initialize logical device 3 (MPU)
*/
#if (defined(CONFIG_MPU401) || defined(CONFIG_MPU_EMU)) && defined(CONFIG_MIDI)
#if defined(CONFIG_UART401) && defined(CONFIG_MIDI)
if (mpu_base != 0 && mpu_irq != 0)
{
CS_OUT2 (0x15, 0x03); /* Select logical device 3 (MPU) */
......@@ -253,7 +256,7 @@ attach_cs4232 (struct address_info *hw_config)
if (dma2 == -1)
dma2 = dma1;
ad1848_init ("CS4232", base,
ad1848_init ("Crystal audio controller", base,
irq,
dma1, /* Playback DMA */
dma2, /* Capture DMA */
......@@ -267,7 +270,7 @@ attach_cs4232 (struct address_info *hw_config)
AD1848_REROUTE (SOUND_MIXER_LINE3, SOUND_MIXER_SYNTH); /* FM synth */
}
#if (defined(CONFIG_MPU401) || defined(CONFIG_MPU_EMU)) && defined(CONFIG_MIDI)
#if defined(CONFIG_UART401) && defined(CONFIG_MIDI)
if (mpu_base != 0 && mpu_irq != 0)
{
static struct address_info hw_config2 =
......@@ -283,10 +286,10 @@ attach_cs4232 (struct address_info *hw_config)
hw_config2.driver_use_2 = 0;
hw_config2.card_subtype = 0;
if (probe_mpu401 (&hw_config2))
if (probe_uart401 (&hw_config2))
{
mpu_detected = 1;
attach_mpu401 (&hw_config2);
attach_uart401 (&hw_config2);
}
else
{
......@@ -311,7 +314,7 @@ unload_cs4232 (struct address_info *hw_config)
dma2, /* Capture DMA */
0);
#if (defined(CONFIG_MPU401) || defined(CONFIG_MPU_EMU)) && defined(CONFIG_MIDI)
#if defined(CONFIG_UART401) && defined(CONFIG_MIDI)
if (mpu_base != 0 && mpu_irq != 0 && mpu_detected)
{
static struct address_info hw_config2 =
......@@ -327,7 +330,7 @@ unload_cs4232 (struct address_info *hw_config)
hw_config2.driver_use_2 = 0;
hw_config2.card_subtype = 0;
unload_mpu401 (&hw_config2);
unload_uart401 (&hw_config2);
}
#endif
}
......
......@@ -4,7 +4,7 @@
* Device call tables.
*/
/*
* Copyright (C) by Hannu Savolainen 1993-1996
* Copyright (C) by Hannu Savolainen 1993-1997
*
* OSS/Free for Linux is distributed under the GNU GENERAL PUBLIC LICENSE (GPL)
* Version 2 (June 1991). See the "COPYING" file distributed with this software
......@@ -131,6 +131,7 @@ sndtable_init (void)
start_cards ();
}
void
sound_unload_drivers (void)
{
......@@ -143,14 +144,19 @@ sound_unload_drivers (void)
if (trace_init)
printk ("Sound unload started\n");
for (i = 0; i < n && snd_installed_cards[i].card_type; i++)
if (snd_installed_cards[i].enabled)
if ((drv = snd_find_driver (snd_installed_cards[i].card_type)) != -1)
if (sound_drivers[drv].unload)
{
if ((drv = snd_find_driver (snd_installed_cards[i].card_type)) != -1)
{
sound_drivers[drv].unload (&snd_installed_cards[i].config);
snd_installed_cards[i].enabled = 0;
if (sound_drivers[drv].unload)
{
sound_drivers[drv].unload (&snd_installed_cards[i].config);
snd_installed_cards[i].enabled = 0;
}
}
}
if (trace_init)
printk ("Sound unload complete\n");
......@@ -163,6 +169,7 @@ sound_unload_driver (int type)
unsigned long flags;
DEB (printk ("unload driver %d: ", type));
for (i = 0; i < n && snd_installed_cards[i].card_type; i++)
......@@ -450,11 +457,13 @@ sound_install_audiodrv (int vers,
d = (struct audio_driver *) (sound_mem_blocks[sound_nblocks] = vmalloc (sizeof (struct audio_driver)));
sound_mem_sizes[sound_nblocks] = sizeof (struct audio_driver);
if (sound_nblocks < 1024)
sound_nblocks++;;
op = (struct audio_operations *) (sound_mem_blocks[sound_nblocks] = vmalloc (sizeof (struct audio_operations)));
sound_mem_sizes[sound_nblocks] = sizeof (struct audio_operations);
if (sound_nblocks < 1024)
sound_nblocks++;;
......@@ -480,8 +489,6 @@ sound_install_audiodrv (int vers,
op->flags = flags;
op->format_mask = format_mask;
op->devc = devc;
op->dmachan1 = dma1;
op->dmachan2 = dma2;
/*
* Hardcoded defaults
......@@ -491,6 +498,11 @@ sound_install_audiodrv (int vers,
audio_devs[num_audiodevs] = op;
num = num_audiodevs++;
DMAbuf_init ();
op->dmap_out->dma = dma1;
op->dmap_in->dma = dma2;
DMAbuf_init ();
audio_init_devices ();
return num;
......@@ -524,6 +536,7 @@ sound_install_mixer (int vers,
op = (struct mixer_operations *) (sound_mem_blocks[sound_nblocks] = vmalloc (sizeof (struct mixer_operations)));
sound_mem_sizes[sound_nblocks] = sizeof (struct mixer_operations);
if (sound_nblocks < 1024)
sound_nblocks++;;
......
......@@ -4,7 +4,7 @@
* Global definitions for device call tables
*/
/*
* Copyright (C) by Hannu Savolainen 1993-1996
* Copyright (C) by Hannu Savolainen 1993-1997
*
* OSS/Free for Linux is distributed under the GNU GENERAL PUBLIC LICENSE (GPL)
* Version 2 (June 1991). See the "COPYING" file distributed with this software
......@@ -15,7 +15,6 @@
#ifndef _DEV_TABLE_H_
#define _DEV_TABLE_H_
#include <linux/config.h>
/*
* Sound card numbers 27 to 999. (1 to 26 are defined in soundcard.h)
......@@ -84,7 +83,7 @@ struct dma_buffparms {
#define DMA_EMPTY 0x00000010
#define DMA_ALLOC_DONE 0x00000020
#define DMA_SYNCING 0x00000040
#define DMA_CLEAN 0x00000080
#define DMA_DIRTY 0x00000080
#define DMA_POST 0x00000100
int open_mode;
......@@ -102,20 +101,25 @@ struct dma_buffparms {
int subdivision;
int fragment_size;
int needs_reorg;
int max_fragments;
int bytes_in_use;
int underrun_count;
int byte_counter;
unsigned long byte_counter;
unsigned long user_counter;
int data_rate; /* Bytes/second */
int mapping_flags;
#define DMA_MAP_MAPPED 0x00000001
char neutral_byte;
int dma; /* DMA channel */
#ifdef OS_DMA_PARMS
OS_DMA_PARMS
#endif
int applic_profile; /* Application profile (APF_*) */
};
/*
......@@ -136,14 +140,13 @@ struct audio_driver {
int (*open) (int dev, int mode);
void (*close) (int dev);
void (*output_block) (int dev, unsigned long buf,
int count, int intrflag, int dma_restart);
int count, int intrflag);
void (*start_input) (int dev, unsigned long buf,
int count, int intrflag, int dma_restart);
int (*ioctl) (int dev, unsigned int cmd, caddr_t arg, int local);
int count, int intrflag);
int (*ioctl) (int dev, unsigned int cmd, caddr_t arg);
int (*prepare_for_input) (int dev, int bufsize, int nbufs);
int (*prepare_for_output) (int dev, int bufsize, int nbufs);
void (*reset) (int dev);
void (*halt_xfer) (int dev);
void (*halt_io) (int dev);
int (*local_qlen)(int dev);
void (*copy_user)(int dev, char *localbuf, int localoffs,
const char *userbuf, int useroffs, int len);
......@@ -156,7 +159,7 @@ struct audio_driver {
};
struct audio_operations {
char name[64];
char name[128];
int flags;
#define NOTHING_SPECIAL 0x00
#define NEEDS_RESTART 0x01
......@@ -165,11 +168,12 @@ struct audio_operations {
#define DMA_PSEUDO_AUTOMODE 0x08
#define DMA_HARDSTOP 0x10
#define DMA_NODMA 0x20
#define DMA_EXACT 0x40
int format_mask; /* Bitmask for supported audio formats */
void *devc; /* Driver specific info */
struct audio_driver *d;
void *portc; /* Driver spesific info */
long buffsize;
int dmachan1, dmachan2;
struct dma_buffparms *dmap_in, *dmap_out;
struct coproc_operations *coproc;
int mixer_dev;
......@@ -177,6 +181,7 @@ struct audio_operations {
int open_mode;
int go;
int min_fragment; /* 0 == unlimited */
int parent_dev; /* 0 -> no parent, 1 to n -> parent=parent_dev+1 */
};
int *load_mixer_volumes(char *name, int *levels, int present);
......@@ -191,6 +196,7 @@ struct mixer_operations {
};
struct synth_operations {
char *id; /* Unique identifier (ASCII) max 29 char */
struct synth_info *info;
int midi_dev;
int synth_type;
......@@ -217,6 +223,12 @@ struct synth_operations {
struct voice_alloc_info alloc;
struct channel_info chn_info[16];
int emulation;
#define EMU_GM 1 /* General MIDI */
#define EMU_XG 2 /* Yamaha XG */
#define MAX_SYSEX_BUF 64
unsigned char sysex_buf[MAX_SYSEX_BUF];
int sysex_ptr;
};
struct midi_input_info { /* MIDI input scanner variables */
......@@ -255,6 +267,7 @@ struct midi_operations {
struct sound_lowlev_timer {
int dev;
int priority;
unsigned int (*tmr_start)(int dev, unsigned int usecs);
void (*tmr_disable)(int dev);
void (*tmr_restart)(int dev);
......@@ -279,7 +292,7 @@ struct sound_timer_operations {
struct synth_operations *synth_devs[MAX_SYNTH_DEV+MAX_MIDI_DEV] = {NULL}; int num_synths = 0;
struct midi_operations *midi_devs[MAX_MIDI_DEV] = {NULL}; int num_midis = 0;
#ifdef CONFIG_SEQUENCER
#if defined(CONFIG_SEQUENCER) && !defined(EXCLUDE_TIMERS)
extern struct sound_timer_operations default_sound_timer;
struct sound_timer_operations *sound_timer_devs[MAX_TIMER_DEV] =
{&default_sound_timer, NULL};
......@@ -369,8 +382,6 @@ struct sound_timer_operations {
int num_sound_drivers =
sizeof(sound_drivers) / sizeof (struct driver_info);
int max_sound_drivers =
sizeof(sound_drivers) / sizeof (struct driver_info);
#ifndef FULL_SOUND
......@@ -429,12 +440,12 @@ struct sound_timer_operations {
#ifdef CONFIG_MSS
# ifdef DESKPROXL
{SNDCARD_DESKPROXL, {MSS_BASE, MSS_IRQ, MSS_DMA, -1}, SND_DEFAULT_ENABLE},
{SNDCARD_DESKPROXL, {MSS_BASE, MSS_IRQ, MSS_DMA, MSS_DMA2}, SND_DEFAULT_ENABLE},
# else
{SNDCARD_MSS, {MSS_BASE, MSS_IRQ, MSS_DMA, -1}, SND_DEFAULT_ENABLE},
{SNDCARD_MSS, {MSS_BASE, MSS_IRQ, MSS_DMA, MSS_DMA2}, SND_DEFAULT_ENABLE},
# endif
# ifdef MSS2_BASE
{SNDCARD_MSS, {MSS2_BASE, MSS2_IRQ, MSS2_DMA, -1}, SND_DEFAULT_ENABLE},
{SNDCARD_MSS, {MSS2_BASE, MSS2_IRQ, MSS2_DMA, MSS2_DMA2}, SND_DEFAULT_ENABLE},
# endif
#endif
......@@ -497,23 +508,20 @@ struct sound_timer_operations {
int num_sound_cards =
sizeof(snd_installed_cards) / sizeof (struct card_info);
int max_sound_cards =
static int max_sound_cards =
sizeof(snd_installed_cards) / sizeof (struct card_info);
#else
int num_sound_cards = 0;
struct card_info snd_installed_cards[20] = {{0}};
int max_sound_cards = 20;
static int max_sound_cards = 20;
#endif
#if defined(MODULE) || (!defined(linux) && !defined(_AIX))
int trace_init = 0;
#else
# else
int trace_init = 1;
#endif
#ifdef MODULE_PARM
MODULE_PARM(trace_init, "i");
#endif
# endif
#else
extern struct audio_operations * audio_devs[MAX_AUDIO_DEV]; extern int num_audiodevs;
......@@ -524,10 +532,8 @@ MODULE_PARM(trace_init, "i");
extern struct driver_info sound_drivers[];
extern int num_sound_drivers;
extern int max_sound_drivers;
extern struct card_info snd_installed_cards[];
extern int num_sound_cards;
extern int max_sound_cards;
extern int trace_init;
#endif /* _DEV_TABLE_C_ */
......
This diff is collapsed.
#ifdef SEQUENCER_C
/*
* Copyright (C) by Hannu Savolainen 1993-1996
* Copyright (C) by Hannu Savolainen 1993-1997
*
* OSS/Free for Linux is distributed under the GNU GENERAL PUBLIC LICENSE (GPL)
* Version 2 (June 1991). See the "COPYING" file distributed with this software
......
......@@ -4,7 +4,7 @@
* Detection routine for the Gravis Ultrasound.
*/
/*
* Copyright (C) by Hannu Savolainen 1993-1996
* Copyright (C) by Hannu Savolainen 1993-1997
*
* OSS/Free for Linux is distributed under the GNU GENERAL PUBLIC LICENSE (GPL)
* Version 2 (June 1991). See the "COPYING" file distributed with this software
......
......@@ -4,7 +4,7 @@
* The low level driver for the GUS Midi Interface.
*/
/*
* Copyright (C) by Hannu Savolainen 1993-1996
* Copyright (C) by Hannu Savolainen 1993-1997
*
* OSS/Free for Linux is distributed under the GNU GENERAL PUBLIC LICENSE (GPL)
* Version 2 (June 1991). See the "COPYING" file distributed with this software
......
......@@ -2,7 +2,7 @@
* gus_vol.c - Compute volume for GUS.
*/
/*
* Copyright (C) by Hannu Savolainen 1993-1996
* Copyright (C) by Hannu Savolainen 1993-1997
*
* OSS/Free for Linux is distributed under the GNU GENERAL PUBLIC LICENSE (GPL)
* Version 2 (June 1991). See the "COPYING" file distributed with this software
......
This diff is collapsed.
......@@ -4,7 +4,7 @@
* Driver for the ICS2101 mixer of GUS v3.7.
*/
/*
* Copyright (C) by Hannu Savolainen 1993-1996
* Copyright (C) by Hannu Savolainen 1993-1997
*
* OSS/Free for Linux is distributed under the GNU GENERAL PUBLIC LICENSE (GPL)
* Version 2 (June 1991). See the "COPYING" file distributed with this software
......@@ -120,11 +120,11 @@ ics2101_mixer_ioctl (int dev, unsigned int cmd, caddr_t arg)
{
if (((cmd >> 8) & 0xff) == 'M')
{
if (_IOC_DIR (cmd) & _IOC_WRITE)
if (_SIOC_DIR (cmd) & _SIOC_WRITE)
{
int val;
get_user (val, (int *) arg);
val = *(int *) arg;
switch (cmd & 0xff)
{
......@@ -133,23 +133,23 @@ ics2101_mixer_ioctl (int dev, unsigned int cmd, caddr_t arg)
break;
case SOUND_MIXER_MIC:
return ioctl_out (arg, set_volumes (DEV_MIC, val));
return (*(int *) arg = set_volumes (DEV_MIC, val));
break;
case SOUND_MIXER_CD:
return ioctl_out (arg, set_volumes (DEV_CD, val));
return (*(int *) arg = set_volumes (DEV_CD, val));
break;
case SOUND_MIXER_LINE:
return ioctl_out (arg, set_volumes (DEV_LINE, val));
return (*(int *) arg = set_volumes (DEV_LINE, val));
break;
case SOUND_MIXER_SYNTH:
return ioctl_out (arg, set_volumes (DEV_GF1, val));
return (*(int *) arg = set_volumes (DEV_GF1, val));
break;
case SOUND_MIXER_VOLUME:
return ioctl_out (arg, set_volumes (DEV_VOL, val));
return (*(int *) arg = set_volumes (DEV_VOL, val));
break;
default:
......@@ -167,39 +167,39 @@ ics2101_mixer_ioctl (int dev, unsigned int cmd, caddr_t arg)
break;
case SOUND_MIXER_DEVMASK:
return ioctl_out (arg, MIX_DEVS);
return (*(int *) arg = MIX_DEVS);
break;
case SOUND_MIXER_STEREODEVS:
return ioctl_out (arg, SOUND_MASK_LINE | SOUND_MASK_CD | SOUND_MASK_SYNTH | SOUND_MASK_VOLUME | SOUND_MASK_MIC);
return (*(int *) arg = SOUND_MASK_LINE | SOUND_MASK_CD | SOUND_MASK_SYNTH | SOUND_MASK_VOLUME | SOUND_MASK_MIC);
break;
case SOUND_MIXER_RECMASK:
return ioctl_out (arg, SOUND_MASK_MIC | SOUND_MASK_LINE);
return (*(int *) arg = SOUND_MASK_MIC | SOUND_MASK_LINE);
break;
case SOUND_MIXER_CAPS:
return ioctl_out (arg, 0);
return (*(int *) arg = 0);
break;
case SOUND_MIXER_MIC:
return ioctl_out (arg, volumes[DEV_MIC]);
return (*(int *) arg = volumes[DEV_MIC]);
break;
case SOUND_MIXER_LINE:
return ioctl_out (arg, volumes[DEV_LINE]);
return (*(int *) arg = volumes[DEV_LINE]);
break;
case SOUND_MIXER_CD:
return ioctl_out (arg, volumes[DEV_CD]);
return (*(int *) arg = volumes[DEV_CD]);
break;
case SOUND_MIXER_VOLUME:
return ioctl_out (arg, volumes[DEV_VOL]);
return (*(int *) arg = volumes[DEV_VOL]);
break;
case SOUND_MIXER_SYNTH:
return ioctl_out (arg, volumes[DEV_GF1]);
return (*(int *) arg = volumes[DEV_GF1]);
break;
default:
......
......@@ -4,7 +4,7 @@
* DRAM size encoding table for AMD Interwave chip.
*/
/*
* Copyright (C) by Hannu Savolainen 1993-1996
* Copyright (C) by Hannu Savolainen 1993-1997
*
* OSS/Free for Linux is distributed under the GNU GENERAL PUBLIC LICENSE (GPL)
* Version 2 (June 1991). See the "COPYING" file distributed with this software
......
ver.0.3.1a
- Fix a bug to reset voice counter in awe_reset
- Fix voice balance on GUS mode
- Make symlink on /usr/include/asm in install script
ver.0.3.1
- Remove zero size arrays from awe_voice.h
- Fix init_fm routine
- Remove all samples except primary samples in REMOVE_LAST_SAMPLES
ver.0.3.0a
- Add AWE_NOTEOFF_ALL control
- Remove AWE_INIT_ATTEN control
ver.0.3.0
- Fix decay time table
- Add exclusive sounds mode
- Add capability to get current status
ver.0.2.99e
- Add #ifdef for all sounds/notes off controls.
- Fix bugs on searching the default drumset/preset.
- Fix usslite patch to modify the default Config.in.
ver.0.2.99d
- Fix bugs of attack/hold parameters
- Fix attack & decay time table
ver.0.2.99c
- Change volume control messages (main & expression volume)
to accesspt normal MIDI parameters in channel mode.
- Use channel mode in SEQ2 controls.
ver.0.2.99b
- #ifdef patch manager functions (for OSS-3.7)
ver.0.2.99a
- Fix sustain bug
ver.0.2.99 (0.3 beta)
- Support multiple instruments
ver.0.2.0c
- Add copyright notice
- FreeBSD 2.2-ALPHA integration
ver.0.2.0b
- Remove buffered reading appended in v0.2.0a
- Remove SMAxW register check on writing
- Support Linux 2.1.x kernel
- Rewrite installation script
ver.0.2.0a
- Define SEQUENCER_C for tuning.h for FreeBSD system
- Improvement of sample loading speed
- Fix installation script
- Add PnP driver functions for ISA PnP driver support
ver.0.2.0
- Includes FreeBSD port
- Can load GUS compatible patches
......
......@@ -3,4 +3,55 @@ bool 'Additional low level drivers' CONFIG_LOWLEVEL_SOUND
if [ "$CONFIG_LOWLEVEL_SOUND" = "y" ]; then
bool 'ACI mixer (miroPCM12)' CONFIG_ACI_MIXER
bool 'AWE32 synth' CONFIG_AWE32_SYNTH
bool 'Gallant Audio Cards (SC-6000 and SC-6600 based)' CONFIG_AEDSP16
if [ "$CONFIG_AEDSP16" = "y" ]; then
comment 'SC-6600 Audio Cards have no jumper switches at all'
bool 'SC-6600 based audio cards (new Audio Excel DSP 16)' CONFIG_SC6600
if [ "$CONFIG_SB" = "y" -a "$CONFIG_AEDSP16_MSS" != "y" ]; then
bool 'Audio Excel DSP 16 (SBPro emulation)' CONFIG_AEDSP16_SBPRO
if [ "$CONFIG_AEDSP16_SBPRO" = "y" ]; then
comment 'Audio Excel DSP 16 [Sound Blaster Pro]'
hex 'I/O base for Audio Excel DSP 16 220 or 240' \
AEDSP16_BASE $SBC_BASE
int 'Audio Excel DSP 16 IRQ 5, 7, 9, 10, 11' \
AEDSP16_SBC_IRQ $SBC_IRQ
int 'Audio Excel DSP 16 DMA 0, 1 or 3' AEDSP16_SBC_DMA $SBC_DMA
fi
fi
if [ "$CONFIG_MSS" = "y" -a "$CONFIG_AEDSP16_SBPRO" != "y" ]; then
bool 'Audio Excel DSP 16 (MSS emulation)' CONFIG_AEDSP16_MSS
if [ "$CONFIG_AEDSP16_MSS" = "y" ]; then
comment 'Audio Excel DSP 16 [Microsoft Sound System]'
hex 'I/O base for Audio Excel DSP 16 220 or 240' AEDSP16_BASE 220
int 'Audio Excel DSP 16 IRQ 5, 7, 9, 10, 11' \
AEDSP16_MSS_IRQ $MSS_IRQ
int 'Audio Excel DSP 16 DMA 0, 1 or 3' AEDSP16_MSS_DMA $MSS_DMA
fi
fi
if [ "$CONFIG_MIDI" = "y" ]; then
bool 'Audio Excel DSP 16 (MPU401 emulation)' CONFIG_AEDSP16_MPU401
if [ "$CONFIG_AEDSP16_MPU401" = "y" ]; then
comment 'Audio Excel DSP 16 [MPU-401]'
if [ "$CONFIG_AEDSP16_SBPRO" != "y" \
-a "$CONFIG_AEDSP16_MSS" != "y" ]; then
hex 'I/O base for Audio Excel DSP 16 220 or 240' AEDSP16_BASE 220
fi
int 'MPU401 IRQ for Audio Excel DSP 16 5, 7, 9, 10 or 0 (disable)' \
AEDSP16_MPU_IRQ $MPU_IRQ
fi
fi
if [ "$CONFIG_SC6600" = "y" ]; then
comment 'SC-6600 specific configuration'
bool 'Activate SC-6600 Joystick Interface' CONFIG_SC6600_JOY
int 'SC-6600 CDROM Interface (4=None, 3=IDE, 1=Panasonic, 0=?Sony?)' \
CONFIG_SC6600_CDROM 4
hex 'SC-6600 CDROM Interface I/O Address' CONFIG_SC6600_CDROMBASE 0
fi
fi
fi
all: lowlevel.o
ALLOBJS = init.o aci.o awe_wave.o
ALLOBJS = init.o aci.o awe_wave.o aedsp16.o
OBJS = init.o
ifdef CONFIG_LOWLEVEL_SOUND
......@@ -10,6 +10,9 @@ endif
ifdef CONFIG_AWE32_SYNTH
OBJS := $(OBJS) awe_wave.o
endif
ifdef CONFIG_AEDSP16
OBJS := $(OBJS) aedsp16.o
endif
endif
lowlevel.o: $(OBJS)
......@@ -27,8 +30,20 @@ manual_config.h:
@exit 1
clean:
rm -f core x y z *~ *.o module
rm -f core x y z *~ *.o module .depend
dep:
$(CPP) -M $(CFLAGS) -I. *.c > .depend
ifdef HOSTCC
include $(TOPDIR)/Rules.make
else
USE_DEPEND=y
endif
ifdef USE_DEPEND
# include a dependency file if one exists
ifeq (.depend,$(wildcard .depend))
include .depend
endif
endif
Driver
------
Informations about Audio Excel DSP 16 driver can be found in the source
file lowlevel/aedsp16.c
Please, read the head of the source before using it. It contain useful
informations.
Configuration
-------------
The Audio Excel configuration, is now done with the standard Linux setup.
You have to configure the sound card (Sound Blaster or Microsoft Sound System)
and, if you want it, the Roland MPU-401 (do not use the Sound Blaster MPU-401,
SB-MPU401) in the main driver menu. Activate the lowlevel drivers then select
the Audio Excel hardware that you want to initialize. Check the IRQ/DMA/MIRQ
of the Audio Excel initialization: it must be the same as the SBPRO (or MSS)
setup. If the parameters are different, correct it.
I you own a Gallant's audio card based on SC-6600, activate the SC-6600 support.
If you want to change the configuration of the sound board, be sure to
check off all the configuration items before re-configure it.
Sound cards supported
---------------------
This driver supports the SC-6000 and SC-6600 based Gallant's sound card.
It don't support the Audio Excel DSP 16 III (try the SC-6600 code).
I'm working on the III version of the card: if someone have useful
informations about it, please let me know.
For all the non-supported audio cards, you have to boot MS-DOS (or WIN95)
activating the audio card with the MS-DOS device driver, then you have to
<ctrl>-<alt>-<del> and boot Linux.
Follow these steps:
1) Compile Linux kernel with standard sound driver, using the emulation
you want, with the parameters of your audio card,
e.g. Microsoft Sound System irq10 dma3
2) Install your new kernel as the default boot kernel.
3) Boot MS-DOS and configure the audio card with the boot time device
driver, for MSS irq10 dma3 in our example.
4) <ctrl>-<alt>-<del> and boot Linux. This will mantain the DOS configuration
and will boot the new kernel with sound driver. The sound driver will find
the audio card and will recognize and attach it.
Reports on User successes
-------------------------
[--------------------------------------------------------------------------]
From POPmail Mon Jul 29 18:23:12 1996
Received: from cdc8g5.cdc.polimi.it by mbox.vol.it with SMTP
(1.39.111.2/16.2) id AA257995686; Mon, 29 Jul 1996 09:34:46 +0200
Return-Path: <sjg95@unixfe.rl.ac.uk>
Received: from [130.246.12.16] by cdc8g5.cdc.polimi.it with SMTP
(1.38.193.4/15.6) id AA27426; Mon, 29 Jul 1996 09:42:49 +0200
Posted-Date: Mon, 29 Jul 1996 08:35:40 +0100
Received-Date: Mon, 29 Jul 1996 09:42:49 +0200
Received: (from sjg95@localhost) by unixfe.rl.ac.uk (8.7.3/8.7.3)
id IAA58788 for riccardo@cdc8g5.cdc.polimi.it; Mon, 29 Jul 1996 08:35:40 +0100
Date: Mon, 29 Jul 1996 08:35:40 +0100
From: Mr S J Greenaway <sjg95@unixfe.rl.ac.uk>
Message-Id: <199607290735.IAA58788@unixfe.rl.ac.uk>
To: riccardo@cdc8g5.cdc.polimi.it (Riccardo Facchetti)
Subject: Re: Audio Excel DSP 16 initialization code
Newsgroups: comp.os.linux.announce
X-Newsreader: TIN [version 1.2 PL2]
Status: RO
X-Status: A
Just to let you know got my Audio Excel (emulating a MSS) working
with my original SB16, thanks for the driver!
/dev/sndstat:
Linux huey 2.0.9 #10 Sat Jul 27 11:41:42 BST 1996 i586)
Kernel: Linux huey 2.0.9 #14 Sun Jul 28 12:50:43 BST 1996 i586
Config options: c0202
Installed drivers:
Type 10: MS Sound System
Type 24: MS Sound System (AXP)
Type 27: Compaq Deskpro XL
Type 2: Sound Blaster
Card config:
MS Sound System at 0x530 irq 11 drq 3
Sound Blaster at 0x240 irq 5 drq 1,5
Audio devices:
0: MSS audio codec (CS4231A)
1: Sound Blaster 16 (4.12)
Synth devices:
Midi devices: NOT ENABLED IN CONFIG
Timers:
0: System clock
1: MSS audio codec (CS4231A)
Mixers:
0: MSS audio codec (CS4231A)
1: Sound Blaster
[--------------------------------------------------------------------------]
Riccardo
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
#define SOUND_VERSION_STRING "3.7-beta12-961115"
#define SOUND_INTERNAL_VERSION 0x030707
#define SOUND_VERSION_STRING "3.8-beta9-970226"
#define SOUND_INTERNAL_VERSION 0x030803
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
This diff is collapsed.
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment