No Music In Dosbox?


gnarface

Still Fresh
Joined
Feb 23, 2011
Messages
14
Location
USA
Greetings people,

I have managed to get the CD-ROM version of Ultima VI running in dosbox on my WIZ but despite trying dozens of iterations of the relevant config options there is still no music. Is this expected or am I doing something wrong?

I have set my dosbox.conf to execute the ULTIMA6.EXE directly on the mounted CD-ROM. Other than no music it seems to run properly. I read a hint online that some games require INSTALL.EXE to be run first for proper sound functionality (which gave me working music when I tried it on my linux install of dosbox) but when I try to set the dosbox.conf on the WIZ to run INSTALL.EXE all I get is a black screen with a mouse cursor.

Has anyone else had this problem or a similar one with another game? Any advice is appreciated.

Firmware 1.2.6
 
Dosbox emulates a consistent hardware if you desire so. If the installer crashes on Wiz (such things happen), you can setup on PC then copy the whole folder to Wiz (with the created config files). Just keep in mind that you eighter want soundblaster opl sound for music or general midi (in that case you have to have timidiy installed on wiz too)
 
Ah! That is helpful, I will try that, thank you. When you say "created config files" do you mean also the dosbox.conf file that my linux copy of dosbox creates, or just the DOS stuff that INSTALL.EXE creates - inside the actual CD-ROM program directory it appears in this case?

Also, just out of curiosity, do you know if timidity is even an option on the WIZ currently? I don't think I need it in this case because on my linux box I enabled both midi and sb16 support (was tempted to enable GUS too, but I didn't get around to it) and it didn't seem to make any difference except that the stdout stopped logging failures to connect to the midi device, but I can imagine that music quality in some games may benefit more from one than the other.
 
*double post cleanup*

Well actually i meant the latter one: a config file the installer creates for Ultima to track what options you selected. You shouldn't copy the dosbox.conf over, especially not the keymapping file. Instead try to match your soundconfig with the one on PC. You selected midi + sb, common one. I just can't remember how good that works on Wiz side. Put the timidy folder in your SD root and pray i'd say :)

Forget GUS btw.. even if it would work the emulation of the hardware probably eats much too much resources.
 
Ok, thanks, that's what I figured.

Well I got a very interesting result... now running ULTIMA6.EXE on the WIZ from the installed directory that I copied from my PC gives me the same plain black screen (but with a mouse cursor that responds to the touchpad) that I previously got when trying to run INSTALL.EXE from a fresh copy of the CD-ROM contents. I noticed this version of dosbox is a patched copy of 0.72 and my linux box is running the latest version: 0.74. I'll keep messing with it on the chance that differences between the dosbox.conf files are the key, but I'm starting to suspect the problem is related to the version differences in dosbox or something the WIZ patch broke/failed to work around.

This sure would be easier if the WIZ port of dosbox could be coerced into doing some of the things the linux copy can do; namely generate autogenerate a working default config file and log relevant errors during runtime. Do you happen to know a trick to get it to do either of those things?
 
UPDATE! It works now! Sound and framerate is choppy as hell, but playing.

Here's what happend:

I was copying Space Quest (a game that had no installer, or even EXE files... just run 'SQ.COM' from the directory and it starts) over to test if *any* music worked in dosbox on my WIZ. In the process of trying to copy the Ultima VI dosbox.conf I had created over and edit it for the path to Space Quest's files I started getting 'filesystem is read only' errors, even though it is clearly *not* a read only filesystem.

