MAME HLSL CRT SCANLINE EMULATION PRESETS

The place for all discussion on gaming hardware
energizerfellow‌
Posts: 208
Joined: Thu Sep 27, 2018 1:04 am

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by energizerfellow‌ »

Rasp wrote: My display? Or Nueda’s?

So you’re saying that the “bluish” tint is correct?
NUeda's, specifically the ones on the right in the side-by-side examples. If you're using a display calibrated for 6500k, i.e. effectively all modern displays, and playing Japanese games/video from prior to the early/mid 90s that were color calibrated for 9300k, you'll indeed get incorrect color unless you manually color calibrate your display for 9300k or apply some kind of 3D LUT correction (that might already be built into to your emulator of choice). Notice the 9300k/6500k switch on the back of old analog Sony PVMs, for instance.
User avatar
NUeda
Posts: 76
Joined: Wed May 29, 2013 10:26 am

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by NUeda »

themanuel,

If it's possible, can you post a 1:1 scale screenshot of game screen from your older MAME HLSL setup ?

I may be able to look into your situation but I don't know what those shadow mask settings looked like in older MAME.
I don't have a starting point.



Here's a shadow mask setting you could try, you may or may not like it.
You could give it a try and tweak it to something more to your liking.

Code: Select all

shadow_mask_tile_mode     0
shadow_mask_alpha         0.35
shadow_mask_texture       slot-mask.png
shadow_mask_x_count       24
shadow_mask_y_count       16
shadow_mask_usize         1
shadow_mask_vsize         1
shadow_mask_uoffset       0.0
shadow_mask_voffset       0.0
The changing of color and invisibility problem you mentioned is likely caused by
shadow mask pattern (loaded from PNG file) getting scaled down to 1/3 or 2/3,
so R, G, B sub-pixels are starting to merge or get skipped.
If Blue sub-pixels are skipped, you get yellow colors for the entire screen.


One possible solution against this is
using a different shadow mask pattern that uses Magenta (= R+B) and Green sub-pixels.




For curvature of the monitor,
I suggest adjusting distortion to get the general spherical curve you want
and then adjust distort_corner to a number that is only slightly higher than distortion
and then adjust round_corner to get blunt rounded corners on 4 diagonals, instead of sharp square corners.
themanuel
Posts: 3
Joined: Sat Oct 27, 2018 1:28 pm

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by themanuel »

Nueda:

Thank you very much for your tips and offer to help. Before I waste any more of your time, I'll try the settings you suggested and compared them to the current setup I have, which I lifted off a forum in the last few days and I'm liking quite a bit. Additionally, I am yet to try the BGFX HLSL presets, of which I only became aware today.

I have all of a sudden a bunch buttons I can press and may not need to try and chase my old setup.

Best regards.
themanuel
Posts: 3
Joined: Sat Oct 27, 2018 1:28 pm

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by themanuel »

Related question:
How does one go about converting some of the HLSL presets shared here to the BGFX HLSL chain?
fuzzi23
Posts: 4
Joined: Sat Mar 31, 2012 7:02 pm

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by fuzzi23 »

Merry christmas all,

I have some noob questions: I am using HLSL with the Jezze settings, and I think it looks really nice in my opinion. But three little things bother me and I can't get any solution for it. So, maybe you experts here can help me.

1. In games with a bright background (like the blue sky in Outrun) there are rounded stripes at the top of the screen. looks like dithering for me. Any idea how I can fix this? Here is an example:

Image

2. With Jezzes settings there is something like a ghosting effect. This effect looks a bit to strong in my opinion. It's a long time ago since I play on real arcade hardware. Is this effect really this strong? How can I reduce that? With my settings it looks like this:

Image

3. I remember on a real CRT TV I could see the single color slots (red, green, blue), if I look close enough. With HLSL, I think this slots are really tiny. You can see that on my previous pictures. Is this normal? I try all the masks that are contained in MAMEUI. Is there a way to increase the size of the slots? Or do you think this size is OK?

Hope somebody can help. :)
MaximeX
Posts: 3
Joined: Sun Aug 12, 2018 9:22 am

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by MaximeX »

Hey there!! :)

1. Ghosting:
Guess it's from Phosphor Persistence.
Lowering the RED GREEN and BLUE values of it should solve this.

2. Dithering:
Well what you see there is the Shadow Mask.
Looks like you are using Quadric Distortion and / or Cubic Distortion which simulates the shape of a real CRT by morphing the screen.
If you set them to 0.00 this should be gone as well.
User avatar
ReSe2k
Posts: 100
Joined: Tue Nov 22, 2011 2:29 pm
Location: Doitsulando

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by ReSe2k »

I've just tried out the ini_creator 4. 0 and i'm really impressed how much better some games now look. Thank you Nueda for sharing this with us!

I tried out the HLSL settings, but they are too blurry for my setup. I'm using a 31khz arcade monitor with mame running in 640x480. I want to use scanlines and add some softness to the pixeks to get closer to 15khz. Rounded corners are unnecessary for me since the tube is heavily curved already.

What settings do i need to use to get rid of the blurryness?
NickNickNick
Posts: 3
Joined: Thu Apr 28, 2016 11:52 am
Location: Beijing

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by NickNickNick »

Just tried this on Ketsui, looks awesome, many thanks!
waveform
Posts: 2
Joined: Thu Jan 31, 2019 5:56 pm

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by waveform »

Also, I am using the latest version of MAME -> 0.205 if that helps.

This is how the HLSL settings look like in my mame.ini after I run your batch file:

Code: Select all

#
# OSD VIDEO OPTIONS
#
video                     auto
numscreens                1
window                    0
maximize                  1
waitvsync                 1
syncrefresh               0
monitorprovider           auto

#
# OSD PER-WINDOW VIDEO OPTIONS
#
screen                    auto
aspect                    auto
resolution                auto
view                      auto
screen0                   auto
aspect0                   auto
resolution0               auto
view0                     auto
screen1                   auto
aspect1                   auto
resolution1               auto
view1                     auto
screen2                   auto
aspect2                   auto
resolution2               auto
view2                     auto
screen3                   auto
aspect3                   auto
resolution3               auto
view3                     auto

