The Elder Scrolls Adventures: Redguard

The Elder Scrolls Adventures: Redguard

Not enough ratings
Redguard, 3DFX, and Dosbox-X
By gblues
Do you want to play Redguard with 3d acceleration on a modern PC? Of course you do! I've done the legwork and testing to get Redguard working using Dosbox-X, a fork of Dosbox that is still getting active development.
   
Award
Favorite
Favorited
Unfavorite
Things you will need
The first thing we need to do is download the tools we need to make everything work. Please do not install anything yet! (You'll see why when we get there)

  • Dosbox-X[github.com], download the 32-bit version (will be named "dosbox-x-vsbuild-win32-xxxxxxxxxxxxxx.zip". You might need to click "Show all 16 assets" to see the link)
  • nglide[www.zeus-software.com] (note, do not get any of the ancient dosbox versions mentioned in the FAQ)
  • the 3dfx redguard files[drive.google.com] (link sourced from the older 3dfx Steam guide
  • Locate the directory containing REDGUARD.EXE. For a standard Steam installation on the C: drive, this is usually "C:\Steam\steamapps\common\The Elder Scrolls Adventures Redguard\Redguard". When the guide refers to the "Redguard directory", this is the path we're referring to.
Installation
This section covers putting files in the right spot.

Dosbox

Double-check that you have the 32-bit version of Dosbox-X downloaded. Then, unzip the archive to C:\DOSBOX-X. You are welcome to unzip it wherever you want, but the instructions in this guide will be written for the above path, so if you put Dosbox-X somewhere else, adjust instructions accordingly.

nglide

This one is simple--just run the installer.

Redguard 3dfx files

  1. Download the 3DFX_Files.zip from the link provided (the download link is the download icon in the top-right corner of the screen next to the "Share" button)
  2. Unzip the files to the Redguard directory.
  3. If you did everything correctly, there should be both a "3dart" and "fxart" directory in the Redguard directory. Delete the "3dart" directory.
Configuration
Now we'll look at configuring Dosbox-X and nglide.

Dosbox-X

Dosbox-X provides a neat GUI tool for editing and generating a configuration tool. Follow the steps below to generate the redguard config:

  1. Launch Dosbox-X
  2. Click Main > Configuration Tool to launch the config tool
  3. Click the Main button, set memsize to 63 and click OK
  4. Click the Voodoo button and set the following:
    • glide = checked
    • lfb = "full"
    • splash = unchecked
    then click OK.
  5. Click the DOS button and set hard drive data rate limit to 150000000, then click OK
  6. Click the Joystick button and set timed = unchecked, then click OK
  7. Click the AUTOEXEC.BAT button and add the following:
    echo off mount C: "C:/Steam/steamapps/common/The Elder Scrolls Adventures Redguard" -freesize 1024 imgmount E: "C:/Steam/steamapps/common/The Elder Scrolls Adventures Redguard/Redguard/REDGUARD.ins" -t iso C: cd redguard rgfx exit
    Note that for the "mount" command, the path is the parent of the Redguard folder, not the Redguard folder itself. Click OK when you're done.
  8. Click the "Save..." button to open the save dialog
  9. Save the file as "rg.conf" (don't click "Save and restart"), then click close.

nGlide

The nGlide installer puts an "nGlide Configurator" tool in your Start menu. Launch it and you get some very basic configuration settings.

You can set this how you want. My suggestion:

  • use DirectX video backend, especially if you have an HDR display
  • Set Aspect Ratio to "Aspect correction"
  • Set refresh rate to 60hz
  • set 3dfx logo splash screen to Off

The moment of truth
Testing it out

Time to test it out!

  • Launch Dosbox-X
  • Click Main > Restart Dosbox-X with config file...
  • Select rg.conf and click OK

If everything goes well, you'll be *ahem* treated to the intro movie for Redguard in all its pixellated, compression-artifact-y glory. The movie will transition to a combat scene against two pirates (use arrow keys to move, left CTRL to swing your sword), after which you will get a proper cutscene and then dumped out into the world.

If everything worked, use the steps below to create a shortcut:

  1. Go to the Dosbox-X folder
  2. use the right mouse button to click and drag the dosbox-x.exe to your desktop; choose "Create shortcut here"
  3. right-click the shortcut you created and choose Properties
  4. on the Shortcut tab, append ' --conf "C:\Dosbox-X\rg.conf"' to the end of the command. Note that there needs to be a space between "dosbox-x.exe" and "--conf"!
  5. Click OK to save your changes
  6. Rename the shortcut to your liking (e.g. "Redguard")
Troubleshooting
I expect most problems encountered are going to be due to inattentiveness to the instructions. Here's the problems I worked through, and how I fixed them.

Fatal error: unable to load DLL

This error occurs when Dosbox is in Glide pass-through mode and there's no glide wrapper for the pass-through to actually load.

Within the context of this guide, it means you installed the 64-bit version of Dosbox.

The issue is that nGlide only provides a 32-bit wrapper, which means the applications that want to use it also need to be 32-bit. For native Windows Glide games, this isn't an issue because 64-bit windows didn't exist in 1998. But for DOS games, the "native Windows app" is Dosbox-X.

There are other glide wrappers that support 64-bit, such as dgVoodoo. I had a lot of problems getting dgVoodoo to work properly, which is why I didn't include it in this guide.

Redguard Development Console 2.0: failed to init digital audio hardware (112)

TL;DR: you didn't set "hard drive data rate limit = 150000000" in the dosbox config

This error was maddening because it was very inconsistent. But through trial and error and some inference, I figured out the problem.

My first big clue was in looking around the internet for other people trying to run Redguard via Dosbox+Glide wrapper. In particular, the release notes for one of the first dosbox forks to add the glide wrapper specifically mentioned that Redguard worked "if you set cycles <20000 at startup."

I actually tried this, and the game was functional, although it took drastically longer to load. This got me thinking about timing issues.

You see, my PC is quite literally top-of-the-line (at least as of this writing) -- Ryzen 9800X3D with a very fast SSD. Which means that Redguard's I/O is completing at orders of magnitude faster than any PC would have been capable of in its time. So, what I did was to look up the bandwidth of an IDE controller (about 133 MB/sec) and use that as a baseline for limiting the emulated HDD transfer speed. Using 133000000 as the limit worked, but felt a little slow.

I settled on 150000000 as a nice round number that provides a reasonable loading speed without breaking the game. You are welcome to experiment with higher values. But based on the evidence, I feel comfortable diagnosing this as a bug in the game that causes the soundcard init to fail if the disk I/O completes too quickly.
Credits
Thank you to SavageCabbage05 for creating the original 3dfx guide, which gave me a place to start from. Not to mention the link to the 3dfx redguard files!