VGA Output, Scalers, and CRTs
VGA Output, Scalers, and CRTs
It looks like VGA output is only supported if it goes through the scaler. This means no way to have the monitor itself match the resolution of whatever software is running. This is really only important to people like me who are trying to get it working on a real CRT. The benefit of a CRT for me is that it'll natively display whatever resolution the game originally ran at, which is fantastic to avoid scaling artifacts. Using the scaler means the CRT is running at a fixed resolution, and the output is scaled to match.
In previous releases of the core, I was able to use native VGA, but the image was shaky and had sync problems, which increasing the core speed would improve (but not completely solve.) The latest core no longer displays anything over VGA unless I use a scaler.
I can understand why, since the vast majority of people are using modern monitors, and apparently the VGA timings are really trick. Still, I'd love to see true VGA output come to the core eventually.
Speaking of scalers, I've been playing with some custom resolutions to get it to work the best. I've noticed that even when the scaler is working at a resolution that should match up to the "native" output (either 1:1 or 2:1), there are still scaling artifacts. For instance, a custom mode of 720x400 looks perfect for text, except for a vertical line missing every so often.
(look at the first "O" in the directory name.)
640x400 looks good in Doom (320x200) but there are still scaling artifacts (I have to look a bit to see them, since the nature of Doom's graphics hide them. They're most obvious in text.)
Here's my ini lines for 640x400 and 720x400 if anybody else wants to play with them.
video_mode=640,24,96,40,400,9,2,39,25175; 640x400 (Good for 320x200 games)
video_mode=720,32,120,32,400,7,6,8,32470; 720x400 (Good for text)
I imagine 320x240 games (Epic Pinball, I believe) would work best with 640x480.
I plan on continuing to experiment with what looks best on a CRT but right now I think a modern display is actually better suited due to the wild number of resolutions you may run into (720x400 for text, 320x200 and 320x240 for VGA games, 640x480 and 800x600 for Windows, etc.) and the ability of the scaler to look better working at 1080p.
(I care about text because I still BBS. ANSI art on a CRT is a thing of beauty.)
- Caldor
- Top Contributor
- Posts: 930
- Joined: Sat Jul 25, 2020 11:20 am
- Has thanked: 112 times
- Been thanked: 111 times
Re: VGA Output, Scalers, and CRTs
Re: VGA Output, Scalers, and CRTs
Yeah - I love using my MiSTer with CRTs. The lack of shimmering during scrolling, the native resolution, etc. is beautiful. While I imagine there's a small number of people using it with CRT televisions, an even smaller number of people using it with VGA Monitors with scandoubling, there's probably only a handful of us trying to use it in this particular use case.Caldor wrote: ↑Sun Aug 16, 2020 7:07 pm Yeah, I have been hoping to do this as well... with the scaler it seems a bit pointless to use a CRT monitor I think. I did get VGA working with the variable refresh rate, but anything using SVGA would not work at all. But that was Cache 24 or something last time I tried using a CRT.
(My VGA Monitor with scandoubling is stunning for console games, btw. It's like having a PVM except not expensive. And it does 50Hz for Minimig.)
- Caldor
- Top Contributor
- Posts: 930
- Joined: Sat Jul 25, 2020 11:20 am
- Has thanked: 112 times
- Been thanked: 111 times
Re: VGA Output, Scalers, and CRTs
Its one of the real benefits of using an FPGA for these systems I think... but a lot have happened with the AO486 core over the last month or so with the cache updates. Its amazing how capable the developers are, and of course its better to have a working VGA output than no VGA output. But I do hope to see it working in the future.deepthaw wrote: ↑Sun Aug 16, 2020 7:12 pmYeah - I love using my MiSTer with CRTs. The lack of shimmering during scrolling, the native resolution, etc. is beautiful. While I imagine there's a small number of people using it with CRT televisions, an even smaller number of people using it with VGA Monitors with scandoubling, there's probably only a handful of us trying to use it in this particular use case.Caldor wrote: ↑Sun Aug 16, 2020 7:07 pm Yeah, I have been hoping to do this as well... with the scaler it seems a bit pointless to use a CRT monitor I think. I did get VGA working with the variable refresh rate, but anything using SVGA would not work at all. But that was Cache 24 or something last time I tried using a CRT.
(My VGA Monitor with scandoubling is stunning for console games, btw. It's like having a PVM except not expensive.)
I have been looking a bit into FPGA development, and... well it does not seem much like the type of coding I usually do, but I think I will keep experimenting a bit and see if maybe I can get some simple stuff to work, to help me figure out the logic and process of it. I tried looking into how to add more drives f.ex., but... right now its using the primary of two controllers to get the two disks that are supporting, so it takes a bit more to get the slave drives to work for those two controllers. Also it seems right now these HDD controllers are somehow using the floppy controller, which I think might be why benchmark DOS tools do not recognize them as HDDs to do benchmarks for. Games do not seem to care though, as they just seem to check for drive letters and space available. It might be why there are some issues in Windows though.
Overall, I do not feel like I am close to being able to do something useful for FPGA cores yet.
Re: VGA Output, Scalers, and CRTs
I'm with you: I intend to use my MiSTer with a VGA CRT for computers and with Component input TVs for consoles. I have one of the HDMI to VGA adapters (rather than an IO board) and the last time I tried using it with my VGA CRT, I couldn't get the video to be quite right. I'd really love for there to be support for native resolutions. I bet that my HDMI to VGA adapter is going to affect that quite a bit, though...deepthaw wrote: ↑Sun Aug 16, 2020 7:12 pmYeah - I love using my MiSTer with CRTs. The lack of shimmering during scrolling, the native resolution, etc. is beautiful. While I imagine there's a small number of people using it with CRT televisions, an even smaller number of people using it with VGA Monitors with scandoubling, there's probably only a handful of us trying to use it in this particular use case.Caldor wrote: ↑Sun Aug 16, 2020 7:07 pm Yeah, I have been hoping to do this as well... with the scaler it seems a bit pointless to use a CRT monitor I think. I did get VGA working with the variable refresh rate, but anything using SVGA would not work at all. But that was Cache 24 or something last time I tried using a CRT.
(My VGA Monitor with scandoubling is stunning for console games, btw. It's like having a PVM except not expensive. And it does 50Hz for Minimig.)
For me, there's nothing like the warm glow of a CRT (except for how it compares to an LCD on my power bill. )
-
- Top Contributor
- Posts: 1311
- Joined: Mon Jul 06, 2020 9:37 pm
- Has thanked: 634 times
- Been thanked: 308 times
Re: VGA Output, Scalers, and CRTs
-
- Top Contributor
- Posts: 1441
- Joined: Mon May 25, 2020 7:54 pm
- Has thanked: 496 times
- Been thanked: 467 times
Re: VGA Output, Scalers, and CRTs
Good catch with the scaling artifacts deepthaw (playing PoR, one of my favourite games ever is added bonus). It reminds me a bit of the Dosbox pixel quagmire. Guess I won't be getting rid of my DOS PC anytime soon yet.
CRT SCR$ Project - building a collection of high-quality photos of CRT displays
CRT ART Books - retro-gaming books with authentic CRT photos
Re: VGA Output, Scalers, and CRTs
The scaling artifacts aren't as bad as they could be. They're very noticeable in text mode stuff, much less so in games. Pool of Radiance looks and runs well for the brief time I was able to test it.akeley wrote: ↑Mon Aug 17, 2020 1:51 pm I have yet to try this core myself, but if it's not working properly with VGA monitors then it's of no use for me.
Good catch with the scaling artifacts deepthaw (playing PoR, one of my favourite games ever is added bonus). It reminds me a bit of the Dosbox pixel quagmire. Guess I won't be getting rid of my DOS PC anytime soon yet.
-
- Top Contributor
- Posts: 1441
- Joined: Mon May 25, 2020 7:54 pm
- Has thanked: 496 times
- Been thanked: 467 times
Re: VGA Output, Scalers, and CRTs
CRT SCR$ Project - building a collection of high-quality photos of CRT displays
CRT ART Books - retro-gaming books with authentic CRT photos
Re: VGA Output, Scalers, and CRTs
I wonder if part of it is a limitation on when the main mister core will perform a resolution change? Or can a computer core (if programmed to do so), change resolution at runtime (the resolution the monitor sees, not [just] what the mister scaler sees)?
- NightShadowPT
- Posts: 224
- Joined: Mon May 25, 2020 9:56 am
- Has thanked: 5 times
- Been thanked: 12 times
- Caldor
- Top Contributor
- Posts: 930
- Joined: Sat Jul 25, 2020 11:20 am
- Has thanked: 112 times
- Been thanked: 111 times
Re: VGA Output, Scalers, and CRTs
Yeah.... RetroPie is pretty great, but I prefer the MiSTer. There are a lot of useful scripts, but would be nice with scripts that did a setup capable of working with CRT monitors Right now I just have two scripts for graphics setup. One is called "Optimal" and another is called "compatible" and I have no idea what each of them do. But there is a nice "ini" script that seems to support most of the ini file options the MiSTer has.NightShadowPT wrote: ↑Wed Aug 19, 2020 1:08 pmDon't let this stop you. The experience is amazing...
Its pretty certain I believe that the MiSTer will support CRT at some point, and until then... well its still more power efficent that a full size PC and probabably also the Raspberry Pi since it uses emulation, and its also smaller than PCs and laptops making it more portable.
The better power efficiency is great for making it more portable also. But portable and CRT probably does not go together well... unless maybe doing something like the SX64?
And while the VGA support is not as great as the original hardware, it is there and working with the right settings. It just depends quite a bit on the cores. I do have a 15khz CRT and a 15khz LCD, so I guess that could be used for a few things. My 15khz LCD is some cheap crap though. Cost about... 70 dollars? I think it was less even. The problem is it flickers like crazy at ANY resolution and setting.
The MiSTer overall is pretty amazing with how much it supports, especially all the arcade cores. Being this open source and so on, makes it the FPGA with the most potential by far I think. But on top of that it without doubt supports the most systems and in several cases I think it even supports some of the systems better than f.ex. Analogue and the Turbo Chameleon 64. But I will have to do some tests to see if that is the case. There are pros and cons with each of them for sure.
- SuperBabyHix
- Posts: 152
- Joined: Sun May 24, 2020 8:26 pm
- Has thanked: 45 times
- Been thanked: 36 times
Re: VGA Output, Scalers, and CRTs
Re: VGA Output, Scalers, and CRTs
I need to try that. It's an old 31Khz CRT so I'm not sure what resolutions it will support. Good tip on the particular filter to try though. My only worry is that 400 isn't going to to work well for 320x240 games.SuperBabyHix wrote: ↑Wed Aug 19, 2020 4:31 pm @deepthaw I don't have a CRT to test, but I was wondering if using a higher horizontal resolution (1440x400) in conjunction with one of the scaler filters that only blur on the horizontal axis (e.g. gausionsharp_NN_6) would at least let you get desirable results for the most commonly used resolution an minimize scaling artifacts. I have not tried this on the Mister before in any way, so I'm not entirely sure the aspect ratio correction would work, but I have done this with a PC emulation setup and a 15Khz CRT before and it looked very good.
- SuperBabyHix
- Posts: 152
- Joined: Sun May 24, 2020 8:26 pm
- Has thanked: 45 times
- Been thanked: 36 times
Re: VGA Output, Scalers, and CRTs
- Caldor
- Top Contributor
- Posts: 930
- Joined: Sat Jul 25, 2020 11:20 am
- Has thanked: 112 times
- Been thanked: 111 times
Re: VGA Output, Scalers, and CRTs
But in my tests it seemed pretty good, except I began to suspect it had maybe mashed it to be too narrow, maybe because its set to 4:3 and expects a widescreen? But not entirely sure if it is doing that. But it does not fill out the screen even when I stretch it horizontally as much as possible... so it probably does do that.
I do also have a Commodore 1084S and a 15khz LCD, so that might help get the original output working without scalers and such.
Re: VGA Output, Scalers, and CRTs
And ordered, lol.NightShadowPT wrote: ↑Wed Aug 19, 2020 1:08 pmDon't let this stop you. The experience is amazing...
I am curious what is causing the uneven scaling ("vertical line missing every so often"). I wonder if the scaling pipeline is using some math that is not always optimal (esp. where input actually matches output -- maybe it still uses division that does not always divide evenly)? Perhaps "superscaling" to a higher res would be a workaround? e.g., I think some of the pi solutions run at resolutions like 2048x240 for 240p outputs.
-
- Top Contributor
- Posts: 1311
- Joined: Mon Jul 06, 2020 9:37 pm
- Has thanked: 634 times
- Been thanked: 308 times
Re: VGA Output, Scalers, and CRTs
- SuperBabyHix
- Posts: 152
- Joined: Sun May 24, 2020 8:26 pm
- Has thanked: 45 times
- Been thanked: 36 times
Re: VGA Output, Scalers, and CRTs
For instance with the Amiga core I may want to run at vscale=1 with a scanline filter for all video modes less than or equal to 540 lines, but switch to vscale=0 and sharp interpolation filter for all modes greater than 540 lines.
Re: VGA Output, Scalers, and CRTs
I like it! I imagine it would be nice as a main mister feature that could be added to other cores, like resolution-switching consoles (unless those already have features I do not know about).
Re: VGA Output, Scalers, and CRTs
I like it in theory, but I've been seeing artifacts show up in the scaler even when theoretically doing 1:1 translations (see my photo at the very top...) Native VGA would be amazing.
-
- Top Contributor
- Posts: 1311
- Joined: Mon Jul 06, 2020 9:37 pm
- Has thanked: 634 times
- Been thanked: 308 times
Re: VGA Output, Scalers, and CRTs
This may be fixable by adjusting your timings. It's not just the resolution, but the other settings that can affect how wide things show up on the screen, etc. Making your settings a bit wider with the same resolution may open up that missing pixel on the O in the scaler. I am not sure, but it is worth a shot.
Also, setting the resolution a bit wider by a couple of pixels may fix it too, like 722 instead of 720. The scaler might be adding its own border pixels causing the actual image to be squished into fewer pixels. Again this could be affected by the timings. Maybe setting the timings narrower at 720x400 rather than wider is the answer to eliminate those unwanted border pixels.
-
- Top Contributor
- Posts: 1311
- Joined: Mon Jul 06, 2020 9:37 pm
- Has thanked: 634 times
- Been thanked: 308 times
Re: VGA Output, Scalers, and CRTs
-
- Posts: 93
- Joined: Mon May 25, 2020 8:23 pm
- Been thanked: 4 times
Re: VGA Output, Scalers, and CRTs
Pretty cool, dos text looks like illegible shit, and windows 3.11 is blown up in scale, but games look amazing at 15khz.
- Attachments
-
- 20200827_084819.jpg (3.04 MiB) Viewed 18387 times
-
- Top Contributor
- Posts: 1441
- Joined: Mon May 25, 2020 7:54 pm
- Has thanked: 496 times
- Been thanked: 467 times
Re: VGA Output, Scalers, and CRTs
This core is indeed amazing and I get it that people are excited about it, but we should not really settle for incomplete results. If there are possible solutions it's definitely worth researching. It is after all the display, something which you face at all times.
I'd appreciate if somebody could clarify if native VGA is simply not possible at all (and never will be) or is it question of dev interest. Sorgelig's explanation in that github issue thread is a bit too technical for me.
If native VGA really is a no-no then we can explore improving/tweaking the scaler perhaps.
CRT SCR$ Project - building a collection of high-quality photos of CRT displays
CRT ART Books - retro-gaming books with authentic CRT photos
-
- Posts: 93
- Joined: Mon May 25, 2020 8:23 pm
- Been thanked: 4 times
Re: VGA Output, Scalers, and CRTs
I'll give the scalerless option a go on the 31k just to see what you mean. Seems like it would work. It did the whole scrolling double image when i tried it on a 15k.
-
- Posts: 93
- Joined: Mon May 25, 2020 8:23 pm
- Been thanked: 4 times
Re: VGA Output, Scalers, and CRTs
-
- Top Contributor
- Posts: 1441
- Joined: Mon May 25, 2020 7:54 pm
- Has thanked: 496 times
- Been thanked: 467 times
Re: VGA Output, Scalers, and CRTs
Are you sure it's really perect? Don't get me wrong, I really want to believe you but then we have this thread and git issue ticket. Also, not sure what exactly "proper monitor" means in this context. From my understanding VGA should display on any VGA capable monitor, and older 200/240 games were upscaled (though do not quote me on that )
CRT SCR$ Project - building a collection of high-quality photos of CRT displays
CRT ART Books - retro-gaming books with authentic CRT photos
-
- Posts: 93
- Joined: Mon May 25, 2020 8:23 pm
- Been thanked: 4 times
Re: VGA Output, Scalers, and CRTs
Btw, what kind of monitor are you using?
-
- Top Contributor
- Posts: 1441
- Joined: Mon May 25, 2020 7:54 pm
- Has thanked: 496 times
- Been thanked: 467 times
Re: VGA Output, Scalers, and CRTs
What mister.ini settings are you using for non-scaled VGA? I'd like to try it myself..
Overall, I have a bit of an OCD when it comes to displays, so will stick with my DOS PC for now. Hopefully one day there will be solution for this core too, stranger things have happened
CRT SCR$ Project - building a collection of high-quality photos of CRT displays
CRT ART Books - retro-gaming books with authentic CRT photos