#
# OSD FULL SCREEN OPTIONS
#
switchres                 0

#
# OSD ACCELERATED VIDEO OPTIONS
#
filter                    0
prescale                  1

#
# OpenGL-SPECIFIC OPTIONS
#
gl_forcepow2texture       0
gl_notexturerect          0
gl_vbo                    1
gl_pbo                    1
gl_glsl                   0
gl_glsl_filter            0
glsl_shader_mame0         osd\shader\glsl_plain
glsl_shader_mame1         osd\CRT-geom
glsl_shader_mame2         none
glsl_shader_mame3         none
glsl_shader_mame4         none
glsl_shader_mame4         none
glsl_shader_mame5         none
glsl_shader_mame6         none
glsl_shader_mame7         none
glsl_shader_mame8         none
glsl_shader_mame9         none
glsl_shader_screen0       none
glsl_shader_screen1       none
glsl_shader_screen2       none
glsl_shader_screen3       none
glsl_shader_screen4       none
glsl_shader_screen5       none
glsl_shader_screen6       none
glsl_shader_screen7       none
glsl_shader_screen8       none
glsl_shader_screen9       none

#
# OSD SOUND OPTIONS
#
sound                     auto
audio_latency             2

#
# PORTAUDIO OPTIONS
#
pa_api                    none
pa_device                 none
pa_latency                0

#
# BGFX POST-PROCESSING OPTIONS
#
bgfx_path                 bgfx
bgfx_backend              glsl
bgfx_debug                0
bgfx_screen_chains        default
bgfx_shadow_mask          slot-mask.png
bgfx_lut                  
bgfx_avi_name             auto

#
# WINDOWS PERFORMANCE OPTIONS
#
priority                  0
profile                   0

#
# WINDOWS VIDEO OPTIONS
#
menu                      0

#
# DIRECT3D POST-PROCESSING OPTIONS
#
hlslpath                  hlsl
hlsl_enable               1
hlsl_oversampling         0
hlsl_write                auto
hlsl_snap_width           2048
hlsl_snap_height          1536
shadow_mask_tile_mode     0
shadow_mask_alpha         0
shadow_mask_texture       shadow-mask.png
shadow_mask_x_count       12
shadow_mask_y_count       6
shadow_mask_usize         0.5
shadow_mask_vsize         0.5
shadow_mask_uoffset       0.0
shadow_mask_voffset       0.0
distortion                0.0
cubic_distortion          0.0
distort_corner            0.0
round_corner              0.0
smooth_border             0.0
reflection                0.0
vignetting                0.0
scanline_alpha            0.3
scanline_size             1.0
scanline_height           1.0
scanline_variation        1.0
scanline_bright_scale     2.0
scanline_bright_offset    0.0
scanline_jitter           0.0
hum_bar_alpha             0.0
defocus                   0.75,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.05,0.00,0.10
grn_ratio                 -0.10,1.00,0.25
blu_ratio                 -0.25,0.25,1.25
saturation                1.25
offset                    -0.30,-0.20,-0.05
scale                     1.15,1.05,0.90
power                     0.90,0.90,1.15
floor                     0.025,0.025,0.025
phosphor_life             0.25,0.25,0.25

#
# 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_beam_smooth        0.0
vector_length_scale       0.5
vector_length_ratio       0.5

#
# BLOOM POST-PROCESSING OPTIONS
#
bloom_blend_mode          0
bloom_scale               0
bloom_overdrive           1.00,1.00,1.00
bloom_lvl0_weight         1.00
bloom_lvl1_weight         0.64
bloom_lvl2_weight         0.32
bloom_lvl3_weight         0.16
bloom_lvl4_weight         0.08
bloom_lvl5_weight         0.06
bloom_lvl6_weight         0.04
bloom_lvl7_weight         0.02
bloom_lvl8_weight         0.01
waveform
Posts: 2
Joined: Thu Jan 31, 2019 5:56 pm

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by waveform »

Looks like my 2nd post was cleared by the moderators but my first post wasnt so my post now looks out of place.

If a moderator is reading this could you approve my first post so Nueda can see what the screenshot examples of what the HLSL settings the INI creator creates in MAME.ini when you run the batch file?

I'm thinking they could be improved as the result was very poor compare to the screenshots he posted?

Or could you let me know if there was something wrong with the post to say it was not approved?

Thanks for your time, waveform.
User avatar
s8n
Posts: 254
Joined: Tue Sep 15, 2009 6:30 am

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by s8n »

hi NUeda , i'm having a small issue with my setup. I first used the _INI_Creator_v0.4 on my bedroom PC with LCD monitor and it looked amazing , then when i installed it on my MAME PC with Samsung LCD TV i get uneven scanlines it's noticeable on CPS3 , Simpsons and Neo Geo. I also tried yesterday on the MAME PC outputting to a older VGA PC Monitor and no problems. Seems there is an issue only when the Samsung LCD TV is being used.

simpsons ini

Code: Select all

#
# CORE CONFIGURATION OPTIONS
#
readconfig                1
writeconfig               1

#
# CORE SEARCH PATH OPTIONS
#
homepath                  .
rompath                   "D:\MAME 0.206 ROMs (merged)"
hashpath                  hash
samplepath                samples
artpath                   artwork
ctrlrpath                 ctrlr
inipath                   .;ini;ini/presets
fontpath                  .
cheatpath                 cheat
crosshairpath             crosshair
pluginspath               plugins
languagepath              language
swpath                    software

#
# CORE OUTPUT DIRECTORY OPTIONS
#
cfg_directory             cfg
nvram_directory           nvram
input_directory           inp
state_directory           sta
snapshot_directory        snap
diff_directory            diff
comment_directory         comments

#
# CORE STATE/PLAYBACK OPTIONS
#
state                     
autosave                  0
rewind                    0
rewind_capacity           100
playback                  
record                    
record_timecode           0
exit_after_playback       0
mngwrite                  
aviwrite                  
wavwrite                  
snapname                  %g/%i
snapsize                  auto
snapview                  internal
snapbilinear              1
statename                 %g
burnin                    0

#
# CORE PERFORMANCE OPTIONS
#
autoframeskip             0
frameskip                 0
seconds_to_run            0
throttle                  1
syncrefresh               1
autosync                  1
sleep                     1
speed                     1.0
refreshspeed              0

