Main Restorations Software Audio/Jukebox/MP3 Everything Else Buy/Sell/Trade
Project Announcements Monitor/Video GroovyMAME Merit/JVL Touchscreen Meet Up Retail Vendors
Driving & Racing Woodworking Software Support Forums Consoles Project Arcade Reviews
Automated Projects Artwork Frontend Support Forums Pinball Forum Discussion Old Boards
Raspberry Pi & Dev Board controls.dat Linux Miscellaneous Arcade Wiki Discussion Old Archives
Lightguns Arcade1Up Try the site in https mode Site News

Unread posts | New Replies | Recent posts | Rules | Chatroom | Wiki | File Repository | RSS | Submit news

  

Author Topic: _INI_Creator_v0.4 and GroovyMAME , uneven scanlines on LCD TV  (Read 3174 times)

0 Members and 1 Guest are viewing this topic.

s8n187

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 77
  • Last login:July 23, 2021, 10:43:52 am
hi members ,  i have a small problem with _INI_Creator_v0.4 and GroovyMAME.  On my bedroom PC and PC Monitor scanlines look great ,  on another computer my 'MAME PC' going to a VGA PC Monitor great again.  Here's the problem when i output from the MAME PC to my Samsung LCD TV the scanlines are uneven ,  i'm hoping you guys can figure out what's up.  Below is my ini from Simpsons ,  the problem also occurs in CPS3 and Neo Geo games.  I'm not sure where the issue is coming from but if you need any more info let me know ,  i am going to catch some sleep i'll be up a bit later.


Code: [Select]
#
# 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

schmerzkaufen

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 791
  • Last login:October 03, 2023, 02:27:31 pm
  • Multiple Electronic Machine Emulator
Re: _INI_Creator_v0.4 and GroovyMAME , uneven scanlines on LCD TV
« Reply #1 on: March 25, 2019, 06:12:31 am »
HLSL relies on scaling and is not very good at it if the vertical resolution is not quite high.
What are the resolutions of the different displays you mentioned ? if your TV is like 720p or 1080p it is likely not enough to 'hide' the expected unevenness.
(tho even on a 4K the issue applies, it will just be less obvious. it's simple math the panel has to be a multiple of the game's resolution for the distribution to be perfect, otherwise algorithms can only try to get it right with the pixel real estate they have)

Your best and probably only solution for the games that display that scanlines unevenness is to turn intoverscan on in their respective .INI's
You will lose a portion of the picture at the top and bottom, but it's not like you have much choice there.

PS: also turn filter off both in the mame.ini and the dedicated .ini's, this will also help and it should always be off when using shaders anyway (bc it's redundant to HLSL's own softening and actually adds a lot to it as well as influencing the scaling, which makes a muddy mess and increases the potential unevenness artifacts)

PSbis: you'll always get better results by figuring the HLSL settings that fit the games on the display you're using by yourself, there is no such thing as 'universal' HLSL settings that will just work on any display featuring any panel resolution, HLSL as most shaders is just not advanced-enough for that. That 'INI creator' is a strange thing if it claims it can do that.
« Last Edit: March 25, 2019, 06:16:13 am by schmerzkaufen »

s8n187

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 77
  • Last login:July 23, 2021, 10:43:52 am
Re: _INI_Creator_v0.4 and GroovyMAME , uneven scanlines on LCD TV
« Reply #2 on: March 25, 2019, 03:44:47 pm »
thanks for replying schmerzkaufen ,  ok all 3 displays are running at 1080p.  I did try 'intoverscan' in the simpsons ini and it looked a bit worse ,  'filter' has been turned off as well as requested.  I'm not using CRTemudriver as well i'm using an official AMD Display Driver if that is a clue and Windows 10 ,  i did notice one thing with the MAME PC VGA Monitor and Samsung LCD TV they are running at different refresh rates.  Switchres says the below

MAME PC VGA Monitor

1920x1080p 60.000 hz 67.500 khz

Samsung LCD TV

1920x1080p 59.000 hz 0.000 khz




Trnzaddict

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 175
  • Last login:September 24, 2023, 12:12:29 pm
Re: _INI_Creator_v0.4 and GroovyMAME , uneven scanlines on LCD TV
« Reply #3 on: March 25, 2019, 04:22:23 pm »
HLSL relies on scaling and is not very good at it if the vertical resolution is not quite high.
What are the resolutions of the different displays you mentioned ? if your TV is like 720p or 1080p it is likely not enough to 'hide' the expected unevenness.
(tho even on a 4K the issue applies, it will just be less obvious. it's simple math the panel has to be a multiple of the game's resolution for the distribution to be perfect, otherwise algorithms can only try to get it right with the pixel real estate they have)

Your best and probably only solution for the games that display that scanlines unevenness is to turn intoverscan on in their respective .INI's
You will lose a portion of the picture at the top and bottom, but it's not like you have much choice there.

PS: also turn filter off both in the mame.ini and the dedicated .ini's, this will also help and it should always be off when using shaders anyway (bc it's redundant to HLSL's own softening and actually adds a lot to it as well as influencing the scaling, which makes a muddy mess and increases the potential unevenness artifacts)

PSbis: you'll always get better results by figuring the HLSL settings that fit the games on the display you're using by yourself, there is no such thing as 'universal' HLSL settings that will just work on any display featuring any panel resolution, HLSL as most shaders is just not advanced-enough for that. That 'INI creator' is a strange thing if it claims it can do that.


