MAME HLSL CRT SCANLINE EMULATION PRESETS

The place for all discussion on gaming hardware
User avatar
Domino
Posts: 1346
Joined: Sat Feb 16, 2008 11:35 pm
Location: Florida

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by Domino »

Quick question: How do I take a screenshot of my second monitor?

I use my laptop + second monitor that is rotatable for MAME. If I use print screen it only takes a screen shot of my laptop's monitor. I just want to throw out a few screenshots of 90s mode used in other games in the late 80s/90s.
User avatar
cmoses
Posts: 30
Joined: Fri May 24, 2013 1:40 pm

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by cmoses »

NUeda wrote:I'm doing this at a relaxed pace just for fun,

Better yet, which old games did you have in mind?
I could look into those sooner if you tell me.
NUeda,

I know you have posted a settings for 80's games but I was hoping that you could post one that would be specific to the early 80's classics that primarily had black backgrounds and simpler graphics like Pac-Man, Ms. Pac-Man, Donkey Kong, Donkey Kong Jr., Galaga, Space Invaders, Joust, etc.

Thanks for all your effort the games look amazing.
User avatar
cools
Posts: 2055
Joined: Mon Nov 26, 2007 4:57 pm
Location: South Wales
Contact:

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by cools »

Thanks. The reason I asked is because on a real CRT HSF2 looks absolutely fantastic with it set up so that the colour bars are "full" rather than cropped, but if the monitor should be calibrated differently it's definitely worth knowing - pretty much everyone on the arcade side of things uses a test screen to set up colours!

I need to check into this when I'm at the cab again.
Image
User avatar
NUeda
Posts: 76
Joined: Wed May 29, 2013 10:26 am

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by NUeda »

cmoses,

For the earliest games I was thinking of just using either of 80's or 90's mode, but with boosted bloom.
I'm in the process of figuring out good numbers for the bloom setting and so far the results are not too bad.

Image

HLSL codes and screenshots are coming soon.








cools,

I agree with you 100% that nothing is better than real CRT + real JAMMA PCB.
I just wanted to imitate the look of a CRT as much as possible for projectors and flat panels and mobile devices.
It's sacrilegious, but for some people it's not easy to maintain a CRT setup.