#
# CORE RENDER OPTIONS
#
keepaspect                1
unevenstretch             1
unevenstretchx            0
unevenstretchy            0
autostretchxy             0
intoverscan               0
intscalex                 0
intscaley                 0

#
# CORE ROTATION OPTIONS
#
rotate                    1
ror                       0
rol                       0
autoror                   1
autorol                   0
flipx                     0
flipy                     0

#
# CORE ARTWORK OPTIONS
#
artwork_crop              1
use_backdrops             0
use_overlays              0
use_bezels                0
use_cpanels               0
use_marquees              0
fallback_artwork          
override_artwork          

#
# CORE SCREEN OPTIONS
#
brightness                0.82
contrast                  1.18
gamma                     1.0
pause_brightness          0.65
effect                    none

#
# CORE VECTOR OPTIONS
#
beam_width_min            1.0
beam_width_max            1.0
beam_intensity_weight     0
flicker                   0

#
# CORE SOUND OPTIONS
#
samplerate                48000
samples                   1
volume                    0

#
# CORE INPUT OPTIONS
#
coin_lockout              1
ctrlr                     
mouse                     0
joystick                  1
lightgun                  0
multikeyboard             0
multimouse                0
steadykey                 0
ui_active                 0
offscreen_reload          0
joystick_map              auto
joystick_deadzone         0.3
joystick_saturation       0.85
natural                   0
joystick_contradictory    0
coin_impulse              0

#
# CORE INPUT AUTOMATIC ENABLE OPTIONS
#
paddle_device             keyboard
adstick_device            keyboard
pedal_device              keyboard
dial_device               keyboard
trackball_device          keyboard
lightgun_device           keyboard
positional_device         keyboard
mouse_device              mouse

#
# CORE DEBUGGING OPTIONS
#
verbose                   0
log                       0
oslog                     0
debug                     0
update_in_pause           0
debugscript               

#
# CORE COMM OPTIONS
#
comm_localhost            0.0.0.0
comm_localport            15112
comm_remotehost           127.0.0.1
comm_remoteport           15112
comm_framesync            0

#
# CORE MISC OPTIONS
#
drc                       1
drc_use_c                 0
drc_log_uml               0
drc_log_native            0
bios                      
cheat                     0
skip_gameinfo             0
uifont                    default
ui                        cabinet
ramsize                   
confirm_quit              0
ui_mouse                  1
language                  English
nvram_save                1

#
# SCRIPTING OPTIONS
#
autoboot_command          
autoboot_delay            0
autoboot_script           
console                   0
plugins                   1
plugin                    
noplugin                  

#
# HTTP SERVER OPTIONS
#
http                      0
http_port                 8080
http_root                 web

#
# CORE SWITCHRES OPTIONS
#
modeline_generation       1
monitor                   lcd
orientation               horizontal
connector                 auto
interlace                 1
doublescan                1
super_width               2560
changeres                 1
powerstrip                0
lock_system_modes         1
lock_unsupported_modes    1
refresh_dont_care         0
dotclock_min              0
sync_refresh_tolerance    2.0
frame_delay               0
vsync_offset              0
black_frame_insertion     0
modeline                  auto
ps_timing                 auto
lcd_range                 auto
crt_range0                auto
crt_range1                auto
crt_range2                auto
crt_range3                auto
crt_range4                auto
crt_range5                auto
crt_range6                auto
crt_range7                auto
crt_range8                auto
crt_range9                auto

#
# OSD KEYBOARD MAPPING OPTIONS
#
uimodekey                 SCRLOCK

#
# OSD FONT OPTIONS
#
uifontprovider            auto

#
# OSD OUTPUT OPTIONS
#
output                    auto

#
# OSD INPUT OPTIONS
#
keyboardprovider          auto
mouseprovider             auto
lightgunprovider          auto
joystickprovider          auto

#
# OSD DEBUGGING OPTIONS
#
debugger                  auto
debugger_font             auto
debugger_font_size        0
watchdog                  0

#
# OSD PERFORMANCE OPTIONS
#
numprocessors             auto
bench                     0

#
# OSD VIDEO OPTIONS
#
video                     auto
numscreens                1
window                    0
maximize                  1
waitvsync                 1
monitorprovider           auto

#
# OSD PER-WINDOW VIDEO OPTIONS
#
screen                    auto
aspect                    auto
resolution                auto
view                      auto
screen0                   auto
aspect0                   auto
resolution0               auto
view0                     auto
screen1                   auto
aspect1                   auto
resolution1               auto
view1                     auto
screen2                   auto
aspect2                   auto
resolution2               auto
view2                     auto
screen3                   auto
aspect3                   auto
resolution3               auto
view3                     auto

#
# OSD FULL SCREEN OPTIONS
#
switchres                 1

#
# OSD ACCELERATED VIDEO OPTIONS
#
filter                    1
prescale                  1

#
# OpenGL-SPECIFIC OPTIONS
#
gl_forcepow2texture       0
gl_notexturerect          0
gl_vbo                    1
gl_pbo                    1
gl_glsl                   0
gl_glsl_filter            1
glsl_shader_mame0         none
glsl_shader_mame1         none
glsl_shader_mame2         none
glsl_shader_mame3         none
glsl_shader_mame4         none
glsl_shader_mame5         none
glsl_shader_mame6         none
glsl_shader_mame7         none
glsl_shader_mame8         none
glsl_shader_mame9         none
glsl_shader_screen0       none
glsl_shader_screen1       none
glsl_shader_screen2       none
glsl_shader_screen3       none
glsl_shader_screen4       none
glsl_shader_screen5       none
glsl_shader_screen6       none
glsl_shader_screen7       none
glsl_shader_screen8       none
glsl_shader_screen9       none

#
# OSD SOUND OPTIONS
#
sound                     auto
audio_latency             2.0

#
# PORTAUDIO OPTIONS
#
pa_api                    none
pa_device                 none
pa_latency                0

#
# BGFX POST-PROCESSING OPTIONS
#
bgfx_path                 bgfx
bgfx_backend              auto
bgfx_debug                0
bgfx_screen_chains        default
bgfx_shadow_mask          slot-mask.png
bgfx_avi_name             auto

