Using the scaler to downscale to 15khz

Discussion about displays and related hardware including MiSTer filters and video settings.
aToyRobot
Posts: 22
Joined: Sun Jun 28, 2020 10:28 pm

Using the scaler to downscale to 15khz

Unread post by aToyRobot »

Hi All
I have my MiSTer very happily connected to my Commodore 1084S which works great. This is a 15khz monitor so perfect for most things such as Amiga and consoles. However I was thinking it would be fun to try some really old DOS games, however ao486 only supports higher refresh rates. I was wondering if it is in anyway possible to use the scaler over VGA to work as a sort of "scan divider" (I'm making this up) and run it on my 15kz CRT.

I had a quick play and set the max freq to 16khz but that didn't seem to work for me, but then I didn't really know what I was doing :lol:
Anybody got any ideas? Or is it simply not possible?

Thanks
akeley
Top Contributor
Posts: 1303
Joined: Mon May 25, 2020 7:54 pm
Has thanked: 416 times
Been thanked: 399 times

Re: Using the scaler to downscale to 15khz

Unread post by akeley »

It's something that's been on my mind since I got my MiSTer. It'd be great to be able to display VGA cores on my CRT TV. That's especially in regard to micros like BBC & Atari ST, since that's what they were primarily used with.

Doubt it's possible though, probably the only solution are some expensive scalers such as Corio :/
User avatar
Sigismond0
Posts: 339
Joined: Mon May 25, 2020 2:21 am
Has thanked: 1 time
Been thanked: 66 times

Re: Using the scaler to downscale to 15khz

Unread post by Sigismond0 »

I've used vga_scaler to downscale Vectrex to work on a 15khz display. It looks awful, but works. Try adding this to the bottom of your ini. It worked for [Vectrex], and may work for you. But don't expect it to be pleasant.

[ao486]
video_mode=320,8,32,24,240,4,3,16,6048
vga_scaler=1
aToyRobot
Posts: 22
Joined: Sun Jun 28, 2020 10:28 pm

Re: Using the scaler to downscale to 15khz

Unread post by aToyRobot »

Thanks Sigismond0, I just tried that - it's a shame because it's so close to being usable, it's just text is illegible. I presume these old CRTs cannot handle the higher resolutions we need?

Maybe I need to consider a way to switch between monitors as part of my case build... Something to think about.
User avatar
Sigismond0
Posts: 339
Joined: Mon May 25, 2020 2:21 am
Has thanked: 1 time
Been thanked: 66 times

Re: Using the scaler to downscale to 15khz

Unread post by Sigismond0 »

Yeah, downscaling 31khz content to 15khz is by definition going to have about half the visual fidelity. You're trying to cram the same number of pixels into half the resolution. Short of getting a multiformat display that can handle both, I've just settled on dual output as the best solution.
akeley
Top Contributor
Posts: 1303
Joined: Mon May 25, 2020 7:54 pm
Has thanked: 416 times
Been thanked: 399 times

Re: Using the scaler to downscale to 15khz

Unread post by akeley »

Still, I'm not sure why Atari ST outputs 31khz only. It was one of its possible frequencies (for hi res) but majority of people used it with normal 15Khz TVs, via RGB or composite in the lo res mode. Could be the same for BBC.
aToyRobot
Posts: 22
Joined: Sun Jun 28, 2020 10:28 pm

Re: Using the scaler to downscale to 15khz

Unread post by aToyRobot »

akeley wrote: Thu Jul 02, 2020 3:26 pm Still, I'm not sure why Atari ST outputs 31khz only. It was one of its possible frequencies (for hi res) but majority of people used it with normal 15Khz TVs, via RGB or composite in the lo res mode. Could be the same for BBC.
Odd, Atari ST works great for me on 1084S 15khz monitor, yet as you quite rightly point out it says 30khz on the Wiki. I wonder if the wiki could be wrong...
User avatar
ccovell
Posts: 23
Joined: Tue May 26, 2020 4:46 am
Been thanked: 5 times

Re: Using the scaler to downscale to 15khz

Unread post by ccovell »

Sigismond0 wrote: Wed Jul 01, 2020 1:50 pm I've used vga_scaler to downscale Vectrex to work on a 15khz display. It looks awful, but works. Try adding this to the bottom of your ini. It worked for [Vectrex], and may work for you. But don't expect it to be pleasant.

[ao486]
video_mode=320,8,32,24,240,4,3,16,6048
vga_scaler=1
From the "Custom VIdeo Modes Test Thread ( viewtopic.php?p=4654#p4654 ):

video_mode=640,16,64,80,240,1,3,14,12380
640x240@60Hz

A video mode with 15khz but a wider horizontal resolution was posted. I tried this on the a0486 core and others, but the visible area still seems to be a small 320x240 window, just half the width on-screen.

Large horizontal resolutions are possible, while still keeping the vertical resolution at 240 and staying at 15khz for CRT RGB displays, but is there any reason why cores aren't stretching the scaled display to fill the 640 horizontal pixels? Does it have something to do with the cores' hardcoded aspect ratio options (4:3 and 16:9) and is there any way to fix this?
User avatar
atrac17
Core Developer
Posts: 161
Joined: Sun May 24, 2020 10:51 pm
Has thanked: 31 times
Been thanked: 379 times

Re: Using the scaler to downscale to 15khz

Unread post by atrac17 »

ccovell wrote: Fri Jul 03, 2020 12:30 am From the "Custom VIdeo Modes Test Thread ( viewtopic.php?p=4654#p4654 ):

video_mode=640,16,64,80,240,1,3,14,12380
640x240@60Hz

A video mode with 15khz but a wider horizontal resolution was posted. I tried this on the a0486 core and others, but the visible area still seems to be a small 320x240 window, just half the width on-screen.

Large horizontal resolutions are possible, while still keeping the vertical resolution at 240 and staying at 15khz for CRT RGB displays, but is there any reason why cores aren't stretching the scaled display to fill the 640 horizontal pixels? Does it have something to do with the cores' hardcoded aspect ratio options (4:3 and 16:9) and is there any way to fix this?
I'm not really sure if the 640x240 works with every core. Let me see what I can come up with.
Skan
Posts: 1
Joined: Sun Dec 27, 2020 8:14 pm

Re: Using the scaler to downscale to 15khz

Unread post by Skan »

Interesting thread. While it's true it's not a good idea cramming an hi-res screen to half the resolution unless some proper scaling is applied, it's also true that old DOS games run in 320x200 pixels so that is a perfect match for a 1084 and all other 15khz monitors. Either that or using interlace screens (640x480i would fit as well).
Televicious
Posts: 93
Joined: Mon May 25, 2020 8:23 pm
Been thanked: 4 times

Re: Using the scaler to downscale to 15khz

Unread post by Televicious »

Ah i was playing with this last week too. I was really optimistic about the 640x240 mode working, but when I saw it halved i realized that it wasn't going to work. Cutting half the vertical isn't so bad since most everything for dos and those old games was actually intended for a 240 type output. If there was a way ti make this a standard scaler output with full 640 X-axis I would love it.
thorr
Top Contributor
Posts: 1100
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 537 times
Been thanked: 252 times

Re: Using the scaler to downscale to 15khz

Unread post by thorr »

Televicious wrote: Mon Dec 28, 2020 7:14 am Ah i was playing with this last week too. I was really optimistic about the 640x240 mode working, but when I saw it halved i realized that it wasn't going to work. Cutting half the vertical isn't so bad since most everything for dos and those old games was actually intended for a 240 type output. If there was a way ti make this a standard scaler output with full 640 X-axis I would love it.
I don't understand what you are saying, so sorry if this is not helpful. I was able to achieve perfect 640x240p (and everything looks correct) and also 640x480i on my 15khz TV. I don't have any issues. I am not sure what you are trying to do that is not working for you. The details for both are in this thread: viewtopic.php?f=33&t=1471
Flain
Posts: 25
Joined: Mon May 25, 2020 1:29 am
Has thanked: 17 times
Been thanked: 5 times

Re: Using the scaler to downscale to 15khz

Unread post by Flain »

Bringing up an old thread...

I've been playing with MiSTer on my arcade monitor and this is still an issue on some cores, AtariST, ao486 and Sharp X68000 (and likely any core that doesn't output native 15khz). I enabled the scaler, however it doesn't seem to scale down quite right. All the text is unreadable.

