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

thesheeep

Arcane
Patron
Joined
Mar 16, 2007
Messages
10,134
Location
Tampere, Finland
Codex 2012 Strap Yourselves In Codex Year of the Donut Codex+ Now Streaming! Serpent in the Staglands Dead State Divinity: Original Sin Torment: Tides of Numenera Codex USB, 2014 Shadorwun: Hong Kong Divinity: Original Sin 2 BattleTech Bubbles In Memoria A Beautifully Desolate Campaign Pillars of Eternity 2: Deadfire Pathfinder: Kingmaker Steve gets a Kidney but I don't even get a tag. Pathfinder: Wrath I'm very into cock and ball torture I helped put crap in Monomyth
Now if only they threw us some coins... hmmm...
Sorry, man, but Bethesda, id Software and Nightdive are all small indie companies.
Expecting them to contribute is asking a bit much, don't you think?
 

Rincewind

Arcane
Patron
Joined
Feb 8, 2020
Messages
2,797
Location
down under
Codex+ Now Streaming!
Now if only they threw us some coins... hmmm...
Sorry, man, but Bethesda, id Software and Nightdive are all small indie companies.
Expecting them to contribute is asking a bit much, don't you think?
You're right, I take it back. I would hate to deprive their employees of their beanbags or something. Can't have anyone from their teams have one less relaxing backrub per month, hey!
 

Rincewind

Arcane
Patron
Joined
Feb 8, 2020
Messages
2,797
Location
down under
Codex+ Now Streaming!
DOSBox Staging v0.82.0-RC (Release Candidate) has been released.

Highlights:
  • Tons of game compatibility fixes & enhancements
  • Pentium MMX emulation
  • Multithreaded audio mixer for a more hardware-like experience (almost complete eradication of occassional audio glitches and stutters)
  • ESS Extended FM Audio (ESFM) emulation
  • Some Voodoo emulation fixes
See the detailed release notes for more info:
https://www.dosbox-staging.org/releases/release-notes/0.82.0-rc/
 
Last edited:

Rincewind

Arcane
Patron
Joined
Feb 8, 2020
Messages
2,797
Location
down under
Codex+ Now Streaming!
DOSBox Staging v0.82.0 has been released

Main highlights:

- Pentium MMX emulation
- ESS Enhanced FM Audio
- Numerous audio-related enhancements
- A large number of game compatibility fixes
- Improved Windows 3.1x compatibility
- Supercharged 3dfx Voodoo emulation performance
- Experimental Windows ARM64 support

Read the full release notes for details:
https://www.dosbox-staging.org/releases/release-notes/0.82.0/

