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.

Achieving period-correct graphics in personal computer emulators

Rincewind

Magister
Patron
Joined
Feb 8, 2020
Messages
2,470
Location
down under
Codex+ Now Streaming!
I started a new article series on my blog on how to set up personal computer emulators (Amiga, C64, DOS-era PC, etc.) so that the video output resembles what people typically saw on their monitors back in the day. I didn't care much about this previously, but for some reason it started to interest me to recreate a semi-authentic experience when using emulation. It turns out that it enhances the whole experience *a lot*, at least it does for me. Needless to say, there is so much misinformation circulating about the topic, and so many bad CRT emulation attempts that I felt compelled to research it properly and write a guide about it.

The first part is about the Amiga, and this is what you'll learn from it:
  • How to set up WinUAE for a reasonably close emulation of the glorious C= 1084S monitor
  • How to play American made games with the proper NTSC speed & aspect ratio, like a civilised person (99% of PAL users, including me, experienced these titles *wrong* back in the day!)
  • Some historical and technical background info about the Amiga & CRT display technology
  • How your perception can fuck with you (hint: sharper is not always "better")
Pre-empting the uproar about using CRT shaders for VGA games: yes, I agree with you; for VGA/SVGA bilinear-sharp or integer scaling (for 1:1 PAR modes) is the only way (unless you have an 8k screen, but emulating the fine shadow mask of VGA monitors is a bit pointless, IMO). However, things are entirely different for emulating the Amiga. I'm explaining in the article why that's so, and the second instalment will be about (S)VGA games / DOSBox.


So here we go:

https://blog.johnnovak.net/2022/04/...personal-computer-emulators-part-1-the-amiga/

And some screenshots/illustrations as bait (you really need to open them in a new tab to view them at 100% magification):

made-scarecrow.jpg


eob1.jpg


eob-shader-comparison.jpg


wb13.jpg

https://blog.johnnovak.net/achievin...personal-computer-emulators-part-1-the-amiga/
 
Last edited:
Joined
Jan 14, 2018
Messages
50,754
Codex Year of the Donut
I find the scanlines ugly, but the pixel dot/bloomish effect was present on pretty much every monitor and a lot of art looks broken without it
 

Rincewind

Magister
Patron
Joined
Feb 8, 2020
Messages
2,470
Location
down under
Codex+ Now Streaming!
I find the scanlines ugly, but the pixel dot/bloomish effect was present on pretty much every monitor and a lot of art looks broken without it

I'm not a big fan of them either. Having used PAL Amigas in the past, I'm used to scanlines being packed more closely together. You can't really see the scanlines in PAL screen modes, but they give the image a very subtle texture, as you can see on the first image above (the green monster thing).

The rest of the screenshots have more prevalent scanlines because they're supposed to be NTSC emulations. But personally I just use my PAL shader preset even for NTSC games because I don't like the hard scanline effect.

Another PAL example, this is how I like my scanlines to look:

ra-einstein.jpg
 
Last edited:

RuySan

Augur
Joined
Jul 11, 2005
Messages
777
Location
Portugal
I think easymode_halation is still the best CRT shader. It emulates a shadow mask CRT quite well without those exaggerated scan lines most shaders and filters provide

It's also available for FS-UAE, besides RetroArch/PUAE.

CRT_newpixie, it's interesting and kind reminds a shitty rt connection, although it must be configured because default settings are too exaggerated.
 

RuySan

Augur
Joined
Jul 11, 2005
Messages
777
Location
Portugal
I was quite curious to try the posted shaders, but unfortunately they are neither in the FS-UAE or Retroarch format. It's been ages since I used WinUAE, and every time I do it, I remind myself again why I switched to FS-UAE.
 

Bester

⚰️☠️⚱️
Patron
Vatnik
Joined
Sep 28, 2014
Messages
11,108
Location
USSR
I was recently doing just what you are, except with PS1 games, and achieved the result seen in the right (notice how the eyes are just red dots in the original, but perfect on a CRT monitor - the red color bleeding out happens due to NTSC signal demodulation):

e8c645958c52463e8eb0b8c299f03a9b.png