I'm not sure if possible or not but could MiSTer in theory solve this with changes to the scaler? Given that the original resolution of dos is 320x200, it should be possible to display that on a 15khz display. DOS outputs 320x200 and then due to how PC displays worked the video card in the machine would scale it to 640x400 to output to a PC monitor. In theory that 640x400 image should downscale to 320x200 perfectly, however it's not doing that for some reason.
thorr wrote: Thu Dec 31, 2020 8:05 pm I don't understand what you are saying, so sorry if this is not helpful. I was able to achieve perfect 640x240p (and everything looks correct) and also 640x480i on my 15khz TV. I don't have any issues. I am not sure what you are trying to do that is not working for you. The details for both are in this thread: viewtopic.php?f=33&t=1471
I think what he was saying is horizontally only half the screen gets filled using that method so you need to use the monitors settings to stretch the horizontal image out. This works but isn't very practical if you play other cores, you don't necessarily want to keep fiddling with the physical knobs on an arcade monitor :). Id need to open up my machine for that to access the knobs and then change it back when i want to play an arcade core.
akeley
Top Contributor
Posts: 1303
Joined: Mon May 25, 2020 7:54 pm
Has thanked: 416 times
Been thanked: 399 times

Re: Using the scaler to downscale to 15khz

Unread post by akeley »

