Started updating docs after sound code changes (TODO: developer doc).

This commit is contained in:
Volker Ruppert 2015-04-03 15:36:11 +00:00
parent 79278be63f
commit dd39bbe1c1
3 changed files with 152 additions and 81 deletions

View File

@ -901,7 +901,7 @@ parport1: enabled=1, file="parport.out"
# other choices described above. Overriding one or more settings with
# the specific driver parameter is possible.
#
# Examples for different drivers:
# Example for different drivers:
# sound: waveoutdrv=sdl, waveindrv=alsa, midioutdrv=dummy
#=======================================================================
sound: driver=default, waveout=/dev/dsp. wavein=, midiout=

View File

@ -2181,19 +2181,19 @@ to explicitly turn it off.
<entry>--enable-sb16</entry>
<entry>no</entry>
<entry>
Enable Sound Blaster emulation. The lowlevel sound interface is autodetected.
See section <link linkend="using-sound">Using Sound</link> for supported
platforms and more info. This option also enables the standard PC gameport
which is a part of the SB16. If you don't want to use it, you might use
<option>--disable-gameport</option>.
Enable Sound Blaster emulation. The available lowlevel sound interfaces
are autodetected. See section <link linkend="using-sound">Using Sound</link>
for supported platforms and more info. This option also enables the standard
PC gameport which is a part of the SB16. If you don't want to use it, you
might use <option>--disable-gameport</option>.
</entry>
</row>
<row>
<entry>--enable-es1370</entry>
<entry>no</entry>
<entry>
Enable ES1370 sound emulation. Just like the SB16 option, the lowlevel sound
interface is autodetected and the gameport is turned on.
Enable ES1370 sound emulation. Just like the SB16 option, the available
lowlevel sound interface is autodetected and the gameport is turned on.
</entry>
</row>
<row>
@ -4371,17 +4371,66 @@ win32 platforms).
<section id="bochsopt-sound">
<title>sound</title>
<para>
Example:
Example for one driver (uses platform-default):
<screen>
sound: driver=default, waveout=/dev/dsp. wavein=
sound: driver=default, waveout=/dev/dsp
</screen>
This defines the lowlevel sound driver and the wave (PCM) input and
output devices to be used by sound emulation devices. Possible values
for the driver parameter are 'default', 'dummy' (no input/output),
'alsa' (if present) and 'sdl' (if present). For some drivers the wave
devices must be specified. If the 'wavein' parameter is not set, Bochs
uses the 'waveout' device for input, too. See <xref linkend="using-sound">
for more information.
Example for different drivers:
<screen>
sound: waveoutdrv=sdl, waveindrv=alsa, midioutdrv=dummy
</screen>
This defines the lowlevel sound driver(s) for the wave (PCM) input / output
and the MIDI output feature and (if necessary) the devices to be used.
It can have several of the following properties. All properties are in the
format sound: property=value.
<itemizedlist>
<listitem><para>
<option>waveoutdrv</option>: This defines the driver to be used for the
waveout feature. Possible values are 'file' (all wave data sent to file),
'dummy' (no output) and the platform-dependant drivers 'alsa', 'oss', 'osx',
'sdl' and 'win'.
</para></listitem>
<listitem><para>
<option>waveout</option>:
This defines the device to be used for wave output (if necessary) or the
output file for the 'file' driver.
</para></listitem>
<listitem><para>
<option>waveindrv</option>:
This defines the driver to be used for the wavein feature.
Possible values are 'dummy' (recording silence) and platform-dependent
drivers 'alsa', 'oss' and 'win'.
</para></listitem>
<listitem><para>
<option>wavein</option>:
This defines the device to be used for wave output (if necessary).
</para></listitem>
<listitem><para>
<option>midioutdrv</option>:
This defines the driver to be used for the MIDI output feature.
Possible values are 'file' (all MIDI data sent to file), 'dummy' (no
output) and platform-dependent drivers 'alsa', 'oss', 'osx' and 'win'.
</para></listitem>
<listitem><para>
<option>midiout</option>:
This defines the device to be used for MIDI output (if necessary).
</para></listitem>
<listitem><para>
<option>driver</option>:
This defines the driver to be used for all sound features with one
property. Possible values are 'default' (platform default) and all
other choices described above. Overriding one or more settings with
the specific driver parameter is possible.
</para></listitem>
</itemizedlist>
See <xref linkend="using-sound"> for more information.
</para>
</section>
@ -4405,7 +4454,7 @@ gui methods (currently only used by the Carbon gui).
<para>
Example:
<screen>
sb16: midimode=1, midi=/dev/midi00, wavemode=1, wave=/dev/dsp,
sb16: midimode=2, midi=output.mid, wavemode=3, wave=output.wav
loglevel=2, log=sb16.log, dmatimer=600000
</screen>
<note><para>
@ -4419,50 +4468,49 @@ are in the usual "property=value" format.
<itemizedlist>
<listitem><para>
enabled: This optional property controls the presence of the SB16 emulation.
<option>enabled</option>:
This optional property controls the presence of the SB16 emulation.
The emulation is turned on unless this property is used and set to 0.
</para></listitem>
<listitem><para>
midimode:
<option>midimode</option>:
This parameter specifies what to do with the MIDI output.
<screen>
0 = No data should be output.
1 = output to device (system dependent - midi denotes the device driver).
2 = SMF file output, including headers.
3 = Output the midi data stream to the file (no midi headers and no
delta times, just command and data bytes).
0 = no output
1 = output to device specified with the sound option (system dependent)
2 = MIDI or raw data output to file (depends on file name extension)
3 = dual output (mode 1 and 2 at the same time)
</screen>
</para></listitem>
<listitem><para>
midi: The filename is where the midi data is sent to. This
can be a device or just a file if you want to record the midi data.
On a Windows host this parameter specifies the ID of the MIDI device
to use. If not specified, the default MIDI mapper is used. On a Linux
host and with the ALSA driver selected the default sequencer device
will be used with the given client and port parameters.
<option>midi</option>:
This is the file where the midi output is stored (midimode 2 or 3).
</para></listitem>
<listitem><para>
wavemode:
<option>wavemode</option>:
This parameter specifies what to do with the PCM output.
<screen>
0 = no data
1 = output to device (system dependent - wave denotes the device driver).
2 = VOC file output, including headers.
3 = Output the raw wave stream to the file.
0 = no output
1 = output to device specified with the sound option (system dependent)
2 = VOC, WAV or raw data output to file (depends on file name extension)
3 = dual output (mode 1 and 2 at the same time)
</screen>
</para></listitem>
<listitem><para>
wave: This is the file where the wave output is stored (wavemode 2 or 3).
<option>wave</option>:
This is the file where the wave output is stored (wavemode 2 or 3).
</para></listitem>
<listitem><para>
log: The file to write the sb16 emulator messages to.
<option>log</option>: The file to write the sb16 emulator messages to.
</para></listitem>
<listitem><para>
loglevel:
<option>loglevel</option>:
<screen>
0 = No log.
1 = Resource changes, midi program and bank changes.
@ -4475,7 +4523,8 @@ are in the usual "property=value" format.
</para></listitem>
<listitem><para>
dmatimer: Microseconds per second for a DMA cycle. Make it smaller to fix
<option>dmatimer</option>:
Microseconds per second for a DMA cycle. Make it smaller to fix
non-continuous sound. 750000 is usually a good value. This needs a reasonably
correct setting for the <command>ips</command> parameter of the
<link linkend="bochsopt-cpu-ips">cpu option</link>. It is possible to adjust the
@ -5638,6 +5687,7 @@ drivers and their features.
These special values are also valid for the sound driver:
<itemizedlist>
<listitem><para><option>default</option> - select platform-default sound driver.</para></listitem>
<listitem><para><option>file</option> - wave and MIDI output to file(s)</para></listitem>
<listitem><para><option>dummy</option> - no output at all</para></listitem>
</itemizedlist>
</para>
@ -5649,8 +5699,9 @@ one.
</para>
<para>
At runtime the lowlevel sound module will be loaded automatically if one of the
sound devices is enabled in the <filename>bochsrc</filename>. The driver and the
wave input and output devices must be set up with the <link linkend="bochsopt-sound">sound</link> option.
sound devices is enabled in the <filename>bochsrc</filename>. The drivers and
devices for wave input / output and MIDI output must be set up with the
<link linkend="bochsopt-sound">sound</link> option.
</para>
</section>
<section><title>The PC speaker</title>

