Putting the 'role' back in role-playing games since 2002.
Donate to Codex
Good Old Games
  • Welcome to rpgcodex.net, a site dedicated to discussing computer based role-playing games in a free and open fashion. We're less strict than other forums, but please refer to the rules.

    "This message is awaiting moderator approval": All new users must pass through our moderation queue before they will be able to post normally. Until your account has "passed" your posts will only be visible to yourself (and moderators) until they are approved. Give us a week to get around to approving / deleting / ignoring your mundane opinion on crap before hassling us about it. Once you have passed the moderation period (think of it as a test), you will be able to post normally, just like all the other retards.

DOSBox Staging — a modern continuation of DOSBox

Rincewind

Magister
Patron
Joined
Feb 8, 2020
Messages
2,745
Location
down under
Codex+ Now Streaming!
Hey guys, dungeoneering in those classic DOS games has just become a little bit more comfortable!

As I haven't seen DOSBox Staging mentioned too frequently on the Codex, I thought I'd take the opportunity to raise awareness on this modern continuation of DOSBox, given that we've unleashed a major milestone release just a few hours ago!

https://dosbox-staging.github.io/

What is DOSBox Staging? A modern continuation of DOSBox that prioritises ease of use, code quality, and advanced features, roughly in this order. In most cases it's a drop-in replacement; your existing configs will just continue to work, but you'll have access to a myriad of extra features.

So why should anybody care, given there's DOSBox ECE, Daum, and probably a dozen of other custom builds? The answer is quite simple: all those forks have been abandoned long time ago and are not getting any bug fixes, updates, and new features. If you're a happy user of one of those builds, good for you; keep using them while you can, but inevitably they'll just stop working correctly or at all on the OSes of the future. The main problem was that people tried to cram every single patch and improvement under the sun into those builds, without much concern for code quality, which made them impossible to maintain even in the short term. There just wasn't much oversight. So, unsurprisingly, people gave up on them after a while.

