Arena and Gravis Ultrasound in DOSBox

A place to discuss and ask questions about the first part of The Elder Scrolls series
Post Reply
User avatar
MrFlibble
Journeyman
Journeyman
Posts: 213
Joined: Sun Sep 15, 2013 4:38 pm
UESPoints: 1

Arena and Gravis Ultrasound in DOSBox

Post by MrFlibble »

A while ago I realised that using Gravis Ultrasound emulation in DOSBox can produce superior sound quality, and since Arena supports GUS for sound and music, I set off to try it out.

The game is known to be very demanding of base memory, and a user in another forum reported that he had to drop GUS for SB because of frequent Insufficient Base Memory crashes.

I tried out several DOSBox builds and setups, and I believe to have achieved more or less stable performance with GUS using DOSBox ECE. I have a build from 29 January this year (r4426), and have not tested the game with newer builds, but I'd like to think they would work fine too.

I downloaded GUS patches/software from here and installed them in DOSBox with this guide. The Arena version I'm using is the freeware 1.06 floppy release from Bethesda.

The game ins installed into C:\ARENA directory on the mounted C: drive. I created the following batch file to start it from the root:

Code: Select all

config -set "cpu cycles=max 100%% limit 21000"
config -set cpu core=simple
config -set dos ems=emm386
LH C:\ARENA\ULTRAMID.EXE
cd ARENA
A -sa:240 -si:5 -sd:3 -ma:240 -mq:5 -md:3 -sgf1digi.adv -mgf1midi.adv
cd..
config -set dos ems=true
config -set cpu core=auto
config -set "cpu cycles=auto 7800 100%% limit 23880"
cls
A few notes on these settings:
  • cpu cycles=max 100%% limit 21000 will cap cycles at 21000 -- this seems like a good value to play on max detail settings, not too fast and not too slow
  • I tried out the possible CPU core values, and simple gives better performance than normal, while I did not like dynamic because it produced clicking noises with sound playback sometimes
  • I have no proof that emm386 emulation yields an improvement, but this seemed like a good choice and it appears to work fine. Note that he official DOSBox 0.74-3 release does not support this option
I also use a GLSL shader that imitates a CRT screen called crt-lottes-fast.subtle+gain.glsl which I got from here.
User avatar
MrFlibble
Journeyman
Journeyman
Posts: 213
Joined: Sun Sep 15, 2013 4:38 pm
UESPoints: 1

Re: Arena and Gravis Ultrasound in DOSBox

Post by MrFlibble »

I played around with various settings and concluded that dynamic core is probably a better choice.

I've also tested Arena with S3 VBE/Core 2.0 and S3 SpeedUp. Initially I was afraid that loading these TSRs would result in immediate Insufficient Base Memory errors, but no, seems to work fine overall.

S3 VBE/Core 2.0 and S3 SpeedUp are confirmed to speed up the frame rate (a bit) in VGA and VESA modes in DOSBox. You can get these utilities here.

Here's the contents of my current ARENA.BAT, located in the root directory of the emulated C: drive in DOSBox (I'm using DOSBox ECE):

Code: Select all

@echo off
config -set cpu "cycles=max 100%% limit 23880"
config -set cpu core=dynamic
config -set cpu cputype=386
config -set dos ems=emm386
LH C:\ARENA\ULTRAMID.EXE
C:\S3VBE20\S3VBE20 VBE20+ LINEAR+
C:\S3SPDUP\S3SPDUP VGA+
cd ARENA
A -sa:240 -si:5 -sd:3 -ma:240 -mq:5 -md:3 -sgf1digi.adv -mgf1midi.adv
cd..
C:\S3SPDUP\S3SPDUP /UNLOAD
C:\S3VBE20\S3VBE20 /UNLOAD
REM config -set dos ems=true
REM config -set cpu core=auto
REM config -set cpu cputype=auto
REM config -set cpu "cycles=auto 6075 100%% limit 33448"
cls
@echo on
The 23880 cycles part is DOSBox-X's suggested value for a 486DX2 66 MHz.
User avatar
MrFlibble
Journeyman
Journeyman
Posts: 213
Joined: Sun Sep 15, 2013 4:38 pm
UESPoints: 1

Re: Arena and Gravis Ultrasound in DOSBox

Post by MrFlibble »

I was rather unhappy with the speed results that I got with the above method at 23880 cycles, so I decided to crank them up but use the built-in delay option, like this (this is the contents of my ARENA.BAT file):

Code: Select all

config -set cpu cycles=max 98%% limit 47810
config -set cpu core=dynamic
config -set dos ems=emm386
LH C:\ARENA\ULTRAMID.EXE
cd ARENA
A -sa:240 -si:5 -sd:3 -ma:240 -mq:5 -md:3 -sgf1digi.adv -mgf1midi.adv -delay:2
cd..
config -set dos ems=true
config -set cpu core=auto
config -set cpu "cycles=auto 6075 98%% limit 33445"
cls
According to DOSBox-X, 47810 cycles roughly equals a 486 X5 133 MHz. That should be a pretty powerful CPU, but setting delay to 4 (as the Arena readme suggests for a Pentium) makes everything too slow. At a delay of 2, the player's movement speed in cities at full detail level is pretty good, while the citizens also move around at reasonable speeds, and the animation of static NPCs isn't too fast either.
Post Reply