I Tried my copy of Ultima Underworld in DosBox and It works fine. Here is a list of my config file for dosbox:
The cycles on my config file are set to 25000 you should set them between 10000 and 15000 to get the game working right. I ran UINSTALL.EXE in the game folder and set the IRQ to 7, DMA to 1, and ADDRESS to 220. Please Note: Those ared the same setting in the config file below. Both the sound/music and speech are using Sound Blaster Pro (on the UINSTALL.EXE file). That was the best setting I tried. I hope this works for you.
[sdl]
# fullscreen -- Start dosbox directly in fullscreen.
# fulldouble -- Use double buffering in fullscreen.
# fullfixed -- Don't resize the screen when in fullscreen.
# fullwidth/height -- What resolution to use for fullscreen, use together with fullfixed.
# output -- What to use for output: surface,overlay,opengl,openglnb.
# hwscale -- Extra scaling of window if the output device supports hardware scaling.
# 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.
fullscreen=true
fulldouble=false
fullfixed=true
fullwidth=640
fullheight=480
output=surface
hwscale=1.00
autolock=true
sensitivity=200
waitonerror=true
[dosbox]
# language -- Select another language file.
# memsize -- Amount of memory dosbox has in megabytes.
# machine -- The type of machine tries to emulate:auto,hercules,cga,tandy,vga.
# Try a specific type if your game has problems with auto.
language=
machine=auto
memsize=64
[render]
# frameskip -- How many frames dosbox skips before drawing one.
# snapdir -- Directory where screenshots get saved.
# aspect -- Do aspect correction.
# scaler -- Scaler used to enlarge/enhance low resolution modes.
# Supported are none,normal2x,advmame2x
frameskip=0
snapdir=snaps
aspect=false
scaler=normal2x
[cpu]
# core -- CPU Core used in emulation: normal,full,dynamic.
# cycles -- Amount of instructions dosbox tries to emulate each millisecond.
# Setting this higher than your machine can handle is bad!
# cycleup -- Amount of cycles to increase/decrease with keycombo.
# cycledown Setting it lower than 100 will be a percentage.
core=normal
cycles=25000
cycleup=1500
cycledown=1500
[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.
# wavedir -- Directory where saved sound output goes when you use the
# sound record key-combination, check README file.
nosound=false
rate=22050
blocksize=2048
wavedir=waves
[midi]
# mpu401 -- Enable MPU-401 Emulation.
# 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.
mpu401=true
device=default
config=
[sblaster]
# sblaster -- Enable the soundblaster emulation.
# base,irq,dma -- The IO/IRQ/DMA address of the soundblaster.
# sbrate -- Sample rate of soundblaster emulation.
# adlib -- Enable the adlib emulation.
# adlibrate -- Sample rate of adlib emulation.
# cms -- Enable the Creative Music System/Gameblaster emulation.
# Enabling both the adlib and cms might give conflicts!
# cmsrate -- Sample rate of cms emulation.
sblaster=true
base=220
irq=7
dma=1
sbrate=22050
adlib=true
adlibrate=22050
adlibmode=adlib
cms=false
cmsrate=22050
[gus]
# gus -- Enable the Gravis Ultrasound emulation.
# base,irq1,irq2,dma1,dma2 -- The IO/IRQ/DMA addresses of the
# Gravis Ultrasound. (Same IRQ's and DMA's are OK.)
# rate -- 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
rate=22050
base=240
irq1=5
irq2=5
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 3-Voice emulation.
# tandyrate -- Sample rate of the Tandy 3-Voice generation.
# disney -- Enable Disney Sound Source emulation.
pcspeaker=true
pcrate=22050
tandy=true
tandyrate=22050
disney=true
[bios]
# Nothing to setup yet!
[dos]
# xms -- Enable XMS support.
# ems -- Enable EMS support.
xms=true
ems=true
[modem]
# modem -- Enable virtual modem emulation.
# comport -- COM Port modem is connected to.
# listenport -- TCP Port the momdem listens on for incoming connections.
modem=true
comport=2
listenport=23
[autoexec]
# Lines in this section will be run at startup.