New CRT shader from Guest + CRT Guest Advanced updates

You need to set the 10th pass float framebuffer to “true”. It’s an issue with older presets and new shader files.

2 Likes

lol, what happened :joy:

starting from scratch with my installation…

1 Like

What’s wrong with https://github.com/realnc/dosbox-core :stuck_out_tongue: You can use the guest advanced HD shader with that:

3 Likes

Thanks for the tip. Well, I don’t think anything is wrong with it if it suits your needs :slight_smile: I personally strongly prefer regular standalone emulators for a variety of reasons (much easier to tweak things by writing configs, for a start), and I only use them sitting in front of my PC monitor, so I wouldn’t benefit much from RetroArch anyway (except for the advanced shader support, yes, that’s the only thing, everything else about it is however a drawback to me). DOSBox Staging has a number of improvements over DOSBox SVN – for example the patch I contributed to it that restricts the output in fullscreen to a smaller area (I prefer to have the physical dimensions of the image match that of a 14/15" CRT). There’s lots of little things like that, but I get it, not everybody likes to tweak things to the last minute detail.

Having said that, that VGA preset of yours looks quite nice, indeed! Although when I scale it down to 1120x840 or 1024x768 (this is how I play VGA games), most of the effect is lost. I’d also dial the bloom back quite a bit, I don’t think VGA monitors from the early/mid-90s had this much bloom.

1 Like

CRT shaders benefit from more pixels. Especially when you’re trying to emulate VGA resolutions. I would say it’s pretty much impossible to get any sort of convincing CRT effect with 840 lines. Even 1080p has issues. 3 LCD lines per 1 CRT line is about the minimum you can get away with. So for 640x400 VGA, that means 1200p, and for 640x480 it’s 1440p.

As a side note, dosbox-core supports conf files now and it syncs them with the core options :wink: You create a .conf file for your game, and then simply add that conf file to your retroarch DOS playlist. For example, here is Ultima VII.conf:

[dos]
xms = true
ems = false
umb = false

[cpu]
cycles = fixed 15000

[autoexec]
@echo off
mount c drive_c
mixer sb 50:50 /noshow
c:
cd ultima71
ultima7.com
exit

You can then add that file to your playlist and also download some thumbnails for it:

Any conf options you specify will then be respected by the core options UI and appear “[Locked]”:

If you really can’t live without making the screen smaller, you can then reduce the image size in the shader. guest-advanced-hd has overscan settings. You can reduce X and Y overscan to negative values, which will shrink the image. Or you can do that through retroarch itself (Settings->Video->Scaling.)

Btw, I’m not saying that this is better than using a stand-alone dosbox. Just saying that you can do things you may not have been aware of :slight_smile:

2 Likes

Well, my experience says it’s very much possible :slight_smile: Check my screenshots a few posts above; the EGA shots are 1024x768 (x3.2, aspect-ratio corrected) and the Amiga ones 1120*896 (x3.5). I really like those results. Admittedly, I’m not fan of very strong scanlines (neither my Amiga nor VGA monitor had them). Even the high-res 640x350 EGA examples are quite nice in my opinion; all I need is a subtle hint of scanlines, and my eyesight won’t get any better after 40, so… :wink:

Btw, I really liked your VGA/SVGA results in this other thread. But when I resized them to my “preferred resolutions”, only a slight glow fx and some blurred pixel grid overlay remained. So I tried to recreate that subtle effect with crt-easymode today, and it’s not half bad. Just to give the large solidly filled areas a little bit of texture. Some examples at 960x720 and 1120x840, respectively. (I use 960x720 quite often with oldschool RPGs because then I have my game window at the left half of the screen, and the other half is occupied by my mapping tool.)

Good to know, and I appreciate the heads up! It’s great to have so many options these days, so everybody can find something that suits their needs and quirky personalities (in my case, haha). Have a good one!

EDIT: Actually, I’ve changed my mind and I now don’t like my VGA attempt, after all… You just can’t simulate a VGA CRT at this resolution, best to stick to raw pixels. Well, that went quickly! :stuck_out_tongue:

2 Likes

Not that this maybe your thing but I really like just plain ‘integer scaled’ scanlines at low resolutions. This I seem to remember is what Snes9X on Windows had back in the late 90’s. You might try scanlines\integer-scaling-scanlines.slangp it’s a super simple shader and you’ll need integer scaling on in Settings->Video->Scaling. I know you don’t want to use RA but this shader is so simple you can very easily port it even into CPU code for a particular emulator as snes9X had. As I say it may not be your thing though.

2 Likes

@Rincewind that’s a few nice looking screenshots with the subtle scanlines, well done.

Many of the retroarch cores have really come up to par with the standalone emulators in the past few years.

Did you try the P-UAE libretro core for Amiga? It’s quite neat if you get to grips with the many options this core provides in its options menu and sonninos has really been making this a worthy contender.

Also with regards to DOSBOX, I would really suggest you try the DOSBOX-Pure libretro core. It’s maintained by someone who really knows what he’s doing and has many features that go way ahead of the standalone version (think proper v-sync support!)

For these cores you could simply apply the things RealNC already mentioned, e.g. set scaling to 3.5 times in RA video options and, last but not least, apply guest.r latest shader on it.

I see where you’re coming from with the subtle scanlines approach, maybe it’s a thing that has to do with the difference between PAL and NTSC mode on monitors, the scanlines used to be much more subtle for PAL. I’m sure these could be replicated in RA and maybe a bit more. And as you noticed guest.r is quite frequently here and always willing to listen and improve things.

3 Likes

I think the scanline thing has more to do with Consumer set vs computer monitor than NTSC vs PAL. ( I do agree that NTSC vs PAL scanlines are probably different)

As usually I can notice scanlines on most consumer sets, but it’s nigh impossible to see my scanlines on my actual CRT monitors.

1 Like

Amiga monitors are different. They support 15khz input, where progressive scan leaves every other scanline empty. VGA monitors only support 31khz input or higher. Low resolutions are line-doubled, and thus all scanlines appear filled.

This is a CRT monitor without line-doubling (the 31khz requirement is reached though horizontal res increase):

This is basically how an Amiga monitor works with low-res content.

This is the same monitor but with line-doubling, which is how VGA monitors are driven:

So as you can see, there can’t ever be black scanlines in 320x200 or 320x240 DOS games on a CRT monitor. But there will be with Amiga games on a 15khz monitor.

6 Likes

Cheers, I’ve gone full OCD with this in the last couple of days! :sunglasses:

Haven’t tried any cores, just launched RetroArch, then uninstalled after 5 minutes because it gave me MAME flashbacks (very shallow, I know…) I think I’ll mess around a bit with these DOSBox cores just to give these new shaders a go. I’m perfectly happy with Guest’s old WinUAE shaders, and I just love WinUAE, so there’s very little incentive for me to switch to any other Amiga emulator. Beamracing vsync works like a dream, and I have a highly customised setup (like every WinUAE user, I’m sure). Ideally, I’d like to apply TV shaders to my ZX Spectrum emulator and a few others like GSPlus, WinAPE, etc. that support only very rudimentary scanline “emulation” (e.g. darken every second line… ugh), so if anything, I’m more interested in how those fare on RetroArch.

Btw, can this thing be used from the command line using scripts if I don’t care about the media player like UI?

Good observation, I used to use PAL modes on my Amiga 99% of the time, then moved on to a VGA PC. I had a later revision Amiga 500 that could be soft-switched into NTSC and my monitor supported it too. Tried it a few times with games that only used the upper 200 rows of the screen, but didn’t like the stretching effect – the scanlines became quite visible, indeed! I didn’t realise it back then that I was playing all those US made titles with the wrong aspect ratio, oh well…

Anyhow, here are two screens from the legendary Jim Sachs, now with NTSC-stretch. The scanlines are more visible, although still quite tame compared to what I can regularly see being posted here.

2 Likes

762327

For real, tho: use whatever floats your boat. WinUAE’s beamracing is indeed some hot shit.

Ultimately, at low output multipliers, even fancy shaders kinda just turn into subtle integer-scale scanlines (in best-case scenarios; sometimes they look worse than that), but you’ll be able to have more fun with low-res 240p/200p stuff as you mentioned.

2 Likes

Ooops, didn’t realize we were talking about Amiga monitors specifically, and did not know that info, so thanks for letting me know.

I do think the rest of my comment was reasonable tho, as we are discussing 15khz vs 31khz signals. (basically)

Yes sure you can!

Just type “Retroarch -help” in the command prompt and it’ll show all the options.

So for example loading a core with a specific config file and game you would start the following when in the the retroarch folder (example snes game):

Retroarch.exe -L "cores\mesen-s_libretro.dll" -c "config\mesen-s_libretro.cfg" "path\to\game.rom"

Mind you there is a learning curve with RA, one thing to remember is to enable save config on exit when in Retroarch and it’ll update the config with your setting changes such that it gets loaded again with the changed options next time.

I’m using Launchbox myself and can really recommend it as it makes managing your games library and various emulators much easier. Once properly setup you can even right click on games and choose by which emulator the game should be started. It also automates the proces of automatically downloading game Box images from the Launchbox database when “importing” games etc.

For getting to grips with the core options for the more “complicated” systems it’s best to visit the specific libretro git repository which many of them have extensive README.md if you scroll down. Like te one I linked for Dosbox-pure. If you would like to try the PUAE core a good starting point is the https://github.com/libretro/libretro-uae page, which is very extensive in its explanation.

3 Likes

What Media Player like UI? You know you can change the Menu driver right?

Try the Ozone Menu driver.

Cheers, that’s was informative! I just have my own system for organising emulators & games on the filesystem per platform, not too keen to change that or reimport half my games into RA. Looks like there’s hope though.

Whatever the current default is looks like the UI of my Raspberry PI mediaplayer (LibreELEC) :wink: Too consolised, too much animation. Anyway, probably a non-issue if I’m gonna use it via the command line anyway, eventually. The basic RGUI looks fine if I’ll need the UI, simple, fast, effective.

For the record, my GUI-ideals are along these lines :wink:

2 Likes

Just -L mesen-s works fine. You don’t need the full filename of the DLL or its path. (This feature got added a couple months ago.)

3 Likes

That’s a super neat tool, thanks for sharing (and to the author of shaderglass for creating it).

It could be worthwhile to update guest advanced in the RA repository, such that if shaderglass resyncs it will include guest’s updates from the last 8 months (too many to name :slight_smile: )

1 Like

New Release Version (2022-04-05-r1):

Notable changes:

  • another mask added: RRGGBBX for 4k+ setups
  • mask strength parameter has a smaller step now
  • increased overscan parameter range
  • some very small changes
  • existing recent presets shouldn’t be affected by the introduced changes

Download link:

https://mega.nz/file/QtgylYwB#BwdlfAch7hzE0b7nYurNTMZdhezk_CUO3bcU8bz-yWY

14 Likes

Setting aside any color/brightness issues, can someone please explain to me why this looks so clean? As I understand it, GDV-NTSC is basically just adding NTSC Adaptive to GDV, right?

Why am I having such a hard time getting GDV-NTSC to look similar, with clean edges and natural beam width variation? The white text on the blue background in SMB is killing me.

Megatron NTSC preset with a couple tweaks for 1080p.

1 Like