The Elder Scrolls: Arena / DosBox
-
I'm just curious if anyone as tried The Elder Scrolls: Arena on the DosBox emulator included with RetroPie? I'm looking to establish a theoretical performance baseline to manage my expectations, lol. I have a Pi 2 kicking around and I'm looking to experiment with DOS emulation, Arena in particular. Has anyone tested this game? Any recommended performance tweaks to enhance the experience? I've already overclocked my Pi 2 to turbo, so I'm looking more for software tweaks. I also realize that dynamic recompilation will almost definitely make a huge difference. Any tips on enabling this feature on the Pi so I can see a meaningful performance improvement? I did tinker with dynamic mode in the past on the Pi 2 briefly but did not notice a difference so I turned it off. Thanks.
-
@drake999 I installed TES: Arena in Dosbox on RetroPie 3.6 overclocked a long time ago. I didn't play it for very long but it did work! I was just trying it out to see if it worked. I don't think it has to be overclocked to play it. I also tried Daggerfall but I can't remember if I got that one to work or not.
I believe you can download the full Dos versions of both of those games for free from the official Elder Scrolls' website.
-
Thanks for the reply. I also got TES Arena successfully working over the weekend. I overclocked my Pi2 to the safe speed or 1 GHZ for the test with the latest optimized build of DosBox provided by the retropie setup scripts. I tried pushing the Pi2 further using unsafe overclocks, and there was a slight performance improvement, however the game would crash after about 5 mins. For the most part it is quite playable with the 1 GHz overclock, but certain dungeons and weather effects slow it right down. I'd say the speed I achieved is roughly equivalent to a 60 MHz 486 if I were to guess since back in the day I was playing this on a 90 MHz 486 DX which going from my now faded memory of that time, was slightly faster. I also had to turn detail right down to get playable speeds. As far as I can tell the detail setting only affects the draw distance. Considering the speed results from Arena, my guess is Daggerfall would be unplayable since it has higher system requirements, with the possible noted exception that there may be performance tweaks I am unaware of that may increase the speed of both Arena and Daggerfall. If anyone knows of such tweaks if they exist feel free to let me know.
-
@drake999 I think I read somewhere that DOSBox runs like a 386DX @ 20-25Mhz
Since you overclocked your RPi, you could try messing with your CPU cycles and frame skipping:
CTRL+F11 decreases CPU cycles, CTRL+F12 increases CPU cycles
CTRL+F7 decreases frameskip, CTRL+F8 increases frameskip -
@backstander Yeah I think I read the same post actually, but with this game I think it's looking like its in the 486 zone somewhere (just a guess / approximation though). I noticed that the DosBox config file is pre-configured for dynamic recompilation and maximum CPU cycles already so I'm thinking manually adjusting cycles will be of little benefit in this case. One thing I did notice is there seems to be some kind of screen filter applied to the image which basically blends the colors of the pixels into neighboring pixels (to make the image appear smoother I guess). I think this is some form of anti-aliasing but not sure. I would like to disable this feature as it may have a performance impact (Plus I prefer the sharper image). Any idea where I can turn this off in Dosbox or RetroPie. Other emulators are not affected by this so I'm guessing it is DosBox specific.
-
I'm not at my RetroPie but look for dosbox.conf and see what it says after
scaler=
Here's the values you can use:
https://www.dosbox.com/wiki/Scaler -
@backstander Ok thanks, I do that later tonight when I can access my Pi. I also found reference to something called "renderer" which is of interest as well.
-
I found the dosbox config files:
~/.dosbox/dosbox-SVN.conf
and/opt/retropie/configs/pc/dosbox-SVN.conf
I looked in both files on mine and they had the same value ofscaler=none
-
@drake999 said:
I'd say the speed I achieved is roughly equivalent to a 60 MHz 486
This is my finding too. It depends on the game, but the Doom benchmark performs roughly like a 66MHz 486, about 21-22fps on my Pi 3: https://www.complang.tuwien.ac.at/misc/doombench.html
From memory TES Arena was a pretty system-intensive game. I suspect even a Pi 3 can't run this particularly smoothly.
I think the filtering you see is SDL scaling the image up from the lower DOSBox resolution to your screen resolution. That's done in hardware so there's no performance penalty for it.
You can make the image sharper without ruining the quality too much like so:
windowresolution=1024x768 output=overlay aspect=true
The larger you make the resolution, the crisper it looks, but the worse performance gets. Without a large resolution, aspect ratio correction is done the crap way (by doubling every 4th pixel) which looks awful.
In regards to speed config, I let DOSBox pick the dynamic/normal core, but I always use a fixed cycles count and a larger non-percentage-based step for speed up and down.
core=auto cputype=auto cycles=20000 cycleup=1000 cycledown=1000
I bind these to Select+L2 and Select+R2: https://github.com/superjamie/lazyweb/wiki/RetroPie-DOSBox-Notes
Oh, and those two files are the same file.
~/.dosbox/
is a symlink to/opt/retropie/configs/pc/
-
@suprjami Thanks for the tips, i'll look into it in greater detail when I get the opportunity. I just ordered another Pi3 so I can do a direct comparison between the Pi2 and Pi3's performance in this game. I've been planning to get a second Pi3 as a testbed anyway. I have it in a playable state on the Pi2 but as I may have mentioned earlier, certain weather effects and the darkness effect in dungeons really contribute some serious slowdown. I find the game has a 30 FPS framerate or above when venturing through town on a sunny day. Even in the sunny day town setting a large amount of sprites or geometry on screen will slow it down again, but not as severe as the fog effect used in the game.
-
I had a what the heck moment and decided to try Rpix86 with this game last night. I was blown away by the performance improvement this emulator has over DosBox. I estimate I observed a 2-3 times speed increase over DosBox on the same Pi, bringing it into Pentium territory, which I totally did not expect because all material such as documentation and forum discussion suggest it operates at the speed of a "~20 MHz 486". The emulator is not without its problems, the cursor moved really choppily in the menu's, almost as if the emulator wasn't receiving input consistently while in menu's. Also the music did not work, only the sound effects, which is a big problem for me because I love the chip tunes in this game. Finally the game actually crashed on me once during my brief play session (taking me back to the days when I was running the same game on actual hardware, lol) I chalk this up to the likely conclusion that the Rpix86 emulator is not nearly as "complete" as DosBox. This still showed me what kind of performance with DOS emulation is actually possible on a RISC architecture like ARM and I sincerely hope this emulator is developed further (or a more optimized DosBox derivative is released). I noticed there hasn't been a new release of Rpix86 in a year or so.
Does anyone have any insight on how to possibly resolve the problems above? I'm most concerned about the music not playing, the other issues are secondary (but would still be nice to fix).
Contributions to the project are always appreciated, so if you would like to support us with a donation you can do so here.
Hosting provided by Mythic-Beasts. See the Hosting Information page for more information.