Flain wrote: Tue Jan 04, 2022 9:37 am I've been playing with MiSTer on my arcade monitor and this is still an issue on some cores, AtariST, ao486 and Sharp X68000 (and likely any core that doesn't output native 15khz). I enabled the scaler, however it doesn't seem to scale down quite right. All the text is unreadable.
Atari ST was a 15Khz machine (mostly) and the core outputs it out of the box. It's also possible to do it on ao486 using custom modelines (DOS text won't be 1:1, but is readable, and games are fine). X68000 is a more complicated case, but there were attempts recently trying to do it using modelines as well.
thorr
Top Contributor
Posts: 1100
Joined: Mon Jul 06, 2020 9:37 pm
Has thanked: 537 times
Been thanked: 252 times

Re: Using the scaler to downscale to 15khz

Unread post by thorr »

Flain wrote: Tue Jan 04, 2022 9:37 am
I'm not sure if possible or not but could MiSTer in theory solve this with changes to the scaler? Given that the original resolution of dos is 320x200, it should be possible to display that on a 15khz display. DOS outputs 320x200 and then due to how PC displays worked the video card in the machine would scale it to 640x400 to output to a PC monitor. In theory that 640x400 image should downscale to 320x200 perfectly, however it's not doing that for some reason.

I think what he was saying is horizontally only half the screen gets filled using that method so you need to use the monitors settings to stretch the horizontal image out. This works but isn't very practical if you play other cores, you don't necessarily want to keep fiddling with the physical knobs on an arcade monitor :). Id need to open up my machine for that to access the knobs and then change it back when i want to play an arcade core.
You don't need to adjust the knobs on your CRT. There are settings in the core menu to stretch the image. For each core, you can set individual scaler settings, ie:

[ao486]
blah blah blah
(at the bottom of the MiSTer.ini file)

640x400 will not downscale to 320x200 perfectly because pixels will be missing (DOS text won't look perfect). However, 320x200 games can be perfectly represented on a CRT TV because there are enough pixels.
Flain
Posts: 25
Joined: Mon May 25, 2020 1:29 am
Has thanked: 17 times
Been thanked: 5 times

Re: Using the scaler to downscale to 15khz

Unread post by Flain »

akeley wrote: Tue Jan 04, 2022 10:55 am Atari ST was a 15Khz machine (mostly) and the core outputs it out of the box. It's also possible to do it on ao486 using custom modelines (DOS text won't be 1:1, but is readable, and games are fine). X68000 is a more complicated case, but there were attempts recently trying to do it using modelines as well.
For the Atari ST the original machine was mostly 15khz - i had mine as a kid connected to an old TV, you needed to buy an actual monitor to get higher resolution back then. The only game i ever came across that used a higher res was some tetris clone (i'm sure there are more though..). The Atari ST core however appears to be outputting 31khz via the IO board. When you apply the scaler to make it display it does garble all the text. There is an option in TOS to change res down to a lower one, but it's locked out when the ST detects it's plugged into a monitor (i assume the core makes it think it's plugged into a monitor maybe?). I wonder if this could be worked around by hacking a TOS image to make it think otherwise. The amiga core on the other hand is native 15khz by default.
thorr wrote: Tue Jan 04, 2022 5:57 pm You don't need to adjust the knobs on your CRT. There are settings in the core menu to stretch the image. For each core, you can set individual scaler settings, ie:

[ao486]
blah blah blah
(at the bottom of the MiSTer.ini file)
This is what I've been doing, since i wanted to preserve native output on the other cores but then i attempted to apply scaling and stuff which didn't turn out too well.
thorr wrote: Tue Jan 04, 2022 5:57 pm 640x400 will not downscale to 320x200 perfectly because pixels will be missing (DOS text won't look perfect). However, 320x200 games can be perfectly represented on a CRT TV because there are enough pixels.
Oh - i did not know there was a menu option to stretch the image horizontally i'll give that a go. I did try your scanline settings, which is why i reported the screen squashed like Televicious also reported - but I didn't use the core menu to stretch it. That actually sounds like a good solution. I assume that's missing from the X68000 core which i spent the most time playing around with? I'll have a play around today, thanks for the response!

Edit: Managed to get some decent results on the X68000 core. Still not perfect as there is horizontal shimmering in some games but much better than before for sure!
FoxbatStargazer
Top Contributor
Posts: 994
Joined: Thu Dec 10, 2020 5:44 pm
Has thanked: 309 times
Been thanked: 228 times

Re: Using the scaler to downscale to 15khz

Unread post by FoxbatStargazer »

Not sure if it's the default but currently I have Atari ST working fine with consumer CRT and hooked up via I/O board VGA to component, no scaling. Think one of the HUD settings is indeed a toggle between color and mono and it had better be set to color before you do a cold boot (if it wasn't obvious, the hi-res 400p mode on ST was black-and-white only!). As you probably remember the GEM desktop defaults to green so if it appears grey (actually black-and-white checkerboard) you are stuck in monochrome mode, which isn't great for most gaming anyway.
akeley
Top Contributor
Posts: 1303
Joined: Mon May 25, 2020 7:54 pm
Has thanked: 416 times
Been thanked: 399 times

Re: Using the scaler to downscale to 15khz

Unread post by akeley »

Flain wrote: Tue Jan 04, 2022 11:05 pm For the Atari ST the original machine was mostly 15khz - i had mine as a kid connected to an old TV, you needed to buy an actual monitor to get higher resolution back then. The only game i ever came across that used a higher res was some tetris clone (i'm sure there are more though..). The Atari ST core however appears to be outputting 31khz via the IO board. When you apply the scaler to make it display it does garble all the text. There is an option in TOS to change res down to a lower one, but it's locked out when the ST detects it's plugged into a monitor (i assume the core makes it think it's plugged into a monitor maybe?). I wonder if this could be worked around by hacking a TOS image to make it think otherwise. The amiga core on the other hand is native 15khz by default.
I have done a fresh install on a new SD card not long ago and did not have to change anything from default regarding ST - it just works. I'm using Direct Video, but don't think I/O is any different and does 31khz.

I used to have problems with this and few other cores when connecting via standard MiST VGA cable though. If you still can't get a solid image after making sure you're in Color mode, then maybe it's something with your cable or I/O board itself.
Flain
Posts: 25
Joined: Mon May 25, 2020 1:29 am
Has thanked: 17 times
Been thanked: 5 times

Re: Using the scaler to downscale to 15khz

Unread post by Flain »