You are correct about using color bars for monitor setup, but that'd guarantee best results for Konami games only.
(There may be other game companies but I don't know of them yet)

The shadow details are too bright in SF2 and are just right in SF Zero 3,
but both games are using the SAME color bars in their test screens.

Image

For the sake of comparison between SF2 and SF Zero 3,
this means the color bars are good enough for adjusting the hardware to achieve fail-safe default settings
but can't be used to bring out the fine-tuned colors intended by sprite designers.

But I wouldn't worry about it, the main problem here is
CPS1 games with their inaccurate color bars and
HSF2 with its dependence on legacy sprites.


My main reason for sticking with 80's preset for SSF2, SSF2T, HSF2 is their usage of legacy sprites from SF2.

Image

If HSF2 didn't use legacy sprites, I would have chosen 90's mode without hesitation.

80's mode does have the tendency of overcooking the dark colors,
and HSF2 has some areas that are just right but also has some areas that are undercooked.
Using 80's preset for HSF2 was more of a color-grading decision than a technical decision.


But at the end of the day, you don't have to take my word as the verdict. :mrgreen:
If it looks too dark to you, by all means go ahead and use a brighter setting.
User avatar
Overkill
Posts: 512
Joined: Mon Aug 22, 2011 6:11 pm
Location: Portugal

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by Overkill »

Take your time NUeda, there is no rush here, we all are enjoying your good work over here. Older games for me are just everthing before polygon games era, for me that kind of games are not well emulated in MAME, and work better in other emulators like Nebula model 2 emulator, and supermodel 3, works good in higher resolutions on a 1080p LCD.

By the way, which monitor/lcd or plasma are using for this HLSL tests?
Mame4Life
Posts: 12
Joined: Wed Jul 03, 2013 1:54 pm

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by Mame4Life »

New & Improved (well, I think so. :lol: ) CPS2 settings...

Image

Image

Image

..I think I've managed to get a really good sense of depth and definition to the colours this time.
User avatar
bytestorm
Posts: 175
Joined: Wed Nov 09, 2011 5:19 am
Location: Sweden

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by bytestorm »

Hi!
First I just want to thank you all for taking your time and testing all this.. really helpful!
I was totally lost in the settings before when I tried myself, and couldnt even get the thing to save my HLSL slider settings ingame :( (still cant)

But more importantly, I get lag in battle garegga.. :( I cant seem to find out why.. some games works perfect, but the only reason I got mame again and tried these settings is that I want to play battle garegga :/

murphys law I guess :) I should have thought about only playing street fighter 2 awesome hackxxor version or some other sad story, then garegga would played perfect i guess ;)

Anyone experienced any lag with the 90" settings for garegga?

And apart from the HLSL settings, is there anything else i need to change? Filter setting? HW stretch?

Thanks for your time!
Looking to buy, working or faulty: Dodonpachi, Deathsmiles, Ibara, Rainbow Islands, Bubble Bobble.
User avatar
cmoses
Posts: 30
Joined: Fri May 24, 2013 1:40 pm

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by cmoses »

NUeda wrote:cmoses,

For the earliest games I was thinking of just using either of 80's or 90's mode, but with boosted bloom.
I'm in the process of figuring out good numbers for the bloom setting and so far the results are not too bad.

HLSL codes and screenshots are coming soon.

The shadow details are too bright in SF2 and are just right in SF Zero 3,
but both games are using the SAME color bars in their test screens.

Image
NUeda,

Thanks for the info on the black background classics. I figured tweaking the 80's settings would be the way you go. The screenshot of Donkey Kong looks pretty good. I haven't had much luck finding a bloom setting that I like with raster games, it seems like as soon as you turn it up you start to lose the scan lines. I think the bloom setting has been worked on more for vectors as it seems to look very good on those games. I will be looking forward to your HLSL settings in the future.

I had a question on the color bar screens and using them to configure the monitor. I opened up Street Fighter Zero 3 and pulled up the color test screen. Should you be using that screen to configure the monitor with HLSL settings on or off? The reason I ask is with HLSL off, I am seeing a very similar image to the one above and I think my brightness, contrast and gamma are pretty good. All the colors look correct and I see all the different color sections. When I turn on HLSL I lose the 2 darkest color sections on the left for red, blue, green and white, they are too dark to see and appear black. I almost lose the 3rd red one as well, but I can just barely see it. Does that sound correct? Or should I be adjusting brightness, contrast and gamma, with HLSL turned on?

Thanks
User avatar
NUeda
Posts: 76
Joined: Wed May 29, 2013 10:26 am

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by NUeda »

Overkill,

My monitor is a Dell Ultrasharp 1920 x 1200. The resolution is too low for doing aperture properly.
And I agree with you that older games should have been handled first.



ByteStorm,

Are you per chance running MAME on a laptop or a PC without an add-on GPU card?
As we all know, MAME is already a CPU hog, and adding HLSL to the mix makes it hungry even for GPU power.
The system requirements just keep going higher and higher........





cmoses,

SF Zero 3 has good correlation between the color test screen and the actual in-game graphics,
so there is no problem in using its color test bars for monitor adjustments. (non-HLSL)

But if you really want to adjust your monitor, please try http://www.lagom.nl/lcd-test/.
Monitor setup doesn't get any more accurate than using those test patterns,
unless you start using professional calibration hardware.


As for losing 2 shades of darkest colors and the 3rd being barely visible, I am aware of it.
My monitor under HLSL looks close to what you've described.
(the 3rd shade isn't disappearing however....)

If the question is
"What's the correct/perfect/authentic setting?
Is it no black crush? Some black crush?"
well......
people have different preferences.


Keeping some black crush in HLSL 90's mode was a conscious decision on my part, and it was based on:

1. faking the high dynamic range of CRT displays and how the naked eye has trouble seeing all of it without readjusting
2. borrowing from the look of magazine photos
3. matching to Konami games from the 90's.
(actually, those Konami games all have different color blars, so the code for HLSL 90's mode was configured with
sort of a middle-ground setting.)



Hmm... maybe I should maintain an HLSL mode that has no black crush.
Last edited by NUeda on Sat Jul 13, 2013 12:43 pm, edited 32 times in total.
User avatar
NUeda
Posts: 76
Joined: Wed May 29, 2013 10:26 am

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by NUeda »

MAME HLSL Codes and .INI File Creator _________ Updated on (MMDD): 2013.07.30

Image

- Deleted for being outdated -
Last edited by NUeda on Sat Dec 14, 2013 11:09 pm, edited 106 times in total.
User avatar
emphatic
Posts: 7918
Joined: Mon Aug 18, 2008 3:47 pm
Location: Alingsås, Sweden
Contact:

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by emphatic »

Good show! :D
Image | My games - http://www.emphatic.se | (Click) I have YEN stickers for sale
RegalSin wrote:Street Fighters. We need to aviod them when we activate time accellerator.
Daeymien
Posts: 3
Joined: Sun Jul 14, 2013 5:47 pm

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by Daeymien »

Firstly, thank you NUeda for the work. It's appreciated.

Two quick things:

#1 In the interest of housekeeping, might I suggest to use the "source" sub-directory of "ini" for driver-wide effects as MAME will look there as well for, as an example, CPS1.ini . Just have to add an exist check as below to the .bat and change, for example, system16a to source\system16a in the gamelist texts. Just makes things a bit more tidy keeping the game-specific settings separate from the driver-wide settings.
NUeda wrote: INI_creator_v0.1.bat ..................................... Updated on (MMDD): 2013.07.12

Code: Select all


@echo off
echo ---------------------------------------------------------
echo MAME INI File Creator v0.1      2013-07-12 (MMDD)
echo ---------------------------------------------------------
set /a N=0
if not exist "..\ini\mame.ini" (goto :last) else (goto :start)
::----------------------------------------------------------------------------
:start
set "settingsFile=INI_creator_settings.txt"

set "OutputFile=..\ini\%%S.ini"

set "shadowMaskList=shadow_mask_list.txt"

if not exist "..\ini\source" (mkdir ..\ini\source)

echo(

(snip)
#2
NUeda wrote: gamelist_80s.txt ..................................... Updated on (MMDD): 2013.07.12

Code: Select all


;H-res	Name of driver/ROM
;-------------------------------
256	aeroboto
256	dec8

288	88games
288	aliens
288	simpsons
288	thunderx
288	tmnt

320	aerofgt
320	asteroid
320	segas16a
320	segas16b
320	system1
320	system16
320	system18
(snip)
The system 18 driver in MAME is "segas18" not "system18" :wink:

Thanks again for the work you're doing.
User avatar
bytestorm
Posts: 175
Joined: Wed Nov 09, 2011 5:19 am
Location: Sweden

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by bytestorm »

Wow another great post!
Awesome work there m8!
Thanks!

By the way.. wich mame do you use with this?
I noticed never mame versions and older have differend HLSL files... Resulting in different ways.. shmupmame just gave me a black screen etc.
So I thought, using same as you would be the best :)
Looking to buy, working or faulty: Dodonpachi, Deathsmiles, Ibara, Rainbow Islands, Bubble Bobble.
User avatar
NUeda
Posts: 76
Joined: Wed May 29, 2013 10:26 am

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by NUeda »

emphatic,

tack själv!




Daeymien,

Thank you very much, I've applied your suggestion to the updated settings. I really appreciate it.
When you notice additional issues, please help me out again. :mrgreen:




bytestorm,

I'm using 0.149. When it comes to using these codes, the latest MAME build would be good because
even 0.148 and 0.149 look different using the same code.

e.g.
bilinear filtering had different results: 0.148 needed additional blurring to get the look i want.
and IIRC there was no bloom in 0.148
User avatar
bytestorm
Posts: 175
Joined: Wed Nov 09, 2011 5:19 am
Location: Sweden

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by bytestorm »

finally getting this to work now :)
really awesome work!! Looks very very nice!
Thanks from sweden ;)
Looking to buy, working or faulty: Dodonpachi, Deathsmiles, Ibara, Rainbow Islands, Bubble Bobble.
User avatar
Overkill
Posts: 512
Joined: Mon Aug 22, 2011 6:11 pm
Location: Portugal

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by Overkill »

