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:
#
# 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:
#
# 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:
#
# 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:
#
# 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:
#
# 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


Final Fight



MvC



SFA2


Super Turbo




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!