Use Horizontal filters with analog out

Discussion about displays and related hardware including MiSTer filters and video settings.
HalleysCometMan
Posts: 9
Joined: Fri Nov 25, 2022 10:25 pm

Use Horizontal filters with analog out

Unread post by HalleysCometMan »

Is there any way to do even the simplest filter on the analog out?
The CRT I have in my cabinet is a LG flatron, and while it looks amazing on CPS1 era and later, it's too perfect for double dragon or bubble bobble.
Being able to switch in even the most basic of horizontal filters to defocus things a bit on the horizontal axis for just some games would make the world of difference for achieving the right nostaliga.

AngelicLiver
Top Contributor
Posts: 434
Joined: Fri May 29, 2020 8:50 am
Has thanked: 86 times
Been thanked: 120 times

Re: Use Horizontal filters with analog out

Unread post by AngelicLiver »

No, sorry.

Even if it were possible you wouldn't really have the resolution to apply things like the masks and filters available to HDMI output. This is just part of the nuance of different consumer CRTs; they can have very different characteristics due to their slot mask/shadow mask/aperture grille and vary wildly with age and manufacturer.

akeley
Top Contributor
Posts: 1441
Joined: Mon May 25, 2020 7:54 pm
Has thanked: 497 times
Been thanked: 467 times

Re: Use Horizontal filters with analog out

Unread post by akeley »

You can get the composite/S-video adapter and just use that.

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
mapf
Posts: 164
Joined: Mon Aug 31, 2020 8:05 pm
Has thanked: 58 times
Been thanked: 56 times

Re: Use Horizontal filters with analog out

Unread post by mapf »

HalleysCometMan wrote: Thu Aug 15, 2024 8:37 am

Is there any way to do even the simplest filter on the analog out?

Filters can only be applied to scaled output. For your use case, create a core-specific section in your mister.ini file, and set

Code: Select all

vga_scaler=1

and a appropriate video_mode that is sufficient for the unscaled resolution and refresh rate of the core. Here an example for Bubble Bobble (256x224 resolution in core):

Code: Select all

[bublbobl]
video_mode=512,42,62,64,224,11,21,6,10689
vga_scaler=1
vsync_adjust=2
vscale_mode=1

This uses double the horizontal resolution. You will need to switch aspect to "Full screen" in the core to compensate. You can now use any filter to alter the output.

HalleysCometMan
Posts: 9
Joined: Fri Nov 25, 2022 10:25 pm

Re: Use Horizontal filters with analog out

Unread post by HalleysCometMan »

Thanks!
I had a hunch the scaler would probably work after reading about adding background images to the menu with analog video.

The bubble bobble example works great!
With a mild horizontal blur, and the vertical left alone, it's enough to take the edge off.

Then I got thinking, could this be a way to play Galaga on my horizontal cab using rotation via the scaler?

If you're like me, having 2 cabinets / crts is not an option so a decision had to be made and horizontal won.
But it'd be nice to still give some vertical games a blast, warts and all.
In the case of Galaga, 288 x 224 pixels rotated fits the max 288 lines so it should work.\
Trying to generate modelines with this https://morf77.pythonanywhere.com/vm and this https://arachnoid.com/modelines/ though, it doesn't seem to sync.

There are a bunch of vertical shooters that would come in at or under 288 lines when rotated and not drop pixels, if only could get the right modelines.
Is there any sane method for creating these modelines properly?

User avatar
mapf
Posts: 164
Joined: Mon Aug 31, 2020 8:05 pm
Has thanked: 58 times
Been thanked: 56 times

Re: Use Horizontal filters with analog out

Unread post by mapf »

The scaler can only produce progressive video output, so anything more than 240 lines would require a reduction in refresh rate in order to still be a 15kHz signal. Whether your display would sync to that signal is another question. You could try to find a stable 640x240@60 mode and use it for the vertical cores. The downscaling will be visible, though.

retrodroid
Posts: 138
Joined: Tue Feb 02, 2021 5:55 pm
Has thanked: 96 times
Been thanked: 19 times

Re: Use Horizontal filters with analog out

Unread post by retrodroid »

I've had amazing results using the scaler to resize vertical arcade games like Galaga to display on my horizontal multisync arcade CRT. However, I have to use its VGA (640x480) mode in order to support this.

HalleysCometMan
Posts: 9
Joined: Fri Nov 25, 2022 10:25 pm

Re: Use Horizontal filters with analog out

Unread post by HalleysCometMan »

Back in the Amiga days messing around with assembler and copper effects etc on my PAL Amiga, I was regularly using its 348 x 288 full overscan resolution. CRT's have no problem with 288 lines, at least not PAL ones.

Right now I have my Mister menu in 512 x 288 and it syncs fine. So do other widths, provided I can find a pre-made modeline posted somewhere, but they're all at 60.00hz.
Having 288 vertical lines is serendipitous for vertical games that had >288 resolutions.
Some of my favs that I'd like to play would be in this category

1942 (224 x 256)
1943 (224 x 288)
Gunsmoke (224 x 256)
Galaga (288 x 224)
Commando (224x256)
Terra Cresta (224 x 288)

In theory these could all be rotated and fit on my CRT without downscaling.
I had a hell of a time forcing this big tube into an arcade cabinet. It's so tight the glass touches sides.
But it means I have a bit more screen real estate to play with than usual for CRT. Enough to rotate a vertical game and still look good.

I think the problem might be that a lot of these games switch into a refresh rate other than exactly 60hz which is what the modelines are set for.

This https://mister-devel.github.io/MkDocs_M ... ideo-modes is helpful for figuring out the modelines, but testing them is a pain.
Is there any way to force a mode change live while it's running over ssh so I can experiment and try get sync?

Another thing I'd like to try would be filtered hi-res with scaling.
On this tube, flickering is barely noticeable on PSX core in interlaced modes because the graphics are usually filtered/antialiased so much they're more like a video feed. Being that the filters work with the scaler on.....

A res like 640x512 interlaced with a vertical filter could be interesting to try with scaling for games bigger than 288.

The scaler can only produce progressive video output, so anything more than 240 lines would require a reduction in refresh rate in order to still be a 15kHz signal.

EDIT: This just sunk in so I guess that idea is out.

Post by retrodroid » Fri Aug 16, 2024 4:44 am

I've had amazing results using the scaler to resize vertical arcade games like Galaga to display on my horizontal multisync arcade CRT. However, I have to use its VGA (640x480) mode in order to support this.

Thats awesome! Sadly no multi sync for me

User avatar
mapf
Posts: 164
Joined: Mon Aug 31, 2020 8:05 pm
Has thanked: 58 times
Been thanked: 56 times

Re: Use Horizontal filters with analog out

Unread post by mapf »

Like I wrote before, video modes with more than 240 lines will need lower refresh rates. If your CRT syncs with PAL timings, you can setup a PAL video mode like

Code: Select all

video_mode=720,21,65,82,288,2,3,19,13853

combined with

Code: Select all

vsync_adjust=0

This keeps the video at 50Hz, but playing 60Hz cores will result in judder.

Regarding your question on how to test the different modes: I did it by editing the Mister.ini via ssh on my PC and the input sequence "Menu - Left - Up - Up - Up - A" to reload the ini file from within the Mister core.

Post Reply