It's achieved with crt-royale-ntsc-svideo. You need both RetroArch and ePSXe. It's a long story on how to set it all up, needs a blog post. The only downside is that it's preferable to have a 4k monitor.

After trying this, I think this is the only way to play older games.

I wonder if it's possible to use crt-royale-ntsc-svideo with the way you do it? Would like an answer as a sort of TLDR, so I know if it's worth getting into.
 
Last edited:

Rincewind

Magister
Patron
Joined
Feb 8, 2020
Messages
2,470
Location
down under
Codex+ Now Streaming!
I was recently doing just what you are, except with PS1 games, and achieved the result seen in the right (notice how the eyes are just red dots in the original, but perfect on a CRT monitor - the red color bleeding out happens due to NTSC signal demodulation):

Very nice aperture grille look, which makes sense for emulating an NTSC TV.

It's achieved with crt-royale-ntsc-svideo. You need both RetroArch and ePSXe. It's a long story on how to set it all up, needs a blog post. The only downside is that it's preferable to have a 4k monitor.

I would be interested in reading about your setup; sooner or later I'm gonna check out a few PS1/PS2 games, and the default raw pixels look is depressing...

After trying this, I think this is the only way to play older games.

Yeah, I'm the same for 80s machines with single-scanned output, or anything that was supposed to be hooked up to a TV. (S)VGA is pretty much the only exception.

I was quite curious to try the posted shaders, but unfortunately they are neither in the FS-UAE or Retroarch format.
I wonder if it's possible to use crt-royale-ntsc-svideo with the way you do it?

Short answers to both questions:
So I'm sure with some tweaking you can get similar or even better results with RetroArch/PUAE, especially at 4k.

Disclaimer: I've never used RetroArch myself, this is just based on following Guest's new development efforts & having a brief conversation with him, plus by looking at his code.

One important thing, I'm not sure how his RetroArch port handles the different Amiga pixel aspect ratios. I mentioned that in the article, one of the big benefits of his WinUAE shaders is that they handle every standard screen mode you throw at them automatically, even mixed hi-res / lo-res / laced screens (e.g. Lemmings).
 

agris

Arcane
Patron
Joined
Apr 16, 2004
Messages
6,825
Like others have commented, I've found CRT scanlines generally render the art of old games to be closer to the period-correct look - but also agree that there are many shades of this, and many ugly over-wrought scanline filters.

Here's an older discussion on graphics scaling in UU, wherein I settled on a CRT pixel shader as the best way to approach it.

Based on the discussion above, the scanlines are probably too heavy in it but it was the best solution I could find with the packaged dosbox daum options.

q6RbV7f.jpeg
 

Rincewind

Magister
Patron
Joined
Feb 8, 2020
Messages
2,470
Location
down under
Codex+ Now Streaming!
After dozens of hours of further obsessive tweaking, I've updated the article with revised shader presets that achieve a shaper and more vivid look that's more faithful to the old Amiga monitors.

https://blog.johnnovak.net/2022/04/...personal-computer-emulators-part-1-the-amiga/

