VOGONS

Common searches


First post, by versus

User metadata
Rank Newbie
Rank
Newbie

hi guys,

i recently followed a couple of guides to get the ultrasound emulation in dosbox running.
in short i installed the 4.11 drivers and pro patches lite 6.1. when running the "mididemo"
in c:\ultrasnd it sounds VERY nice:)

however some games, many games in fact have horrible sound quality when i set them up
for ultrasound. the sound is crackling and popping constantly and also a little distorted.
often times i cannot get them to play any midi from the ultrasound as well.
one example of this is "normality"...no music (well it kind of attempts to play something
like music but it sounds more like random soundeffects) and bad sound as described above.
however "the riddle of master lu" for example seems to work fine! 😕

even so, wether the sound is working or not there is always a "half-second" or so delay
when using ultrasound emulation, which results in the actions on screen being noticably
out of sync with the soundeffects.

i've tried a number of different things i in the dosbox.conf:
- setting different cores
- setting different amounts of cycles
- disabling sb and mpu-401 emulation
- setting different io/irq/dma for the ultrasound (and setting them up with ultrasnd\setup,.exe)

are these known problems with the ultrasound emulation or is there something i missed?
any help would be much appreciated!

thanks

Last edited by versus on 2007-06-16, 14:44. Edited 1 time in total.

Reply 1 of 37, by ADDiCT

User metadata
Rank Oldbie
Rank
Oldbie

Your post is missing some cruical information:
- Which DOSBox version do you use?
- Which OS are you on?
- What is your Hardware (processor/graphics card/memory/soundcard)?
- Are you having problems with digital sounds (sound effects), MIDI music, or both?

There's one obvious thing to do: choose one or more game you are having problems with, and try them with the "Soundblaster" setting (SB 16/Sb Pro) instead of GUS. If you did that, report the results, and details about the games, and how you've started them. We also need your dosbox.conf.

GUS emulation has worked fine for me, even though i'm using an old soundcard with a driver that is not optimized for gaming (SB Live! with kxDriver). There's a good chance that your configuration is not correct, or you're having hardware troubles. Considering that, you probably should've chosen a more descriptive and neutral subject for your post, like "Ultrasound problems" or something similar. Besides, the subject is not correct, because your problem is not the general quality of GUS emulation in DOSBox.

Reply 2 of 37, by versus

User metadata
Rank Newbie
Rank
Newbie

thanks for the reply! 😀

here's the additional information
- dosbox 0.70 (not cvs)
- windows xp sp2
- sytem:

athlon64 x2 dual 4400+
radeon x1900xt 512mb
2gb ram
sb x-fi xtreme music (just noticed creative released new drivers a week ago. gonna see if they do anything...)

- like i said: in some games the sound (digital) is crackling and distorted and they refuse to play music (midi)
from the emulated GUS (i.e. normality), while others work fine (i.e. riddle of master lu). however there is always
a slight delay in the sound being played.

soundblaster emulation is generally working very well for me. for example in the games i mentioned above,
the sound is clear without distortion or crackling and there is no delay. how i've started them? 😕
...well i set them up with "install.exe" or "setup.exe" respectively and then started them with the according
executable (i.e. normal.exe for normality). there are no special "start the game with ultrasound" batch files
in the directory if that's what you mean...

i also forgot to mention that i played around with the "blocksize" and "prebuffer" values. the ones i set now
work best for me with soundblaster emulation. setting them back to default didn't do anything for gus either...

here's my dosbox.conf:

[sdl] # fullscreen -- Start dosbox directly in fullscreen. # fulldouble -- Use double buffering in fullscreen. # fullresolution […]
Show full quote

[sdl]
# fullscreen -- Start dosbox directly in fullscreen.
# fulldouble -- Use double buffering in fullscreen.
# fullresolution -- What resolution to use for fullscreen: original or fixed size (e.g.

1024x768).
# windowresolution -- Scale the window to this size IF the output device supports

hardware scaling.
# output -- What to use for output: surface,overlay,opengl,openglnb,ddraw.
# autolock -- Mouse will automatically lock, if you click on the screen.
# sensitiviy -- Mouse sensitivity.
# waitonerror -- Wait before closing the console if dosbox has an error.
# priority -- Priority levels for dosbox: lowest,lower,normal,higher,highest,pause (when

not focussed).
# Second entry behind the comma is for when dosbox is not focused/minimized.
# mapperfile -- File used to load/save the key/event mappings from.
# usescancodes -- Avoid usage of symkeys, might not work on all operating systems.

fullscreen=false
fulldouble=true
fullresolution=desktop
windowresolution=original
output=overlay
autolock=true
sensitivity=100
waitonerror=true
priority=higher,pause
mapperfile=mapper.txt
usescancodes=true

