Best shader for emulating a GDM-FW900

Hello all:

What’s the best shader or set of shaders for emulating high-resolution PC games as if they were being played on a GDM-FW900 or similar VGA Trinitron monitor? I see endless content about PVMs but almost none about VGA monitors.

A shader that just adds a Trinitron mask without any filter or anything and run on 1440p/4K monitor perhaps? More or less what you would get there. And which are these “high resolution PC games”?

1 Like

As someone who daily drove an FW900 for 15 years: you are chasing a dragon that current technology will never allow you to catch.

Get a nice modern OLED display, ideally with 120hz black frame insertion, and enjoy the modern equivalent.

Such modern displays have advantages and disadvantages compared to an FW900 (more advantages than disadvantages if we are being honest with ourselves), but those disadvantages make it impossible to actually replicate that experience.

(Megatron can get close for 720p games with the right setup at 4K. 8K might be enough. 16K surely would be. But for higher resolutions? With how badly 8K displays have sold thus far, i’m not sure we will ever have the resolution…)

1 Like

at least shaders simulate eye strain perfectly, especially at 60 hz

What era of PC games are you talking about? Early 2000s? What emulator are you using? Are you running everything at the same resolution or need multiple resolution support?

He forgot to mention that’s a 22" SONY 2304x1440 @ 80Hz (max 160hz) monitor. Assuming you use 3 pixels for R,G,B stripes you’ll need 6912x4320 and it won’t be fully accurate lol

I think I may not have formulated my question quite right; I will rephrase. I’m really asking something a bit simpler. I was using the GDM-FW900 just as an example rather than seeking to perfectly emulate that exact monitor. What I’m really asking is, suppose I want to emulate a typical 19"-21" consumer monitor from the late 1990s-early 2000s era on which one might have played Windows 98/XP games. Many of these were Trinitrons and you might typically have played at, say, 1600x1200 rather than 240p, so the ideal settings are going to be presumably be different than usual advice for emulating say a SNES on a PVM. I’m interested in that class of shaders generically, rather than trying to perfectly emulate all of the characteristics of a GSM-FW900 specifically.

1 Like

At least 120hz, black frame insertion (and lots of brightness headroom to make up for that) and a hires grid of scanlines + mask will get you pretty close. A little bit of very small radius halation/bloom would probably help too :slight_smile:

Shaders like Guest’s or Megatron can be tweaked, probably anything that has the necessary Trinitron masks, sharpness and scanline settings…but the host displays are still a limitation.

Still, a relatively simple option you could try is Geom. Disable interlace + increase sharpness/mask strength/tweak scanline weight as necessary (higher res=less scanlines). If you’re below 4k, I wouldn’t use a mask with your requirement.

I do have a 240 Hz OLED so I’m covered on display and BFI. Any specific settings recommendations or masks/presets I should try? Which shaders have the right kinds of Trinitron scanlines and mask? I do use Geom, I’ve always liked it for consumer TVs.

1 Like

In the 90s and 2000s most people didn’t have 1600x1200 monitors. Those were limited to the professionals. There were monitors that you could drive to 1600x1200, but they work well at that size. Not enough dot pitch, flickering, and saggy geometry was the result.

Most people were running 1024x768 desktop, or 800x600 if they were using a smaller monitor. Games couldn’t run at 1600x1200 (consider most people still run games at 1080p to this day). We usually ran 3D games at 640x480 or 800x600, depending on hardware. Sometimes you still had to run at 320x240. 2D games could be higher, but most had a hard cap of 1024x768 (Peggle was locked to 800x600, The Sims was 800x600 or 1024x768, RCT was 640x480, 800x600, or 1024x768). Only a few old games that ran on desktop, like SimCity 2000, could have worked at 1600x1200.

You need at least 3x horizontal resolution to get good results from a mask shader, but more is better. So that’s 3072 pixels wide for 1024x768. You have to scale down your horizontal display resolution by 4/3 to get the equivalent in 4:3, so 4K wouldn’t be enough. You also need a very bright monitor.

You can run without a mask, scanlines only, which is what I do (at least until I get HDR working…). If you are running an actual Windows 98 emulation in something like DOSBox-X or 86Box, the xga2 preset in Scanline Classic works well because it will handle any resolution from 640x480 to 1024x768 without line doubling. Mask is off by default. If you use the sxga preset you can go higher resolution but 640x480 will be line-doubled. To look more like a Trinitron, set Deflection angle and Screen angle to 0 or very low, as they looked almost flat. Increase focus to 0.5 (they were sharper). Optionally choose one of the aperture grille subpixel masks (look in src/subpixel_mask.h).

https://github.com/anikom15/scanline-classic/blob/master/sxga.slangp

If you don’t need to worry about resolution changes, you can use another shader.

1 Like

Maybe try this preset and tweak it to your tastes. I’m using it right now with DOSBox Pure and it’s not accurate, but a lot of fun. Just adjust the mask size and zoom to your res.

2 Likes

You have many options! Haha probably too many right? Do you have any previous experience with CRT shaders?

Lots of good advice coming from @anikom15 btw