Not true, for me  I’ve never had this issue with premade HLSL settings. Bigbluefrontends HLSL setting I use. Every single game I’ve thrown at it I’ve never had uneven scanlines. We’re talking 100’s of titles I’ve booted to configure.


Since then I’ve switched you Nueda’s ini creator, and again I have all his preconfigured HLSL settings for different games emulating many different monitors. I run them on a 1920x1200 screen. Never had uneven scanlines. He even says that ini creator is built towards 1080p users so everything should just work out of the box.


He must have a setting off that’s setting Nueda’s premade ini files off. Maybe try enabling HLSL oversampling.
« Last Edit: March 25, 2019, 04:26:42 pm by Trnzaddict »

s8n187

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 77
  • Last login:July 23, 2021, 10:43:52 am
Re: _INI_Creator_v0.4 and GroovyMAME , uneven scanlines on LCD TV
« Reply #4 on: March 25, 2019, 04:35:00 pm »
i just checked and hlsl_oversampling is set to 1 ,  i even tried turning it off but no dice


update.........i just copied the groovymame folder to my bedroom PC and ouput the video to my Sony 900E ,  interestingly same problem although on my bedroom PC monitor it's just fine. 


below is how i build the ini's









« Last Edit: March 25, 2019, 05:23:25 pm by s8n187 »

schmerzkaufen

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 791
  • Last login:October 03, 2023, 02:27:31 pm
  • Multiple Electronic Machine Emulator
Re: _INI_Creator_v0.4 and GroovyMAME , uneven scanlines on LCD TV
« Reply #5 on: March 25, 2019, 05:50:02 pm »
Forgot to tell you; turn unevenstretch off before activating intoverscan.
Also this might not work directly from the mame.ini anyway, usually these settings are made at the superior level of priority.

Check the INI folder;

In that ini folder you have all the specific ini's that have been created by the program, and there may be - or not - ini's other than games or systems dedicated, with a different priority called horizont.ini and vertical.ini
I they are present open them and you should find filter 0 in both (or create them and write filter 0)

If they are not present or if even that doesn't work, next you should check the specific ini's, in this case it'll be either a particular game rom name's ini, or the corresponding driver's ini (in this case should be simpsons.ini)
In it you may or may not find filter (wich will be set either to 1 or 0), and it is also in there that it is preferable to set unevenstretch and intoverscan to your desired settings.

Always remember there is a priority order which is (very shortened and simplified for the sake of illustration);
game.ini or system.ini > horizont.ini & vertical.ini > mame.ini
Whatever you'll set in simpsons.ini will have priority.


Sorry not to be more specific about the present case of INI Creator, I don't remember exactly which types of ini's it creates, nor what's inside each, the one time i've tried (on my pc monitor and then laptop) it it was a disaster, everything was wrong on both displays.

Not true, for me  I’ve never had this issue with premade HLSL settings. Bigbluefrontends HLSL setting I use. Every single game I’ve thrown at it I’ve never had uneven scanlines. We’re talking 100’s of titles I’ve booted to configure.

Since then I’ve switched you Nueda’s ini creator, and again I have all his preconfigured HLSL settings for different games emulating many different monitors. I run them on a 1920x1200 screen. Never had uneven scanlines. He even says that ini creator is built towards 1080p users so everything should just work out of the box.

He must have a setting off that’s setting Nueda’s premade ini files off. Maybe try enabling HLSL oversampling.
Good for you but allow me to doubt, i've seen what people are satisfied with when it comes to CRT shaders and my reaction has almost always been "really?" as for me i could see issues others apparently wouldn't (i'm very ocd/picky for that)
Over 1200p you will already experience much, MUCH less occurences of annoying uneven scanlines (224p and 240p both fit which is a considerable advantage), and seeing how heavily smoothed the settings are (if filter not off) and if the scanlines density is not strong then it is common that the unevenness artifacts that will happen in less favourable cases will be hidden efficiently-enough and hardly noticeable.
However they are still here in cases the resolution's still too short to fit a good multiple, no matter what, and the lower the vertical resolution the more obvious the issues become, so you have to increase the blur and make the lines fainter to hide them.
I don't fancy the too-soft blurry CRT type so I'm always after rather sharp, clear and clean CRT look, and from all the time I've spent with HLSL, I've found that it is impossible to achieve over a 1080p panel and avoid uneven lines artifacts in many cases, or you have to use integer scaling period.
When i was still using RetroArch i've experienced a couple shaders that were much better than HLSL at keeping the lines even, don't remember which ones though.
I don't trust premade ini's for HLSL because I think I know its limits, and i'm generally quite demanding on the results, for me different display resolutions = different HLSL settings, and I usually work by system or source, which means I have on average like 15~20 specific ini's.

EDIT: problems posting yesterday, sending got stuck for some reason.
« Last Edit: March 26, 2019, 05:43:15 am by schmerzkaufen »

schmerzkaufen

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 791
  • Last login:October 03, 2023, 02:27:31 pm
  • Multiple Electronic Machine Emulator
Re: _INI_Creator_v0.4 and GroovyMAME , uneven scanlines on LCD TV
« Reply #6 on: March 26, 2019, 05:48:09 am »
Sony 900E
This is a 4K display, you better make sure your PC is outputing 4K and MAME as well, otherwise it's unevitable that the TV will apply its own scaling on top of the output and therefore mess up everything.
(also it has to be in game mode w/ every possible post-processing option turned off. and NO overscan, Sony sets have several zoom settings iirc)
« Last Edit: March 26, 2019, 06:32:19 am by schmerzkaufen »