1
0
Fork 0
mirror of https://github.com/dosbox-staging/dosbox-staging synced 2025-12-04 16:27:29 -05:00
1 Audio tests
John Novak edited this page 2025-07-29 17:29:15 +10:00
This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

Audio tests

Table of contents

General tests

Apart from confirming the audio sounds correct and there are no glitches, also make sure all the following features work:

  • Switching back and forth between fullscreen & windowed mode
  • Manual pause/unpause
  • Automatic pausing via pause_when_inactive = on (in the [sdl] section)
  • Fast-forwarding with the Alt+F12 hotkey
  • Capturing the audio output with the Ctrl+F6 (Cmd+F6) hotkey
  • Capturing the MIDI output

Audio device tests

This test pack contains the game demos and demoscene productions used in the below tests. To run the test cases, start Staging from the root directory of the test pack and pass the command line parameters starting with --conf ... for each test case.

audio-tests.zip

Second test pack containing a bunch of demos for SoundBlaster DAC and DMA. These test small sub-millisecond reads and most were broken before the per-frame SoundBlaster callback was introduced in #3875

soundblaster-submillisecond-dma-test-suite.zip

AdLib / OPL / ESFM

Prince of Persia (demo) [OPL2]

Also uses the Sound Blaster for sound effects.

  • --conf opl2.conf
  • --conf opl2.conf --set opl_filter=off
  • --conf opl2.conf --set "opl_filter=hpf 8 300 lpf 8 3000" — boxy "phone speaker" sound
  • --conf opl2.conf --set rate=8000
  • --conf opl2.conf --set rate=96000

Cybersphere [OPL3]

This game writes to the OPL3 registers constantly, so the OPL emulation consumes a lot more CPU power than plain OPL games like DOOM.

Make sure to test fast-forwarding thoroughly as well.

  • --conf opl3.conf
  • --conf opl3.conf --set opl_filter=off
  • --conf opl3.conf --set "opl_filter=hpf 8 300 lpf 8 3000" — boxy "phone speaker" sound
  • --conf opl3.conf --set rate=8000
  • --conf opl3.conf --set rate=96000

Dune [AdLib Gold]

Dune is the only game that uses the AdLib Gold's Surround Module that Staging emulates. Use oplmode = opl3gold.

The floppy version is much louder than the CD-ROM version; it overloads the master channel into clipping with the default volume levels without the master compressor (which is enabled by default, but then this results in volume-pumping).

Ultima Underworld [Dual OPL2]

TODO

koolnESS [ESFM]

  • --conf esfm.conf
  • --conf esfm.conf --set rate=8000
  • --conf esfm.conf --set rate=96000

Other ESFM games

Use sbtype = ess and configure the ESS Technology ES1688, ES1788, ES1888 Enhanced FM Audio MIDI music driver in the game's setup utility.

Recommended games for testing are marked with 🟢.

  • 11th Hour, The
  • Advanced Civilization
  • Callahan's Crosstime Saloon
  • Gene Machine, The 🟢
  • Heaven's Dawn
  • Heroes of Might and Magic II 🟢
  • Magic Carpet 2
  • Settlers II, The 🟢
  • Shannara
  • Theme Hospital
  • WarCraft II
  • Z 🟢

CD Audio

Pro Pinball - Timeshock!

Use the below config and make sure there are no CD Audio glitches in the main menu, when loading the table, or in-game while playing.

[dosbox]
memsize = 32
vmemsize = 8

