NAME
ym —
Yamaha OPL3-SA2 and OPL3-SA3 audio
device driver
SYNOPSIS
ym* at acpi?
ym* at isapnp?
ym* at pnpbios? index ?
audio* at audiobus?
mpu* at ym?
opl* at ym?
DESCRIPTION
The
ym driver provides support for Yamaha YMF711 (OPL3-SA2)
and YMF715x (OPL3-SA3) sound devices.
The OPL3-SAx device has WSS compatible full-duplex 16bit CODEC, OPL3 FM
synthesizer, and MPU401 compatible MIDI I/O port interface. Additionally,
OPL3-SA3 has built-in ‘3D Enhanced’ equalizer.
The joystick interface is handled by the
joy(4) driver.
MIXER DEVICE
The mixer device of
ym driver can be accessed by
mixerctl(1) command. The
layout is shown below.
dac ------------------------<----- -----------------
midi(OPL3/ZV)->-+----------------------------+->|inputs.midi |
cd ->------+-*--------------------------+->|inputs.cd |
line ->----*-+-+--------------------------+->|inputs.line |
speaker ->----+-+-+--------------------------+->|inputs.speaker |
mic ->--*-+-+-+--------------------------+->|inputs.mic |
v v v v monitor.monitor | | |
--------------- ------- | ------- | | |
|record.record|->| A/D |---->| D/A |-*->|inputs.dac |analog
| | |conv.|-- ->|conv.| | |output
--------------- ------- | | ------- | outputs.master|-->
wave v | wave | equalization.*|
recording playback -----------------
Note that the ‘
inputs.dac
’ is twice as
sensitive as other ‘
inputs
’ volume
variables.
The hardware volume changes the
‘
outputs.master
’ value.
If an external input source is unmuted by setting corresponding
‘
inputs.*.mute
’ variable to
‘
off
’, the device is never put in global
power down or power save mode. This is because if the device is in global
power down or power save mode, the output is automatically muted.
All the external input sources (CD playback, line input, speaker, and MIC) are
muted by default.
The ‘
equalization.*
’ variables does not
exists on OPL3-SA2. The ‘equalization.treble’ and
‘equalization.bass’ are enhancement only, and any values below the
center position (128) don't take any effect.
POWER MANAGEMENT
The
ym driver is capable of power management on the OPL3-SAx
devices. The following modes can be selected by setting
‘
power.save
’ variable of
mixerctl(1) to
‘
powerdown
’,
‘
powersave
’, and
‘
nosave
’ respectively.
- Global power-down mode
- When a subpart of the device is unused, the part is
power-down after a timeout period (specified by
‘
power.save.timeout
’ variable of
mixerctl(1) in seconds).
When all the subparts of the device are unused, and all the external input
sources are muted, the driver puts the device in ‘Global Power
Down’ mode.
On the global power down mode, the power consumption is minimized (10μA
(SA3) or 200μA (SA2) typ.), but the click noise on power up/down the
device is rather loud.
This mode
should not be used with headphones or hi-fi audio systems, or your ears or
the systems may be damaged.
- Power save mode
- When a subpart of the device is unused, the part is
powered-down after a timeout period (specified by
‘
power.save.timeout
’ variable of
mixerctl(1) in seconds).
When all the subparts of the device are unused, and all the external input
sources are muted, the driver put the device in ‘Power Save’
mode.
In power save mode, the power consumption is reduced (5mA typ.). The click
noise on power up/down of the device is very small, but this operation
requires muting/unmuting the device, which make some noise. In order to
reduce the noise, setting the master volume at the small value is
effective.
- No power-save mode
- Once the device is powered-up, it remains on after the use
of the device. Once a subpart of the device is powered-up, it shall not be
power-down. This mode minimizes click noises on power switching, but
maximizes power consumption (30-100mA).
On suspending, the device is put into power-save state.
SEE ALSO
mixerctl(1),
apm(4),
audio(4),
isapnp(4),
joy(4),
midi(4),
mpu(4),
opl(4),
pnpbios(4)
HISTORY
The
ym device driver appeared in
NetBSD
1.4.
BUGS
Although the parameters of the device are saved and restored on
apm(4) suspend/resume, the DMA
state is not restored. That is, if the system suspends during playback, this
is not continued after suspend/resume cycle.
The joystick port is not under power management. If a
joy(4) device is configured, the
device will never be put in global power down or power save mode.
The external devices, such as Zoomed Video port, OPL4-ML/2, modem, and CD-ROM
are not supported.