summaryrefslogtreecommitdiffstats
path: root/Documentation/sound/OPL3-SA
blob: 153082c463de6fd36bfab589c47b41179c9eec7f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
OPL3-SA1 sound driver (opl3sa.o)

---
Note: This howto only describes how to setup the OPL3-SA1 chip; this info
does not apply to the SA2, SA3, or SA4. Contact hannu@opensound.com for
the support details of these other SAx chips.
---

The Yamaha OPL3-SA1 sound chip is usually found built into motherboards, and
it's a decent little chip offering a WSS mode, a SB Pro emulation mode, MPU401
and OPL3 FM Synth capabilities.

You can enable inclusion of the driver via CONFIG_SOUND_OPL3SA1=m, or
CONFIG_SOUND_OPL3SA1=y through 'make config/xconfig/menuconfig'.

You'll need to know all of the relevant info (irq, dma, and io port) for the
chip's WSS mode, since that is the mode the kernel sound driver uses, and of
course you'll also need to know about where the MPU401 and OPL3 ports and
irq's are if you want to use those.

Here's the skinny on how to load it as a module:

	modprobe opl3sa io=0x530 irq=11 dma=0 dma2=1 mpu_io=0x330 mpu_irq=5

Module options in detail:

	io:	This is the WSS's port base.
	irq:	This is the WSS's irq.
	dma:	This is the WSS's dma line. In my BIOS setup screen this was
		listed as "WSS Play DMA"
	dma2:	This is the WSS's secondary dma line. My BIOS calls it the
		"WSS capture DMA"
	
	mpu_io:	This is the MPU401's port base.
	mpu_irq: This is the MPU401's irq.

If you'd like to use the OPL3 FM Synthesizer, make sure you enable
CONFIG_YM3812 (in 'make config'). That'll build the opl3.o module.

Then a simple 'insmod opl3 io=0x388', and you now have FM Synth.

You can also use the SoftOSS software synthesizer instead of the builtin OPL3.
Here's how:

Say 'y' or 'm' to "SoftOSS software wave table engine" in make config.

If you said yes, the software synth is availible once you boot your new
kernel.

If you chose to build it as a module, just insmod the resulting softoss2.o

A 'cat /dev/sndstat' with all the above options should look similar to this:

  OSS/Free:3.8s2++-971130
  Load type: Driver loaded as a module
  Kernel: Linux iniquity 2.1.105 #145 Mon Jun 8 11:40:47 MST 1998 i586
  Config options: 0

  Installed drivers: 

  Card config: 

  Audio devices:
  0: MSS audio codec (CS4231) (DUPLEX)

  Synth devices:
  0: Yamaha OPL-3
  1: SoftOSS

  Midi devices:
  0: OPL3-SA (MPU401)

  Timers:
  0: System clock
  1: MSS audio codec (CS4231)

  Mixers:
  0: MSS audio codec (CS4231)

Questions? Comments?
<stiker@northlink.com>