Why don't some cores support analog video?

Discussion about displays and related hardware including MiSTer filters and video settings.
nsm
Posts: 5
Joined: Sat Apr 24, 2021 5:54 pm
Has thanked: 3 times
Been thanked: 2 times

Why don't some cores support analog video?

Unread post by nsm »

In a thread troubleshooting VGA -> composite video without scaling: https://www.atari-forum.com/viewtopic.php?t=35062

Sorgelig mentions:
As for other cores - it depends. If your TV is NTSC-only then you will have problems with some cores.
My own setup is VGA -> component on a BVM D14H5U (which also supports PAL signals). I noticed this is indeed the case - the experimental PSX core, PC88, PC98, and X68000 cores all do give me video output with

Code: Select all

vga_scaler=0
but the image is strange. The colors are very off and portions of the screen are very dark or very light. I was wondering if someone might be able to explain why some cores work without the scaler on this CRT, and others don't.

Conversely, most other cores I've used (GB, GBA, SNES, Genesis) work wonderfully without the scaler and appear to output at 240p.

Additionally, he mentions:
And generally speaking, main video output of MiSTer is HDMI.
VGA is mostly for debugging and not suitable for normal user. Different cores output different resolutions.
Would I see any benefit when using an HDMI -> VGA adapter instead of the VGA port on the analog I/O board? Would such a setup allow for 240p output at all?

Cheers and thanks for the help.
FoxbatStargazer
Top Contributor
Posts: 1019
Joined: Thu Dec 10, 2020 5:44 pm
Has thanked: 315 times
Been thanked: 238 times

Re: Why don't some cores support analog video?

Unread post by FoxbatStargazer »

The x86000 *does* support analog video, however it supports its original multisync monitors that could handle 15khz, 24khz, and 31khz resolutions, with 24khz being an oddball resolution not really seen in the West outside of some arcade screens. That is the challenge with relying on analog out, not every core's original signal is suitable for every display. You might see similar problems if you tried to approximate original PC monitors for DOS games that started at 400p/70hz. The scaler is what adapts these varied outputs to work on a single modern screen (or ancient one if you configure it right.)

The VGA port does have a limitation of 8-bit color that direct video + HDMI->VGA converter can get around, but that is all. It's not going to make your BVM suddenly understand 24khz any better. You can also use vga_scaler=1 to apply the scaler to the VGA out and adapt it to your display. It looks like your BVM actually supports 720p so that is something you could play around with.

I also wouldn't take Sergio's words too far out of context, his idea about how people "should" use the Mister is somewhat narrower than what it can actually do thanks to all the configuration options. If you are willing to dig a bit you can customize it to your own use case.
akeley
Top Contributor
Posts: 1444
Joined: Mon May 25, 2020 7:54 pm
Has thanked: 499 times
Been thanked: 469 times

Re: Why don't some cores support analog video?

Unread post by akeley »

nsm wrote: Mon Jan 31, 2022 10:43 pm the experimental PSX core, PC88, PC98, and X68000 cores all do give me video output with but the image is strange
These cores are either work-in-progress or, like X68000, had very complicated video output which might not be possible to display 1:1 on a 15Khz CRT. It's possible to somewhat alleviate it using modelines, eg:
viewtopic.php?p=41072#p41072
viewtopic.php?f=36&t=3624
viewtopic.php?p=40392#p40392

You can also check this spredsheet for compatibility.

Most other cores should work fine through I/O board (though you might need to tweak some settings for component), there shouldn't be any difference with Direct Video in regard to your query (apart from the colour depth thing, which is something different).

And the quotes/threads you mention are a few years old. Things move fast in the MiSTer world and Sorg's opinions are not cast in stone (thankfully). I've seen so many cores sorted for CRT users over the last year, despite us being a niche audience. It's quite incredible, eg recently @alanswx has been on a 15Khz-fixing spree of some old cores, many thanks for that!

CRT SCR$ Project - building a collection of high-quality photos of CRT displays
CRT ART Books - retro-gaming books with authentic CRT photos

nsm
Posts: 5
Joined: Sat Apr 24, 2021 5:54 pm
Has thanked: 3 times
Been thanked: 2 times

Re: Why don't some cores support analog video?

Unread post by nsm »

Thanks for the replies.
The x86000 *does* support analog video, however it supports its original multisync monitors that could handle 15khz, 24khz, and 31khz resolutions, with 24khz being an oddball resolution not really seen in the West outside of some arcade screens.
From what I can tell, the D14H5U supports 15khz (240p/480i), 31khz (480p), 33khz (1080i), 47khz (720p).