MAME 0.149.u1 is out now. Anyone knows if the HLSL code is the same? can't see nothing related to that in the changelog.
User avatar
cmoses
Posts: 30
Joined: Fri May 24, 2013 1:40 pm

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by cmoses »

Overkill wrote:MAME 0.149.u1 is out now. Anyone knows if the HLSL code is the same? can't see nothing related to that in the changelog.
I looked at the changelog as well and didn't see any references to HLSL so I would assume it did not change in 0.149u1.
User avatar
NUeda
Posts: 76
Joined: Wed May 29, 2013 10:26 am

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by NUeda »

HLSL [Vector Glow] mode v0.1
Updated 2013-07-26 (MMDD)

- Deleted for being outdated -
Last edited by NUeda on Sat Dec 14, 2013 11:11 pm, edited 1 time in total.
User avatar
Overkill
Posts: 512
Joined: Mon Aug 22, 2011 6:11 pm
Location: Portugal

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by Overkill »

I think MESS (Multi Emulator Super System, the sister project of MAME) uses the same code for HLSL, so this settings, or a with little tune up will work for it either.
User avatar
NUeda
Posts: 76
Joined: Wed May 29, 2013 10:26 am

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by NUeda »

Ugly scanlines.

Elaphe pointed this out earlier, that MAME HLSL scanlines have an ugly pattern going on
compared to other methods of scanline implementation, like that of SweetFX.


