summaryrefslogtreecommitdiffstats
path: root/sys/i386/isa/sound
diff options
context:
space:
mode:
authorasami <asami@FreeBSD.org>1996-10-30 22:41:46 +0000
committerasami <asami@FreeBSD.org>1996-10-30 22:41:46 +0000
commit95ac832055c11e8031e18bcc9759b2d12b654e9b (patch)
tree37f74d6fdf54e31c6c6d69a11d50e299cd0a1118 /sys/i386/isa/sound
parente1b78916a4b8d96475ebaa0033860c706702fe49 (diff)
downloadFreeBSD-src-95ac832055c11e8031e18bcc9759b2d12b654e9b.zip
FreeBSD-src-95ac832055c11e8031e18bcc9759b2d12b654e9b.tar.gz
More merge and update.
(1) deleted #if 0 pc98/pc98/mse.c (2) hold per-unit I/O ports in ed_softc pc98/pc98/if_ed.c pc98/pc98/if_ed98.h (3) merge more files by segregating changes into headers. new file (moved from pc98/pc98): i386/isa/aic_98.h deleted: well, it's already in the commit message so I won't repeat the long list here ;) Submitted by: The FreeBSD(98) Development Team
Diffstat (limited to 'sys/i386/isa/sound')
-rw-r--r--sys/i386/isa/sound/dev_table.h10
-rw-r--r--sys/i386/isa/sound/local.h12
-rw-r--r--sys/i386/isa/sound/sound_calls.h6
-rw-r--r--sys/i386/isa/sound/sound_config.h24
4 files changed, 52 insertions, 0 deletions
diff --git a/sys/i386/isa/sound/dev_table.h b/sys/i386/isa/sound/dev_table.h
index 402538c..5269f63 100644
--- a/sys/i386/isa/sound/dev_table.h
+++ b/sys/i386/isa/sound/dev_table.h
@@ -302,6 +302,11 @@ struct sound_timer_operations {
{SNDCARD_TRXPRO_SB, "AudioTriX (SB mode)", attach_trix_sb, probe_trix_sb},
{SNDCARD_TRXPRO_MPU, "AudioTriX MIDI", attach_trix_mpu, probe_trix_mpu},
#endif
+#ifdef PC98
+#ifndef EXCLUDE_PCM86
+ {SNDCARD_PCM86, "PC-9801-86/73", attach_pcm86, probe_pcm86},
+#endif
+#endif
{0, "*?*", NULL, NULL}
};
@@ -384,6 +389,11 @@ struct sound_timer_operations {
#ifndef EXCLUDE_YM3812
{SNDCARD_ADLIB, {FM_MONO, 0, 0}, SND_DEFAULT_ENABLE},
#endif
+#ifdef PC98
+#ifndef EXCLUDE_PCM86
+ {SNDCARD_PCM86, {0, 0, 0}, SND_DEFAULT_ENABLE},
+#endif
+#endif
{0, {0}, 0}
};
diff --git a/sys/i386/isa/sound/local.h b/sys/i386/isa/sound/local.h
index e80b780..c243e4b 100644
--- a/sys/i386/isa/sound/local.h
+++ b/sys/i386/isa/sound/local.h
@@ -92,6 +92,14 @@
#define EXCLUDE_UART6850
#endif
+#ifdef PC98
+#include "pcm.h"
+#if NPCM == 0 && !defined(EXCLUDE_PCM86)
+#define EXCLUDE_PCM86
+#endif
+#endif
+
+
/* nothing but a sequencer (Adlib/OPL) ? */
#if NGUS == 0 && NSB == 0 && NSBMIDI == 0 && NPAS == 0 && NMPU == 0 && \
NUART == 0 && NMSS == 0
@@ -99,9 +107,11 @@
#define EXCLUDE_MIDI
#endif
#ifndef EXCLUDE_AUDIO
+#if !defined(PC98) || defined(EXCLUDE_PCM86) && defined(EXCLUDE_MSS)
#define EXCLUDE_AUDIO
#endif
#endif
+#endif
/* nothing but a Midi (MPU/UART) ? */
#if NGUS == 0 && NSB == 0 && NSBMIDI == 0 && NPAS == 0 && NOPL == 0 && \
@@ -111,6 +121,8 @@
#define EXCLUDE_SEQUENCER
#endif
#ifndef EXCLUDE_AUDIO
+#if !defined(PC98) || defined(EXCLUDE_PCM86) && defined(EXCLUDE_MSS)
#define EXCLUDE_AUDIO
#endif
#endif
+#endif
diff --git a/sys/i386/isa/sound/sound_calls.h b/sys/i386/isa/sound/sound_calls.h
index bfe2f44..d52da0b 100644
--- a/sys/i386/isa/sound/sound_calls.h
+++ b/sys/i386/isa/sound/sound_calls.h
@@ -249,6 +249,12 @@ int pss_ioctl (int dev, struct fileinfo *file,
int pss_lseek (int dev, struct fileinfo *file, off_t offset, int orig);
long pss_init(long mem_start);
+#ifdef PC98
+/* From pcm86.c */
+int probe_pcm86(struct address_info *hw_config);
+long attach_pcm86(long mem_start, struct address_info *hw_config);
+#endif PC98
+
/* From aedsp16.c */
int InitAEDSP16_SBPRO(struct address_info *hw_config);
int InitAEDSP16_MSS(struct address_info *hw_config);
diff --git a/sys/i386/isa/sound/sound_config.h b/sys/i386/isa/sound/sound_config.h
index daafcbe..2330fa9 100644
--- a/sys/i386/isa/sound/sound_config.h
+++ b/sys/i386/isa/sound/sound_config.h
@@ -79,24 +79,44 @@ If your card has nonstandard I/O address or IRQ number, change defines
for the following settings in your kernel Makefile */
#ifndef SBC_BASE
+#ifdef PC98
+#define SBC_BASE 0x20d2 /* 0x20d2 is the factory default. */
+#else
#define SBC_BASE 0x220 /* 0x220 is the factory default. */
#endif
+#endif
#ifndef SBC_IRQ
+#ifdef PC98
+#define SBC_IRQ 10 /* IQR10 is not the factory default on PC9821. */
+#else
#define SBC_IRQ 7 /* IQR7 is the factory default. */
#endif
+#endif
#ifndef SBC_DMA
+#ifdef PC98
+#define SBC_DMA 3
+#else
#define SBC_DMA 1
#endif
+#endif
#ifndef SB16_DMA
+#ifdef PC98
+#define SB16_DMA 3
+#else
#define SB16_DMA 6
#endif
+#endif
#ifndef SB16MIDI_BASE
+#ifdef PC98
+#define SB16MIDI_BASE 0x80d2
+#else
#define SB16MIDI_BASE 0x300
#endif
+#endif
#ifndef PAS_BASE
#define PAS_BASE 0x388
@@ -248,7 +268,11 @@ If your card has nonstandard I/O address or IRQ number, change defines
#define DMA_AUTOINIT 0x10
+#ifdef PC98
+#define FM_MONO 0x28d2 /* This is the I/O address used by AdLib */
+#else
#define FM_MONO 0x388 /* This is the I/O address used by AdLib */
+#endif
/* SEQ_MAX_QUEUE is the maximum number of sequencer events buffered by the
driver. (There is no need to alter this) */
OpenPOWER on IntegriCloud