So the issue may be that the X68k core is outputting a 24khz signal via analog? Additionally, what does the "scale" in vga_scaler refer to? It seems like to get 480p or higher in any core, it needs to be on.
These cores are either work-in-progress or, like X68000, had very complicated video output which might not be possible to display 1:1 on a 15Khz CRT.
Understandable, of course! I suppose I'm a bit confused and could use a primer on analog vs. digital video and how it relates to this. For example, running the SNES core with vga_scaler=0 produces a crisp 240p image, correct? What's happening when I set vga_scaler=1 and video_mode to 480p? I'd like to have a better understanding of what causes these variations.
User avatar
limi
Top Contributor
Posts: 776
Joined: Sun May 24, 2020 6:53 pm
Has thanked: 180 times
Been thanked: 570 times

Re: Why don't some cores support analog video?

Unread post by limi »

nsm wrote: Mon Jan 31, 2022 11:31 pm From what I can tell, the D14H5U supports 15khz (240p/480i), 31khz (480p), 33khz (1080i), 47khz (720p).

So the issue may be that the X68k core is outputting a 24khz signal via analog? Additionally, what does the "scale" in vga_scaler refer to? It seems like to get 480p or higher in any core, it needs to be on.
Yes, a lot of games on the X68K use 24kHz, that’s exactly the issue. Unmodified, the VGA will output exactly the same as the original computer did.

The “scale” is usually used for scan doubling 15kHz signals — like the console cores, and the “home computer” cores that were meant to output to TVs (Amiga/C64 etc) — so that they can be displayed on a standard VGA monitor, which only does 31kHz and maybe some other frequencies. PVMs/BVMs sometimes support those too.

What people are doing with the scaler is to use it as kind of a hack to force the 24kHz signal to 31kHz or 15kHz, which is not something that is officially supported/recommended, but does work in some cases.
akeley
Top Contributor
Posts: 1444
Joined: Mon May 25, 2020 7:54 pm
Has thanked: 499 times
Been thanked: 469 times

Re: Why don't some cores support analog video?

Unread post by akeley »

I don't think 24kHz matters that much for the X68000 core. Most games (and I believe OS too) actually booted in 31kHz. Some had 15kHz set as default and some more had an option to switch to it. Only few could also switch to 24kHz in-game. Check this list for details.

It seems the problem is more the fact that the default for the machine OS is 31Khz, so even if some games can use 15Khz later that puts a damper on the core's native use in that mode on a CRT TV since you can't really switch from 31 to 15 (in theory, maybe some PVMs could do that). Could also be that @puu (the dev) didn't consider it a priority and simply did not add the 15kHz option at all. So for now it's only custom modelines, but due to strange resolutions used it's not possible to do a 1:1 display (though if you can live with some detail lost in the vertical overscan some games are otherwise very playable).

CRT SCR$ Project - building a collection of high-quality photos of CRT displays
CRT ART Books - retro-gaming books with authentic CRT photos

User avatar
Sigismond0
Posts: 339
Joined: Mon May 25, 2020 2:21 am
Has thanked: 1 time
Been thanked: 66 times

Re: Why don't some cores support analog video?

Unread post by Sigismond0 »

If you're using a lot of PC cores, running on a CRT TV is just a losing battle. You can enable the scaler for 31KHZX cores to downscale to 240p and get it to work, but it doesn't look great. Best option is to run on a PC CRT if you want that CRT look with PC cores. Just enable the scandoubler for any 15Khz PC cores, and you're golden.

Or shell out nutters money for a multisync display that can handle both resolutions. I'm sure we all dream of having a PVM-20L5, but $600+ for a 14" display is hard to justify. Multisync PC monitors aren't usually much better pricewise, and both are hard to find.

Standard 31Khz PC CRT is generally going to be the most accessible and overall best option for using PC cores. A CRT TV is great if you only want to run console, arcade, and 15Khz PCs. LCD is always going to give you everything--and now that we have shadowmasks, they're starting to look very good.
akeley
Top Contributor
Posts: 1444
Joined: Mon May 25, 2020 7:54 pm
Has thanked: 499 times
Been thanked: 469 times

Re: Why don't some cores support analog video?

Unread post by akeley »

Sigismond0 wrote: Tue Feb 01, 2022 2:32 pm If you're using a lot of PC cores, running on a CRT TV is just a losing battle. You can enable the scaler for 31KHZX cores to downscale to 240p and get it to work, but it doesn't look great.
MS DOS games from ao486 are 1:1 and look fantastic on a 15khz consumer CRT TV when using modelines. Same for PC 8801 (which actually has native 15khz, just not yet implemented). X68000 can look ok, depending on game. Sure, I do have a PC VGA monitor near by but tbh it's been a long time since I've used it - games just look much more alive on decent consumer sets.

At the moment it's only MacPlus core which will remain strictly 31Khz and completely monitor-reliant, plus a handful of the more niche and unofficial ones.

CRT SCR$ Project - building a collection of high-quality photos of CRT displays
CRT ART Books - retro-gaming books with authentic CRT photos