[autoexec]
c:
imgmount d cd/*.cue -t iso
cd tshock
pinball

FluidSynth

Gabriel Knight: Sins of the Fathers

Also tests the Disney Sound Source: select Play in the main menu; there will be digital sound effects in the short intro animation before entering the bookstore.

  • --conf fluidsynth-disney.conf
  • --conf fluidsynth-disney.conf --set "fsynth_filter=hpf 8 300 lpf 8 3000" — boxy "phone speaker" sound
  • --conf fluidsynth-disney.conf --set rate=8000
  • --conf fluidsynth-disney.conf --set rate=96000

Game Blaster / Creative Music System (CMS)

Prince of Persia (demo)

  • --conf gb.conf — filter should be on by default
  • --conf gb.conf --set cms_filter=off — more high-end sparkle
  • --conf gb.conf --set "cms_filter=hpf 8 300 lpf 8 3000" — boxy "phone speaker" sound
  • --conf gb.conf --set rate=8000
  • --conf gb.conf --set rate=96000

Gravis UltraSound

CapaMod

  • --conf gus.conf
  • --conf gus.conf --set "gus_filter=hpf 8 300 lpf 8 3000" — boxy "phone speaker" sound
  • --conf gus.conf --set rate=8000
  • --conf gus.conf --set rate=96000

IBM Music Feature Card (IMFC)

Currently, fast-forwarding doesn't work correctly with the IMFC emulation.

Police Quest 2 (demo)

  • --conf imfc.conf — filter should be on by default
  • --conf imfc.conf --set imfc_filter=off — annoyingly harsh sound, especially the drums
  • --conf imfc.conf --set "imfc_filter=hpf 8 300 lpf 8 3000" — boxy "phone speaker" sound
  • --conf imfc.conf --set rate=8000
  • --conf imfc.conf --set rate=96000

Innovation SSI-2001

Ultima IV The False Prophet

Use sidmodel = auto and configure the game for Innovation sound with INSTALL.EXE.

Windwalker

The music uses the Innovation, but the digital sound effect are always played via the PC Speaker.

[dosbox]
machine = ega

[innovation]
sidmodel = auto

[sblaster]
oplmode = off

[autoexec]
c:

LPT DAC

Takeover by Epical [Covox]

Note

The demo needs core = normal. With core = dynamic, you get a strange warbling sound.

  • --conf lptdac-covox.conf
  • --conf lptdac-covox.conf --set lpt_dac_covox=off
  • --conf lptdac-covox.conf --set lpt_dac_covox=auto
  • --conf lptdac-covox.conf --set "lpt_dac_covox=hpf 8 300 lpf 8 3000" — very strong boxy "phone speaker" sound
  • --conf lptdac-covox.conf --set rate=8000 — there is some extra noise, which is normal due to the forced low mixing rate
  • --conf lptdac-covox.conf --set rate=96000

PC Speaker

Do all tests with both pcspeaker = discrete and pcspeaker = impulse.

FastTracker II

Both discrete and impulse style PC Speaker playback is supported. Load some of the included modules.

Grand Monster Slam

The game plays digital audio through the PC Speaker during the intro. The speed of the music is CPU cycle dependent; it sounds about right at 630 cycles.

Spellcasting 201

Start the game with S201 REAL for RealSound digital audio via the PC Speaker.

Windwalker

The digital sound effects are always played via the PC Speaker.

PS/1 Audio

Sierra Christmas Card 1990

The demo plays speech samples periodically via the PS/1 Audio DAC.

  • --conf ps1audio.conf — filters should be on by default
  • --conf ps1audio.conf --set ps1audio_filter=off --set ps1audio_dac_filter=off — lots of ugly sounding high-frequency content
  • --conf ps1audio.conf --set "ps1audio_filter=hpf 8 300 lpf 8 3000" --set "ps1audio_dac_filter=hpf 8 300 lpf 8 3000" — boxy "phone speaker" sound
  • --conf ps1audio.conf --set rate=8000
  • --conf ps1audio.conf --set rate=96000

Roland MT-32

Space Quest III (demo)

  • --conf mt32.conf
  • --conf mt32.conf --set "mt32_filter=hpf 8 300 lpf 8 3000" — boxy "phone speaker" sound
  • --conf mt32.conf --set rate=8000
  • --conf mt32.conf --set rate=96000

Eric the Unready

Loading the LEGMPU TSR before starting the game and using 10k cycles is important. The music will play at a lower and uneven tempo unless you do both.

[cpu]
cpu_cycles = 10000

[midi]
mididevice = mt32

[autoexec]
imgmount d cd/eric.cue -t iso
c:
cd ERIC
LEGMPU
ERIC XGA XMOUSE BLASTER 7 220 MT32 2 330

Bumpy's Arcade Fantasy

Use the following config and make sure the game uses the correct instruments (the main melody should be played with a marimba like percussive instrument, and the background chords are played on a harpsichord).

The few initial notes of the music are cut off, this is a known unsolved issue.

[midi]
mididevice = mt32

[autoexec]
c:
autotype -w 0.5 f3 f8
bumpy

Sound Blaster (DAC)

Takeover by Epical [SB2]

Note

The demo needs core = normal. With core = dynamic, you get a strange warbling sound.

  • --conf sb2.conf --set sb_filter=modern
  • --conf sb2.conf --set sb_filter=off
  • --conf sb2.conf --set sb_filter=auto
  • --conf sb2.conf --set "sb_filter=hpf 8 300 lpf 8 3000" — very strong boxy "phone speaker" sound
  • --conf sb2.conf --set rate=8000
  • --conf sb2.conf --set rate=96000

Panic by Future Crew [SB Pro 1]

  • --conf sbpro.conf --set sb_filter=modern — lots of treble
  • --conf sbpro.conf — as above (modern should be the default)
  • --conf sbpro.conf --set sb_filter=off — lots of ugly high-frequency content
  • --conf sbpro.conf --set sb_filter=auto — dark sound with much less treble
  • --conf sbpro.conf --set "sb_filter=hpf 8 300 lpf 8 3000" — very strong boxy "phone speaker" sound
  • --conf sbpro.conf --set rate=8000
  • --conf sbpro.conf --set rate=96000

Conquests of the Longbow: The Legend of Robin Hood (demo) [SB16]

OPL output is muted in these tests to better hear the high-frequency content of the Sound Blaster DAC output better.

  • --conf sb16.conf --set sb_filter=modern -c "mixer opl 0" — more treble and voice legibility
  • --conf sb16.conf -c "mixer opl 0" — as above (modern should be the default)
  • --conf sb16.conf --set sb_filter=off -c "mixer opl 0" — lots of ugly high-frequency content
  • --conf sb16.conf --set sb_filter=auto -c "mixer opl 0" — more boxy "phone speaker" sound and less voice legibility
  • --conf sb16.conf --set "sb_filter=hpf 8 300 lpf 8 3000" -c "mixer opl 0" — very strong boxy "phone speaker" sound
  • --conf sb16.conf --set rate=8000
  • --conf sb16.conf --set rate=96000

Alone in the Dark (floppy version)

This game can use the Sound Blaster in "direct DAC" mode, similarly to LPTDAC devices, via the "no DMA" option in the game's sound configuration. This exercises a different path in the emulation than the normal DMA-based digital audio playback.

  • Run mixer opl 0 to hear only the Sound Blaster digital sound.
  • Set sbtype = sb16.
  • Start the game, then enter the Configuration menu, set Sound Blaster for the music and Sound Blaster (no DMA) for the sound effects.
  • Start the game, confirm the the lighting sound can be heard in the intro and the crickets in the intro.

Repeat with sbtype = sb1 and sb2. The sbpro1 and sbpro2 options hang the game.

Tandy 3-Voice

Quest for Glory 2 (demo)

The dragon laugh sample is played via the Tandy DAC at the beginning of the intro.

  • --conf tandy.conf — filters should be on by default
  • --conf tandy.conf --set tandy_filter=off --set tandy_dac_filter=off — lots of ugly sounding high frequencies
  • --conf tandy.conf --set "tandy_filter=hpf 8 300 lpf 8 3000" --set "tandy_dac_filter=hpf 8 300 lpf 8 3000" — boxy "phone speaker" sound
  • --conf tandy.conf --set rate=8000
  • --conf tandy.conf --set rate=96000

Space Quest I (PCjr)

Use the following config:

[dosbox]
machine = pcjr

[mixer]
reverb = tiny

Leisure Suit Larry I (PCjr)

Use the following config:

[dosbox]
machine = pcjr

[mixer]
reverb = tiny

Manhunter 1 - New York (PCjr)

Use the following config:

[dosbox]
machine = pcjr

[mixer]
reverb = tiny

Zak McKracken and the Alien Mindbenders Enhanced (Tandy)

Use either version 1 or 2 of the game with the following config:

[dosbox]
machine = tandy

[mixer]
reverb = tiny