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.

Azdul

Magister
Joined
Nov 3, 2011
Messages
3,702
Location
Langley, Virginia
Btw, there's also DREAMM developed by a former LucasArts employee, Aaron Giles.

https://aarongiles.com/dreamm/

Check out the documentation for details:
https://aarongiles.com/dreamm/docs/v21/#intro-games

Here's how it differs from ScummVM and DOSBox (TL;DR it uses the original game executable and data files, so it's *not* a game-engine reverse engineering exercise like ScummVM—that's a crucial difference):

https://aarongiles.com/dreamm/docs/v21/#faq-scummvm

Key sentence:

That said, since ScummVM is not actually running the original interpreter engine code, it is difficult to claim 100% perfect reproduction of the original behaviors.
I'm really not convinced that DREAMM is a proper way to preserve classic games.

ScummVM quite often receives source code donations from original developers - and besides making code portable (esp. Big Endian), rewriting API calls to target ScummVM frontend, rewriting time dependent loops - they do not introduce 'spurious' changes.

LucasArts had not shared their source code - so ScummVM team had to reverse engineer it using IDA Pro. I believe at some point LucasArts threatened to sue them.

Now - we get another closed source project - DREAMM - that allows classic games to run on Windows 11, MacOS X and current Linux - written by one of LucasArts guys. In few years the author won't find time to maintain it - and we'll get another few megabytes of binary code that won't run on modern platforms.
 

Rincewind

Magister
Patron
Joined
Feb 8, 2020
Messages
2,745
Location
down under
Codex+ Now Streaming!
Yeah, those are good points and I hope he'll eventually open-source it. I just wanted to mention it as another option.

I'm still not in love with the ScummVM engine reimplementations, and probably never will be, but sure, more options never hurt.
 

Rincewind

Magister
Patron
Joined
Feb 8, 2020
Messages
2,745
Location
down under
Codex+ Now Streaming!
And for something completely different: Is there a way to force Dosbox Staging to stretch original 4:3 graphics to fill 16:9 screen ?
Nope. What's the use case?
I don't like black bars with full screen scrolling titles - either strategy or arcade ones. It suggests to me that I've reached the edge of the map.

Small text is often easier to read when letters get more width.

When it comes to 'authentic' experience - in many cases developers didn't care about aspect ratio when porting bitmap graphics between different platforms - so 320x200 VGA with 1.6 pixel aspect ratio shown on 4:3 screen sometimes isn't the original artist intention.

In short - I would like to have a choice.
Okay, you were about for fourth or fifth guy asking for such things Azdul. So I've added support for stretching to fullscreen.

But not just that—I've added some quite flexible options to the aspect ratio and viewport restriction logic to also allow forcing arbitrary aspect ratios, zooming into the DOS content, emulating the horizontal & vertical stretch controls of CRT monitors, and effectively any combination of these things.

More details here:
https://github.com/dosbox-staging/dosbox-staging/pull/3124

Available in our latest dev build.
 

SpellingSword

Literate
Joined
Dec 23, 2023
Messages
5
Is there a way to use the "Where are we" mapping tool(Link) with EXoDOS? I can't seem to find the files to point it towards.
 
Vatnik
Joined
Sep 28, 2014
Messages
12,167
Location
USSR
Bought a 4k 144hz panel today and spent half a day just playing HoMM2 with auto-crt. What a pleasure.

Rincewind now that there's a Retroarch window capture core, I was thinking of trying Fallout 2 with your shaders. I'm guessing I'd need to use vga-4k.glsl? Will it work? Any particular settings to use with that in RetroArch?
 
Last edited:

Rincewind

Magister
Patron
Joined
Feb 8, 2020
Messages
2,745
Location
down under
Codex+ Now Streaming!
Bought a 4k 144hz panel today and spent half a day just playing HoMM2 with auto-crt. What a pleasure.
Nice, that's ideal for emulation & CRT shaders.

Rincewind now that there's a Retroarch window capture core, I was thinking of trying Fallout 2 with your shaders. I'm guessing I'd need to use vga-4k.glsl? Will it work? Any particular settings to use with that in RetroArch?
No, because RetroArch and DOSBox (and pretty much any emulator) have their own specific shader systems.

Mine is an adapted version of the basic single-pass Hyllian shader, so you can try that in RA and use my tweaked parameter values from `vga-4k.glsl`. Note that some of my tweaked params are outside of the standard allowed parameter range (on purpose), so you'll need to hack the RA version of Hyllian a bit.

The version of Hyllian I'm using in DOSBox Staging has been ported from RA, so now you're going full circle :)
 
Vatnik
Joined
Sep 28, 2014
Messages
12,167
Location
USSR
you can try that in RA and use my tweaked parameter values from `vga-4k.glsl`
Gave it a try. The game itself started looking very similar, but as far as Fallout's text is concerned there's a world of difference. RA's is thicker/more glowy, kinda painful to read.