Image

(The red highlights are aligned to the problematic lines.
If you don't see them, try standing far away from the monitor.)



Image

Difficult to see in screenshots, but they can get very annoying during real-time gameplay.











Here's a remedy for the time being.

It's not perfect
(horizontal games still show a faint pattern during BG scroll),
but there's noticeable improvement.

Locate this section in your mame.ini and change to these numbers.

Code: Select all


hlsl_prescale_x           6
hlsl_prescale_y           6

NOTE:
These numbers are good for 1920 x 1200 monitor output.
If your display resolution is less, see if you can get by with lower numbers for hlsl_prescale_x, y.
For higher-res monitor, you will likely need higher numbers.

High numbers for this setting will demand huge resources from one or more of the following: GPU or video RAM bandwidth or size.
The framerate can become unplayable when these numbers are too high,
my PC refuses to game at 15.







Explanation:

Trying to fake CRT scanlines on a LCD in real-time
involves one of the most sensitive types of image resizing
and
when the source and target pixels do not line up neatly, some pixels will end up having different size from others,
hence the appearance of ugly scanline patterns.

A crude analogy to this is:
Hooking up your 480p DVD player to your 1080p monitor,
when neither has proper scaling processors.

The situation with HLSL is actually less forgiving because of scanlines.






I noticed some really annoying scanline issues in Guwange (240 x 320),
but after using the above code, it's starting to look better.

With hlsl_prescale_x 6,
240 is multiplied by 6.
(hlsl_prescale_x, y ignores horizontal/vertical orientation of the game)

This changes the game image of 480 pixels (don't forget scanlines! 480 = 240 pixels + 240 or 239 scanlines)
into a GPU internal image of 1440 pixels. (240 x 6 = 1440)

The upscale here, being multiplied by whole numbers, is free of any distortion.
(for both 240 x 6 =1440 and 480 x 3 = 1440)
Pixels all retain the same structure in terms of visual perception.






And when it comes to image resizing, downscaling holds up better than upscaling in most cases.

This is why it's better to do a perfect upscale (multiply by a whole number) and downscale (+ bilinear filter) to the final resolution
than
just doing upscale (+ bilinear filter) to the final resolution in one go, which is guaranteed to have pixel distortions.


The GPU internal image of 1440 pixels is output to an area 900 pixels wide on the monitor,
(900 x 1200, for vertical games on a 1920 x 1200 monitor)
and with this, the annoying scanline problems are gone.



The numbers may look wasteful here, (240 -> 1440 -> 900)
but my monitor needed that many pixels for HLSL, in order to fix the ugly scanline issues.

The issue is still visible at
hlsl_prescale_x 5, 240 -> 1200 -> 900 (this may have to do with 1200 not being divisible by 480 neatly)
and
hlsl_prescale_x 4, 240 -> 960 -> 900 (960 is too close to 900 for getting a good looking downscale of scanlines.)

By the way,

Code: Select all

hlsl_snap_width           2048
hlsl_snap_height          1536
These settings have absolutely no effect on your real-time monitor output.
They only determine the size of .png screenshots taken by MAME.










If the scanline issue still persists after applying the hlsl_prescale_x, y codes,
try turning off bloom.

Image

I'll explain later what bloom does to scanlines, or rather, what scanlines do to bloom.








Image

High score screen in Guwange (1999)
works great for testing vertical scanlines on a horizontal monitor.
User avatar
cmoses
Posts: 30
Joined: Fri May 24, 2013 1:40 pm

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by cmoses »

NUeda,

I have seen the ugly scanlines and the banding that you are referring to. It is weird because I see them on my screen, but when I do a screen capture (left alt+F12), I do not see them in the capture, the scanlines look correct and there is no banding. I tried your suggestion to increase the prescale but I did not see any difference in the results. I think the issue is not in the scanlines and how they work but in the shadowmask texture and the aperture.png.

I take all the information I find on HLSL and combine it to come up with the best look. So my mame.ini file is constantly changing and being tweaked as I find new settings and try them out. It has a little bit of all the stuff I have read and put together to make the best settings. I was using your 90's HLSL setting mostly, but was also having some banding issues. So I went back to a previous mame.ini file that I was using and recalled it having a different png file for the shawdowmask. The file came from this webiste:

http://www.google.com/translate?hl=en&i ... 18991.html

It's called crt_slot_mask.png and I downloaded it and put it in the artwork folder. I was using the settings from this site for a while as they do a good job of recreating the CRT look. I thought the settings were a little off color wise and they didn't have the dark blacks correct. The settings from that page also use a tweaked post.fx file to give a lot of screen rounding and other effects. I think they looked good on some games, but not all so I took that aspect out of my mame.ini settings. I have combined the crt_slot_mask.png with your most recent 90's settings and currently am using this as my default HLSL settings. You might want to give it a go and see what you think.

Here is my HLSL portion of my mame.ini:

Code: Select all

hlsl_enable               1
hlslpath                  hlsl
hlsl_ini_read             0
hlsl_ini_write            0
hlslini                   %g
hlsl_prescale_x           3
hlsl_prescale_y           3
hlsl_preset               -1
hlsl_write                
hlsl_snap_width           1024
hlsl_snap_height          768
shadow_mask_alpha         0.075
shadow_mask_texture       crt_slot_mask.png
shadow_mask_x_count       320
shadow_mask_y_count       240
shadow_mask_usize         0.093750
shadow_mask_vsize         0.109375
curvature                 0.0
pincushion                0.02
scanline_alpha            1.0
scanline_size             1.0
scanline_height           1.5
scanline_bright_scale     1.0
scanline_bright_offset    0.0
scanline_jitter           0.0
defocus                   0.0,0.0
converge_x                0.2,0.0,0.0
converge_y                0.0,0.0,0.0
radial_converge_x         0.2,0.0,0.0
radial_converge_y         0.0,0.0,0.0
red_ratio                 0.85,0.15,0.0
grn_ratio                 -0.05,1.05,0.0
blu_ratio                 -0.025,-0.025,1.05
saturation                1.0
offset                    -0.15,-0.16,-0.16
scale                     1.15,1.16,1.16
power                     1.1,0.95,0.8
floor                     0.01,0.0,0.01
phosphor_life             0.0,0.0,0.0
Thanks for all your work, your settings are really amazing.
Last edited by cmoses on Tue Jul 30, 2013 6:41 pm, edited 2 times in total.
User avatar
NUeda
Posts: 76
Joined: Wed May 29, 2013 10:26 am

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by NUeda »

cmoses,

Thank you sir, I will explore the crt_slot_mask.png you mentioned. :mrgreen:
The pattern certainly looks more refined and closer to the real thing than the default aperture.png.




I've tried turning off aperture (shadow_mask_alpha 0) to see if that was causing the ugly scanlines.
The issue is still there, so it's being caused by something else.

This method of using hlsl_prescale isn't perfect (horizontal games still show the problem),
but there's improvement compared to hlsl_prescale_y 0.

Could you perhaps try using a higher number?
Using hlsl_prescale_y 3 actually makes it look worse on my PC.




By the way,
now may be a good time to stop using MAME screenshot (Alt + F12) altogether, because
it's difficult to get exact-sized screenshots of your game display
(must stitch 4 pieces together)
and
MAME screenshots don't show any of the bloom effect. :shock:




I had to start using a screen-capturing freeware (FRAPS) to make sure
that the screenshots and real-time display were exactly the same.

I hate to say this, but your OS screencapture (PrintScreen key)
would be more accurate than MAME's screenshots right now. (0.149)

For the purpose of HLSL testing, we need 100% match between screenshots and game display.
Last edited by NUeda on Tue Jul 30, 2013 6:41 pm, edited 1 time in total.
User avatar
cmoses
Posts: 30
Joined: Fri May 24, 2013 1:40 pm

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by cmoses »

I downloaded FAPS and used it to take a couple of screen shots. Below is the output I get with your updated 90's settings. It looks the same no matter what prescale number I choose. I tried, 3, 4, 6 and all have the same results. This is at prescale 6

Image

This is using prescale 3 and the crt_slot_mask.png for the shadowmask

Image

As you can see the banding is not there. Here are the differences in the mame.ini files.

shadow_mask_alpha is 0.15 in first image and 0.075 in the second image
shadow_mask_texture is aperture.png in the first image and crt_slot_mask.png in the second
scanline_height is 1.0 in the first image and 1.5 in the second image
scanline_bright_scale is 1.7 in the first image and 1.0 in the second image

I realized that the code I posted earlier was incorrect, some of the color settings were wrong. I edited in the post above but here it is again.

Code: Select all

hlsl_enable               1
hlslpath                  hlsl
hlsl_ini_read             0
hlsl_ini_write            0
hlslini                   %g
hlsl_prescale_x           3
hlsl_prescale_y           3
hlsl_preset               -1
hlsl_write                
hlsl_snap_width           1024
hlsl_snap_height          768
shadow_mask_alpha         0.075
shadow_mask_texture       crt_slot_mask.png
shadow_mask_x_count       320
shadow_mask_y_count       240
shadow_mask_usize         0.093750
shadow_mask_vsize         0.109375
curvature                 0.0
pincushion                0.02
scanline_alpha            1.0
scanline_size             1.0
scanline_height           1.5
scanline_bright_scale     1.0
scanline_bright_offset    0.0
scanline_jitter           0.0
defocus                   0.0,0.0
converge_x                0.2,0.0,0.0
converge_y                0.0,0.0,0.0
radial_converge_x         0.2,0.0,0.0
radial_converge_y         0.0,0.0,0.0
red_ratio                 0.85,0.15,0.0
grn_ratio                 -0.05,1.05,0.0
blu_ratio                 -0.025,-0.025,1.05
saturation                1.0
offset                    -0.15,-0.16,-0.16
scale                     1.15,1.16,1.16
power                     1.1,0.95,0.8
floor                     0.01,0.0,0.01
phosphor_life             0.0,0.0,0.0
User avatar
NUeda
Posts: 76
Joined: Wed May 29, 2013 10:26 am

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by NUeda »

Those screenshots are quite surprising. :shock:

I've got to start testing on different monitor resolutions and digging into crt_slot_mask.png.



EDIT:
Found the cause of the problem. (it was one of the things you've mentioned)

Image

The only difference between left and right is
scanline_bright_scale 1.7 and 1.0




I didn't realize that scanlines and apertures could look so different
when the monitor resolutions are different.

From now on I will take that into account and test with different resolutions, before posting codes.

Thank you cmoses, I appreciate your help !
When you see notice other issues, please bring them up. :mrgreen:
User avatar
NUeda
Posts: 76
Joined: Wed May 29, 2013 10:26 am

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by NUeda »

Does anyone here know who I should contact in order to point out problems in HLSL?

The current behavior of how the size of aperture/shadow mask
depends on the resolution of raster source
is VERY wrong.

Image

e.g.
On an actual CRT,
playing a lower/higher res game will NEVER change the size of aperture mask,
but that's how things are done in HLSL right now.

Neo-Geo should have the same looking aperture mask with CPS2.


I tried going through mame dev website and looked through the instructions for making bug reports,
but they have clearly spelled out they have no interest in correcting the visual output of HLSL
and would only look into the matter if HLSL was causing a game crash.


I'm asking because unless this issue gets corrected,
I have to make a long list for .INI creator that covers every possible combination of
Raster source resolution x LCD monitor output resolution x H/V orientation,
but that would be really stupid,
considering how making it simply ignore raster source resolution would fix all those issues.

(other than perhaps using different size for 15KHz vs 31KHz games)


Or I could use an artwork overlay that fakes the aperture pattern,
but a duplicate .png file would be needed for every parent rom (can't use system/driver name),
and these files would be larger than 1 MB each.


Who do I need to speak to?
Last edited by NUeda on Fri Aug 02, 2013 12:41 am, edited 2 times in total.
User avatar
NUeda
Posts: 76
Joined: Wed May 29, 2013 10:26 am

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by NUeda »

Thank you sir ! :mrgreen:
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 »

playing a lower/higher res game will NEVER change the size of aperture mask,
but that's how things are done in HLSL right now.
why do you see this as a problem ? At least you don't loose resolution this way and you don't have to care about the horizontal resolution of the game. If you had a shadow mask count less than the actual game's resolution (e.g. 320 while running a CPS2 title with 384 pixels resolution), you'd end with your multiple pixels sharing single "mask slots", which just doesn't look good.

Or is the other way around and you want a higher resolution shadow mask while running lower res games (e.g.a 400 dot shadow mask while running a 256 pixel title) ?
User avatar
NUeda
Posts: 76
Joined: Wed May 29, 2013 10:26 am

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by NUeda »

Yes the other way around. :mrgreen:

shadow_mask_x_count 320 looks good for 384 x 224 games
but looks absolutely abysmal for 256 x 240 games, like Robocop.
(meaning, the end result is not actually 320 dots and
a different size aperture is displayed, depending on the resolution of the raster source)

To clarify,
I'm just asking for the same aperture size for all 15 KHz games.

It would still have to be adjustable to accommodate for different LCD monitor resolutions.
User avatar
cools
Posts: 2055
Joined: Mon Nov 26, 2007 4:57 pm
Location: South Wales
Contact:

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by cools »

EDIT: Ignore me, browsing on a phone - the super large inline screens meant I scrolled past the interesting ones while they loaded.

Can you give some examples, because I thought shadow_mask_x_count did precisely what you're asking? A fixed aperture size.

Just did some quick tests. With 320 x 240 shadowmask. For 256x224 - minimal moire, looks great. For 320x240 - great again. 384x224 - moire. 320x224 - moire. Running on 1920x1080 output (albeit a 13" screen so it's difficult sometimes to spot moire).

I get moire on actual arcade CRTs depending on the resolution, but it's far more difficult to spot unless on a white screen.

Assuming you're talking about moire, that is!
Last edited by cools on Fri Aug 02, 2013 8:46 am, edited 1 time in total.
Image
Post Reply