#
# WINDOWS PERFORMANCE OPTIONS
#
priority                  0
profile                   0

#
# WINDOWS VIDEO OPTIONS
#
menu                      0

#
# DIRECT3D POST-PROCESSING OPTIONS
#
hlslpath                  hlsl
hlsl_enable               1
hlsl_oversampling         1
hlsl_write                auto
hlsl_snap_width           2048
hlsl_snap_height          1536
shadow_mask_tile_mode     0
shadow_mask_alpha         0.33
shadow_mask_texture       aperture-grille.png
shadow_mask_x_count       16
shadow_mask_y_count       48
shadow_mask_usize         1
shadow_mask_vsize         1
shadow_mask_uoffset       0
shadow_mask_voffset       0
distortion                0
cubic_distortion          0
distort_corner            0
round_corner              0.02
smooth_border             0.02
reflection                0
vignetting                0.1
scanline_alpha            1
scanline_size             1.0
scanline_height           1.0
scanline_variation        1.0
scanline_bright_scale     1.4
scanline_bright_offset    0.4
scanline_jitter           0.0
hum_bar_alpha             0
defocus                   0.7,0.0
converge_x                -0.4,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
offset                    -0.02,-0.02,-0.02
scale                     0.98,0.99,1.02
power                     1.3,1.3,1.3
floor                     0.0,0.0,0.0
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_beam_smooth        0.0
vector_length_scale       0.5
vector_length_ratio       0.5

#
# BLOOM POST-PROCESSING OPTIONS
#
bloom_blend_mode          0
bloom_scale               0.05
bloom_overdrive           1.00,1.00,1.00
bloom_lvl0_weight         1.0
bloom_lvl1_weight         1
bloom_lvl2_weight         1
bloom_lvl3_weight         1
bloom_lvl4_weight         1
bloom_lvl5_weight         0
bloom_lvl6_weight         0
bloom_lvl7_weight         0
bloom_lvl8_weight         0

#
# FULL SCREEN OPTIONS
#
triplebuffer              0
full_screen_brightness    1.0
full_screen_contrast      1.0
full_screen_gamma         1.0

#
# INPUT DEVICE OPTIONS
#
global_inputs             0
dual_lightgun             0

#
# FRONTEND COMMAND OPTIONS
#
dtd                       1
Masamune69500
Posts: 76
Joined: Wed Oct 14, 2009 4:11 pm

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by Masamune69500 »

Hi Nueda

I have no idea if you are still following this thread but I didnt want to start a new one.
I tried to install INI_creator 4.0 with the latest Mame version on my 4K G-sync screen and while it looks great to take picture, I feel that there is something wrong with the scanlines.
If I operate my monitor in 1080p, it looks ok but at 4K I find the scanline disturbing in the sense that they are so sharp that the cohesion of the sprite is lost.
I have been using Egret II for a while but I dont have those anymore.
Any idea would be valuable. I feel that at 4K, something is a bit off
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 a look at previous posts, some 3 or 4 pages before. None of this settings have been aimed to 4K displays. You need to adjust or it will not look right:
NUeda wrote:
Overkill wrote:Thank you so much for your work NUeda. I will try to give it a try next weekend, to see how it looks in my LG OLED 4K
You're welcome sir. :mrgreen:

By the way, I must tell you that the shadow mask / slot mask / aperture grille settings in v0.4 are designed for 1280x1024 ~ 1920x1080 LCD monitors. When they're used on a 4K monitor, I expect the patterns will be really small and not 1:1 mapped to 4K monitor resolution.

(Right now the patterns are scaled down because they are too big for 1280x1024 ~ 1920x1080 monitors)


Sorry about that, in the next version I'll try to include additional settings that are designed for 4K monitors.
For v0.4, what you can do is use these settings instead:

Code: Select all

shadow_mask_x_count       32
shadow_mask_y_count       48
or

Code: Select all

shadow_mask_x_count       48
shadow_mask_y_count       48
When you have time during weekend,
please try applying this to 13_TV_trinitron_240p.ini in _ini folder, and run INI Creator again.

If you like the change, you can apply this to other ini files too.
Masamune69500
Posts: 76
Joined: Wed Oct 14, 2009 4:11 pm

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by Masamune69500 »

Glad to see this thread is not dead.
I indeed saw that post and was hoping somebody out there found good setting for 4K
I think the mask size is not too hard to adjust but I dont know how focus and scanline size scaled up.

Nobody in the forum using 4K display?
TrailBlazer
Posts: 1
Joined: Mon Sep 23, 2019 8:43 am

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by TrailBlazer »

[quote="Snake007m"]I've been using Lotte's shader for Mame and I'm completely happy with it. However, getting the perfect CRT shader for multiply different emulators is not exactly easy ( unless using Retroarch, which I absolutely hate, but I won't go in to that ).

I'm hoping that CRT-Royale Kurozumi or something very similar ( BVM look ) one day ends up being injectable like SweetFX/Reshade so I can use it universally for pretty much any emulator. Until then, I have tried to get the best possible settings for me using SweetFX. Obviously it's not in the same ballpark as the ones mentioned, but the final result isn't half bad.

Hello, can you please tell me which sweet fx shader you are using and a screenshot of your filter settings, thanks, i really like the look.
Dogway
Posts: 16
Joined: Sun Jun 29, 2014 2:18 pm

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by Dogway »

It seems v0.4 is harsher than v0.3 which I used for years, is it now targeting a a BVM look or is it still aiming to reproduce the original monitors?
I tried using the film_photo preset but many games slip through and fallback to raster.ini, so I had to edit raster.ini.

Code: Select all

distortion                0.05
round_corner              0.08
smooth_border             0.05
vignetting                0.12
saturation                1.15
scanline_jitter           0.10
defocus                   0.75,0.5
Even with the film_photo EXTRA preset, system settings get wrong values, scanline_jitter is too high by default, the same with scanline_alpha. So basically I use the v0.4 file settings and tweak the above plus brightness to 1.0 and bloom_scale to 0.3.
I also want to adapt colors to D93 but I'm still trying to figure out an accurate method to do so.
hydef
Posts: 1
Joined: Sat Nov 23, 2019 12:45 am

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by hydef »