Now with 100% more Legend of Faerghail, Knightmare, and Perihelion screenshots! (right-click & open in new tab to view them with 1:1 pixel mapping, or just check them out in my article because the picture viewer I'm using displays the magnified versions correctly without any extra browser scaling).

legend-of-faerghail.jpg

knightmare.jpg

perihelion.jpg
 
Last edited:

Ladonna

Arcane
Joined
Aug 27, 2006
Messages
10,823
After dozens of hours of further obsessive tweaking, I've updated the article with revised shader presets that achieve a shaper and more vivid look that's more faithful to the old Amiga monitors.

Now with 100% more Legend of Faerghail, Knightmare, and Perihelion screenshots! (right-click & open in new tab to view them with 1:1 pixel mapping, or just check them out in my article because the picture viewer I'm using displays the magnified versions correctly without any extra browser scaling).

legend-of-faerghail.jpg

knightmare.jpg

perihelion.jpg

Any chance you could post these screenshots and non scanline versions of the same so we can see the difference? I still have working original hardware for C64 and Amiga so that is what I use, but I am curious to see the difference with these three.
 

Rincewind

Magister
Patron
Joined
Feb 8, 2020
Messages
2,470
Location
down under
Codex+ Now Streaming!
Any chance you could post these screenshots and non scanline versions of the same so we can see the difference? I still have working original hardware for C64 and Amiga so that is what I use, but I am curious to see the difference with these three.
Sure, here we go, these are the results with 3x3 raw pixels. Note I'm doing far more than simple scanline emulation (check the article for details).

7MzMfzi.png


NklEFE7.png


PNPn10y.png
 

Ladonna

Arcane
Joined
Aug 27, 2006
Messages
10,823
Wow. You can see how developers took advantage of scanlines to "blend" all the pixels together. The landscape in Knightmare is especially noticeable.
 
Last edited:

Rincewind

Magister
Patron
Joined
Feb 8, 2020
Messages
2,470
Location
down under
Codex+ Now Streaming!
Wow. You can see how developers took advantage of scanlines to "blend" all the pixels together. The landscape in Knightmare is especially noticeable.
Yes, glad you noticed it. I've included the Knightmare screenshot for a reason; it's a masterclass in blending.

What some people don't realise is that you were not really drawing a "mosaic" type of image when creating "pixel art" on the Amiga (or any other single-scanline device hooked up to CRTs). The pixel grid was a mere control mechanism for the artist to "command" the electron beam to do its analog magic with blending, bloom, glow, and whatnot, and that's about it. You just created the "commands" in the form of the pixel grid to modulate that little speck of light that painted each scanline from left to right.

Although I'm nowhere near the true pixel-wizards of the Amiga, I've done a fair bit of pixeling in Deluxe Paint, and this dichotomy between the zoomed-in pixel grid and what you actually saw on the unzoomed image on the CRT was pretty obvious to every artist who didn't completely suck (whether they consciously realised what they were really doing or not).
 
Last edited:

soulburner

Cipher
Joined
Sep 21, 2013
Messages
810
After recently acquiring a 1440p display I find games like Baldur's Gate (original) to be unacceptable with both the display's scaling and integer scaling. I tried Lossless Scaling but the effects aren't too good either. Is it possible to apply such filters outside of such emulators but on a native Windows game like Infinity Engine's releases?
 

Ladonna

Arcane
Joined
Aug 27, 2006
Messages
10,823
Wow. You can see how developers took advantage of scanlines to "blend" all the pixels together. The landscape in Knightmare is especially noticeable.
Yes, glad you noticed it. I've included the Knightmare screenshot for a reason; it's a masterclass in blending.

What some people don't realise is that you were not really drawing a "mosaic" type of image when creating "pixel art" on the Amiga (or any other single-scanline device hooked up to CRTs). The pixel grid was a mere control mechanism for the artist to "command" the electron beam to do its analog magic with blending, bloom, glow, and whatnot, and that's about it. You just created the "commands" in the form of the pixel grid to modulate that little speck of light that painted each scanline from left to right.

Although I'm nowhere near the true pixel-wizards of the Amiga, I've done a fair bit of pixeling in Deluxe Paint, and this dichotomy between the zoomed-in pixel grid and what you actually saw on the unzoomed image on the CRT was pretty obvious to every artist who didn't completely suck (whether they consciously realised what they were really doing or not).

I guess one day I will have to rely on the stuff you guys are coming up with. My hardware probably won't last forever, and while I am happy to take apart the C64 and Amiga, replace chips and capacitors, I am too scared of mucking around in CRT monitors. The voltage inside can be deadly, and the information on repairing stuff inside is nowhere near as abundant or easy to decipher as the PCB of old computers.

I will have to look into what people do when they need to hook up their old machines to newer monitors, and how to get this CRT effect.
 

Rincewind

Magister
Patron
Joined
Feb 8, 2020
Messages
2,470
Location
down under
Codex+ Now Streaming!
After recently acquiring a 1440p display I find games like Baldur's Gate (original) to be unacceptable with both the display's scaling and integer scaling. I tried Lossless Scaling but the effects aren't too good either. Is it possible to apply such filters outside of such emulators but on a native Windows game like Infinity Engine's releases?
I'm not aware of any good solution either. I have a few ideas that I would like to explore at some point, but they all have their drawbacks and complications, so I'm not too hopeful. Just in a nutshell:
  • Running the games in PCem or 86Box and using some kind of CRT shader (they both support RetroArch GLSL shaders, AFAIK). But emulating a Pentium MMX 200 or thereabouts is the practical upper limit with these emulators, and that's not going to improve substantially because we've pretty much maxed out single-core CPU performance for a while (until another huge evolutionary leap like quantum computing happens... or you can get your hands on some liquid nitrogen, hehe...)
  • Somehow getting ReShade to work with these games to apply some CRT shaders. I'm not sure if that's feasible, though, because ReShade needs at least DirectX 9, I believe. Then you'd need to fuck around with dgvoodoo2 or something to be able to use ReShade with old DX versions... Ugh, not my idea of fun, thank you. Even then, modern GPUs cannot render old DX graphics properly in many scenarios. Those rendering paths have deemed to be unnecessary and thus have been removed a long time ago.
  • Some Lossless Scaling type of tool like you mentioned if you can coerce the games to run in windowed mode. But, as you're saying, they tend to suck.
Personally, I just built a few retro PCs for playing Win98 and WinXP era games and I've stocked up on CRT VGA monitors that would hopefully last me at least a decade. Maybe some good solution will materialise by the time the last one bites the dust...

People who claim that integer scaling 640x480 and 800x600 games looks good on LCDs either have no taste, are out of their minds, or they haven't seen how these games are supposed to look on a real CRT for a loooong long time (or ever!) Yes, display scaling usually looks like pure shit, bilinear interpolation performed by the GPU a little bit less shit, and integer scaling... a different kind of shit? I've tested many Win98 / early XP era 640x480 and 800x600 games side by side on my CRTs and with integer scaling on my IPS LCD screen (a quite good one, actually), and the results almost made me cry... These games designed on and for CRTs just look like shit on LCDs with sharp pixels. Plus many of them use dark tones a lot, so the lack of proper black levels even on good quality IPS panels makes everything look like a washed out mess. Forget about playing these games in a dark room either.

Anyway, although Amiga and C64 graphics can be emulated adequately today even on 1080p, it's CRT or go home for me for these 640x480+ late DOS and Windows games. Maybe we'll get nice 4k+ microOLED screens at reasonable prices in the not so distant future, and someone will design some magic hardware box that can accept VGA signals and upscale it with CRT emulation to HDMI/DisplayPort or whatever... One can certainly dream!

Well, this stuff (and more) will be discussed in the second instalment of my article series which will be about period-accurate emulation of PC DOS and early Windows graphics.
 
Last edited:

Rincewind

Magister
Patron
Joined
Feb 8, 2020
Messages
2,470
Location
down under
Codex+ Now Streaming!
My hardware probably won't last forever, and while I am happy to take apart the C64 and Amiga, replace chips and capacitors, I am too scared of mucking around in CRT monitors. The voltage inside can be deadly, and the information on repairing stuff inside is nowhere near as abundant or easy to decipher as the PCB of old computers.

I will have to look into what people do when they need to hook up their old machines to newer monitors, and how to get this CRT effect.
Yeah, don't do that. I'm scared too, I'm not opening up any of those beasts. Lots (most?) of the parts are not manufactured anymore anyway (e.g. various ICs), and when the flyback transformer eventually dies, it's game over. Even the manufacturing of good quality replacement transformers ended more than 15 years ago — don't trust anyone who will try to sell you "brand new" replacement flybacks; it will most likely be some crap quality stuff that will die on you in a few months anyway (if it works at all). Materials used in the flybacks just get old with age (e.g. the resin coating), there's nothing you can do about that. Then when the coating gets compromised, it will develop electrical shorts... and you know the rest.

I'd say enjoy them until they last, nothing lives forever.

I've had my two Amiga 500 and C64C machines recently professional refurbished, but the ironic thing is that none of the modern HDMI converter solutions give as good an emulated CRT image than the current emulators that run on a PC (no wonder as you can do some pretty powerful stuff with advanced shaders running on modern GPUs). So I'm also on the lookout for something that doesn't completely suck... Buying 30+ year old Commodore monitors at outrageous "collector" prices that can die in any moment would be a bit crazy, so I'll pass on that.
 

schru

Arcane
Joined
Feb 27, 2015
Messages
1,132
After recently acquiring a 1440p display I find games like Baldur's Gate (original) to be unacceptable with both the display's scaling and integer scaling. I tried Lossless Scaling but the effects aren't too good either. Is it possible to apply such filters outside of such emulators but on a native Windows game like Infinity Engine's releases?
It may be possible to get some decent results with dgVoodoo, but the problem is that it doesn't work with Baldur's Gate very well for some reason, while it is possible to play Planescape: Torment with it, although also not without problems. Those problems consist in freezes and very protracted stuttering during the opening videos, when going from them to the menu, or when starting the game from the menu. Some of them can be overcome with Alt-Tabbing, but not always, and sometimes it takes a pretty long time for the game to start working again and it can freeze the whole system, so it's rather bothersome to experiment with it. Still, there might be a combination of settings that will make it work.

I have to note that I'm using an integrated GPU, so that may be part of the problem.

However, these are the results with resolution scaling set to Max and the C.R.T. shader enabled:

EE3ABIn.png


ukfy2ap.png


Ua4dTeO.png


RZECBrX.png


wap3YxU.png


Hmtgspb.png


gVk0Z9t.png


nNgXrDZ.png


f3WWkGV.png


8WkUhiI.png


GKnzRd3.png

This rescaling application which rusty_shackleford started a thread about may also serve as a good intermediary for applying C.R.T. shaders, as it definitely works better with the Infinity Engine than dgVoodoo does:

https://rpgcodex.net/forums/threads/upscaling-filter-comparison-lotsa-images.141182/
 
Last edited:

tritosine2k

Erudite
Joined
Dec 29, 2010
Messages
1,489
Wow. You can see how developers took advantage of scanlines to "blend" all the pixels together. The landscape in Knightmare is especially noticeable.
the opposite of blend, scanline on CRT means less than ideal pixel fill, so intuitively you'd want subpixels to stand out there (not the full pixel). Show such source as full pixel and you do injustice to it.
 
Last edited:

Rincewind

Magister
Patron
Joined
Feb 8, 2020
Messages
2,470
Location
down under
Codex+ Now Streaming!
It may be possible to get some decent results with dgVoodoo, but the problem is that it doesn't work with Baldur's Gate very well for some reason, while it is possible to play Planescape: Torment with it, although also not without problems. Those problems consist in freezes and very protracted stuttering during the opening videos, when going from them to the menu, or when starting the game from the menu. Some of them can be overcome with Alt-Tabbing, but not always, and sometimes it takes a pretty long time for the game to start working again and it can freeze the whole system, so it's rather bothersome to experiment with it. Still, there might be a combination of settings that will make it work.
That's a lot of fucking around to get some suboptimal results in the end... Better than nothing, though, I guess. That's why I said: as of now, nothing beats the real hardware experience. Of course, if that's not an option, you do what you gotta do.

The lack of EAX (environmental audio) support is another problem when running W98/XP games on anything more recent than XP. All Infinity engines support it, and it adds a lot of atmosphere to the audio. But you need a real SoundBlaster Live! for it to work properly (yes, there's emulation for that too, but it's a hit and miss). PCem emulates is, btw.

Btw, something's wrong with your screenshots: it seems to me that you're using nearest-neighbour interpolation to stretch the image first to bigger than its original 640x480 dimensions, then apply some CRT shader on top of that but that doesn't line up with the actual pixels (well, and it really can't after the NN interpolation). This is very apparent on antialiased diagonal or curved lines which are supposed to appear 100% smooth on a CRT or with good CRT emulation, but they're jagged in your shots. But on 1080p the best you can do is actually just doing a 2x nearest-neighbour upscaling, then dimming every second line a little bit to emulate subtle scanlines. To get decent CRT effects for 480p content, you'll need 1440p vertical resolution, and 4k to make it look really good. At 1080p, it's just various levels of fudging around.

1440/480 = 3, so you have three emulated scanlines for every scanline in the source. If that factor is below 3, forget about scanline emulation.

Personally, I just built a few retro PCs (...)
That was my plan, but it was shot down by my wife who refuses to accept a CRT screen anywhere. Marriage is an art of compromise, they say.
Definitely, but my wife drew the line at "until you can store all that old junk in your room". So I stopped at 7 because my parts cabinet is now full :P

Wow. You can see how developers took advantage of scanlines to "blend" all the pixels together. The landscape in Knightmare is especially noticeable.
the opposite of blend, scanline on CRT means less than ideal pixel fill, so intuitively you'd want subpixels to stand out there (not the full pixel). Show such source as full pixel and you do injustice to it.
What you say is true, but it's actually both because the electron beam has a falloff, then the phosphors have a slight blooming effect which is brightness dependent, plus the electron beam is modulated at finite speeds when it moves to the next "pixel", etc. So, effectively, there's some blending/blurring going on (which is very different than simple bilinear interpolation), but the sharp aperture grid gets superimposed on top of that. Hence the "soft but sharp at the same time" CRT image quality.
 
Last edited:

schru

Arcane
Joined
Feb 27, 2015
Messages
1,132
It may be possible to get some decent results with dgVoodoo, but the problem is that it doesn't work with Baldur's Gate very well for some reason, while it is possible to play Planescape: Torment with it, although also not without problems. Those problems consist in freezes and very protracted stuttering during the opening videos, when going from them to the menu, or when starting the game from the menu. Some of them can be overcome with Alt-Tabbing, but not always, and sometimes it takes a pretty long time for the game to start working again and it can freeze the whole system, so it's rather bothersome to experiment with it. Still, there might be a combination of settings that will make it work.
That's a lot of fucking around to get some suboptimal results in the end... Better than nothing, though, I guess. That's why I said: as of now, nothing beats the real hardware experience. Of course, if that's not an option, you do what you gotta do.

The lack of EAX (environmental audio) support is another problem when running W98/XP games on anything more recent than XP. All Infinity engines support it, and it adds a lot of atmosphere to the audio. But you need a real SoundBlaster Live! for it to work properly (yes, there's emulation for that too, but it's a hit and miss). PCem emulates is, btw.

Btw, something's wrong with your screenshots: it seems to me that you're using nearest-neighbour interpolation to stretch the image first to bigger than its original 640x480 dimensions, then apply some CRT shader on top of that but that doesn't line up with the actual pixels (well, and it really can't after the NN interpolation). This is very apparent on antialiased diagonal or curved lines which are supposed to appear 100% smooth on a CRT or with good CRT emulation, but they're jagged in your shots. But on 1080p the best you can do is actually just doing a 2x nearest-neighbour upscaling, then dimming every second line a little bit to emulate subtle scanlines. To get decent CRT effects for 480p content, you'll need 1440p vertical resolution, and 4k to make it look really good. At 1080p, it's just various levels of fudging around.

