MAME HLSL CRT SCANLINE EMULATION PRESETS

The place for all discussion on gaming hardware
User avatar
lettuce
Posts: 1334
Joined: Wed Jun 22, 2011 7:10 pm
Location: Bedfordshire, England.

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by lettuce »

cybermat wrote:Hi Lettuce,
thanks for sharing your settings! You've already answered to this question but i didn't understand... these settings are just for horizontal games ? Could be fine for vertical ?

I'm using GLSL shaders and i have dedicated shaders for vertical and horizontal.
Not sure havent really tried any vertical games yet, but HLSL automatically rotates the scanlines to there are correct
User avatar
Fudoh
Posts: 13015
Joined: Mon Mar 06, 2006 3:29 am
Location: Germany
Contact:

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by Fudoh »

Didn't you just post a snapshot of Donkey Kong ? Doesn't get more vertical than that.
User avatar
lettuce
Posts: 1334
Joined: Wed Jun 22, 2011 7:10 pm
Location: Bedfordshire, England.

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by lettuce »

Fudoh wrote:Didn't you just post a snapshot of Donkey Kong ? Doesn't get more vertical than that.
Yeah but i didnt really spend anytime on altering/testinh the settings for HLSL.
User avatar
jandrogo
Posts: 254
Joined: Thu Feb 07, 2008 11:51 pm
Location: Spain

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by jandrogo »

lettuce, your pics are amazing, what monitor and resolution are you using?
Working in the japanese language achievement
User avatar
Ed Oscuro
Posts: 18654
Joined: Thu Dec 08, 2005 4:13 pm
Location: uoıʇɐɹnƃıɟuoɔ ɯǝʇsʎs

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by Ed Oscuro »

Quote: ASUS ROG Swift PG279Q 1440p

I'd recommend the Acer XB271HU or possibly the upcoming Viewsonic XG2703-GS instead, but if you get a good copy, the PG279Q should be pretty decent (of course, the same holds for the Acer...two Acers and one Asus I've had has a dead full pixel somewhere, but the Asus had some really bad backlight bleed and severe screen uniformity problems. It was previously returned though). 1440p gives lots of pixels to play with.
User avatar
Xyga
Posts: 7181
Joined: Tue Nov 05, 2013 8:22 pm
Location: block

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by Xyga »

Acer or Asus or whatever brand, when you buy an IPS monitor chances there'll be backlight bleed are high because every manufacturer saves costs on assembly and quality control.
So it's not the brand or the model that's important, it's whom you're buying from and if they have a flexible returns policy in case of backlight bleed (along with dead pixels of course).
On some products Amazon have found a workaround saying "it's just IPS glow, that's normal", refusing returns and refunds.

On-topic; lately I've been skipping shaders entirely and went back to creating my own png overlay effects, and using those along with integer-scaling and no filtering I get better results, especially considering I'm using relatively slow panels at the moment (two VA).
Compared to using filter+bloom+mask mashups the gain in color and motion clarity is huge, no need to add it's also much lighter and snappier.
I'm glad integer-scaling will soon be back even in baseline MAME. Not everyone cares about it but to me it's more precious than any shaders thingie at the moment because either;
- the shader effect isn't realistic enough
- it is realistic but the monitor can't keep up
Said it already but I'll reconsider advanced shaders when I get an OLED or at least one of those $1000 gaming monitors, maybe...
Strikers1945guy wrote:"Do we....eat chicken balls?!"
ARCADIOS
Posts: 1
Joined: Sat Mar 05, 2016 4:46 pm

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by ARCADIOS »

hi to all! hope you can help me. i have rocketlaunher 1.0.1.0 and mame version 0.170. i have tryed any way to enable scanlines but i cant enable them. can anyone help me plz.
sorry for my bad english
User avatar
u-man
Posts: 18
Joined: Mon Feb 24, 2014 7:17 pm

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by u-man »