DOSBox Staging has learned from the mistakes of the past and prioritises code quality and long-term maintenance to ensure the longevity of the project. From the perspective of the end-user, this manifests in a steady stream of new features and enhancements, increased performance, and better compatibility with current OSes. As the mainline DOSBox development has effectively stopped about 12 years ago (which is fine, people's priorities change over a lifetime), we see ourselves as the team who keeps the DOS legacy alive for future generations to come. We have good relationships with the original DOSBox devs, the DOSBox-X project (which has quite different goals than ours) and the eXoDOS folks. In fact, we're working on a number of items to satisfy the needs of the eXoDOS project, as they might slowly migrate over to Staging in the future (but they're careful; their goal is long-term preservation, so they have to choose the software they use very carefully). In any case, we're grateful for the original DOSBox authors for the creation of this wonderful emulator; the importance of their absolutely stellar work cannot be overestimated.

By the way, many of the authors of the various patches (e.g. the pixel-perfect patch, CGA composite modes) that found their way into ECE, Daum, etc. are now among our ranks. Even the dude CanadaCow who started the MT-32 emulation project back in 2002/2003 (it wasn't called Munt then yet) and fought off Roland's lawyers in court, is a semi-regular code contributor.

But enough of name dropping, let's see some of the exciting advanced features DOSBox Staging brings to the table! Below I'll just list some of my favourites; please refer to the previous release notes for a comprehensive list of changes and improvements.

Full disclaimer: I'm a co-maintainer of the project and I'm responsible for the majority of the audio enhancement stuff in the new release, plus half of the new graphics features.

Audio features

New in 0.79:
  • Ability to add reverb and chorus to any mixer channel (e.g. to OPL music). Go here and scroll a bit down for audio examples!
  • Accurate analog output stage filtering for all supported sound devices
  • Emulation of the AdLib Gold Surround Module to enjoy Dune in its full glory
  • NukedOPL is now the only OPL emulation in DOSBos Staging; it's bit-perfect compared to real hardware OPL3, and runs fast enough even on low-end hardware (e.g. Raspberry Pi 4)
  • Master compressor (auto-leveler) to ensure the emulated audio output is never driven into digital distortion
  • Master high-pass filter to globally get rid of any DC-offsets
Existing features:
  • Integrated Munt MT-32 emulation
  • Integrated FluidSynth virtual MIDI device
  • Support for various common audio codecs for CD-DA emulation (OGG, MP3, FLAC, WAV, AIFF, Opus)

Video features

New in 0.79:
  • Ability to override CGA/EGA colours (e.g. to play Sierra AGI games with Amiga/Atari ST palettes, or any CGA/EGA games with C64-like colours)
  • Improved image quality when using non-integer scaling ratios (e.g. you won't see interference patterns on checkerboard-dithered EGA graphics anymore, which is used frequently in EGA versions of Sierra and LucasArts adventures)
Existing features:
  • Aspect-ratio correction enabled by default — no more stumpy Guybrush Threepwood!
  • "Sharp bilinear" scaling via OpenGL by default, which works well with non-integer scaling ratios
  • Optional pixel-perfect mode (while maintaining correct aspect-ratio as closely as possible)
  • OpenGL GLSL shader support (works with all DOSBox SVN shaders)
  • Restrict viewport size to smaller-than-fullscreeen (e.g. to achieve the effective image size of a 14/15" monitor for 320x200 games)
  • Resizable window support
  • Option to turn off window decorations and set window placement (useful for playing classic dungeon crawlers side-by-side with some mapping tool)
  • CGA composite and monochrome modes
Other
  • Raw mouse input
  • Seamless mouse support in windowed-mode
  • 64-bit dynamic recompilation for increased performance in late 90s titles

And the slightly bad news (to some): as of 0.79, Windows 10 64-bit is the minimum requirement on Windows. While we'd love to support earlier OSs as far back as Windows XP, many of the libraries we're using have dropped support for them, and there's not much we can do about that without expending unrealistically large amounts of energy (for a project maintained by volunteers in their spare time, that is). Specifically, FluidSynth that comes bundled with DOSBox Staging has a hard requirement on Win10 64-bit, but there might be other stuff too that I can't remember right now...
It actually runs fine on Win7, as reported by some members of the community. Please refer to our downloads page for info on the OS support for any particular release.
 
Last edited:

Lucumo

Educated
Joined
May 9, 2021
Messages
910
And the slightly bad news (to some): as of 0.79, Windows 10 64-bit is the minimum requirement on Windows.
That's unfortunate to hear. Guess I won't need to update my version anymore then.

You can always just upgrade to Win10, or use it on Linux, where you have the added benefit of being able to emulate Windows games via Wine.
"Upgrade" to Windows 10...yeah, no. I will eventually switch to/add Linux when basically nothing works on Windows 7 anymore. But who knows how long that will take.
 

catfood

AGAIN
Joined
Aug 28, 2008
Messages
9,592
Location
Nirvana for mice
And the slightly bad news (to some): as of 0.79, Windows 10 64-bit is the minimum requirement on Windows.
That's unfortunate to hear. Guess I won't need to update my version anymore then.

You can always just upgrade to Win10, or use it on Linux, where you have the added benefit of being able to emulate Windows games via Wine.
"Upgrade" to Windows 10...yeah, no. I will eventually switch to/add Linux when basically nothing works on Windows 7 anymore. But who knows how long that will take.
I've already transitioned (heh) to Linux and it's been mostly smooth sailing. I still keep Win 7 dual booted just in case I run into the odd game that won't run on Wine, but thankfully those are very few.
 

Rincewind

Magister
Patron
Joined
Feb 8, 2020
Messages
2,745
Location
down under
Codex+ Now Streaming!
I've already transitioned (heh) to Linux and it's been mostly smooth sailing.
The thing is, there was a time when I was a heavy CrossOver user (it's basically a more user-friendly Wine port for macOS), and I've had a much better experience running old Windows 9x/XP games on CrossOver compared to modern Windows.
 

Morpheus Kitami

Liturgist
Joined
May 14, 2020
Messages
2,697
How is this with emulating various other soundcards? I remember trying to emulate the Gravis UltraSound in regular ol' DOSbox and I could never get it working, despite following all instructions properly. Does Staging have an easier time getting it to work?
 
Joined
Jan 14, 2018
Messages
50,754
Codex Year of the Donut
I think people vastly overestimate the difficulty of lunix. If anything, it simplifies a lot due to things like having a package manager.
Steam makes most games run with 1 click now due to proton. The only games that don't work are basically the odd easy anti cheat games that didn't opt into lunix support.
 

LarryTyphoid

Scholar
Joined
Sep 16, 2021
Messages
2,233
Been using Staging for awhile. It's got built-in Munt Roland MT-32 emulation (as long as you provide the roms), and built-in fluidsynth support, meaning you can easily set any MIDI soundfont you want individually in each game's conf file. You can even adjust the volume. I use this to apply an 8-bit NES style soundfont to Ultima 4 and 5, to provide a sound somewhat close to the original Apple II Mockingboard soundtracks. Also, a really huge feature of Staging is raw mouse input. Raw mouse input makes mouse-driven games like System Shock much, much more fun to play, compared to the stiff mouse input provided in base DOSBox. I don't use much of the other many features Staging provides, but these few alone make Staging, in my opinion, essential for anyone playing DOS games on modern PCs. Can't recommend it enough! There's no reason to use base, vanilla DOSBox.
 

Rincewind

Magister
Patron
Joined
Feb 8, 2020
Messages
2,745
Location
down under
Codex+ Now Streaming!
How is this with emulating various other soundcards? I remember trying to emulate the Gravis UltraSound in regular ol' DOSbox and I could never get it working, despite following all instructions properly. Does Staging have an easier time getting it to work?
I'd say it's easier, generally you should just set `gus = true` in the config. Also currently DOSBox Staging is definitely the most accurate when it comes to sound card emulation. Like I mentioned, I spent a lot of time researching the analog output filters used in various soundcards, and now the output should be pretty much identical to real hardware (minus the hiss, of course — we're not going to emulate that...)

For all you Linux people, 0.79 has just landed in ArchLinux:

https://repology.org/project/dosbox-staging/versions

There are plans to get this into the official repos of other distros too, we've been admittedly a bit relaxed on that front so far. If I'm not mistaken, some of the guys are currently working together with MacPorts to make Staging the default DOSBox package there.

Raw mouse input makes mouse-driven games like System Shock much, much more fun to play, compared to the stiff mouse input provided in base DOSBox.
You might be delighted to hear then that this new release contains further mouse handling improvements. Specifically, it's now possible to achieve smoother mouse movement in Ultima Underworld than on real hardware (their mouse drivers have always been quite sketchy).
 
Joined
Aug 10, 2012
Messages
5,904
Is there a GUI/frontend for this? I've been using Dosbox-X and it's alright, but I really miss the simple GUI from Daum.
 

Rincewind

Magister
Patron
Joined
Feb 8, 2020
Messages
2,745
Location
down under
Codex+ Now Streaming!
Is there a GUI/frontend for this? I've been using Dosbox-X and it's alright, but I really miss the simple GUI from Daum.
Not yet, and it's a very good point. I guess existing frontends would just work if they're flexible enough (you'd need to be able to specify custom config settings that are Staging specific). I'm not a frontend user myself, so I'm not the best person to ask.

OSD support is coming sometime next year to tweak various settings while a game is running. I'm personally going to work on that feature, at least the initial incarnation of it.

Also note that because Staging has sane defaults, the config files tend to be extremely terse. E.g. this is what I use for Alone in the Dark (floppy version). If you don't particularly care for the audio part, you'd only need to keep the "autoexec" section!

None of my config files tend to be much longer than this.

Code:
[mixer]
reverb = large
chorus = strong

[sblaster]
sbtype = sbpro1

[autoexec]
mount C "C"
c:
ALONECRK
exit
 

Rincewind

Magister
Patron
Joined
Feb 8, 2020
Messages
2,745
Location
down under
Codex+ Now Streaming!
How is this with emulating various other soundcards? I remember trying to emulate the Gravis UltraSound in regular ol' DOSbox and I could never get it working, despite following all instructions properly. Does Staging have an easier time getting it to work?
If you have specific problems with getting a particular game work with the GUS, I can help you with that. For the record, we've regression tested the GUS emulation with over 400 titles a few weeks ago, so we're confident it works fine :M
 
Joined
Aug 10, 2012
Messages
5,904
I just ran World of Xeen and the raw mouse input in that game seems a lot better than I remember from regular DosBox. Kudos!

I dislike the fact that the config files are looked up in the user folder, though. I prefer local installations.
 

Rincewind

Magister
Patron
Joined
Feb 8, 2020
Messages
2,745
Location
down under
Codex+ Now Streaming!
I just ran World of Xeen and the raw mouse input in that game seems a lot better than I remember from regular DosBox. Kudos!
I've started documenting control issues with certain games, also providing a workaround where possible:
https://github.com/dosbox-staging/dosbox-staging/wiki/Control-issues#mouse

Xeen is also on the list. Note that in most cases the problems are present on real hardware too, so many times there's little we can do about it. But in some cases we can provide workarounds, and sometimes even a better-than-real-hardware experience.

I've asked the guys about frontends, and they're recommending DBGL. Staging is even mentioned on their front page, that's promising.
 

Rincewind

Magister
Patron
Joined
Feb 8, 2020
Messages
2,745
Location
down under
Codex+ Now Streaming!
I just ran World of Xeen and the raw mouse input in that game seems a lot better than I remember from regular DosBox. Kudos!

I dislike the fact that the config files are looked up in the user folder, though. I prefer local installations.
You can definitely put `dosbox.conf` into the local game folder and it will be picked up automatically. It's just that you can stack config files; there's a well-defined load order, and they get combined hierarchically.

You can certainly ignore the `dosbox-staging.conf` that gets automatically created on the first start in your user folder, and use local configs 100% of the time.

Or you can do what I do: modify the top-level config in your user folder to your liking, so it contains your defaults instead of the stock settings, and then further refine those settings in the local game-specific configs as needed.
 

Jasede

Arcane
Patron
Joined
Jan 4, 2005
Messages
24,793
Insert Title Here RPG Wokedex Codex Year of the Donut I'm very into cock and ball torture
it simplifies a lot due to things like having a package manager.
The package manager is my #1 source of issues whenever I use Linux distros. Especially when it comes to updates.
You could try something like PopOS and get everything you want to install from the Snapstore/Flatpak/AppImage. I'm not a fan of this model either though because half the time the thing you want isn't on these.
 

Morpheus Kitami

Liturgist
Joined
May 14, 2020
Messages
2,697
How is this with emulating various other soundcards? I remember trying to emulate the Gravis UltraSound in regular ol' DOSbox and I could never get it working, despite following all instructions properly. Does Staging have an easier time getting it to work?
If you have specific problems with getting a particular game work with the GUS, I can help you with that. For the record, we've regression tested the GUS emulation with over 400 titles a few weeks ago, so we're confident it works fine :M
Okay, it definitely works. I tried six semi-random games, Ecstatica, Pickle Wars, Terminator: Rampage, Reunion, Rings of the Magi and Zone 66. Ecstatica and Zone 66 both worked straight off, but the others don't. Maybe that's why I didn't think it worked in regular DOSbox. Well, Pickle Wars and Terminator are easy to break in general, so don't worry about those. Reunion I'm curious as to the flaw, as it might be related to why Rings of the Magi keeps setting the address to 248 instead of the 240 it should be.
 

Rincewind

Magister
Patron
Joined
Feb 8, 2020
Messages
2,745
Location
down under
Codex+ Now Streaming!
Reunion I'm curious as to the flaw, as it might be related to why Rings of the Magi keeps setting the address to 248 instead of the 240 it should be.
Seems like these game just have a crappy driver / autodetection routine or something.

I'll probably take a look at Reunion and Rings of the Magi at some point, there's a chance it's a legitimate bug, though.
Could you get them recognise the GUS in DOSBox-X? That's the first test we usually do :)
 

Morpheus Kitami

Liturgist
Joined
May 14, 2020
Messages
2,697
Reunion I'm curious as to the flaw, as it might be related to why Rings of the Magi keeps setting the address to 248 instead of the 240 it should be.
Seems like these game just have a crappy driver / autodetection routine or something.

I'll probably take a look at Reunion and Rings of the Magi at some point, there's a chance it's a legitimate bug, though.
Could you get them recognise the GUS in DOSBox-X? That's the first test we usually do :)
I usually used X for MT32, but I did. Zone 66 works fine, as a benchmark. Rings of the Magi still has the error, but its MVP Software, their games are lucky to even work. Reunion I don't know, as that hangs in DOSbox-X. I'm probably missing something with Reunion, because the sound setting just says "pick a sound card" with no configuration. Might not be that worth it, considering it has an Amiga port.
 

jebsmoker

Arcane
Patron
Joined
Nov 17, 2019
Messages
2,667
Insert Title Here Strap Yourselves In I helped put crap in Monomyth
MAX tends to crash if you manage to make it to turn 100 or so because it runs out of memory. i assume '64-bit dynamic recompilation for increased performance in late 90s titles' might help with that
 

As an Amazon Associate, rpgcodex.net earns from qualifying purchases.
Back
Top Bottom