1440/480 = 3, so you have three emulated scanlines for every scanline in the source. If that factor is below 3, forget about scanline emulation.
Yes, I posted the screenshots hoping you'd comment on how they compare with the real thing. I don't doubt that the result is pretty far from being adequate, but I think it's preferable if the only other choice is bilinear upscaling performed by the monitor or the card. Also, some of the problems I described might not be present with a proper graphics card, which is why others should give it a try. For example, I don't have any problems running Diablo II with dgVoodoo.

As for EAX, I do have a Creative card (Sound BlasterX AE-5) that comes with the ALchemy application that emulates the functionality. As I understand, it's not entirely accurate, but the results can be fairly decent. Does the Live! line do anything specifically different?

As for the scaling and interpolation in my screenshots, since I used the Max option for the resolution in dgVoodoo, which just forces the highest available resolution based on the monitor's native one, like nearest neighbour upscaling in DOSBox, and the resampling options don't seem to affect this process (it's possible to choose between point sampled, bilinear, Lanczos, and bicubic; the advanced options can be accessed by right-clicking inside the control panel's window). I know that it causes an ‘uneven’ result, but I think the shader itself is applied to this resolution which the game is forced to work at. Using 2x nearest neighbour doesn't create an appreciably different result in my case due to resolution constraints, as you said.