So (because I'm doing this from Linux) I of course unmounted and ran "fsck.msdos -r -v /dev/sdb" and sure enough, fsck found errors! So I repaired them and then went back in to continue editing my dosbox.conf file and you know what? It was suddenly EMPTY! And so was the Ultima VI original one!!! Bad news, but luckily they were easy to reconstruct from memory.

Space Quest started, with music, working great. Crossing my fingers I started Ultima VI and it also worked (if slow).

So, in summary, your advice of running INSTALL.EXE on my desktop and copying the Ultima VI game files over after the fact FIXED my problem, so THANK YOU VERY MUCH. I'm guessing that sometime during the first test I misdiagnosed it as still being broken due to what was actually a disk corruption I probably caused by shutting down the WIZ prematurely while the Ultima VI INSTALL.EXE was busy crashing or something like that. My apologies.

Thanks again. Here are the configs I'm using in case it helps anyone. I'd appreciate any advice on performance optimizations as well, and a somewhat less awkward mapper.txt file would be lovely too.

NOTE: I put my emulators in the main NAND storage and my roms on my SD card so that I can swap out SD cards if I fill them up without having to keep multiple copies of the emulators around too. It makes configuring things a bit more complicated but seems to work well with any emulator that doesn't just assume you put all the roms directly in its own directory. So for example my dosbox install is in /mnt/nand/game/dosbox and my Ultima VI directory is in /mnt/sd/emulators/roms/dos/ultima_vi.

/mnt/nand/game/dosbox-ultima_vi.ini:
Code:
[info]
name="Ultima VI (DOSBox)"
path="/dosbox/Ultima_VI.gpe"
icon="/dosbox/dosbox.png"

/mnt/nand/game/dosbox/Ultima_VI.gpe:
Code:
#!/bin/sh

./pollux_set 'lcd_timings=397,1,37,277,341,0,17,337;dpc_clkdiv0=9;cpuclk=700;ram_timings=2,9,4,1,1,1,1'
DIRROOT=/mnt/nand/game/dosbox
DIRGAME=${DIRROOT}/ultima_vi
${DIRROOT}/dosbox -conf ${DIRGAME}/dosbox.conf
cd /usr/gp2x
./gp2xmenu

/mnt/nand/game/dosbox/ultima_vi/dosbox.conf:
Code:
[sdl]
# fulldouble -- Use double buffering.
# output -- Can only be Surface for the gp2x.
# sensitivity -- Mouse sensitivity.
# mapperfile -- File used to load/save the key/event mappings from.

fulldouble=false
output=surface
sensitivity=100
mapperfile=./ultima_vi/mapper.txt

fontcolor_front=3
fontcolor_back=15
fontcolor_frontsel=1
fontcolor_backsel=5

[dosbox]
# machine -- The type of machine tries to emulate:hercules,cga,tandy,pcjr,vga.
# memsize -- Amount of memory dosbox has in megabytes.

machine=vga
memsize=4

[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.
#           If forced is appended (like scaler=hq2x forced), the scaler will be used
#           even if the result might not be desired.

frameskip=0
aspect=false
scaler=none

[cpu]
# core -- CPU Core used in emulation: simple,normal,full.
# 			Try simple first as this is the fastest, then normal and last full
# cycles -- Amount of instructions dosbox tries to emulate each millisecond.
# 			Too low and the game will crash randomly / not start up
#			Too high and expect slowness
#			Just right and you will get a nice speed boost
#			600-1200 ish seems to be about the sweet spot for the things I've tested. (older games)
# cycleup   -- Amount of cycles to increase/decrease with keycombo.
# cycledown    Setting it lower than 100 will be a percentage.

core=dynamic
cycles=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=22050
blocksize=512
prebuffer=10

[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=sb1
sbbase=220
irq=7
dma=1
hdma=5
mixer=true
oplmode=auto
oplrate=22050

[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=false
gusrate=11025
gusbase=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 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=22050
tandy=auto
tandyrate=11025
disney=false

[joystick]
# joysticktype -- needs to be none, or else expect no input.

joysticktype=none

[dos]
# xms -- Enable XMS support.
# ems -- Enable EMS support.
# umb -- Enable UMB support (false,true,max).

xms=true
ems=true
umb=true

[autoexec]
# lines of code to boot the dos program go here
mount C "/mnt/sd/emulators/roms/dos/ultima_vi"
c:
ULTIMA6.EXE
exit

/mnt/nand/game/dosbox/ultima_vi/mapper.txt:
Code:
hand_g2virtkey "key 266"
hand_g2debug "key 267"
key_lshift "key 273"
key_lctrl "key 272"
key_up "key 256"
key_left "key 258"
key_down "key 260"
key_right "key 262"
key_enter "key 269"
key_space "key 265"
key_esc "key 264"
key_o "key 271"
key_a "key 268"
key_g "key 270"

# defaults commented out below where they collide with above

hand_shutdown "key 290 mod1" 
hand_capmouse "key 291 mod1" 
hand_fullscr "key 13 mod2" 
hand_pause "key 19 mod2" 
hand_mapper "key 282 mod1" 
hand_decfskip "key 288 mod1" 
hand_incfskip "key 289 mod1" 
hand_cycledown "key 292 mod1" 
hand_cycleup "key 293 mod1" 
hand_recwave "key 287 mod1" 
hand_caprawmidi "key 289 mod1 mod2" 
hand_caprawopl "key 288 mod1 mod2" 
hand_swapimg "key 285 mod1" 
#key_esc "key 27" 
key_f1 "key 282" 
key_f2 "key 283" 
key_f3 "key 284" 
key_f4 "key 285" 
key_f5 "key 286" 
key_f6 "key 287" 
key_f7 "key 288" 
key_f8 "key 289" 
key_f9 "key 290" 
key_f10 "key 291" 
key_f11 "key 292" 
key_f12 "key 293" 
key_grave "key 96" 
key_1 "key 49" 
key_2 "key 50" 
key_3 "key 51" 
key_4 "key 52" 
key_5 "key 53" 
key_6 "key 54" 
key_7 "key 55" 
key_8 "key 56" 
key_9 "key 57" 
key_0 "key 48" 
key_minus "key 45" 
key_equals "key 61" 
key_bspace "key 8" 
key_tab "key 9" 
key_q "key 113" 
key_w "key 119" 
key_e "key 101" 
key_r "key 114" 
key_t "key 116" 
key_y "key 121" 
key_u "key 117" 
key_i "key 105" 
#key_o "key 111" 
key_p "key 112" 
key_lbracket "key 91" 
key_rbracket "key 93" 
#key_enter "key 13" 
key_capslock "key 301" 
#key_a "key 97" 
key_s "key 115" 
key_d "key 100" 
key_f "key 102" 
#key_g "key 103" 
key_h "key 104" 
key_j "key 106" 
key_k "key 107" 
key_l "key 108" 
key_semicolon "key 59" 
key_quote "key 39" 
key_backslash "key 92" 
#key_lshift "key 304" 
key_lessthan "key 60" 
key_z "key 122" 
key_x "key 120" 
key_c "key 99" 
key_v "key 118" 
key_b "key 98" 
key_n "key 110" 
key_m "key 109" 
key_comma "key 44" 
key_period "key 46" 
key_slash "key 47" 
key_rshift "key 303" 
#key_lctrl "key 306" 
key_lalt "key 308" 
#key_space "key 32" 
key_ralt "key 307" 
key_rctrl "key 305" 
key_printscreen "key 316" 
key_scrolllock "key 302" 
key_pause "key 19" 
key_insert "key 277" 
key_home "key 278" 
key_pageup "key 280" 
key_delete "key 127" 
key_end "key 279" 
key_pagedown "key 281" 
#key_up "key 273" 
#key_left "key 276" 
#key_down "key 274" 
#key_right "key 275" 
key_numlock "key 300" 
key_kp_divide "key 267" 
key_kp_multiply "key 268" 
key_kp_minus "key 269" 
key_kp_7 "key 263" 
key_kp_8 "key 264" 
key_kp_9 "key 265" 
key_kp_plus "key 270" 
key_kp_4 "key 260" 
key_kp_5 "key 261" 
key_kp_6 "key 262" 
key_kp_1 "key 257" 
key_kp_2 "key 258" 
key_kp_3 "key 259" 
key_kp_enter "key 271" 
key_kp_0 "key 256" 
key_kp_period "key 266" 
mod_1 "key 306" "key 305" 
mod_2 "key 308" "key 307" 
mod_3
 
Back
Top