[dosbox]
# language -- Select another language file.
# memsize -- Amount of memory dosbox has in megabytes.
# machine -- The type of machine tries to emulate:hercules,cga,tandy,pcjr,vga.
# captures -- Directory where things like wave,midi,screenshot get captured.

language=
machine=vga
captures=capture
memsize=32

[render]
# frameskip -- How many frames dosbox skips before drawing one.
# aspect -- Do aspect correction, if your output method doesn't support scaling this can

slow things down!.
# scaler -- Scaler used to enlarge/enhance low resolution modes.
# Supported are none,normal2x,normal3x,advmame2x,advmame3x,hq2x,hq3x,
# 2xsai,super2xsai,supereagle,advinterp2x,advinterp3x,
# tv2x,tv3x,rgb2x,rgb3x,scan2x,scan3x.

frameskip=0
aspect=true
scaler=normal3x

[cpu]
# core -- CPU Core used in emulation: normal,simple,dynamic,auto.
# auto switches from normal to dynamic if appropriate.
# cycles -- Amount of instructions dosbox tries to emulate each millisecond.
# Setting this value too high results in sound dropouts and lags.
# You can also let DOSBox guess the correct value by setting it to max.
# The default setting (auto) switches to max if appropriate.
# cycleup -- Amount of cycles to increase/decrease with keycombo.
# cycledown Setting it lower than 100 will be a percentage.

core=dynamic
cycles=max
cycleup=2000
cycledown=1000

[mixer]
# nosound -- Enable silent mode, sound is still emulated though.
# rate -- Mixer sample rate, setting any devices higher than this will
# probably lower their sound quality.
# blocksize -- Mixer block size, larger blocks might help sound stuttering
# but sound will also be more lagged.
# prebuffer -- How many milliseconds of data to keep on top of the blocksize.

nosound=false
rate=44100
blocksize=512
prebuffer=4096

[midi]
# mpu401 -- Type of MPU-401 to emulate: none, uart or intelligent.
# device -- Device that will receive the MIDI data from MPU-401.
# This can be default,alsa,oss,win32,coreaudio,none.
# config -- Special configuration options for the device. In Windows put
# the id of the device you want to use. See README for details.

mpu401=intelligent
device=default
config=

[sblaster]
# sbtype -- Type of sblaster to emulate:none,sb1,sb2,sbpro1,sbpro2,sb16.
# sbbase,irq,dma,hdma -- The IO/IRQ/DMA/High DMA address of the soundblaster.
# mixer -- Allow the soundblaster mixer to modify the dosbox mixer.
# oplmode -- Type of OPL emulation: auto,cms,opl2,dualopl2,opl3.
# On auto the mode is determined by sblaster type.
# All OPL modes are 'Adlib', except for CMS.
# oplrate -- Sample rate of OPL music emulation.

sbtype=sb16
sbbase=220
irq=5
dma=1
hdma=5
mixer=true
oplmode=auto
oplrate=44100

[gus]
# gus -- Enable the Gravis Ultrasound emulation.
# gusbase,irq1,irq2,dma1,dma2 -- The IO/IRQ/DMA addresses of the
# Gravis Ultrasound. (Same IRQ's and DMA's are OK.)
# gusrate -- Sample rate of Ultrasound emulation.
# ultradir -- Path to Ultrasound directory. In this directory
# there should be a MIDI directory that contains
# the patch files for GUS playback. Patch sets used
# with Timidity should work fine.

gus=true
gusrate=44100
gusbase=240
irq1=7
irq2=7
dma1=3
dma2=3
ultradir=C:\ULTRASND

[speaker]
# pcspeaker -- Enable PC-Speaker emulation.
# pcrate -- Sample rate of the PC-Speaker sound generation.
# tandy -- Enable Tandy Sound System emulation (off,on,auto).
# For auto Tandysound emulation is present only if machine is set to tandy.
# tandyrate -- Sample rate of the Tandy 3-Voice generation.
# disney -- Enable Disney Sound Source emulation.

pcspeaker=true
pcrate=44100
tandy=false
tandyrate=44100
disney=false

[joystick]
# joysticktype -- Type of joystick to emulate: auto (default), none,
# 2axis (supports two joysticks), 4axis,
# fcs (Thrustmaster), ch (CH Flightstick).
# none disables joystick emulation.
# auto chooses emulation depending on real joystick(s).
# timed -- enable timed intervals for axis. (false is old style behaviour).
# autofire -- continuously fires as long as you keep the button pressed.
# swap34 -- swap the 3rd and the 4th axis. can be useful for certain joysticks.
# buttonwrap -- enable button wrapping at the number of emulated buttons.