Hello forum. Would anyone be able to make this look better within MAME? It's a shooter.. Albeit a very basic one. The emulation's good but it's truly missing some kind of bloom effect? If you had one of these, you'll know what I mean.

There's a few VFD games in MAME which would all benefit with these kinds of effects and this one is Gakken Invader/Galaxy Invader (ROM name ginv)

Image
Rasp
Posts: 12
Joined: Sat Apr 08, 2017 10:22 pm

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by Rasp »

Dogway wrote:It seems v0.4 is harsher than v0.3 which I used for years, is it now targeting a a BVM look or is it still aiming to reproduce the original monitors?
I tried using the film_photo preset but many games slip through and fallback to raster.ini, so I had to edit raster.ini.

Code: Select all

distortion                0.05
round_corner              0.08
smooth_border             0.05
vignetting                0.12
saturation                1.15
scanline_jitter           0.10
defocus                   0.75,0.5
Even with the film_photo EXTRA preset, system settings get wrong values, scanline_jitter is too high by default, the same with scanline_alpha. So basically I use the v0.4 file settings and tweak the above plus brightness to 1.0 and bloom_scale to 0.3.
I also want to adapt colors to D93 but I'm still trying to figure out an accurate method to do so.
Yea I agree. Not sure if playing on a 1440p monitor can still work well with the settings but everything looks off. It looks like a plain scanline generator on the raw pixels. Can't make out the phosphors/mask at all even with the jitter turned off. Everything else to bring out the game colors more is great. I'm curious if there was a change in HLSL settings from when Nueda made this to current 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 »

Several.
Strikers1945guy wrote:"Do we....eat chicken balls?!"
Rasp
Posts: 12
Joined: Sat Apr 08, 2017 10:22 pm

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by Rasp »

Xyga wrote:Several.

So this is probably now at least somewhat broken which would explain some of the weird visuals.
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 »

Just tweaked my HLSL settings for 2019....2020!??.

Only setting in the mame.ini file i have changed from default are:

Code: Select all

#
# CORE PERFORMANCE OPTIONS
#
sleep                         0
lowlatency                 1

#
# CORE SCREEN OPTIONS
#
gamma                      1.2

#
# OSD ACCELERATED VIDEO OPTIONS
#
filter                            0

#
# OSD SOUND OPTIONS
#
sound                        portaudio
audio_latency          1

#
# PORTAUDIO OPTIONS
#

pa_api                       WASAPI
pa_device                 none
pa_latency                0.02

#
# WINDOWS PERFORMANCE OPTIONS
#
priority                       1

#
# DIRECT3D POST-PROCESSING OPTIONS
#
hlsl_enable               1
and then raster.ini file.....

Code: Select all

#
# DIRECT3D POST-PROCESSING OPTIONS
#
shadow_mask_tile_mode     0
shadow_mask_alpha         0.25
shadow_mask_texture       shadow-mask.png
shadow_mask_x_count       12
shadow_mask_y_count       6
shadow_mask_usize         0.5
shadow_mask_vsize         0.5
shadow_mask_uoffset       0.0
shadow_mask_voffset       0.0
distortion                0.05
cubic_distortion          0.05
distort_corner            0.05
round_corner              0.10
smooth_border             0.03
reflection                0.0
vignetting                0.0
scanline_alpha            0.50
scanline_size             1.0
scanline_height           1.0
scanline_variation        1.0
scanline_bright_scale     2.0
scanline_bright_offset    0.0
scanline_jitter           0.0
defocus                   0.4,0.4
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.05,0.00,0.10
grn_ratio                 -0.10,1.00,0.25
blu_ratio                 -0.25,0.25,1.25
saturation                1.30
offset                    -0.30,-0.20,-0.05
scale                     1.15,1.05,0.90
power                     0.90,0.90,1.15
floor                     0.03,0.03,0.03
phosphor_life             0.15,0.15,0.15
chroma_mode               3
chroma_a                  0.630,0.340
chroma_b                  0.310,0.595
chroma_c                  0.155,0.070
chroma_y_gain             0.2124,0.7011,0.0866

#
# NTSC POST-PROCESSING OPTIONS
#
yiq_enable                0

#
# BLOOM POST-PROCESSING OPTIONS
#
bloom_blend_mode          0
bloom_scale               0.30
bloom_overdrive           1.00,1.00,1.00
bloom_lvl0_weight         1.00
bloom_lvl1_weight         0.64
bloom_lvl2_weight         0.32
bloom_lvl3_weight         0.16
bloom_lvl4_weight         0.08
bloom_lvl5_weight         0.06
bloom_lvl6_weight         0.04
bloom_lvl7_weight         0.02
bloom_lvl8_weight         0.01


A quick video showing the results for a 1440p display...

https://youtu.be/Jh6CRunghlk
kaldebaram
Posts: 1
Joined: Mon Dec 30, 2019 5:53 pm

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by kaldebaram »

#
# CORE CONFIGURATION OPTIONS
#
readconfig 1
writeconfig 0

#
# CORE SEARCH PATH OPTIONS
#
homepath .
rompath roms
hashpath hash
samplepath samples
artpath artwork
ctrlrpath ctrlr
inipath ini
fontpath .
cheatpath cheat
crosshairpath crosshair
pluginspath plugins
languagepath language
swpath software

#
# CORE OUTPUT DIRECTORY OPTIONS
#
cfg_directory cfg
nvram_directory nvram
input_directory inp
state_directory sta
snapshot_directory snap
diff_directory diff
comment_directory comments
video_directory video

#
# CORE STATE/PLAYBACK OPTIONS
#
state
autosave 0
rewind 0
rewind_capacity 100
playback
record
record_timecode 0
exit_after_playback 0
mngwrite
aviwrite
wavwrite
snapname %g/%i
snapsize auto
snapview internal
snapbilinear 1
statename %g
burnin 0

#
# CORE PERFORMANCE OPTIONS
#
autoframeskip 0
frameskip 0
seconds_to_run 0
throttle 1
syncrefresh 0
sleep 1
speed 1.0
refreshspeed 1
lowlatency 0