akeley wrote: Wed Jan 05, 2022 10:10 am
Flain wrote: Tue Jan 04, 2022 11:05 pm For the Atari ST the original machine was mostly 15khz - i had mine as a kid connected to an old TV, you needed to buy an actual monitor to get higher resolution back then. The only game i ever came across that used a higher res was some tetris clone (i'm sure there are more though..). The Atari ST core however appears to be outputting 31khz via the IO board. When you apply the scaler to make it display it does garble all the text. There is an option in TOS to change res down to a lower one, but it's locked out when the ST detects it's plugged into a monitor (i assume the core makes it think it's plugged into a monitor maybe?). I wonder if this could be worked around by hacking a TOS image to make it think otherwise. The amiga core on the other hand is native 15khz by default.
I have done a fresh install on a new SD card not long ago and did not have to change anything from default regarding ST - it just works. I'm using Direct Video, but don't think I/O is any different and does 31khz.

I used to have problems with this and few other cores when connecting via standard MiST VGA cable though. If you still can't get a solid image after making sure you're in Color mode, then maybe it's something with your cable or I/O board itself.
Just to avoid confusion I'm using an arcade CRT in a arcade machine - a Sega astro city. I'm using the mistercade to connect it to my cab. You are correct - the Atari ST core does 31khz (is that what you meant to say because that is what I've been saying already?). Most arcade CRTs are 15khz.

To elaborate here, an actual Atari ST outputs 15khz (most of the time), but the MiSTer core outputs 31khz.
akeley
Top Contributor
Posts: 1303
Joined: Mon May 25, 2020 7:54 pm
Has thanked: 416 times
Been thanked: 399 times

Re: Using the scaler to downscale to 15khz

Unread post by akeley »

Flain wrote: Wed Jan 05, 2022 1:20 pm You are correct - the Atari ST core does 31khz (is that what you meant to say because that is what I've been saying already?).
No, I'm saying completely the opposite :) The core outputs 15Khz by default. If you change to Mono in OSD, then it will jump to 70Hz/35KHz and go out of sync on normal CRT TV.

Like I said, I used to think it's a 31Khz core because it did not work on my TV and the wiki incorrectly states so as well. I even made a comment about it on Git. You can read sorgelig's reply here: https://github.com/MiSTer-devel/AtariST_MiSTer/issues/9
And he is correct, because once I started using different solution to connect (Ultimate Scart Adapter) my problem went away. It has been also confirmed it works for other people with I/O boards and 15Khz consumer CRT TVs.

Therefore, if your problem persists after making sure the setting is Colour in OSD (you can set it using HDMI monitor) then the problem is with one of your setup parts - cable, I/O board, or even the arcade monitor itself (I don't have one but I know they aren't exactly the same as consumer TVs).
Flain
Posts: 25
Joined: Mon May 25, 2020 1:29 am
Has thanked: 17 times
Been thanked: 5 times

Re: Using the scaler to downscale to 15khz

Unread post by Flain »

From your link Sorg says:
"Core outputs 15Khz when forced_scandoubler=0"
I will give that a try, and report back!

Edit: This single config item fixed it!
FoxbatStargazer
Top Contributor
Posts: 994
Joined: Thu Dec 10, 2020 5:44 pm
Has thanked: 309 times
Been thanked: 228 times

Re: Using the scaler to downscale to 15khz

Unread post by FoxbatStargazer »

Well yes, forced_scandoubler=1 will make everything output at least 31khz.

Still it is possible that ST analog output will not sync to your arcade monitor. This does not automatically mean the reason is 31khz. There's also 50hz vs 60hz, use a U.S. bios for 60, even then some software will force 50hz. And even sorting that, the blanking settings might be a problem, in which case you probably have to use scaler to customize 240p blanking parameters.
Flain
Posts: 25
Joined: Mon May 25, 2020 1:29 am
Has thanked: 17 times
Been thanked: 5 times

Re: Using the scaler to downscale to 15khz

Unread post by Flain »

FoxbatStargazer wrote: Thu Jan 06, 2022 12:32 am Well yes, forced_scandoubler=1 will make everything output at least 31khz.

Still it is possible that ST analog output will not sync to your arcade monitor. This does not automatically mean the reason is 31khz. There's also 50hz vs 60hz, use a U.S. bios for 60, even then some software will force 50hz. And even sorting that, the blanking settings might be a problem, in which case you probably have to use scaler to customize 240p blanking parameters.
So strangely i already have forced_scandoubler=0 in my global config, i added it under my ST specific section and it's now doing 15khz and looks good on the arcade monitor. Can probably put this one down to user error somewhere.
Post Reply