VOGONS


No CRT Emulation? Why!?

Topic actions

Reply 100 of 132, by Azarien

User metadata
Rank Oldbie
Rank
Oldbie

What about... VR googles with 3D model of your childhood's room, with your old PC and monitor in it?
And occasional voice of mom calling for dinner. And maybe also other disturbances like neighbor's power drill, lawn mower etc. - depending on where you lived - for full experience.
😁

Reply 101 of 132, by vladstamate

User metadata
Rank Oldbie
Rank
Oldbie

Hmm, actually you might be joking but I am not far from getting that working. I already have a simple VR rendering using ViveSDK (and Unity). It can use Vive controller, move around, render, etc. I just need to couple that with a texture being read from an emulator and we did it. Ready Player One!
I like this idea. I might focus my programming skills at finishing it.

YouTube channel: https://www.youtube.com/channel/UC7HbC_nq8t1S9l7qGYL0mTA
Collection: http://www.digiloguemuseum.com/index.html
Emulator: https://sites.google.com/site/capex86/
Raytracer: https://sites.google.com/site/opaqueraytracer/

Reply 102 of 132, by olddos25

User metadata
Rank Member
Rank
Member

I personally do not think it is worth the time.

Just another user that likes old OSes and videogames, nothing interesting to see here...
Other places to find me:
DraStic: http://drastic-ds.com (as dsattorney)

Reply 105 of 132, by Mr_Blastman

User metadata
Rank Member
Rank
Member

Been a while since posting my progress...

Properly emulating a mid-1980s RGB CRT is challenging. These displays had a very poor dot pitch, often .38 - .66, but had many interesting characteristics that dramatically enhanced 320x200 resolution or lower DOS games. A VGA or EGA display of that era looked worse. Sure, they were sharper, but they weren't visually powerful, either, unlike the RGB displays, and this is a big reason why RGB tubes were used in arcade machines of the time. They simply looked better.

These screenshots were taken from within Retroarch using their screenshot function, so the entire border was not captured, but believe me, when I'm playing DOS games it feels like I'm sitting in front of a full machine, as I have an overlay of the monitor, desktop and room with the dosbox window in the middle--or wherever I would want it, depending on the overlay I use. Refer to my older screenshots in this thread for comparison, but I think I'm getting close now to what a true old-era RGB monitor should look like:

UbUswyV.png

zWal1zn.png

BbebMXD.png

Here's the overlay playing a VGA game:

UDxYgBE.jpg

This is done using Retroarch's 32-bit Dosbox core version 1.7.3(64-bit core doesn't work with external midi devices for some reason, nor MUNT) and many customizations to some shaders. I'm willing to share if anyone wants to give a try:

https://mega.nz/file/aNk0SRpJ#EhD0V6WIlRiodkb … umPCssvPb_kAER0

You drop that into Retroarch and then go from there. This isn't for a Retroarch noob to simply install and run--knowledge is required here of both Retroarch and Dosbox.

Basically, the gist is you put a batch file in your Dos directory named "poo.bat" or whatever you want to name it--I have one for VGA/EGA dos games and another for Tandy ones(because they use different mode settings in Dosbox options), and then Retroarch will call up the .cfg file in the /config/DOSBox subfolder which contains instructions on what shaders to use and how to resize the screen to fit within the overlay. So you copy those contents into the new config for whatever new .bat you make and it will launch into the DOSBox environment. You then navigate in dos via the command line to launch whatever in the sandboxed DOS subdirectory that has all your games.

One of my Retroarch config files also completely scrubs the keyboard of hotkeys within Retroarch itself so you can type and use the function keys(with the exception of F11 in mine which exits but I may change and F1).

The RGB emulation still isn't perfect, but it is getting close! I'm not satisfied with a little bit of bright pixel spots in the dark areas but note that the screenshots aren't 100% accurate because I am emulating the full 60 hz refresh rate which means there are two scanline passes for each frame, odd/even, so when I capture a screenshot it isn't capturing both passes in the shot.

You MUST run Retroarch in fullscreen mode. Borderless window will NOT work with RGB emulation because your framerate will drop to 59.xx instead of a solid 60 hz, which produces a staggered delay and induces jitter in the image.