Also make sure to check out the updated Getting Started guide (it's not just for beginners!)
https://www.dosbox-staging.org/getting-started/
 

Nifft Batuff

Prophet
Joined
Nov 14, 2018
Messages
3,797
Thanks Rincewind.
I would ask if there is an easy way to change the EGA palette through the configuration (without using shaders or external programs). It came to my mind that some people are colorblind and could use some simple color change/personalization in the palette to enjoy some older games.
 

Rincewind

Arcane
Patron
Joined
Feb 8, 2020
Messages
2,797
Location
down under
Codex+ Now Streaming!
Thanks Rincewind.
I would ask if there is an easy way to change the EGA palette through the configuration (without using shaders or external programs). It came to my mind that some people are colorblind and could use some simple color change/personalization in the palette to enjoy some older games.
Yes, I did add support for this a while ago. Check out my release notes for the cga_colors setting:

https://www.dosbox-staging.org/releases/release-notes/0.79.0/#cga-palette-override

You can always display the help by running config -h cga_colors in the DOS shell.
 
Last edited:

Nifft Batuff

Prophet
Joined
Nov 14, 2018
Messages
3,797
Thanks Rincewind.
I would ask if there is an easy way to change the EGA palette through the configuration (without using shaders or external programs). It came to my mind that some people are colorblind and could use some simple color change/personalization in the palette to enjoy some older games.
Yes, I did add support for this a while ago. Check out my release notes for the cga_colors setting:

https://www.dosbox-staging.org/releases/release-notes/0.79.0/#cga-palette-override

You can always display the help by running config -h cga_colors in the DOS shell.
Thanks! I have seen the cga palette override option, but I though it was only for CGA games, not EGA (maybe they are the same thing, I am not expert). I will try.
 

Rincewind

Arcane
Patron
Joined
Feb 8, 2020
Messages
2,797
Location
down under
Codex+ Now Streaming!
Thanks Rincewind.
I would ask if there is an easy way to change the EGA palette through the configuration (without using shaders or external programs). It came to my mind that some people are colorblind and could use some simple color change/personalization in the palette to enjoy some older games.
Yes, I did add support for this a while ago. Check out my release notes for the cga_colors setting:

https://www.dosbox-staging.org/releases/release-notes/0.79.0/#cga-palette-override

You can always display the help by running config -h cga_colors in the DOS shell.
Thanks! I have seen the cga palette override option, but I though it was only for CGA games, not EGA (maybe they are the same thing, I am not expert). I will try.
Read the linked release notes, man. I'm talking about "CGA/EGA" in the notes, it should be pretty clear.

CGA palette = the 16-colour palette people sometimes mistakenly call the "EGA palette". Just on CGA you could only use a couple of fixed 4-colour set of those 16 CGA colours. But you could use all 16 in text modes, for instance. Remember ANSI art?

Then in the low-res 320x200 EGA mode, you can use all the 16 CGA colours. Probably that is why people refer to it as the "16-colour EGA palette", but that's a bit wrong.

The EGA palette is actually a 64-colour palette (!), but it's only available in the 640x350 hi-res EGA mode. Earlier Legend Entertainment adventure games made excellent use of the 640x350 / 64-colour EGA mode (e.g., Spellcasting 101, Gateway, etc.)

TL;DR:
  • CGA palette = 16 colours
  • EGA palette = 64 colours
  • But in the 320x200 EGA mode you can only use the 16-colour CGA palette (this was due to the bi-directional backwards compatibilty between CGA and EGA video cards and digital monitors).
  • In 320x200 CGA mode, you can only use fixed 4-colour subsets of the 16-colour CGA palette (and they look like dogshit).
 

spekkio

Arcane
Joined
Sep 16, 2009
Messages
8,378
BROs, I've tested 3dfx version of Archimedean Dynasty on 0.82. Which runs great, but I've noticed some weird behaviour related to the way that new CPU cycles are handled.

First, I've imported my old dosbox-staging.conf from the 0.81.1 folder. So, Dosbox was using following settings:

Code:
# This is the configuration file for dosbox-staging (0.81.0).
# Lines starting with a '#' character are comments.
Code:
core      = auto
cputype   = auto
cycles    = auto
cycleup   = 5
cycledown = 5

And everything was working fine. Dosbox was staring at 3000 cycles (Norton Commander):

staging01.png


And after launching PERF.EXE (performance checker for MDK), 'twas switching to "Max" cycles.

staging02.jpg


Cycle up / down hotkeys were working fine:

staging03.jpg


All of which was showing up in the Status Window:

staging04.png


Then I've decided to create a proper, new .conf (by making empty dosbox-staging.conf file). Which was created, with the "new" options:

Code:
# This is the configuration file for dosbox-staging (0.82.0).
# Lines starting with a '#' character are comments.
Code:
core                 = auto
cputype              = auto
cpu_cycles           = auto
cpu_cycles_protected = auto
cpu_throttle         = false
cycleup              = 10
cycledown            = 10

Which changed Dosbox' behaviour. It was staring at 3000 cycles (Norton Commander):

staging05.png


But after launching the PERF.EXE, Dosbox did not switch to the "Max" cycles:

staging06.jpg


:decline:

Cycle up / down hotkeys worked:

staging07.jpg


But without the info in the Status Window:

staging08.png


I had to switch to the:

Code:
cpu_cycles           = max

staging09.png


Which fixed the performance:

staging10.jpg


But CPU cycles couldn't be changed via CPU cycles up / down hotkeys + no info in Status Window.

:decline:


Maybe some "old" code (number->max cycles code, hotkeys controlling the cycles) doesn't work with the "new" .conf settings (cpu_cycles)?

Any thoughts, Rincewind ?
 

Rincewind

Arcane
Patron
Joined
Feb 8, 2020
Messages
2,797
Location
down under
Codex+ Now Streaming!
spekkio Yeah, you cannot use the hotkeys to set things like `80% max` anymore in the new model. I did that on purpose. `max` is `max`, end of story. The use of `max` is also heavily discouraged; it's evil.

The closest you get is setting a high cycles setting, like 400k, enabling throttling, and *then* you can use the hotkeys to adjust the upper 400k limit. But unbounded `max` is evil, always has been.

So this is pure incline, but old habits die hard, I get it.

To spell it out, do something like this:

[cpu]
cpu_cycles = 20000
cpu_cycles_protected = 400000
cpu_throttle = on

400k is Pentium 2 territory already; way too fast for general DOS gaming. You only need that for 640x480+ SVGA software rendered 3D gaming, so very late DOS era. For accelerated 3dfx games I recommend 100k or thereabouts (fast Pentium MMX range). Remember, 3dfx emulation is done in its own threads. It's completely separate from the CPU emulation, like on real hardware.

Read the relevant release notes and getting started sections carefully for explanations and justifications.

https://www.dosbox-staging.org/releases/release-notes/0.82.0/#simplified-cpu-cycles-settings

https://www.dosbox-staging.org/releases/release-notes/0.82.0/#revised-cpu-cycles-defaults


This section all the way down until the MT-32 setup:

https://www.dosbox-staging.org/getting-started/beneath-a-steel-sky/#adjusting-the-emulated-cpu-speed


More techical details in my change ticket's description:

https://github.com/dosbox-staging/dosbox-staging/pull/3681
 

Rincewind

Arcane
Patron
Joined
Feb 8, 2020
Messages
2,797
Location
down under
Codex+ Now Streaming!
Btw spekkio, you main problem was you set both 'cpu_cycles' and 'cpu_cycles_protected' to auto. 'cpu_cycles = auto' sets the real mode cycles to 3000. Then 'cpu_cycles_protected = auto' basically means "I don't wanna set a different protected mode cycles value; I wanna let cpu_cycles control both real and protected mode". So yeah, that got you 3000 in both real and protected mode.

Probably you've figured all that out by reading the linked doco.
 

spekkio

Arcane
Joined
Sep 16, 2009
Messages
8,378
Yeah, AD is just "difficult" when it comes to emulation, since it's using two .exe files: one to run the "non-3d" game (Desktop.exe) and another one to run the "3d emulation" (Fight.exe). So high CPU cycles make sound in the first section choppy, but are OK for the second part, while low CPU cycles have the opposite effect (sound is OK in the first part, but the 3D part is too slow). Previously using cycles=auto was optimal, since DOSBox was switiching to cycles=max automatically. But with 0.82 it's better to use cpu throttling and specific value for CPU cycles. Sth like that is enough in my case (audio ok, 3D fast enough):

Code:
core = auto
cputype = auto
cpu_cycles = 128000
cpu_cycles_protected = 256000
cpu_throttle = true
cycleup = 5
cycledown = 5

ad23.jpg


3dfx version runs slower (~40-160 FPS) than in Daum + nGlide (~60-220 FPS), but I think stronger CPU than my current one (i7-7700) should do the trick in the future.

There's still sth wrong with textures / z- buffer (visible when switching from normal to external view):

ad22.png


ad21.png


But VooDoo emulation shows fantastic progress since 0.81.

:salute:
 

Rincewind

Arcane
Patron
Joined
Feb 8, 2020
Messages
2,797
Location
down under
Codex+ Now Streaming!
Yeah, AD is just "difficult" when it comes to emulation, since it's using two .exe files: one to run the "non-3d" game (Desktop.exe) and another one to run the "3d emulation" (Fight.exe). So high CPU cycles make sound in the first section choppy, but are OK for the second part, while low CPU cycles have the opposite effect (sound is OK in the first part, but the 3D part is too slow).
In 0.83.0 (upcoming release) we've have almost 100% solved the glitchy audio problems. We're pretty much at hardware-like behaviour in the dev builds where you just cannot make the audio glitch, no matter what (not even when spamming Alt+Enter to swap between fullscreen and windowed like crazy).

Previously using cycles=auto was optimal, since DOSBox was switiching to cycles=max automatically.
In that single specific game. In many other games it introduced an untold number of problems (most frequent was choppy audio, but also crashes). Worst of all "max" makes it very machine dependent. You can get wildly different results on 5 different CPUs with max, that's unsupportable. Hence that practice had to be stopped.

In the early 2000s CPUs were not fast enough to hit obscene emualted cycles values with max. So it was "ok". But it's not the early 2000s anymore. "max" can go so high that many games start glitching, or start exhibiting weird bugs, or just crash. So just don't.

E.g., in Tomb Raider Gold the menu just starts uncontrollably spinning if you're above a certain cycles threshold.

But with 0.82 it's better to use cpu throttling and specific value for CPU cycles. Sth like that is enough in my case (audio ok, 3D fast enough):
Yeah, that's the way. Fixed cycles value that's just enough to run the game well (and not higher, it won't gain you anything), and enabling throtting is always a good idea, especially if you're above 100k.

But VooDoo emulation shows fantastic progress since 0.81.
Thanks man. The recent threading gave it a significant performance boost as well. Make sure to check out the voodoo config params; you can give it even more threads (but we chose not to do that by default because it would burn battery power too quickly on laptops).
 

Azdul

Magister
Joined
Nov 3, 2011
Messages
3,819
Location
Langley, Virginia
  • But in the 320x200 EGA mode you can only use the 16-colour CGA palette (this was due to the bi-directional backwards compatibilty between CGA and EGA video cards and digital monitors)
I believe Ironman Offroad Racing uses non-standard color palette in 320x200 on real EGA hardware.

It is limited to standard CGA palette only on EGA mode emulated by VGA.

I don't have IBM EGA hardware to test it - but even graphics settings of that game suggest possibility of redefining palette in 320x200 on EGA. And I remember colors looking different back in a day.
 

Rincewind

Arcane
Patron
Joined
Feb 8, 2020
Messages
2,797
Location
down under
Codex+ Now Streaming!
but even graphics settings of that game suggest possibility of redefining palette in 320x200 on EGA
It's not possible on EGA. Read about how EGA cards work. Also, EGA monitors are digital, not analog. They accept digital signals, then the colours are "generated" by the monitor. It's impossible to "redefine EGA colors" on true EGA hardware.

On VGA cards, however, you can use any palette in EGA modes. Many games do that. Maybe that's what you're referring to.
 

Azdul

Magister
Joined
Nov 3, 2011
Messages
3,819
Location
Langley, Virginia
but even graphics settings of that game suggest possibility of redefining palette in 320x200 on EGA
It's not possible on EGA. Read about how EGA cards work. Also, EGA monitors are digital, not analog. They accept digital signals, then the colours are "generated" by the monitor. It's impossible to "redefine EGA colors" on true EGA hardware.

On VGA cards, however, you can use any palette in EGA modes. Many games do that. Maybe that's what you're referring to.
After reading the documentation, I have to agree with you, it should not work.

So why not try it ? I've started Ivan 'Ironman' Stewart's Super Off Road and was offered the choice of video mode:
  • cga
  • ega16
  • ega64
  • vga
ega64 works on original IBM EGA card with 256 kB and many other EGA chipsets from Boca and Paradise:
38510-fb808ed07643d929039bc5a3452f0eb9.jpg

It is 16 colors choosen from palette of 64, so in a way it is redefining palette in 320x200 color mode.

But it does not work on IBM 5145 Enhanced Color Display originally sold with EGA card:
38550-fed34e4cb71bd1803eebb310b9da0821.jpg
 
Last edited:

Rincewind

Arcane
Patron
Joined
Feb 8, 2020
Messages
2,797
Location
down under
Codex+ Now Streaming!
Last edited:

Azdul

Magister
Joined
Nov 3, 2011
Messages
3,819
Location
Langley, Virginia
ega64 works on original IBM EGA card with 256 kB and many other EGA chipsets from Boca and Paradise:
Yeah it's all explained in detail here:
https://www.reenigne.org/blog/why-the-ega-can-only-use-16-of-its-64-colours-in-200-line-modes/

Do you happen to have a working IBM EGA monitor and EGA card? You could help of with some photos of the EGA CRT for my upcoming PC shader article :)
Unfortunately not, it was always too expensive for me.

I've befriended a guy who had genuine IBM XT with EGA around 2000 and used it daily since 1986, until HDD gave up the ghost. It was the first and the last time I saw genuine IBM PC desktop in my country.

I saw Ivan 'Ironman' Stewart's Super Off Road in another friend's house in the 90's and it was a mystery to me why this game looked so much better than other games running on his EGA clone.
 

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