nsm
Posts: 5
Joined: Sat Apr 24, 2021 5:54 pm
Has thanked: 3 times
Been thanked: 2 times

Re: Why don't some cores support analog video?

Unread post by nsm »

akeley wrote: Tue Feb 01, 2022 3:27 pm
Sigismond0 wrote: Tue Feb 01, 2022 2:32 pm If you're using a lot of PC cores, running on a CRT TV is just a losing battle. You can enable the scaler for 31KHZX cores to downscale to 240p and get it to work, but it doesn't look great.
MS DOS games from ao486 are 1:1 and look fantastic on a 15khz consumer CRT TV when using modelines. Same for PC 8801 (which actually has native 15khz, just not yet implemented). X68000 can look ok, depending on game. Sure, I do have a PC VGA monitor near by but tbh it's been a long time since I've used it - games just look much more alive on decent consumer sets.

At the moment it's only MacPlus core which will remain strictly 31Khz and completely monitor-reliant, plus a handful of the more niche and unofficial ones.
Would you mind sharing the ao486 modeline you use? Your earlier post was very helpful with the X68k modes :)

This is somewhat off-topic but: I have both a X68000_20211214.rbf and X68000_midi_20210306.rbf core. The non-MIDI core is dated newer but I can't seem to get sound in some games (Castlevania). Should I be using one over the other?
User avatar
wark91
Core Developer
Posts: 334
Joined: Sun May 24, 2020 8:34 pm
Has thanked: 447 times
Been thanked: 95 times

Re: Why don't some cores support analog video?

Unread post by wark91 »

@nsm, you have a selection screen for sound (in japanese) at the begining for Castelvania.
It chooses by default MiDi sound. You need to choose first choice for internal sound.
akeley
Top Contributor
Posts: 1444
Joined: Mon May 25, 2020 7:54 pm
Has thanked: 499 times
Been thanked: 469 times

Re: Why don't some cores support analog video?

Unread post by akeley »

nsm wrote: Tue Feb 01, 2022 3:55 pm Would you mind sharing the ao486 modeline you use?
I'm using this one: viewtopic.php?p=29613#p29613

...but you should try a few different ones from this thread, there's a lot of good'uns from @thorr & @FoxbatStargazer. The caveat is that you'll get some black borders - on my 21" TV that's ok, but maybe on your 15" the image will be too small. Also DOS text in some games and programs (like Norton Commander) will be garbled, although readable. But that's how it is in 31Khz too, the VGA is generally not quite right in this core.

CRT SCR$ Project - building a collection of high-quality photos of CRT displays
CRT ART Books - retro-gaming books with authentic CRT photos

User avatar
limi
Top Contributor
Posts: 776
Joined: Sun May 24, 2020 6:53 pm
Has thanked: 180 times
Been thanked: 570 times

Re: Why don't some cores support analog video?

Unread post by limi »

Sigismond0 wrote: Tue Feb 01, 2022 2:32 pm Or shell out nutters money for a multisync display that can handle both resolutions. I'm sure we all dream of having a PVM-20L5, but $600+ for a 14" display is hard to justify. Multisync PC monitors aren't usually much better pricewise, and both are hard to find.
It’s not trivial to find (especially here in the US), but the Commodore 1942 is one of the greatest monitors for MiSTer, in my opinion. It does both 15kHz and 31kHz, and has a great tube with a good-looking triad dot mask. And it has a VGA plug as standard (as opposed to e.g. the 23-pin connectors of the Commodore 1081/1084).

I managed to purchase one recently for not too much money, and it plugs directly into MiSTer and handles anything I throw at it. And, it’s subjective, but I also think it’s one of the best looking monitors from that era.
FoxbatStargazer
Top Contributor
Posts: 1019
Joined: Thu Dec 10, 2020 5:44 pm
Has thanked: 315 times
Been thanked: 238 times

Re: Why don't some cores support analog video?

Unread post by FoxbatStargazer »

I may have been incorrect about the x86000 core. I know it started? as being locked? to 600p output, but I thought some betas improved that? I haven't really used it at all yet.

What I do know is the PC core (ao486), and that indeed does not have "analog output", it forces the scaler on (unless you use direct_video), so you have to come up with a modeline that works with your CRT. It is one of several cores that use a separate "draw direct to framebuffer" type mode which follows some different rules, particularly with downscaling below the original resolution. I think Amiga RTG mode does the same, as well as Vectrex and vector arcades. It may well be that x86000 is in the same boat.

Basically it is work to implement the original video timings, particularly for something like PC that had a ton of different modes, and not always particularly desirable even if you could, like finding a real vector monitor for vector games... so yeah, some cores don't have a "real" analog out for now. In your case for max compatibility you are probably best off with a 31khzish mode for x86000 and let everything else upscale to that.
Post Reply