I'd like to get this working on the newer Retroarch versions but the last time I tried to port to 1.9x was a nightmare because it wasn't accepting the .cfg parameters for image size to fit within the overlay bezel, among other issues. It became too much of a pain to bother with.

Last edited by Mr_Blastman on 2021-10-07, 22:02. Edited 1 time in total.

Reply 106 of 132, by Yushatak

User metadata
Rank Member
Rank
Member

That looks amazing. I just happened to pop onto VOGONS after ages of inactivity and see this thread which I was OP on with a fresh update, wow!

Between all the things that have been posted since I posted the OP, we've made a lot of progress on this front. Most of the emulation attempts that have been made, though, seem to emulate either TVs or older monitors, which I admit is most of what needs doing. On more configurable shaders perhaps they can be toned down to emulate the later CRTs as well.

It was cool to catch up on 10 years of posts and progress just now.. xD

And I do have to comment, the number of people who posted here just to say "haha I think LCDs are better" and "you're hurting your eyes on purpose 🤣" and such things.. Why come to a post about a thing you don't care about just to add discouraging and distracting fluff to it? That's rude, I hope those of you who did that have moved on from that sort of behavior.

Reply 107 of 132, by Jo22

User metadata
Rank l33t++
Rank
l33t++

I think the same. 🙂👍

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 108 of 132, by retardware

User metadata
Rank Oldbie
Rank
Oldbie
Mr_Blastman wrote on 2021-10-06, 19:35:

... why RGB tubes were used in arcade machines of the time. They simply looked better.

These were normal quality tubes (not the short-life thin cathode variant), just with focus turned not too sharp, so that the "scanlines" were barely recognizable, and definitely not as obtrusive like when wiewing a 480 line mode on a multisync CRT focused for a 1024 line mode.

(This was one of the reasons why the MDA was so ergonomic, in the sense of little eye strain, as the letters were coherent, and no pixel agglomeration).
So my personal opinion is that the approach of displaying empty "scanlines" for the sake of "authenticity" is completely misguided.

Reply 109 of 132, by Mr_Blastman

User metadata
Rank Member
Rank
Member
retardware wrote on 2021-10-07, 00:16:
These were normal quality tubes (not the short-life thin cathode variant), just with focus turned not too sharp, so that the "sc […]
Show full quote
Mr_Blastman wrote on 2021-10-06, 19:35:

... why RGB tubes were used in arcade machines of the time. They simply looked better.

These were normal quality tubes (not the short-life thin cathode variant), just with focus turned not too sharp, so that the "scanlines" were barely recognizable, and definitely not as obtrusive like when wiewing a 480 line mode on a multisync CRT focused for a 1024 line mode.

(This was one of the reasons why the MDA was so ergonomic, in the sense of little eye strain, as the letters were coherent, and no pixel agglomeration).
So my personal opinion is that the approach of displaying empty "scanlines" for the sake of "authenticity" is completely misguided.

Yeah scanlines alone doesn't cut it. I remember some early 90s high end arcade machines running Street Fighter 3 and some Neo Geo machines with visible scanlines, but these were rare. Most machines of the era had many other effects that were noticeable but the scanlines were not.

Reply 110 of 132, by BitWrangler

User metadata
Rank l33t
Rank
l33t

Well it's like them pirate treasure maps soaked in tea with the edges singed... it looks more authentic than the real thing.

Unicorn herding operations are proceeding, but all the totes of hens teeth and barrels of rocking horse poop give them plenty of hiding spots.

Reply 112 of 132, by Mr_Blastman

User metadata
Rank Member
Rank
Member
awgamer wrote on 2021-10-07, 03:41:

> often .38 - .66,

Eh, what? multisync monitors I ever had were .28-.31 like the first nec multisyncs. https://crtdatabase.com/crts/nec/nec-jc-1401p3a

The Tandy CM-5 monitor I have is .64 dot pitch, same as the one I had when I was a kid.

Reply 114 of 132, by Jo22

User metadata
Rank l33t++
Rank
l33t++
Mr_Blastman wrote on 2021-10-07, 02:17:
retardware wrote on 2021-10-07, 00:16:
These were normal quality tubes (not the short-life thin cathode variant), just with focus turned not too sharp, so that the "sc […]
Show full quote
Mr_Blastman wrote on 2021-10-06, 19:35:

... why RGB tubes were used in arcade machines of the time. They simply looked better.