8fefb292287042d9a70f6d06b6d8cae5.png


I wonder if it's because there's a discrepancy between GLSL and Slang versions of hyllian. Windows capture core only works in Vulkan/DX11, so I have to use Slang.

I also see some additional uniforms for white point correction in your shader. If there's more differences, any pointers to what I should be looking for that could cause the text glow? I can read/write GLSL a little, at a very novice level.
 

Rincewind

Magister
Patron
Joined
Feb 8, 2020
Messages
2,745
Location
down under
Codex+ Now Streaming!
Are you sure you're using this as base? There is also crt-hyllian-glow and a bunch of others, make sure you don't use any of those.

https://github.com/libretro/slang-shaders/blob/master/crt/crt-hyllian.slangp

https://github.com/libretro/slang-shaders/blob/master/crt/shaders/hyllian/crt-hyllian.slang

If you compare it, you'll see it's the same code. Ignore my whitepoint and black levels stuff, those are disabled in my presets (that's something for the future).

I think you're using the wrong glow version of the shader. The dark shades look almost identical, then you get arcade monitor level glow for the high-intensity colours (Fallout uses pure 100% greens for text). This cannot be an OpenGL vs Vulkan vs DX difference, the shader must be different.
 
Vatnik
Joined
Sep 28, 2014
Messages
12,167
Location
USSR
Spent half a day reading the shaders line by line, found no differences, just a super minor one.

Decided to tweak it instead and within minutes found that setting BEAM_MAX_WIDTH to 1.20 (instead of 1.40) produces the exact replica of auto-crt.
Both glsl and slang versions: https://gist.github.com/BesterCode/81e2fc721caf2407c0f52b3d3485675f

Alright, off to testing games with this new look now.
 
Last edited:

Rincewind

Magister
Patron
Joined
Feb 8, 2020
Messages
2,745
Location
down under
Codex+ Now Streaming!
Spent half a day reading the shaders line by line, found no differences, just a super minor one.

Decided to tweak it instead and within minutes found that setting BEAM_MAX_WIDTH to 1.20 (instead of 1.40) produces the exact replica of auto-crt.
Both glsl and slang versions: https://gist.github.com/BesterCode/81e2fc721caf2407c0f52b3d3485675f

Alright, off to testing games with this new look now.
Not sure what's going on, looks alright, but the I have no actual practical experience with Slang. You got results you like, that's what matters.
 
Vatnik
Joined
Sep 28, 2014
Messages
12,167
Location
USSR
Hey Rincewind in your 2022 article on achieving period correct graphics, you state that VGA monitors produced sharp images without scanlines, and this is the best way of playing DOS games.
Your Dosbox-Staging shader does have scanlines, though.
Is this a matter of personal preference?

Even the cheapest VGA monitors used to be tack sharp, and they exhibited none of the various effects typically associated with CRT shaders (prominent scanlines, halation, bloom, etc.)

Moreover, 320×200 VGA was double-scanned at a line frequency of 31 kHz(you can clearly see that on the blown up image below; that’s effectively a 320×400 image) so you could not really notice scanlines on 15" or even 17" displays from a normal viewing distance, neither the effects of the shadowmask because of the very fine, typically 0.25-0.28 mm dot pitch. Emulating the shadow mask would require 8k resolution, and unless you have a 4k display, you’ll have a hard time trying to emulate the subtle scanline effect as well, so in general it’s best and easiest to stick to sharp bilinear or integer scaling for DOS and early Windows games.
 
Last edited:

Nutmeg

Arcane
Vatnik Wumao
Joined
Jun 12, 2013
Messages
23,579
Location
Mahou Kingdom
I think if you accept VGA double scanning and fine mask pitch you basically accept "pixel means square" for images with less than 400 lines, and then a CRT shader just gives you a bit softer squares and as Rincewind writes you might as well forgo it.

I personally choose not to accept that, even though that is "period correct". I put the scare quotes there because for many games which were ported from other machines where the display standard did not do line doubling (so, everything other machine, basically) or even for games where the assets were created on a different machine (for many DOS games, the assets were created on an Amiga), you could reasonably argue the artist intended for his image to look differently than it did when displayed through VGA.

For VGA raster images with more than 400 lines (so single scanned) of course the CRT shader will still function as a proper image reconstruction algorithm.
 

Rincewind

Magister
Patron
Joined
Feb 8, 2020
Messages
2,745
Location
down under
Codex+ Now Streaming!
Hey @Rincewind in your 2022 article on achieving period correct graphics, you state that VGA monitors produced sharp images without scanlines, and this is the best way of playing DOS games.
Your Dosbox-Staging shader does have scanlines, though.
Is this a matter of personal preference?
I did not say VGA monitors produce images without scanlines in my article. All CRT monitors do, that's how they work. What I said, the scanlines on (S)VGA monitors are *subtle*:

Even the cheapest VGA monitors used to be tack sharp, and they exhibited none of the various effects typically associated with CRT shaders (prominent scanlines, halation, bloom, etc.) [...]

Moreover, 320×200 VGA was double-scanned [...] so you could not really notice scanlines on 15" or even 17" displays from a normal viewing distance, neither the effects of the shadow mask because of the very fine, typically 0.25-0.28 mm dot pitch. Emulating the shadow mask would require 8k resolution, and unless you have a 4k display, you’ll have a hard time trying to emulate the subtle scanline effect as well [...]
What I'm doing in the new CRT shaders in Staging is consistent with the above. The double-scanning VGA shaders really need 4K, but they are acceptable at 1440p. On 1080p, I can only fake it, just to give a hint of the very fine VGA scanlines.

The VGA shaders re-create this subtle scanlined look of a really good quality and sharp SVGA monitor. Yeah, on crappier VGA monitors you'd get more blur, so there's a chance you'd effectively see no scanlines even from up close because they blend into each other. That's the personal preference part, there are thousands of slightly different VGA monitors out there—I chose to recreate a high-quality one because I like the subtle scanlined look.

What is debatable in my above statement is that scanlines at 640x480 on a 17" CRT are definitely visible (on better and sharper monitors, that is, like my Mitsubishi Diamondtrons).

I think if you accept VGA double scanning and fine mask pitch you basically accept "pixel means square" for images with less than 400 lines, and then a CRT shader just gives you a bit softer squares and as @Rincewind writes you might as well forgo it.
Pretty much, yeah. And on 1080p you can only achieve that with tricks, there's simply not enough vertical resolution to do it properly.

I personally choose not to accept that, even though that is "period correct". I put the scare quotes there because for many games which were ported from other machines where the display standard did not do line doubling (so, everything other machine, basically) or even for games where the assets were created on a different machine (for many DOS games, the assets were created on an Amiga), you could reasonably argue the artist intended for his image to look differently than it did when displayed through VGA.
That observation is spot on! I'm glad I'm not the only thinking person in the room :smug: This is the reason why I introduced the special "crt-auto-arcade" and"crt-auto-arcade-sharp" CRT shader options, which basically force the single-scanned 15kHz monitor look for VGA games.

Like you're saying, for games ported from the Amiga a bit later than the original Amiga release, that's 100% the intended look by the devs. The art just looks wrong with VGA double scanning (e.g., Gods, Speedball 2, Heimdall 1 & 2, Utopia, Lure of the Temptress, Flashback, Cruise for a Corpse, Elvira series, Ishar series, and countless other games). And you're absolutely correct in saying that the art assets were often created on Amigas until the end of the 90s (or other computers with better art tools, like Macs or Silicon Graphics workstations).

A company like Westwood and LucasArts might have stopped releasing Amiga ports of their games due to the shrinking US Amiga market in the early 90s, but you can bet on it the artists didn't suddenly throw their Amigas and their superior tools running on them into the trash because of that... Deluxe Paint running on an Amiga was essentially the best tool and a "global standard" for creating low-resolution pixel art at least until the early 2000s. There's a so-so DOS port of Deluxe Paint II, but that's a far cry from the later Amiga versions. I would bet good money on it that artists at Westwood and other studios kept using Amigas for drawing the art, even for games that only came out for DOS. Rick Parks, the master pixel artists behind most of the low-res Westwood games (Eye of the Beholder series, Kyrandia series, Lands of Lore, etc.) started his pixeling career on the Amiga and he became quite famous in the Amiga community before he started working at Westwood.
 
Last edited:

Nutmeg

Arcane
Vatnik Wumao
Joined
Jun 12, 2013
Messages
23,579
Location
Mahou Kingdom
Missing Darksun, Pools of Radiance, Curse of the Azure Bonds (and other Goldbox games), Gemfire, Celtic Tales (and other Koei games), Sword of Aragon, Master of Orion 1, and Z among my favorites.
 

Rincewind

Magister
Patron
Joined
Feb 8, 2020
Messages
2,745
Location
down under
Codex+ Now Streaming!
Missing Darksun, Pools of Radiance, Curse of the Azure Bonds (and other Goldbox games), Gemfire, Celtic Tales (and other Koei games), Sword of Aragon, Master of Orion 1, and Z among my favorites.
It's missing a lot of things, but that's missing the point :) I treat it as a generalist list to give someone who wants to get familiar with the world of DOS gaming. Then it's perfect.

I'm sure we could poke holes in it all day and fill another Top 100 with SSI stuff and wargames... but that's beside the point ;)
 

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