Xyga wrote:On-topic; lately I've been skipping shaders entirely and went back to creating my own png overlay effects, and using those along with integer-scaling and no filtering I get better results, especially considering I'm using relatively slow panels at the moment (two VA).
Compared to using filter+bloom+mask mashups the gain in color and motion clarity is huge, no need to add it's also much lighter and snappier.
I'm glad integer-scaling will soon be back even in baseline MAME. Not everyone cares about it but to me it's more precious than any shaders thingie at the moment because either;
- the shader effect isn't realistic enough
- it is realistic but the monitor can't keep up
Said it already but I'll reconsider advanced shaders when I get an OLED or at least one of those $1000 gaming monitors, maybe...
Can only partially agree with this and the rest is nonsense.
1st.) you can apply only ONE effect-file, so you are either missing scanlines or a shadowmask, which in turn is only half of the fun and is not realistic.
2nd.) if you decide to use a shadowmask, this shadowmask look way more unnatural in terms of size, comparing vs. shaders or the real thing.
3rd.) shaders have way more to offer, like curvature, vignette, reflections, hum-bar, ntsc-filtering (nice on old consoles), better vector-shading for vector games
4th.) scanline jitter, phosphor life (very important for b/w and vector games) and colour shifting.
5th.) equally strong defocus in steps for x/y axis, so no need for filtering at all.
6th.) other lcd shader presets for Gameboy and Game Gear

How good and realistic a HLSL shader looks, depends only on resolution-size and power of the GPU. With standard HDTV resolution, you achieve pretty decent results, that looks far better then any png effect-file.
"Computer games don't affect kids; I mean if Pac-Man affected us as kids, we'd all be running around in darkened rooms, munching magic pills and listening to repetitive electronic music."
User avatar
Xyga
Posts: 7181
Joined: Tue Nov 05, 2013 8:22 pm
Location: block

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by Xyga »

1st.) you can apply only ONE effect-file, so you are either missing scanlines or a shadowmask
No, you can do both with a single file.
2nd.) if you decide to use a shadowmask, this shadowmask look way more unnatural in terms of size, comparing vs. shaders or the real thing.
Depends, you can create almost any shape and play on various color shades to create unexpected results, but that depends a lot on resolution of course.
Doesn't mean it's impossible to do good stuff on rather low resolutions though, I've achieved impressive stuff on 768p and 900p.
EDIT: it's actually harder to work with more real estate, because you have to be more creative, fewer tricks will work.
4th.) scanline jitter, phosphor life (very important for b/w and vector games) and colour shifting.
Some typical flaws and effects actually happen too, or are possible to somehow reproduce, but phosphor life is impossible of course.
PS: note though that a kind of color glow effect is possible on RGB colors under the condition you're using RGB shades-heavy combinations.
5th.) equally strong defocus in steps for x/y axis, so no need for filtering at all.
I'm not a fan of defocus in any case anyway, all the crt's I've aver owned or liked to use were crystal-clear, and I grew up in the direct rgb world.
6th.) other lcd shader presets for Gameboy and Game Gear
That I don't care about, but yeah that's cool.

I maintain .png overlays can look better with normal 60Hz lcd's that lack any fancy motion-enhancing features, or that can't be bright-enough behind the busiest shaders.
And at zero cpu/gpu power cost, which can be useful to the few using quite old computers.

Also mind that again really, I'm not speaking about the .png overlays that are included in MAME, I do my own to match every case: display and game resolution, and it's pixel-based.
You probably have never seen any like those, because they're a lot of work and not many people besides OCD~ish like me would have had the idea and actually wasted hours and hours with the making and testing. :mrgreen:
Strikers1945guy wrote:"Do we....eat chicken balls?!"
Beebop
Posts: 10
Joined: Sat Aug 15, 2009 5:40 am

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by Beebop »

does anyone here know how to set the resolution so the games diplay in their native resolution but in double or triple size?
for example the neo geo is 320x224 and my monitor is 1366x768. that means i want to scale it 3 times to end up with 960x672. so it should when in full screen appear with black borders around the play area.
how to do that? currently i set my monitor resolution in the setting but there is no place to set the game resolution, only the aspect ratio. so the full screen view scales the image to fit the full verticle resolution of my monitor. i dont want that. in final burn alpha i just select "3x machine resolution" and all is good, but in mame... how?
User avatar
Xyga
Posts: 7181
Joined: Tue Nov 05, 2013 8:22 pm
Location: block

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by Xyga »

Using GroovyMAME you can enable the 'cleanstretch' option in mame.ini (create it via command line).
But it won't always work, if that creates more than 10% or 15% black borders area it will just skip and stretch to screen borders.