I can run the game at its original resolution with bilinear or another resampling method and it does create a smoother image, but it's not very satisfactory either:

IppO0y9.png


xEesqfR.png


pNOhR78.png

2x resolution with bilinear or Lanczos resampling can produce a smoother result without blurring the image so much:

F1ikOwg.png


Orq4Swz.png
 
Last edited:

Rincewind

Magister
Patron
Joined
Feb 8, 2020
Messages
2,470
Location
down under
Codex+ Now Streaming!
Yes, I posted the screenshots hoping you'd comment on how they compare with the real thing.
Well, they don't compare very well... But it's a bit of a moot point for your specific case; you just have some hardware and want to get the best results out of it. I like your last two examples best ("2x resolution with bilinear or Lanczos resampling"), the rest are way too blurry. And nearest-neighbour is just too choppy, I'd never used that.

I don't think you're using exact 2x scaling, though, because those last two images are 1050px tall (should be 960px with 2x scaling). So I'd try "true" 2x scaling, then apply the CRT shader on top of that, and screw around with settings until the emulated CRT raster lines up with the 1280x960 image perfectly.

What compares relatively well is my Retina MacBook (3072x1920 res), on which 640x480 games can be emulated quite nicely, even at less than fullscreen in DOSBox Staging with some nice CRT shaders applied. It's a wide-gamut display, so even the colours come out nice, the vividness is similar to that of a CRT (but strictly at max brightness, and the black levels in a dark room are of course a problem). In any case, I'm quite happy with those results, but that only works for DOS games (but similar settings should be achievable in PCem with shaders, I just haven't tried it yet). On my 1080p IPS monitor that I use with my main PC, I'm just doing the "2x upscale, then dim every second scanline a bit" thing with a custom shader I wrote which is better than nothing but not exactly spectacular (again, only in DOSBox).

Hope that helps. Otherwise, stay tuned for the 2nd part of the article.

As for EAX, I do have a Creative card (Sound BlasterX AE-5) that comes with the ALchemy application that emulates the functionality. As I understand, it's not entirely accurate, but the results can be fairly decent. Does the Live! line do anything specifically different?
No idea, I've never done the comparison myself. Should be decent, though. My biggest problem with it is that not all EAX-ready games are supported by ALchemy, but for titles that are supported I've heard people are happy with it.

AFAIK you don't need a Creative card for ALchemy because it's 100% software emulation. On the SB Live! and Audigy models, the processing is done in hardware by the EMU101K DSP chip; that DSP processor is missing from more recent Creative cards as well (hence they wrote a software emulation for it, which actually should be decent, like I said — that was some old DSP).
 
Last edited:

schru

Arcane
Joined
Feb 27, 2015
Messages
1,132
Yes, I posted the screenshots hoping you'd comment on how they compare with the real thing.
I don't think you're using exact 2x scaling, though, because those last two images are 1050px tall (should be 960px with 2x scaling). So I'd try "true" 2x scaling, then apply the CRT shader on top of that, and screw around with settings until the emulated CRT raster lines up with the 1280x960 image perfectly.
Yes. I didn't want to go into too much detail, but dgVoodoo appears to have two separate stages of scaling the image. First there's the option to increase the resolution of the game (the scale of 2-D elements like user interface isn't affected by this, which is good) and then there's general screen scaling which can be unspecified, centred, or stretched, with a few options for the aspect ratio. The built-in C.R.T. shader is available only for the ‘stretched’ options, so in the end I just get my native resolution, regardless of the resolution I force the game to run at internally. However, the different resampling methods are factored in between that.

Seeing as that's the case, it's probably no use manipulating the shader that comes with dgVoodoo; a better result could probably be obtained with that scaling program, CNC-DDraw and some other shaders. In the end, the best solution would be to obtain a C.R.T. monitor, but for the time being it's not viable for me so I just content myself with compromises like these. Thanks for taking the time to respond at any rate.

As for EAX, I do have a Creative card (Sound BlasterX AE-5) that comes with the ALchemy application that emulates the functionality. As I understand, it's not entirely accurate, but the results can be fairly decent. Does the Live! line do anything specifically different?
No idea, I've never done the comparison myself. Should be decent, though. My biggest problem with it is that not all EAX-ready games are supported by ALchemy, but for titles that are supported I've heard people are happy with it.

AFAIK you don't need a Creative card for ALchemy because it's 100% software emulation. On the SB Live! and Audigy models, the processing is done in hardware by the EMU101K DSP chip; that DSP processor is missing from more recent Creative cards as well (hence they wrote a software emulation for it, which actually should be decent, like I said — that was some old DSP).
I thought there might be some restrictions to what hardware ALchemy can work with, but I suppose that makes sense. As for hardware processing on cards like Sound Blaster Live!, I assume that's only for pre-Vista systems, or can it be made to work on W10 or 11 too?
 

Rincewind

Magister
Patron
Joined
Feb 8, 2020
Messages
2,470
Location
down under
Codex+ Now Streaming!
The built-in C.R.T. shader is available only for the ‘stretched’ options, so in the end I just get my native resolution, regardless of the resolution I force the game to run at internally. However, the different resampling methods are factored in between that.
Lanczos + the CRT shader wasn't half bad, probably the best you'll get out of this solution of yours.

Just remembered an alternative to Lossless Scaling called Magpie. Haven't tried it myself yet (I intend to), but first of all, it's free, then secondly, it has some nice built-in CRT shader options (crt-geom and crt-easymode; those might be familiar to some from DOSBox). You might want to spend some time playing around with it, perhaps it will give you better results. I'm actually interested in your findings, please feel free to post them here.

https://github.com/Blinue/Magpie/blob/main/README_EN.md

I thought there might be some restrictions to what hardware ALchemy can work with, but I suppose that makes sense. As for hardware processing on cards like Sound Blaster Live!, I assume that's only for pre-Vista systems, or can it be made to work on W10 or 11 too?
I think Creative wanted to restrict its usage to cards bought from them, but then some crafty people started extracting the tool from their official installers or something. There's some discussion about it here, but as I'm not using, I haven't really dug into it:

https://community.pcgamingwiki.com/files/file/68-creative-alchemy/

Hmm, apparently it's not so good after all...

https://www.reddit.com/r/SoundBlasterOfficial/comments/x74zuq/eax_vs_alchemyopenal_and_ms_rant/

Every game i tried except for Thief Gold/2 and System Shock 2 doesn't even sound nearly as good as the original.

Emulated/Alchemy :

- Bad positional audio
- wrong volume levels
- wrong mixed effects and volume levels are off
- missing environmental effects and once more wrong volume levels.

The list goes on, nothing sounds like it should qand i tried it on many more computers over the years, every one of them sounds wrong with either Alchemy, openAL or openALSoft.

i wish there was a way to get the old audio quality back, to play old games correctly again without having to reinstall and use old hardware.
Not exactly a glowing review. Then he concludes:
I encourage everyone to rebuild an old XP pc with a dedicated soundblaster live/audigy/x-fi card and to replay these games. You'll be amazed at how much better they sound compared to todays games and 'emulation'.

I recently replayed Doom 3, Prey (2006), FEAR and now The Original Bioshock on XP, what a pleasure to hear how pristine they sound with proper hardware acceleration
Yes, that's my advice too. I have a Win98 PC and a WinXP PC, job done.

You can try and fool around with this alternative EAX emulation method, maybe it's better, but the guy was shitting all over them in the above comment as well, so...

https://github.com/kcat/dsoal
https://github.com/kcat/openal-soft
https://ci.appveyor.com/project/ChrisRobinson/dsoal

But I'm too old for this crap... I just bought 4 SB Live! cards and 2 Audigy 4s, that should hopefully last me until the day I die. A man's gotta have a few spares, hey!

As for hardware processing on cards like Sound Blaster Live!, I assume that's only for pre-Vista systems, or can it be made to work on W10 or 11 too?
Correct, they removed support for hardware accelerated positional audio from Vista onwards.
 

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