#
# CORE RENDER OPTIONS
#
keepaspect 0
unevenstretch 1
unevenstretchx 0
unevenstretchy 0
autostretchxy 0
intoverscan 0
intscalex 0
intscaley 0

#
# CORE ROTATION OPTIONS
#
rotate 1
ror 0
rol 0
autoror 0
autorol 0
flipx 0
flipy 0

#
# CORE ARTWORK OPTIONS
#
artwork_crop 0
fallback_artwork
override_artwork

#
# CORE SCREEN OPTIONS
#
brightness 1.0
contrast 1.0
gamma 1.0
pause_brightness 0.65
effect Sh1nRa358-1080p-Scanlines
widestretch 0

#
# CORE VECTOR OPTIONS
#
beam_width_min 1.0
beam_width_max 1.0
beam_intensity_weight 0
flicker 0

#
# CORE SOUND OPTIONS
#
samplerate 48000
samples 1
volume 0

#
# CORE INPUT OPTIONS
#
coin_lockout 1
ctrlr
mouse 0
joystick 1
lightgun 0
multikeyboard 0
multimouse 0
steadykey 0
ui_active 0
offscreen_reload 0
joystick_map auto
joystick_deadzone 0.3
joystick_saturation 0.85
natural 0
joystick_contradictory 0
coin_impulse 0

#
# CORE INPUT AUTOMATIC ENABLE OPTIONS
#
paddle_device keyboard
adstick_device keyboard
pedal_device keyboard
dial_device keyboard
trackball_device keyboard
lightgun_device keyboard
positional_device keyboard
mouse_device mouse

#
# CORE DEBUGGING OPTIONS
#
verbose 0
log 0
oslog 0
debug 0
update_in_pause 0
debugscript

#
# CORE COMM OPTIONS
#
comm_localhost 0.0.0.0
comm_localport 15112
comm_remotehost 127.0.0.1
comm_remoteport 15112
comm_framesync 0

#
# CORE MISC OPTIONS
#
drc 1
drc_use_c 0
drc_log_uml 0
drc_log_native 0
bios
cheat 1
skip_gameinfo 1
uifont default
ui cabinet
ramsize
confirm_quit 0
ui_mouse 1
language English
nvram_save 1

#
# SCRIPTING OPTIONS
#
autoboot_command
autoboot_delay 0
autoboot_script
console 0
plugins 1
plugin
noplugin

#
# HTTP SERVER OPTIONS
#
http 0
http_port 8080
http_root web

#
# OSD KEYBOARD MAPPING OPTIONS
#
uimodekey SCRLOCK

#
# OSD FONT OPTIONS
#
uifontprovider auto

#
# OSD OUTPUT OPTIONS
#
output auto

#
# OSD INPUT OPTIONS
#
keyboardprovider auto
mouseprovider auto
lightgunprovider auto
joystickprovider auto

#
# OSD DEBUGGING OPTIONS
#
debugger auto
debugger_port 23946
debugger_font auto
debugger_font_size 0
watchdog 0

#
# OSD PERFORMANCE OPTIONS
#
numprocessors auto
bench 0

#
# OSD VIDEO OPTIONS
#
video d3d
numscreens 1
window 0
maximize 1
waitvsync 0
monitorprovider auto

#
# OSD PER-WINDOW VIDEO OPTIONS
#
screen auto
aspect auto
resolution auto
view auto
screen0 auto
aspect0 auto
resolution0 auto
view0 auto
screen1 auto
aspect1 auto
resolution1 auto
view1 auto
screen2 auto
aspect2 auto
resolution2 auto
view2 auto
screen3 auto
aspect3 auto
resolution3 auto
view3 auto

#
# OSD FULL SCREEN OPTIONS
#
switchres 0

#
# OSD ACCELERATED VIDEO OPTIONS
#
filter 1
prescale 1

#
# OpenGL-SPECIFIC OPTIONS
#
glslpath glsl
gl_forcepow2texture 0
gl_notexturerect 0
gl_vbo 1
gl_pbo 1
gl_glsl 0
gl_glsl_filter 1
gl_glsl_sync 0
glsl_shader_mame0 none
glsl_shader_mame1 none
glsl_shader_mame2 none
glsl_shader_mame3 none
glsl_shader_mame4 none
glsl_shader_mame5 none
glsl_shader_mame6 none
glsl_shader_mame7 none
glsl_shader_mame8 none
glsl_shader_mame9 none
glsl_shader_screen0 none
glsl_shader_screen1 none
glsl_shader_screen2 none
glsl_shader_screen3 none
glsl_shader_screen4 none
glsl_shader_screen5 none
glsl_shader_screen6 none
glsl_shader_screen7 none
glsl_shader_screen8 none
glsl_shader_screen9 none

#
# OSD SOUND OPTIONS
#
sound auto
audio_latency 2

#
# PORTAUDIO OPTIONS
#
pa_api none
pa_device none
pa_latency 0

#
# BGFX POST-PROCESSING OPTIONS
#
bgfx_path bgfx
bgfx_backend auto
bgfx_debug 0
bgfx_screen_chains default
bgfx_shadow_mask slot-mask.png
bgfx_lut
bgfx_avi_name auto

#
# WINDOWS PERFORMANCE OPTIONS
#
priority 0
profile 0

#
# WINDOWS VIDEO OPTIONS
#
menu 0
attach_window

#
# DIRECT3D POST-PROCESSING OPTIONS
#
hlslpath hlsl
hlsl_enable 1
hlsl_oversampling 1
hlsl_write auto
hlsl_snap_width 2048
hlsl_snap_height 1536
shadow_mask_tile_mode 0
shadow_mask_alpha 0.1
shadow_mask_texture Sh1nRa358-1080p-Scanlines.png
shadow_mask_x_count 48
shadow_mask_y_count 48
shadow_mask_usize 0.25
shadow_mask_vsize 0.25
shadow_mask_uoffset 0.0
shadow_mask_voffset 0.0
distortion 0.0
cubic_distortion 0.0
distort_corner 0.0
round_corner 0.0
smooth_border 0.0
reflection 0.0
vignetting 0.0
scanline_alpha 0.5
scanline_size 1.5
scanline_height 1.0
scanline_variation 1.0
scanline_bright_scale 1.4
scanline_bright_offset 0.4
scanline_jitter 0.0
hum_bar_alpha 0.0
defocus 1.5,1.5
converge_x 0.5,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.2
offset -0.02,-0.02,-0.02
scale 1.05,1.06,1.08
power 1.35,1.35,1.35
floor 0.0,0.0,0.0
phosphor_life 0.12,0.12,0.12
chroma_mode 3
chroma_conversion_gain 0.299,0.587,0.114
chroma_a 0.64,0.33
chroma_b 0.30,0.60
chroma_c 0.15,0.06
chroma_y_gain 0.2126,0.7152,0.0722