View File

@ -1,5 +1,5 @@
.\"Document Author: Timothy R. Butler - tbutler@uninetsolutions.com"
.TH bochsrc 5 "29 Mar 2015" "bochsrc" "The Bochs Project"
.TH bochsrc 5 "3 Apr 2015" "bochsrc" "The Bochs Project"
.\"SKIP_SECTION"
.SH NAME
bochsrc \- Configuration file for Bochs.
@ -933,15 +933,47 @@ Examples:
.TP
.I "sound:"
This defines the lowlevel sound driver and the wave (PCM) input and
output devices to be used by sound emulation devices. Possible values
for the driver parameter are 'default', 'dummy' (no input/output),
\&'alsa' (if present) and 'sdl' (if present). For some drivers the wave
devices must be specified. If the 'wavein' parameter is not set, Bochs
uses the 'waveout' device for input, too.
This defines the lowlevel sound driver(s) for the wave (PCM) input / output
and the MIDI output feature and (if necessary) the devices to be used.
It can have several of the following properties.
All properties are in the format sound: property=value
Example:
sound: driver=default, waveout=/dev/dsp. wavein=
waveoutdrv:
This defines the driver to be used for the waveout feature.
Possible values are 'file' (all wave data sent to file), 'dummy' (no
output) and the platform-dependant drivers 'alsa', 'oss', 'osx', 'sdl'
and 'win'.
waveout:
This defines the device to be used for wave output (if necessary) or
the output file for the 'file' driver.
waveindrv:
This defines the driver to be used for the wavein feature.
Possible values are 'dummy' (recording silence) and platform-dependent
drivers 'alsa', 'oss' and 'win'.
wavein:
This defines the device to be used for wave output (if necessary).
midioutdrv:
This defines the driver to be used for the MIDI output feature.
Possible values are 'file' (all MIDI data sent to file), 'dummy' (no
output) and platform-dependent drivers 'alsa', 'oss', 'osx' and 'win'.
midiout:
This defines the device to be used for MIDI output (if necessary).
driver:
This defines the driver to be used for all sound features with one
property. Possible values are 'default' (platform default) and all
other choices described above. Overriding one or more settings with
the specific driver parameter is possible.
Example for one driver (uses platform-default):
sound: driver=default, waveout=/dev/dsp
Example for different drivers:
sound: waveoutdrv=sdl, waveindrv=alsa, midioutdrv=dummy
.TP
.I "speaker:"
@ -972,30 +1004,29 @@ enabled:
midimode:
0 = No data should be output.
1 = output to device (system dependent - midi
denotes the device driver).
2 = SMF file output, including headers.
3 = Output the midi data stream to the file
(no midi headers and no delta times, just
command and data bytes).
This parameter specifies what to do with the MIDI output.
0 = no output
1 = output to device specified with the sound option (system dependent)
2 = MIDI or raw data output to file (depends on file name extension)
3 = dual output (mode 1 and 2 at the same time)
midi:
The filename is where the midi data is sent.
This can be a device or just a file if you
want to record the midi data.
This is the file where the midi output is stored (midimode 2 or 3).
wavemode:
0=no data
1=output to device (system dependent. wave denotes the device driver)
2=VOC file output, incl. headers
3=output the raw wave stream to the file
This parameter specifies what to do with the PCM output.
0 = no output
1 = output to device specified with the sound option (system dependent)
2 = VOC, WAV or raw data output to file (depends on file name extension)
3 = dual output (mode 1 and 2 at the same time)
wave:
This is the file where the wave output is stored (wavemode 2 or 3)
This is the file where the wave output is stored (wavemode 2 or 3).
log:
@ -1011,7 +1042,7 @@ loglevel:
5 = All errors and port accesses plus a lot
of extra information.
It is possible to change the loglevel at runtime.
It is possible to change the loglevel at runtime.
dmatimer:
@ -1021,20 +1052,9 @@ value. This needs a reasonably correct setting for
the IPS parameter of the CPU option. It is possible to
adjust the dmatimer at runtime.
Example for output to OSS:
sb16: midimode=1, midi=/dev/midi00,
wavemode=1, wave=/dev/dsp, loglevel=2,
log=sb16.log, dmatimer=600000
Example for output to ALSA:
sb16: midimode=1, midi=128:0,
wavemode=1, wave="",
log=sb16.log, dmatimer=600000
.B NOTE:
The examples are wrapped onto three lines for
formatting reasons, but it should all be on
one line in the actual bochsrc file.
Examples for output modes:
sb16: midimode=2, midi="output.mid", wavemode=1 # MIDI to file
sb16: midimode=1, wavemode=3, wave="output.wav" # wave to file and device
.TP
.I "es1370:"