These were normal quality tubes (not the short-life thin cathode variant), just with focus turned not too sharp, so that the "scanlines" were barely recognizable, and definitely not as obtrusive like when wiewing a 480 line mode on a multisync CRT focused for a 1024 line mode.

(This was one of the reasons why the MDA was so ergonomic, in the sense of little eye strain, as the letters were coherent, and no pixel agglomeration).
So my personal opinion is that the approach of displaying empty "scanlines" for the sake of "authenticity" is completely misguided.

Yeah scanlines alone doesn't cut it. I remember some early 90s high end arcade machines running Street Fighter 3 and some Neo Geo machines with visible scanlines, but these were rare. Most machines of the era had many other effects that were noticeable but the scanlines were not.

Not in former East Germany, though. "Arcade" machines like the Poly Play used modified (?) TV sets. 😉

https://en.wikipedia.org/wiki/Poly-Play
http://www.polyplay.de/
https://www.radiomuseum.org/r/ferns_st9_colormat_4506.html

"Time, it seems, doesn't flow. For some it's fast, for some it's slow.
In what to one race is no time at all, another race can rise and fall..." - The Minstrel

//My video channel//

Reply 116 of 132, by Mr_Blastman

User metadata
Rank Member
Rank
Member
Azarien wrote on 2021-10-07, 17:05:

For me the screenshots above have the "spherical" effect way too strong. Real CRTs (those that are not flat) do not look that much distorted.

Depends on the tube and their size. My 12 inch RGB tube is quite curved, but many of the later ones(early 90s and on) could adjust pincushion settings to remove much of the curvature.

I'm wrestling with a limitation of the shader I'm using for RGB. For some reason it isn't reducing beyond a certain point so I can choose between flat and curved. Flat looks decent enough, but for mid-80s accuracy, there has to be some degree because we didn't have displays without at the time. I'll have to fire up my Tandy today to take another look.

I do feel though that the effect is a bit too strong, though.

For VGA, though, it feels pretty good--that I can adjust more.

Reply 117 of 132, by Mr_Blastman

User metadata
Rank Member
Rank
Member

Okay, I reduced the curvature somewhat. Unfortunately when I record video it introduces jitter into the recording. On my screen when playing there is none:

https://youtu.be/nhL8ObiFicM

The quality takes about 15 seconds to clear up once starting play, too.

Reply 118 of 132, by Yushatak

User metadata
Rank Member
Rank
Member
Mr_Blastman wrote on 2021-10-07, 17:21:
Azarien wrote on 2021-10-07, 17:05:

For me the screenshots above have the "spherical" effect way too strong. Real CRTs (those that are not flat) do not look that much distorted.

Depends on the tube and their size. My 12 inch RGB tube is quite curved, but many of the later ones(early 90s and on) could adjust pincushion settings to remove much of the curvature.

This is why I think it's imperative to have these things tweakable in a shader, as well as the scanline size and presence, and other things. Everyone has the CRTs they grew up with or used frequently and many differ from one another by era, brand, type, etc..

One of the screens I'd like to emulate is the 14" CRT in my Presario 433 - it's a shadow mask VGA CRT that IIRC tops out at 1024x768 normally. You can see the scanlines if you're sitting close but they're small and subtle unless you look for them. More noticeable are the curvature (a bit more subtle than the above examples) and the way the phosphors glow more than the images on an LCD appear to (much like the above, though perhaps less).

The important thing is we emulate all of these aspects and then people can make configuration sets for different real screens (or imagined ones, we're not constrained here).

One of the things I'd like to see that I have yet to is black frame insertion and/or better yet, actual scan pattern emulation rather than just artificial scanlines. It'd require a much faster refresh rate than your typical 60hz LCD to do this, but luckily since I posted the OP we've come a long way in refresh rates and aren't going back anytime soon, so many LCDs could display that just fine for an emulated refresh rate of 60, 70, 72, 75, 80, 85.. There were sometimes higher refreshes than that but those were the ones I grew up with primarily.

Reply 119 of 132, by Mr_Blastman

User metadata
Rank Member
Rank
Member

Retroarch lets you tweak as many parameters as the shader defines that you can and even on the fly within a submenu, which is nice. Stuff such as scanline thickness and size are tweakable in some shaders or multipass shader stacks.