#
# NTSC POST-PROCESSING OPTIONS
#
yiq_enable 0
yiq_jitter 1
yiq_cc 3.6
yiq_a 0.5
yiq_b 0
yiq_o 0.0
yiq_p 1.0
yiq_n 0.35
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_beam_smooth 0.0
vector_length_scale 0.5
vector_length_ratio 0.5

#
# BLOOM POST-PROCESSING OPTIONS
#
bloom_blend_mode 0
bloom_scale 0.3
bloom_overdrive 1.0,1.0,1.0
bloom_lvl0_weight 1.0
bloom_lvl1_weight 1.0
bloom_lvl2_weight 0
bloom_lvl3_weight 0
bloom_lvl4_weight 0
bloom_lvl5_weight 0
bloom_lvl6_weight 0
bloom_lvl7_weight 0
bloom_lvl8_weight 0
lut_texture
lut_enable 0
ui_lut_texture
ui_lut_enable 0

#
# FULL SCREEN OPTIONS
#
triplebuffer 1
full_screen_brightness 0.95
full_screen_contrast 0.95
full_screen_gamma 0.95

#
# INPUT DEVICE OPTIONS
#
global_inputs 0
dual_lightgun 0
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 »

lettuce are you using latest version MAME 0.217 or previous?
Rasp
Posts: 12
Joined: Sat Apr 08, 2017 10:22 pm

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by Rasp »

I have run into an issue too with using these ini files and with using command lines on the latest MAME. This error does not happen if launched with the MAME's built in ui, but I'm running MAME on my cab with a frontend and using the built in ui is not an option.

When you try to start launch a game that uses one of these ini files, you will get a message that says for example if I start 1941:


Error in command line:
While parsing ini\1941.ini
Warning: unknown option in INI:
Warning: unknown option in INI:
Warning: unknown option in INI:

MAME does not like the extra spaces in between the ini options created by message like :

# INI_creator_-_list_config.txt
# _config\config_-_humbar_yiq_ini.txt
# _ini\_yiq_0.ini
#--------------------------------

In order to remedy this error, run Notepad++, go to Find & Replace in files and go to your ini directory and any other directory that has ini files created by ini creator. You may want to back up your ini folder in case something does not go right but this worked for my build.

Then, put \s*#.+ under "Find What" and keep "Replace With" blank and make sure Regular Expression, Matches Newline and Wrap Around are checked. Then click "Replace All".

This will get rid of all these extra messages and evenly space all the ini options so MAME can read the ini correctly.

I hope this helps someone as I spent the whole day banging my head against the wall with this problem.

Nueda maybe for the next version you can alter the bat to make these changes automatically?
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 »

Overkill wrote:lettuce are you using latest version MAME 0.217 or previous?
Yeah im using 0.217
rancid
Posts: 14
Joined: Sun Sep 02, 2018 1:08 pm

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by rancid »

I recently built a cabinet with a 4:3 1600x1200 monitor and man the default INIs look pretty good with minor tweaks. I am in the same boat on my 4k monitor I can't get anything to look "normal." I have a CRT I am going to bring upstairs in my pc room and try to tweak each setting until I can get it as close as possible, but does anyone have settings for a 1440p or 4k panel that looks decent they can share?

Lettuce - Yours look fantastic, but sadly not on my 4k panel.
Dogway
Posts: 16
Joined: Sun Jun 29, 2014 2:18 pm

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by Dogway »

I uploaded to Github my personal HLSL profiles, they were created with v0.4 but modified them extensively board by board, there were many boards missing so I also added them by hand. It's designed for 1080p screens so I'm not sure how it performs on 4K.

You can check a preview on my YT channel, I only recorded 3D games now, but would like to record some random old 2D games as well.
solo20
Posts: 11
Joined: Thu Apr 11, 2019 11:36 pm

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by solo20 »

when using INI_Creator_v0.4 do I need to change anything in the mame.ini ? also anbody have snes,nes,sega ini seting they would like to share
kingedawg
Posts: 1
Joined: Wed Jul 01, 2020 10:26 pm

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by kingedawg »

Is this thread still going? I have no idea what I'm doing; I don't really play emulators that much but I've been reading up lately about how game devs used to use scanlines and CRT artifacts to enhance the art, and I feel like I've been doing it wrong the whole time. So I came across this thread and started playing around with ini settings.

I have a specific goal in mind for what I want the emulation to look like, so I'm really trying to learn how things work so I can set things to my preference. Mostly I only want to preserve the effects that factored into the image itself - no screen curvature, reflection, flyers, etc. for now. I'm using MameUI64 - yes I know it's out of date but like I said, I'm just experimenting to learn what I like for now - with HLSL enabled and integer scaling - the other goal is to start maximized to the highest whole number scale possible on my 1080p 60hz Asus VX238. I'm running Win10, i5-2500K 3.3GHz, GTX 960.

Here's what I've done so far on my own - screenshots below if you like it and want to borrow some ideas! I'm sure there are a few settings that are wrong or redundant, so any advice is appreciated. For reference, these are the settings I use for CPS-1 & 2 games. I'm going for something between the bloom-heavy glow and bleed of an American cab and the color and crispness of a monitor like you'd see in a Japanese cab.

Code: Select all

#
# CORE PERFORMANCE OPTIONS
#
autoframeskip             0
frameskip                 0
seconds_to_run            0
throttle                  1
sleep                     1
speed                     1.0
refreshspeed              0
lowlatency                0