joysticktype=2axis
timed=true
autofire=false
swap34=false
buttonwrap=true

[serial]
# serial1-4 -- set type of device connected to com port.
# Can be disabled, dummy, modem, nullmodem, directserial.
# Additional parameters must be in the same line in the form of
# parameter:value. Parameter for all types is irq.
# for directserial: realport (required), rxdelay (optional).
# for modem: listenport (optional).
# for nullmodem: server, rxdelay, txdelay, telnet, usedtr,
# transparent, port, inhsocket (all optional).
# Example: serial1=modem listenport:5000

serial1=dummy
serial2=dummy
serial3=disabled
serial4=disabled

[dos]
# xms -- Enable XMS support.
# ems -- Enable EMS support.
# umb -- Enable UMB support.
# keyboardlayout -- Language code of the keyboard layout (or none).

xms=true
ems=true
umb=true
keyboardlayout=GR

[ipx]
# ipx -- Enable ipx over UDP/IP emulation.

ipx=false

[autoexec]
# Lines in this section will be run at startup.

@echo off
mount c d:\games\dos -freesize 500
mount d h:\ -t cdrom -ioctl
mount e g:\ -t cdrom -ioctl
mount f f:\ -t cdrom -ioctl
c:
cls

Reply 3 of 37, by versus

User metadata
Rank Newbie
Rank
Newbie

P.S. scratch that about new creative drivers...they were for a different x-fi. my mistake 😊

..., you probably should've chosen a more descriptive and neutral subject for your post, like "Ultrasound problems" or something similar. Besides, the subject is not correct, because your problem is not the general quality of GUS emulation in DOSBox.

alright alright! i changed the subject. i was refering to the sound quality i am getting most of the time when using ultrasound in dosbox, so the subject was not incorrect but you just read it that way.
chill out m8!

Reply 4 of 37, by Tabris:DarkPeace

User metadata
Rank Newbie
Rank
Newbie

You have BLOCKSIZE and PREBUFFER confused by the looks of it.

Setting PREBUFFER to 4096 buffers 4096 ms of audio, or about 4 seconds.

Try PREBUFFER=20 and BLOCKSIZE=1024

Also, try setting all audio RATE = 11025 , instead of 44100.

Most DOS games audio have sample rates of 11025 or 22050, not 44100 / 48000.

http://users.on.net/~darkpeace

Reply 5 of 37, by versus

User metadata
Rank Newbie
Rank
Newbie

thanks for the reply Tabris:DarkPeace,

as i wrote in my second post the blocksize and prebuffer settings are set to what i found working best for me when using soundblaster emulation. i played around with them for some time and i found that setting the blocksize as low as possible enables me to crank up the cycles of dosbox a lot more.
yeah, setting prebuffer to 4096 doesn't really make sense...it could as well be 5000 or 4000. i've just been entering all kinds of values to see if anything improves. i found it to improve soundquality a bit when setting it very high (or maybe i'm just imaginig things).
anyway, i already tried setting them back to their defaults (blocksize "2048" and prebuffer "10") but it didn't help my ultrasound problem.

i'm gonna try reducing the sample rate like you suggested...but i doubt that's what's causing the crackling/distorted sound.

edit: just tried reducing the sample rate and unfortunatelly like i suspected it didn't help 🙁

Reply 6 of 37, by alvaro84

User metadata
Rank Member
Rank
Member

Maybe 11khz is OK for games, so it's may be the way for versus to go... but if you want to watch (and listen) demos, you really should set a higher frequency for mixer and GUS, because those programs usually play MOD music with samples of various pitch and quality, and they definitely sound better in higher quality (44/48khz) mixing. It's also true for games that use Ultrasound for playing midi music (Doom or Blood, for example).

Shame on us, doomed from the start
May God have mercy on our dirty little hearts

Reply 7 of 37, by versus

User metadata
Rank Newbie
Rank
Newbie

well i'm not into demos but i still wouldn't wanna set the sample rate all the way down to 11025 even for games:)

especially because, like alvaro84 said, it would probably also affect the quality of the midi playback of the ultrasound...and that's the real benefit of this card after all (otherwise i could just use soundblaster emulation with general midi and have done with it).
the point is i just love the midi sound of this card. i think it very close to the sound of an mt-32 in character...very warm and pleasant:)

btw. i just tried doom in dosbox with ultrasound emulation and it worked perfectly...there wasn't even that noticable delay that i had in all the other games i tested!
so i guess it's very much dependend on how the game handles the ultrassound...

Reply 9 of 37, by dh4rm4

User metadata
Rank Oldbie
Rank
Oldbie

