YM(4) | Device Drivers Manual | YM(4) |
ym
— Yamaha
OPL3-SA2 and OPL3-SA3 audio device driver
ym* at acpi?
ym* at isapnp?
ym* at pnpbios? index ?
audio* at audiobus?
mpu* at ym?
opl* at ym?
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.
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.
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.
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.
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.
On suspending, the device is put into power-save state.
mixerctl(1), apm(4), audio(4), isapnp(4), joy(4), midi(4), mpu(4), opl(4), i386/pnpbios(4)
The ym
device driver appeared in
NetBSD 1.4.
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.
August 23, 2020 | NetBSD 10.99 |