#
# CORE RENDER OPTIONS
#
keepaspect                1
unevenstretch             1
unevenstretchx            0
unevenstretchy            0
autostretchxy             0
intoverscan               0
intscalex                 4
intscaley                 4
Since CPS-1 & 2 games ran at 384×224, I can only scale up x4 to 1536x896 before it cuts off (resolution settings below). Unevenstretch is on so I can fit the maximized window to 4:3.

Code: Select all

#
# CORE SCREEN OPTIONS
#
brightness                1.0
contrast                  1.05
gamma                     1.0
pause_brightness          1.0
effect                    none
A touch of contrast for Capcom games.

Code: Select all

#
# OSD VIDEO OPTIONS
#
video                     auto
numscreens                1
window                    1
maximize                  1
waitvsync                 1
syncrefresh               0
monitorprovider           auto

#
# OSD PER-WINDOW VIDEO OPTIONS
#
screen                    auto
aspect                    auto
resolution                1536x896
view                      auto
screen0                   auto
aspect0                   auto
resolution0               1536x896
view0                     auto
screen1                   auto
aspect1                   auto
resolution1               auto
view1                     auto
screen2                   auto
aspect2                   auto
resolution2               auto
view2                     auto
screen3                   auto
aspect3                   auto
resolution3               auto
view3                     auto

#
# OSD FULL SCREEN OPTIONS
#
switchres                 0

#
# OSD ACCELERATED VIDEO OPTIONS
#
filter                    0
prescale                  4
Set to windowed, maximized on start, vsync on. Note that both resolution and resolution0 are set to 1536x896 because, well... I'm lazy and I knew one of them wasn't working and never bothered to figure it out. Filter is off (had this on at one point, not sure what that does) and prescale is set to 4, same as my integer scaling. Is this redundant? Is it better to prescale no matter what or is one or the other better?

Code: Select all

#
# DIRECT3D POST-PROCESSING OPTIONS
#
hlslpath                  hlsl
hlsl_enable               1
hlsl_oversampling         0
hlsl_write                auto
hlsl_snap_width           2048
hlsl_snap_height          1536
shadow_mask_tile_mode     1
shadow_mask_alpha         0.02
shadow_mask_texture       slot-mask.png
shadow_mask_x_count       1
shadow_mask_y_count       1
shadow_mask_usize         0.5
shadow_mask_vsize         0.5
shadow_mask_uoffset       0.0
shadow_mask_voffset       0.0
distortion                0.0
cubic_distortion          0.0
distort_corner            0.0
round_corner              0.0
smooth_border             0.0
reflection                0.0
vignetting                0.0
scanline_alpha            0.8
scanline_size             1.0
scanline_height           1.4
scanline_variation        1.7
scanline_bright_scale     1.0
scanline_bright_offset    0.1
scanline_jitter           0.08
hum_bar_alpha             0.0
defocus                   0.7,0.2
converge_x                1.3,0.0,-1.3
converge_y                1.3,0.0,-1.3
radial_converge_x         -0.5,0.0,0.5
radial_converge_y         0.5,0.0,-0.5
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.0,0.0,0.0
phosphor_life             0.06,0.06,0.06
chroma_mode               3
chroma_conversion_gain    0.299,0.587,0.114
chroma_a                  0.64,0.33
chroma_b                  0.30,0.60
chroma_c                  0.15,0.06
chroma_y_gain             0.2126,0.7152,0.0722
Here's the HLSL settings. I had oversampling on at one point but I'm not sure if this is what I want. I have the shadow mask barely visible to add a little texture; I tried the recommendations here to set it to a 2:1 x/y ratio but it didn't look right, so I set it to 1 and kept it light. I did use recommendations for u and v size but again, not sure how this works. Scanlines are fairly visible and I added a lot of variance - I feel this adds to the bloomy look. I have some brightness offset but this is in conjunction with bloom (more below); I prefer bloom for the most part. I did add a little jitter, it kind of tricks me into buying the CRT look.

The blur and RGB offset are where I have questions. I'm using 0.7 x blur and 0.2 y, just a hint of vertical blur to soften the picture, but what I'm going for is not really blurring the picture, which starts to look artificial at a certain point. I'm wanting those darker colors to sink into the blacks and colors in general to just bleed and smooth out jagged edges. But I left offset/scale/power/floor alone because I'm satisfied with how the colors look on my screen and didn't want to mess with them too much. Maybe I'm missing out on something I want there but for the time being I added some saturation and RGB convergence.

What is the difference between linear and radial convergence, exactly? I can't find anything on it, I mean it seems like one offsets horizontally but radial... not much of a difference? What's weird though is that if I set radial "mirrored" like I have it above, it looks right to me somehow.

Code: Select all

#
# BLOOM POST-PROCESSING OPTIONS
#
bloom_blend_mode          0
bloom_scale               0.850
bloom_overdrive           1.0,1.0,1.0
bloom_lvl0_weight         1.0
bloom_lvl1_weight         0.64
bloom_lvl2_weight         0.32
bloom_lvl3_weight         0.16
bloom_lvl4_weight         0.08
bloom_lvl5_weight         0.06
bloom_lvl6_weight         0.04
bloom_lvl7_weight         0.02
bloom_lvl8_weight         0.01
lut_texture               
lut_enable                0
ui_lut_texture            
ui_lut_enable             0

#
# FULL SCREEN OPTIONS
#
triplebuffer              1
full_screen_brightness    1.0
full_screen_contrast      1.0
full_screen_gamma         1.0
Finally, bloom, which is up a good bit. Tripplebuffering on.

Here's what it looks like in action (links):

AVP
ImageImage

Final Fight
ImageImageImage

MvC
ImageImageImage

SFA2
ImageImage

Super Turbo
ImageImageImageImage

It the ST images, it looks to me like the dark pixels of Ryu's leg are a little more jagged than I would like. It seems like one color or the other should blend more so that it's less jagged vertically. Maybe it's my imagination.

Hope I'm on the right track!
drewho
Posts: 1
Joined: Fri Sep 11, 2020 10:42 am

Re: MAME HLSL CRT SCANLINE EMULATION PRESETS

Post by drewho »

Having a problem with the ini's after using _INI_Creator_v0.4.

using mame 0.244 i get this error in the command line window:
Warning: unknown option in INI: ´╗┐

ive not edited any of the files they're all at the default state

thanks for any help
Post Reply