BTW the bug you mentioned with Normality is not unheard of an a real GUS. Basically it sounds like a bunch of instrument patches playing one after another, usually has a drum or two and hum sound in it somewhere. That's the GUS's onboard RAM being dumped as MIDI/sample playback occurs when "things go wrong" (ie the driver loses track of it's pointers or the game doesn't initialise the GUS correctly and plays junk data when expecting a specific sound). Welcome to the world of GUS support ; some games sounded and worked great while others did, well, what you describe. If you want to prevent some of these issues, you'll need to run SBOS in the Ultrasnd folder but that will require setting up EMM386 or QEMM. Another option is run Playmidi and play the ultra1024 midi file as that reinitialises the GUS too.

Good Luck!

Reply 10 of 37, by versus

User metadata
Rank Newbie
Rank
Newbie

@dh4rm4
thanks a lot! is it actually possible to load emm386 in dosbox? if so...how?
there's no config.sys being loaded...so where would i load the drivers? guess i'd also need to load himem.sys?

@wd
thanks, i'll give it a try

edit: wd, i tried all of your suggestions but unfortunatelly nothing helped.
maybe it's like dh4rm4 said and the game requires sbos/megaem to be loaded...? or maybe it's really just a bug with some games (either in the game itself or dosbox). i tried magic carpet 2 just now and it also worked fine...very curious.

Last edited by versus on 2007-06-16, 20:43. Edited 1 time in total.

Reply 14 of 37, by Jiri

User metadata
Rank Member
Rank
Member
versus wrote:

some games, many games in fact have horrible sound quality when i set them up
for ultrasound. the sound is crackling and popping constantly and also a little distorted.

It is probably this long known problem http://tinyurl.com/25d3rx
It is also present for example in:
Blue Ice
Bud Tucker
Discworld 2
D
Callahan Crosstime Saloon
Harvester
Gene Machine

EDIT: I tested Callahan Crosstime Saloon in 0.70 and sound is now fine. I will test other games too.

Last edited by Jiri on 2007-06-16, 22:20. Edited 1 time in total.

Reply 15 of 37, by versus

User metadata
Rank Newbie
Rank
Newbie

@Jiri
yeah, i thought so...guess it's a bug in dosbox? anyway i'm glad to see i'm not the only one with this problem. here's hoping for a fix someday.

btw. i managed to get megaem to run using qemm...however that produced more problems than it solved 😀

thanks for all your replies!

Reply 16 of 37, by dh4rm4

User metadata
Rank Oldbie
Rank
Oldbie

forget MEGAEM, that'll just add to the variables for now. Try the Ultrinit program instead.

C:\ULTRASND\ULTRINIT -x -y -z […]
Show full quote

C:\ULTRASND\ULTRINIT -x -y -z

where x, y, z can be :

o : leave output enabled after it resets the card

m : leave microphone input enabled

l : leave line level input enabled

d : disable the joystick port

e : enable the joystick port

Defaults:

I/O : 220 (First I/O digital)

IRQ : 5

DMA : 1 (8 Bit DMA sound channel)

Scroll up a little higher and you'll see that it needs ultrinit.sys loaded in the config.sys too

device=c:\ultrasnd\ultrinit.sys ultrasnd=240,3,3,7,7

^^^^^^^^^^^^^^^^^^^
{modified to suit your settings}

from http://www.wcnews.com/webmirrors/tech/hardwar … /sound/gus.html

Try adding these and see how you go.

Reply 17 of 37, by versus

User metadata
Rank Newbie
Rank
Newbie

hmmm...i don't seem to have the ultrinit.sys in my ultrasnd directory. but it's a fresh install of the drivers. strange...

this is what the ultrasound tries to put in the autoexec:

SET ULTRASND=240,3,3,7,7 SET ULTRADIR=C:\ULTRASND SET BLASTER=A240 I7 D1 T1 C:\ULTRASND\ULTRINIT.EXE -dj […]
Show full quote

SET ULTRASND=240,3,3,7,7
SET ULTRADIR=C:\ULTRASND
SET BLASTER=A240 I7 D1 T1
C:\ULTRASND\ULTRINIT.EXE -dj

guess it can't hurt to put that in the autoexec part of dosbox. except for the "set blaster" part of course...
however it doesn't fix any of the problems with normality (still crackling, no music, etc.)

i tried to google for the "ultrinit.sys" but there's really not much...

Reply 19 of 37, by versus

User metadata
Rank Newbie
Rank
Newbie

well, what do you know. i DO get something like music now in normality...not entirely sure if it sounds the way it should though. it sounds 100% better with general midi.
almost seems as if there's instruments missing.

sound still crackling though

p.s. kind of strange that the ultrasound driver puts -dj in there when it should be -d...