Page 1 of 1

Use Horizontal filters with analog out

Posted: Thu Aug 15, 2024 8:37 am
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.


Re: Use Horizontal filters with analog out

Posted: Thu Aug 15, 2024 8:54 am
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.


Re: Use Horizontal filters with analog out

Posted: Thu Aug 15, 2024 11:14 am
by akeley

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


Re: Use Horizontal filters with analog out

Posted: Thu Aug 15, 2024 1:29 pm
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.


Re: Use Horizontal filters with analog out

Posted: Thu Aug 15, 2024 2:48 pm
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?


Re: Use Horizontal filters with analog out

Posted: Thu Aug 15, 2024 3:26 pm
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.


Re: Use Horizontal filters with analog out

Posted: Thu Aug 15, 2024 6:44 pm
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.


Re: Use Horizontal filters with analog out

Posted: Thu Aug 15, 2024 10:23 pm
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


Re: Use Horizontal filters with analog out

Posted: Fri Aug 16, 2024 7:29 am
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.