In the second case the workaround is to press the TAB menu ingame, and use the sliders:
Screen Horiz Stretch
Screen Vert Stretch

Unfortunately it's bitmap values so it doesn't tell the achieved resolution, which means you have to find the right 'integer scaling' values.

For ***x224 games on a 1366x768 panel if I remember correctly the vertical value was
Screen Horiz Stretch ???
Screen Vert Stretch 0.876
But I don't remember the Horizontal one, you can find it while playing a scrolling game with no filter on: adjust the value while it's moving until all the tearing/ripple lines are gone.

I wrote down the correct one for Neo Geo if that's of any use;
Screen Horiz Stretch 0.942
Screen Vert Stretch 0.876

If you're using a secondary display like a TV you might want to make sure it's in PC compatible mode, which on HD-Ready displays is often 1360x768 (note the zero). Otherwise your integer scaling efforts will be for nothing.

Can't help you find more since I don't have an HD-Ready display here (yes the values are different for every display resolution out there) only 1080p and 1200p.
Strikers1945guy wrote:"Do we....eat chicken balls?!"
Beebop
Posts: 10
Joined: Sat Aug 15, 2009 5:40 am

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by Beebop »

ok thanks. but when i do the stretch (or should i say shrink) to make the resolution correct, there are flickering garbage gfx start to appear in the area thats supposed to be empty black borders. it can be very distracting so in the end i just put it back.
now i have another question. every time i exit mame and restart, all the settings i made on the sliders are lost. i have to redo all the settings from scratch. why is that? if i try to edit the ini file thats in the ini folder, it has no effect on the games whatsoever. am i missing something? surely they cant expect us to play sliders every time we start mame?
User avatar
Xyga
Posts: 7181
Joined: Tue Nov 05, 2013 8:22 pm
Location: block

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by Xyga »