Tons. But in my old age it’s precisely those endless options which are giving me difficulty in which of those thousands of shaders is closest to what I’m looking for. The paralysis of choice. In the “good old days” there were so few shaders (relative to now anyway)!

@CaptainKoloth yeah with the geom comment I should have deduced you have experience, my bad :slight_smile:

Well don’t worry too much about the mask being “Trinitron”, that’s just a cool name for an aperture grill (and the term amazingly still sells 30 years later!). Regarding resolution, @anikom15 comment is technically accurate, but I think you can get away with 2x horizontal resolution for the mask no problem, even when pixel peeping (with human eyes). Mathematically not enough, but perceptually fine I’m sure.

You have to bear in mind that the lower the “crt resolution” you want to replicate, the more noticeable the effect will be. If you go for something like 1600x1200 you won’t see a lot of it. 640x480 or even 800x600 on the other hand will look like a hires tv (which is pretty cool btw and makes 6th gen consoles shine, but probably not the look you want). I would start with something like 1024x768 or 1280x960 (which is a nice 2x horizontal fit for a 1440p monitor).

And even though you can get where you want with tons of different shaders, I would suggest guest-advanced, since it has all the features and controls that you need and then some. Don’t forget that small radius halation and a bit of magic bloom! They will make the highlights look way more organic and “analog”.

1 Like

This was if anything even more of a thing than you are suggesting. Like, scanlines are completely invisible on an FW900 at 800x600 or higher. The image just looks “transparent”, but less harsh than a fixed pixel display at lower resolutions.

You can only barely see the scanlines at 480p with the naked eye when you get your face about as close to the display as you possibly can, and that’s if your eyes are even capable of focusing that close. (I’m honestly not sure if mine can focus that close anymore even. I know I was an edge case for ever being able to do that as an adult, and that was years ago now.)

Megatron at integer scaled 480p on a 4K display (so 4x to 1920p) is actually pretty close to the way it looked on the vertical, but the horizontal is of course more diffuse at the 600 TVL setting.

2 Likes

Well I don’t have any experience with the FW900, but you know your onions so I will take your word for it.

Regardless, you probably agree with me on the fact that if someone wants to try and replicate the look of a CRT computer monitor with shaders, they don’t want to go with low resolutions like 480 or high ones like 1200, and that the sweet spot is likely around 768 or 960.

(btw I can focus superclose, the one and only cool thing about myopia. I use this “superpower” to pixel peep shader presets all the time, looking no doubt like an absolute weirdo in the process)

1 Like

Since my personal experience seems to be of relevance to what OP is trying to capture here, I will share a bit more about how i used my FW900 when I got it in 2007 until i replaced it with my current display in 2022:

I used 1920x1200@85hz as my daily driver desktop resolution.

I played WoW at the time, and I often used that same resolution for ease of alt tabbing.

However, the FW900 couldn’t support 120hz at 1920x1200, 1920x1080, or 1600x1200, so I used non-standard resolutions for 3D games that I wanted to play at 120hz. 1680x945 for 16:9, 1504x940 for 16:10, and 1264x948 for 4:3. Sometimes, those resolutions would cause issues for one reason or another, and i would fall back to standard resolutions like 1440x900, 1280x720, and 1024x768.

And as @anikom15 mentioned, 2D games were often resolution locked to 640x480, 800x600, or 1024x768, which the FW900 could of course swap to without issue.

The FW900 could also run 1024x768 and below at 140hz, which was lovely for DOS games that ran at low framerates in a 70hz container.

I use an LG C1 now, and while i sometimes miss the flexibility the FW900 offered (and how damn good it made games look at those weird almost-1080p resolutions with 8xMSAA), modern 4K OLEDs are, on the whole, a better, much less fiddly experience.

My recommendation remains the same: don’t chase a dragon you will never catch. The current tech just isn’t there, no matter how much money you spend. As @DariusG pointed out, these high end later day Trinitrons had an absolute bonkers TVL. Somewhere in the 1400-1600 range or something absolutely ludicrous like that.

Just get a nice, high refresh rate OLED with 120hz BFI, get it calibrated, run everything at integer scale, and you’ll get about as close as you are going to get, with some things even being better. There is no point trying to simulate things like phosphor masks or aperture grille damping wires for these higher resolutions. We are in a golden age of relatively affordable display quality. Don’t lose sight of the forest for the trees.

1 Like

Having come directly from the FW900 to an OLED, i honestly don’t even think there is a point to trying to simulate a CRT for anything beyond 480p. Match gamma and gamut? Definitely. But the rest was, effectively, nearly transparent.

Coke bottle glasses gang for the win! xD

Again. no experience with the mighty FW900, but I can see 800x600 scanlines on computer CRTs, and I “feel” them at higher resolutions. The effect is pretty cool. I run xenia and rpcs3 with crt-hyllian via reshade for that reason. Tiny scanlines + mask + halation makes those 720p games look very similar to my defunct 32", two metric ton HD-CRT, which my x360 loved.

lol yay!

And @Azurfel I have a C1 too, 65", and as much as I love it I wouldn’t recommend buying one (or something similar) to someone that asks about running a shader experiment. Comes off as a bit callous. He knows he isn’t getting a free FW900, I don’t think that was ever the point.