Beebop wrote:ok thanks. but when i do the stretch (or should i say shrink) to make the resolution correct, there are flickering garbage gfx start to appear in the area thats supposed to be empty black borders. it can be very distracting so in the end i just put it back.
Strange, I don't have that problem, never heard of it either ¯\(°_o)/¯
Beebop wrote:now i have another question. every time i exit mame and restart, all the settings i made on the sliders are lost. i have to redo all the settings from scratch. why is that? if i try to edit the ini file thats in the ini folder, it has no effect on the games whatsoever. am i missing something? surely they cant expect us to play sliders every time we start mame?
I'm using GroovyMAME 0.171 and every game setting gets saved in the cfg folder automatically, maybe you're missing it ?
(proper isntallation usually requires to make a baseline MAME install, launch it onece so it creates all the necessary folders and files (but it doesn't create the essential mame.ini, don't ask me why...)

Regarding the .INI, it should be in the executable's folder (not the .ini folder), but if I remember correctly you really do have to create it yourself using command line.
It's something like;

Code: Select all

c:\your_mame_folder>mame64.exe -cc
Now if you're using another build which is neither vanilla MAME nor GroovyMAME, or a significantly older version, then I don't know, things could be different.

PS: the upcoming MAME 0.172 should feature integer scaling settings
Strikers1945guy wrote:"Do we....eat chicken balls?!"
Beebop
Posts: 10
Joined: Sat Aug 15, 2009 5:40 am

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by Beebop »

Xyga wrote:
Beebop wrote:ok thanks. but when i do the stretch (or should i say shrink) to make the resolution correct, there are flickering garbage gfx start to appear in the area thats supposed to be empty black borders. it can be very distracting so in the end i just put it back.
Strange, I don't have that problem, never heard of it either ¯\(°_o)/¯
Beebop wrote:now i have another question. every time i exit mame and restart, all the settings i made on the sliders are lost. i have to redo all the settings from scratch. why is that? if i try to edit the ini file thats in the ini folder, it has no effect on the games whatsoever. am i missing something? surely they cant expect us to play sliders every time we start mame?
I'm using GroovyMAME 0.171 and every game setting gets saved in the cfg folder automatically, maybe you're missing it ?
(proper isntallation usually requires to make a baseline MAME install, launch it onece so it creates all the necessary folders and files (but it doesn't create the essential mame.ini, don't ask me why...)

Regarding the .INI, it should be in the executable's folder (not the .ini folder), but if I remember correctly you really do have to create it yourself using command line.
It's something like;

Code: Select all

c:\your_mame_folder>mame64.exe -cc
Now if you're using another build which is neither vanilla MAME nor GroovyMAME, or a significantly older version, then I don't know, things could be different.

PS: the upcoming MAME 0.172 should feature integer scaling settings
im using mameUI 0.171
cant say ive heard of groovy and vanilla mame? im using windows 7. i didnt know it was going to be so complicated.
User avatar
Xyga
Posts: 7181
Joined: Tue Nov 05, 2013 8:22 pm
Location: block

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by Xyga »

Well it's complicated because we're trying to do things that aren't directly featured yet, like integer scaling.
MAME is changing a lot as we speak and because of this some features and settings are kind of absent from the 'UI' builds.
So MameUI might miss some things not included or configured by default, can't say.

At the moment (0.171) the below is the most 'powerful' solution I can think of, in terms of control and performance.

1. install the basic MAME (64bit) in a new folder (yes the basic MAME you dowload from the official website)
2. run it once so it creates some necessary folders and files
3. download the GroovyMAME executable (it will be called simply mame64.exe)
4. drop it into the basic MAME folder, replacing the original executable
5. create a mame.ini using command line

It doesn't have a Windows UI, but there's a new integrated one now anyway, it's no longer a simple list of games, you can select folders or categories and even display snapshots.
Also it saves indivisual games settings so you won't have to bother redoing things over and over.

Still, your next stop is in your freshly created mame.ini in which you'll have to configure a number of things, I would suggest the following;
(I will not write the full .ini contents, only showing you the sections and lines where to make the changes)

Code: Select all

#
# CORE SWITCHRES OPTIONS
#
monitor                   lcd
cleanstretch              1
sync_refresh_tolerance    2.5 (this is if you want the Cave and Toaplan shmups to have smooth scrolling, at the cost of a game speed slighty off by 4%, otherwise leave the default 2)

Code: Select all

#
# OSD VIDEO OPTIONS
#
video                     d3d9ex (selecting this will reduce lag)

Code: Select all

#
# OSD PER-WINDOW VIDEO OPTIONS
#
screen                    \\.\DISPLAY1
aspect                    16:9
resolution                1360x768@0 (or whatever display you're using, but this is necessary. you can leave the refresh '@0')
Leave every other option related to speed and sync, multithreading, etc to default for now, you won't see it but GroovyMAME will adjust those automatically depending on the situation.
I would advise disabling Aero in Windows 7 because it forces v-sync, but if you end up seeing tearing and can't defeat it, just reanable it.

So that's your GroovyMAME starter pack, compared to simple MAME and MAMEUI you gain;
- lower lag
- automatic integer scaling (only working if the resulting borders aren't over 10%)
- individual game settings automatically saved in the cfg folder (you won't have to apply H & V values every time you're looking for an integer scale)
GroovyMAME can do other things, but you'll learn that later yourself if you wish.

OPTIONAL PROTIP: In cases 'cleanstretch' actually works, note that it will disable bilinear filtering.
Here's the trick if you really want it back: you'll have to create two new separate .ini files (just make two .txt files and convert both to .ini manually) that will sit in the main folder, same as the main mame.ini
Those two new .ini's will be called;
horizont.ini
vertical.ini

And in both you will write the same thing as below, and only that;

Code: Select all

#
# OSD ACCELERATED VIDEO OPTIONS
#
filter                    1
prescale                  0
Whatever filter and prescale values written in the main mame.ini will be overridden by those.
The reason why is not important right now, it's just a trick to force bilinear filtering back on (for the few who will want that).

Or again you can wait for 0.172, it should feature integer scaling like GroovyMAME, but I don't know if it will be identical to the rather limited 'cleanstretech' option, or if it will be a new, more flexible and configurable thing.
D3D9ex though, the thing that grants lower lag than the 'regular' D3D, might come to the basic/official MAME only later, or maybe never I'm not sure.
Until then, well, there's GroovyMAME.
Strikers1945guy wrote:"Do we....eat chicken balls?!"
User avatar
mnneurope
Posts: 100
Joined: Fri Feb 28, 2014 9:02 am
Location: Bosnia and Herzegovina
Contact:

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by mnneurope »

ok, I need help, again, so, everything was working fine with this code
Spoiler
#
# DIRECT3D POST-PROCESSING OPTIONS
#
hlsl_enable 1
hlslpath hlsl
hlsl_ini_read 0
hlsl_ini_write 0
hlslini %g
hlsl_prescale_x 0
hlsl_prescale_y 0
hlsl_preset -1
hlsl_snap_width 1680
hlsl_snap_height 1050
contrast 0.750
gamma 0.850
shadow_mask_alpha 0.0
shadow_mask_texture aperture.png
shadow_mask_x_count 320
shadow_mask_y_count 240
shadow_mask_usize 0.09375
shadow_mask_vsize 0.09375
curvature 0.3
pincushion 0.0
round_corner 0.05
scanline_alpha 1.00
scanline_size 1.00
scanline_height 0.75
scanline_bright_scale 1.5
scanline_bright_offset 0.80
scanline_jitter 0.05
defocus 0.0,0.0
converge_x 0.0,0.0,0.0
converge_y 0.0,0.0,0.0
radial_converge_x 0.0,0.0,0.0
radial_converge_y 0.0,0.0,0.0
red_ratio 1.0,0.0,0.0
grn_ratio 0.0,1.0,0.0
blu_ratio 0.0,0.0,1.0
saturation 1.15
offset 0.0,0.0,0.0
scale 1.0,1.0,1.0
power 1.0,1.0,1.0
floor 0.00,0.00,0.00
phosphor_life 0.0,0.0,0.0
let just say that shadow mask and everything that I didnt use, was fine, I was fine with it, screen looked like this

Image

I was using Windows XP, on Ati Radeon HD 5450, screen res 1680x1050, and everything looked good. (MAME 0.163)

NOW, only thing I changed was upgrade to Win 7 64 bit Ultimate, and HLSL doesnt work at all? mame.ini is still in same place, with same settings with same res, with same Ati card, everything is the same. I also tried MAME 64bit with all possible combinations of mame.ini settings, nothing works? WHAT IS THISSISISISISISISISISISII!II!II!I!I!!?!?!?!

SAME THING HAPPENED when I switched from 0.147 to 0.163 to play Raiden DX, but then I was on Win XP SP3, and somehow made changes to .ini file so HSLS works, now, on Win 7 64 bit Ultimate HLSL doesnt work at all? I have all the updates from MS Update, Direct X 11........ ?????

CAN SOME1 PLS HELP ME WITH suggestions, rly dont know what to do anymore, and I cant go back to f XP...

(I also tried running MAME in compatibility mode in every possible way and nothing works?)
User avatar
lettuce
Posts: 1334
Joined: Wed Jun 22, 2011 7:10 pm
Location: Bedfordshire, England.

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by lettuce »

Have you installed DirectX??
User avatar
mnneurope
Posts: 100
Joined: Fri Feb 28, 2014 9:02 am
Location: Bosnia and Herzegovina
Contact:

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by mnneurope »

after I wrote that post I continued to searched google, and found that I need to install DX (or some parts of it), although I have DX11

file I needed > "DirectX End-User Runtimes (June 2010)" from ms website

and, voila, problem solved. lol
User avatar
Xyga
Posts: 7181
Joined: Tue Nov 05, 2013 8:22 pm
Location: block

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by Xyga »

Having fun with .PNG effects, kind of OT sorry. :mrgreen:

(watch full size otherwise it's all garbled)
Image
Image

This works fantastic on my 42" TV, not requiring to push the backlight too high (unlike Royale) and remaining very clear, neat and vivid even during vertical and diagonal scrolling.
I can do much stronger/darker scanlines but this is how I like it for now.
The reds are bleeding the fuck though, need to tone em down...

Really anticipating MAME 0.172 and its custom integer scaling feature.
Strikers1945guy wrote:"Do we....eat chicken balls?!"
User avatar
lettuce
Posts: 1334
Joined: Wed Jun 22, 2011 7:10 pm
Location: Bedfordshire, England.

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by lettuce »

Xyga wrote:Having fun with .PNG effects, kind of OT sorry. :mrgreen:

(watch full size otherwise it's all garbled)
Image
Image

This works fantastic on my 42" TV, not requiring to push the backlight too high (unlike Royale) and remaining very clear, neat and vivid even during vertical and diagonal scrolling.
I can do much stronger/darker scanlines but this is how I like it for now.
The reds are bleeding the fuck though, need to tone em down...

Really anticipating MAME 0.172 and its custom integer scaling feature.
Thats does look impressive, and chance you could make a 1440p version for me to try and out, possible one with your normal scanlines and one with dark scanlines?.

On a side note these might be really good for the RetroPie program for the Raspberry Pi devices!?

BTW i think MAME 0.172 will tomorrow...they usually release on the last Tuesday of every month dont they?
User avatar
Xyga
Posts: 7181
Joined: Tue Nov 05, 2013 8:22 pm
Location: block

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by Xyga »

Well it looks much better when lit up and in real size if you see what I mean, since the idea is to privilege clearness and colors/light over fancy effects (which you can't reproduce with simple PNG overlays anyway)
Those KotR screenshots had lowered gamma btw which I always forget is not always necessary.

Unfortunately the highest resolution I can offer here is 1600x1200 but it's easy to make yourself, just create a PNG matching your X & Y integer scaling factors;

You're upscaling a 384x224 Capcom game 3x4 ? that's 1152x896, using the ingame menu sliders H.Stretch 0.800, V. Stretch 0.830 (but only for a 1920x1080 panel!)
Create a 3x4 pixels PNG and apply your colors.
For bigger, say 4x5 1536x1120 it's H 1.066, V 1.104, offset H position 0.004 (but again only valid for a full-hd panel)

It's a chore because you'll have to find the right values every time, so yeah you might want to wait for 0.172, it'll be considerably easier with it (release should be imminent yes).

Something like this (3x4px);
Image
- start with filling the top and bottom with strong pure RGB dots that will constitute the dark area between the lines
- I usually start with pure 100% RGB then progressively apply either pure black or pure white over those with something like a 80% alpha transparency level, to either brighten or darken them to my liking (you will want to darken them of course)
- In the middle I put light RGB strips usually from a faint 10% to 35%

In the example PNG up there I've started with 80% RGB then applied a bit of transparent black, about 10% over GB and 20% over R to limit the bleeding.
Middle GB strips are about 35%, and R a bit under 30%.
This gives something very close to the KotR pics I've posted.

Maybe you'll want colors like the below, dunno, you have to try and see how it looks on your monitor.
Image

One non-negligible problem is what to do when you have more real estate ?
I haven't found a satifying pattern for 5x5 for instance (for 320x240 games)
Image
Doesn't look right at all... :? But I haven't spent much time on those scaling factors yet.
Maybe it would be easier to take even bigger factors (6) and go for something cutting pixels in half for a higher-TVL kind of effect.

Regarding the Pi: I don't know, if RetroPie allows the use of the classic PNG overlays there's no reason why it shouldn't work.
Which reminds me it works too for people who use smaller screens, here's and example of strong scanmask PNG (note: here blue has been made darker than other colors on purpose, to simulate a slot/grid effect despite the reduced real estate)
Spoiler
Image
Image
And lighter below, with more or less even RGB values, it comes out very shiny and clear on my crappy glossy laptop's screen which needed a color and sharpness boost;
Spoiler
Image
Too strong reds again here, but on a tiny screen the bleeding colors aren't too obnoxious, it's almost the opposite. ^^
Strikers1945guy wrote:"Do we....eat chicken balls?!"
User avatar
lettuce
Posts: 1334
Joined: Wed Jun 22, 2011 7:10 pm
Location: Bedfordshire, England.

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by lettuce »

Thanks for the info, i might wait for the integra scaling to be included in MAME.

Will that then allow for just one PNG to be used in the future then?
User avatar
Xyga
Posts: 7181
Joined: Tue Nov 05, 2013 8:22 pm
Location: block

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by Xyga »

Ah no unfortunately, you'll always need a PNG of a size matching the scaling factor
3x4 integer-scaled = 3x4px PNG
4x4 integer-scaled = 4x4px PNG
4x5 integer-scaled = 4x5px PNG
etc

It can probably be done only once for each resolution type upscaled to one panel resolution with your integer choices and copied over to individual games .INI's

This is not at all a full, complete and convenient alternative to shaders, it's only an experiment and eventually something only a person who has a lot of time and wants exactly that kind of rendering will want to use on all games.

I'm guessing we could do something extremely close if not identical using HLSL, GLSL and through BGFX, since we now have integer scaling.
The CPU/GPU toll should remain very low despite using the shaders system, because there's almost nothing here, no smoothing, no prescaling, no bloom, nada.
Strikers1945guy wrote:"Do we....eat chicken balls?!"
Mokum
Posts: 11
Joined: Sun Jul 24, 2011 7:37 pm

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by Mokum »

I've been messing a bit with the ini file and I'm struggling a bit getting used to the newer command lines. The life was easier with cool's files but I've updated to MAME 0.170 so I need to do some work ;)

What do you think so far?

Image

Image

Image

Image

Image

Image

Image

Image

Image

Image

Image

Image

#
# CORE SCREEN OPTIONS
#
brightness 0.95
contrast 1.1
gamma 0.7
pause_brightness 0.65
effect none

#
# OSD VIDEO OPTIONS
#
video d3d
numscreens 1
window 0
maximize 1
keepaspect 1
unevenstretch 1
waitvsync 0
syncrefresh 0

#
# OSD ACCELERATED VIDEO OPTIONS
#
filter 0
prescale 3

#
# DIRECT3D POST-PROCESSING OPTIONS
#
hlsl_enable 1
hlslpath hlsl
hlsl_prescale_x 3
hlsl_prescale_y 3
hlsl_write
hlsl_snap_width 1920
hlsl_snap_height 1080
shadow_mask_tile_mode 0
shadow_mask_alpha 0.150000
shadow_mask_texture crt_shadow_mask.png
shadow_mask_x_count -3
shadow_mask_y_count -2
shadow_mask_usize 0.375
shadow_mask_vsize 0.25
shadow_mask_uoffset 0.0
shadow_mask_voffset 0.0s
curvature 0.15
round_corner 0.03
smooth_border 0.03
reflection 0.0
vignetting 0.0
scanline_alpha 0.5
scanline_size 1.0
scanline_height 1.0
scanline_bright_scale 1.0
scanline_bright_offset 0.0
scanline_jitter 0.0
hum_bar_alpha 0.0
defocus 0.0,0.0
converge_x -0.3,0.0,0.3
converge_y -0.3,0.0,0.3
radial_converge_x 0.0,0.0,0.0
radial_converge_y 0.0,0.0,0.0
red_ratio 1.0,0.0,0.0
grn_ratio 0.0,1.0,0.0
blu_ratio 0.0,0.0,1.0
saturation 1.0
offset 0.0,0.0,0.0
scale 1.0,1.0,1.0
power 1.0,1.0,1.0
floor 0.01,0.01,0.01
phosphor_life 0.0,0.0,0.0


#
# NTSC POST-PROCESSING OPTIONS
#
yiq_enable 0
yiq_jitter 0.0
yiq_cc 3.57954545
yiq_a 0.5
yiq_b 0.5
yiq_o 0.0
yiq_p 1.0
yiq_n 1.0
yiq_y 6.0
yiq_i 1.2
yiq_q 0.6
yiq_scan_time 52.6
yiq_phase_count 2

#
# VECTOR POST-PROCESSING OPTIONS
#
vector_length_scale 0.8
vector_length_ratio 500.0

#
# BLOOM POST-PROCESSING OPTIONS
#
bloom_blend_mode 0
bloom_scale 0.1
bloom_overdrive 1.0,1.0,1.0
bloom_lvl0_weight 1.0
bloom_lvl1_weight 0.21
bloom_lvl2_weight 0.19
bloom_lvl3_weight 0.17
bloom_lvl4_weight 0.15
bloom_lvl5_weight 0.14
bloom_lvl6_weight 0.13
bloom_lvl7_weight 0.12
bloom_lvl8_weight 0.11
bloom_lvl9_weight 0.10
bloom_lvl10_weight 0.09
User avatar
FamiDriveDuo
Posts: 31
Joined: Wed Dec 23, 2009 11:10 am
Location: Texas

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by FamiDriveDuo »

Any good settings for HLSL in 1080p? I'm on 0.172
User avatar
Xyga
Posts: 7181
Joined: Tue Nov 05, 2013 8:22 pm
Location: block

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by Xyga »

Most settings apply but if you're afraid of scanlines looking uneven just activate integer scaling, set unevenstretch to 0

Code: Select all

#
# CORE RENDER OPTIONS
#
keepaspect                1
unevenstretch             0
unevenstretchx            0
intscalex                 0
intscaley                 0
It will often mean the picture will be bigger than the screen, leaving part of it hidden in the 'overscan' area.
You can force smaller integer values using intscalex & intscaley (set factors like 2, 3, 4 whatever fits the game and your screen)

On that topic I've been playing with integer scaling and PNG overlays again, looking for a tighter RGB grille+lines effect.
It's still too dark and the lines are too thick for my taste, but I'm getting there little by little.
(default integer scaling on 1080p which means 4x5 here for a Capcom game, so 4x5px PNG as well)
VIEW FULL SIZE OTHERWISE IT'S GARBLED
Image
By the way when a big integer size like this is applied I can no longer take fullscreen screenshots using window's print screen key, so I had to take it windowed...

EDIT: had to cut pic coz tinypic fucked it

EDIT2: here the PNG in its current state (WIP)
Image
http://s000.tinyupload.com/index.php?fi ... 8335538344
Turn 'filter' off in mame.ini when using this PNG (mandatory)
Strikers1945guy wrote:"Do we....eat chicken balls?!"
User avatar
lettuce
Posts: 1334
Joined: Wed Jun 22, 2011 7:10 pm
Location: Bedfordshire, England.

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by lettuce »

Quick question Xyga, how come your not using HLSL?

On another not im really like the work they've done to HLSL in 0.172....

Image
User avatar
Pasky
Posts: 694
Joined: Mon Oct 21, 2013 3:58 am

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by Pasky »

I've found GLSL produces much better results that or my HLSL settings aren't too great.
User avatar
Xyga
Posts: 7181
Joined: Tue Nov 05, 2013 8:22 pm
Location: block

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by Xyga »

lettuce wrote:Quick question Xyga, how come your not using HLSL?
Curiosity. :wink:

Actually, and honestly it's because I'm not satisfied with what I usually see with HLSL or most CRT shaders in general. Those rely way too much on smoothing and optional gimmicks such as vignetting, curvature, exaggerated color bleeding, too much bloom, straight dark screen-cutting lines hurting vertical and diagonal motion, etc.
Low res RGB CRT's don't look like that in real life, and on top of that many 'crt details' those shaders aim at reproducing are destroyed by the average LCD's blur and smearing in motion. Looking nice essentially on still screens but that's as far as it goes.
My approach is rather to adapt to what my pretty 'traditional' LCD TV and monitors can do rather than standing disappointed watching the potential of those great shaders wasted, also wasting cpu/gpu juice for too little improvement/realism.

Aiming at clarity and motion-friendliness first, I went for integer scaling, pixel alignement, completely shut off smoothing/filtering, and eliminated the idea of using completely straight dark lines, or even shades of gray when they're not absolutely necessary.
Later I plan to see if I can produce something following those rules using HLSL or Royale, it's just that I wanted to explore the new possibilities PNG overlays offered using integer scaling first (the only way those should be used), and I found them to be surprisingly great and efficient.

All of this will be completely different though, the day I own a display with instant pixel response, such as OLED of course. :mrgreen:
I'll then go back to using shaders for actual gameplay.

NOTE: the Progear pic and png I just posted don't really follow my 'philosophy', those are not intended for actual gameplay use yet but rather to experiment on a way to fake higher TVL.
What I've used for those Knights of the Round shots before however, is way more clarity and motion friendly.
Keep in mind it's hard to really get what it does just looking at screenshots, I was expecting much perplexed comments anyway. :P

EDIT: here's one more gentle with scanlines/brightness than the previous (though gamma was turned down when I took the screenshots)
1080p, default integer scaling (4x5), no filter. I need to rebalance the colors, red is too strong as usual.
Image
EDIT: fixed link to png file http://s000.tinyupload.com/index.php?de ... 5296640045
Image
Image
Image
Strikers1945guy wrote:"Do we....eat chicken balls?!"
ninjabadger
Posts: 1
Joined: Thu Apr 07, 2016 12:46 pm

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by ninjabadger »

lettuce wrote:Quick question Xyga, how come your not using HLSL?

On another not im really like the work they've done to HLSL in 0.172....

Image
Could you share your settings?

Just updated to 0.172 myself.

Thanks.
Post Reply