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: Switching to my custom refresh rates on LCD fails  (Read 6631 times)

0 Members and 1 Guest are viewing this topic.

oomek

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 268
  • Last login:Yesterday at 06:32:09 am
  • Mame forever.
    • https://github.com/oomek
Switching to my custom refresh rates on LCD fails
« on: October 31, 2016, 03:44:05 pm »
I'm trying to set up GroovyMame to switch to my custom resolution 1920x1080 and refresh rates of 52,54,56,58 but I always get 60fps. What am I doing wrong?

Code: [Select]
#
# CORE CONFIGURATION OPTIONS
#
readconfig                1
writeconfig               0

#
# CORE SEARCH PATH OPTIONS
#
rompath                   roms;D:\mame\roms
hashpath                  hash
samplepath                samples
artpath                   artwork
ctrlrpath                 ctrlr
inipath                   .;ini
fontpath                  .
cheatpath                 cheat
crosshairpath             crosshair

#
# 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 OUTPUT DIRECTORY OPTIONS
#
hiscore_directory         hi

#
# CORE STATE/PLAYBACK OPTIONS
#
state                     
autosave                  0
playback                 
record                   
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
sleep                     1
speed                     1.0
refreshspeed              1

#
# CORE ROTATION OPTIONS
#
rotate                    1
ror                       0
rol                       0
autoror                   0
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

#
# CORE SCREEN OPTIONS
#
brightness                1.0
contrast                  1.0
gamma                     1.0
pause_brightness          0.65
effect                    slot-mask-aligned-scale50-gamma5

#
# CORE VECTOR OPTIONS
#
antialias                 1
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

#
# CORE MISC OPTIONS
#
drc                       1
drc_use_c                 0
drc_log_uml               0
drc_log_native            0
bios                     
cheat                     0
skip_gameinfo             1
uifont                    default
ramsize                   
confirm_quit              0
ui_mouse                  0
autoboot_command         
autoboot_delay            2
autoboot_script           
console                   0

#
# CORE MKChamp OPTIONS
#
disable_hiscore_patch     0
disable_nagscreen_patch   1
disable_loading_patch     1

#
# CORE SWITCHRES OPTIONS
#
modeline_generation       0
monitor                   lcd
orientation               horizontal
connector                 auto
interlace                 0
doublescan                0
cleanstretch              0
changeres                 1
powerstrip                0
lock_system_modes         0
lock_unsupported_modes    0
refresh_dont_care         1
dotclock_min              0
sync_refresh_tolerance    0.0
frame_delay               0
vsync_offset              0
black_frame_insertion     0
modeline                  auto
ps_timing                 auto
lcd_range                 50-60
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 DEBUGGING OPTIONS
#
debugger                  auto
debugger_font             auto
debugger_font_size        0
watchdog                  0

#
# OSD PERFORMANCE OPTIONS
#
multithreading            0
numprocessors             auto
bench                     0

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

#
# OSD PER-WINDOW VIDEO OPTIONS
#
screen                    auto
aspect                    auto
resolution                auto
view                      auto
screen0                   \\.\DISPLAY1
aspect0                   10:6
resolution0               1920x1080@0
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

#
# WINDOWS PERFORMANCE OPTIONS
#
priority                  0
profile                   0

#
# WINDOWS VIDEO OPTIONS
#
menu                      0

#
# DIRECTDRAW-SPECIFIC OPTIONS
#
hwstretch                 1

#
# DIRECT3D POST-PROCESSING OPTIONS
#
hlsl_enable               1
hlslpath                  hlsl
hlsl_enable               0
hlsl_oversampling         0
hlsl_write               
hlsl_snap_width           2048
hlsl_snap_height          1536
shadow_mask_tile_mode     0
shadow_mask_alpha         0.0
shadow_mask_texture       shadow-mask.png
shadow_mask_x_count       6
shadow_mask_y_count       4
shadow_mask_usize         0.1875
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.15
scanline_size             1.0
scanline_height           1.0
scanline_variation        1.0
scanline_bright_scale     1.0
scanline_bright_offset    0.0
scanline_jitter           0.0
hum_bar_alpha             0.0
defocus                   1.5,1.0
converge_x                0.0,0.0,0.0
converge_y                0.0,0.0,0.0
radial_converge_x         0.0,0.0,0.0
radial_converge_y         0.0,0.0,0.0
red_ratio                 1.0,0.0,0.0
grn_ratio                 0.0,1.0,0.0
blu_ratio                 0.0,0.0,1.0
saturation                1.0
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.0,0.0,0.0

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

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

#
# BLOOM POST-PROCESSING OPTIONS
#
bloom_blend_mode          0
bloom_scale               0.25
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.04
bloom_lvl6_weight         0.04
bloom_lvl7_weight         0.02
bloom_lvl8_weight         0.02
bloom_lvl9_weight         0.01
bloom_lvl10_weight        0.01

#
# 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
« Last Edit: October 31, 2016, 03:53:08 pm by oomek »

pakoman

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 165
  • Last login:November 05, 2024, 08:36:26 am
  • I want to build my own arcade controls!
Re: Switching to my custom refresh rates on LCD fails
« Reply #1 on: November 01, 2016, 09:19:15 am »
Most probably your LCD is fixed to 1920x1080@60hz.

There may be a chance in you try 15 kHz resolutions through the scart input like 256x224@57.

oomek

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 268
  • Last login:Yesterday at 06:32:09 am
  • Mame forever.
    • https://github.com/oomek
Re: Switching to my custom refresh rates on LCD fails
« Reply #2 on: November 01, 2016, 09:47:17 am »
It only happens in GroovyMame. For example the latest maeuifx64 is switching my display properly to the nearest custom refresh when video is set to d3d. On bgfx it's the same story.

haynor666

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 1546
  • Last login:Today at 10:50:46 am
  • retro maniac

oomek

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 268
  • Last login:Yesterday at 06:32:09 am
  • Mame forever.
    • https://github.com/oomek
Re: Switching to my custom refresh rates on LCD fails
« Reply #4 on: November 02, 2016, 07:08:49 am »
Thanks for the link, but that topic does not offer any solution. It only mentions to use crt range, but does not tell how.

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7463
  • Last login:July 19, 2025, 04:03:33 am
  • Quote me with care
Re: Switching to my custom refresh rates on LCD fails
« Reply #5 on: November 02, 2016, 07:16:50 am »
Thanks for the link, but that topic does not offer any solution. It only mentions to use crt range, but does not tell how.

In order to try to help that user, I asked him to post a log, so I could build a crt_range using that information.

After that:



Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

oomek

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 268
  • Last login:Yesterday at 06:32:09 am
  • Mame forever.
    • https://github.com/oomek
Re: Switching to my custom refresh rates on LCD fails
« Reply #6 on: November 02, 2016, 07:22:04 am »
I can post a log, just tell me what to do :) I need GroovyMame to recognise my custom resolutions of 1920x1080 in a frequency range of 50-60Hz.

oomek

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 268
  • Last login:Yesterday at 06:32:09 am
  • Mame forever.
    • https://github.com/oomek
Re: Switching to my custom refresh rates on LCD fails
« Reply #7 on: November 02, 2016, 07:42:09 am »
Ok, here's the log for Shadow Dancer. Would you be able to help please?

http://pastebin.com/raw/WpdtYDF5

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7463
  • Last login:July 19, 2025, 04:03:33 am
  • Quote me with care
Re: Switching to my custom refresh rates on LCD fails
« Reply #8 on: November 02, 2016, 07:46:27 am »
If you check your log:

Code: [Select]
SwitchRes: Creating automatic specs for LCD based on current timings
SwitchRes: Monitor range 56250.00-67500.00,50.00-60.00,0.593,0.297,0.998,0.059,0.074,0.534,0,0,1080,1080,0,0
SwitchRes: -resolution was forced as 1920x1080@60

Just copy the line from your log and give it crt_range format:

crt_range0 56250.00-67500.00,50.00-60.00,0.593,0.297,0.998,0.059,0.074,0.534,0,0,1080,1080,0,0

Replace the corresponding line in mame.ini, and set 'monitor custom'.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

oomek

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 268
  • Last login:Yesterday at 06:32:09 am
  • Mame forever.
    • https://github.com/oomek
Re: Switching to my custom refresh rates on LCD fails
« Reply #9 on: November 02, 2016, 07:59:25 am »
Thanks, I've tried that. There is a small progress though. in bgfx I'm still getting 60Hz, in d3d 24Hz

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7463
  • Last login:July 19, 2025, 04:03:33 am
  • Quote me with care
Re: Switching to my custom refresh rates on LCD fails
« Reply #10 on: November 02, 2016, 08:05:17 am »
Logs better than words.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

oomek

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 268
  • Last login:Yesterday at 06:32:09 am
  • Mame forever.
    • https://github.com/oomek
Re: Switching to my custom refresh rates on LCD fails
« Reply #11 on: November 02, 2016, 08:09:49 am »

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7463
  • Last login:July 19, 2025, 04:03:33 am
  • Quote me with care
Re: Switching to my custom refresh rates on LCD fails
« Reply #12 on: November 02, 2016, 08:16:35 am »
Didn't realize you have an ATI card. Disable -modeline_generation in mame.ini.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

oomek

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 268
  • Last login:Yesterday at 06:32:09 am
  • Mame forever.
    • https://github.com/oomek
Re: Switching to my custom refresh rates on LCD fails
« Reply #13 on: November 02, 2016, 08:18:55 am »
It's already disabled
modeline_generation       0

oomek

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 268
  • Last login:Yesterday at 06:32:09 am
  • Mame forever.
    • https://github.com/oomek
Re: Switching to my custom refresh rates on LCD fails
« Reply #14 on: November 02, 2016, 08:20:53 am »
strange thing is even though the log says in bgfx mode:

SwitchRes: [shdancer] (1) horizontal (320x224@57.230000)->(1920x1080@23.000000)

it's completely ignored and the game is launched in 60Hz anyway.

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7463
  • Last login:July 19, 2025, 04:03:33 am
  • Quote me with care
Re: Switching to my custom refresh rates on LCD fails
« Reply #15 on: November 02, 2016, 08:24:57 am »
If modeline_generation is disabled, only way you can be getting this result is if for some reason you have enabled refresh_dont_care.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

oomek

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 268
  • Last login:Yesterday at 06:32:09 am
  • Mame forever.
    • https://github.com/oomek
Re: Switching to my custom refresh rates on LCD fails
« Reply #16 on: November 02, 2016, 08:42:15 am »
That was it. After setting refresh_dont_care to 0 (which I probably set to 1 out of desperation) I have 58Hz now in D3D (bgfx still refusing to work for some reason) BUT...
...the game now is running at 50% :D This is getting weirder and weirder.

shdancerD3D.txt
http://pastebin.com/Xhc660jJ

shdancerBGFX.txt
http://pastebin.com/2t7zFP3D

oomek

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 268
  • Last login:Yesterday at 06:32:09 am
  • Mame forever.
    • https://github.com/oomek
Re: Switching to my custom refresh rates on LCD fails
« Reply #17 on: November 02, 2016, 08:47:49 am »
I've checked the refresh rate on my TV's OSD, and it says 30Hz. that's where that 50% is coming from.

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7463
  • Last login:July 19, 2025, 04:03:33 am
  • Quote me with care
Re: Switching to my custom refresh rates on LCD fails
« Reply #18 on: November 02, 2016, 09:03:17 am »
The problem is your system reports some @24, @25, @28, @29 Hz resolutions, and those are confusing GM, because the timings reported are actually the double, that's why it's picking those instead. I don't know if those have been always there or are a consequence of GM previous attempts to create custom timing, due to your card being an ATI.

What tool did you use to add the custom modes? Could you try to remove all of them and start again?

Anyway, I know it's far from ideal but you can always force a given resolution on a per-game basis, by means of the -resolution option.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

oomek

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 268
  • Last login:Yesterday at 06:32:09 am
  • Mame forever.
    • https://github.com/oomek
Re: Switching to my custom refresh rates on LCD fails
« Reply #19 on: November 02, 2016, 09:24:58 am »
Those refresh rates 24, 25, 29, 30 (don't see any 28Hz) have always been there.
To make my custom ones I used Radeon settings CCCSlim added as a legacy component to the new Crimson Drivers.

Setting the refreshes on per game basis is always an option, but I always wanted to avoid that.
In the worst case I will go back to mameuifx64, not that I want to.

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7463
  • Last login:July 19, 2025, 04:03:33 am
  • Quote me with care
Re: Switching to my custom refresh rates on LCD fails
« Reply #20 on: November 02, 2016, 09:44:54 am »
I'm thinking there's something you could do so that GM stops reading custom timings, go into \windows\system32 and rename these files:

atiadlxx.dll
atiadlxy.dll

as

atiadlxx.dll.bak
atiadlxy.dll.bak

That should be enough. If you have any issue, just revert the change.

Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

oomek

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 268
  • Last login:Yesterday at 06:32:09 am
  • Mame forever.
    • https://github.com/oomek
Re: Switching to my custom refresh rates on LCD fails
« Reply #21 on: November 02, 2016, 11:34:19 am »
Thanks for your advice. I'll try that bit later. I'm also thinking about making a custom resolution of for example 1920x1078 with just the frequencies in the 50-60 range strictly for use in the emulator. Theoreticaly it should work.

oomek

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 268
  • Last login:Yesterday at 06:32:09 am
  • Mame forever.
    • https://github.com/oomek
Re: Switching to my custom refresh rates on LCD fails
« Reply #22 on: November 02, 2016, 11:36:16 am »
Oh, and regarding that BGFX forcing 60Hz. Do you think I should be bothering the mamedev team about that, or there is still a chance for some workaround?
« Last Edit: November 02, 2016, 11:38:03 am by oomek »

oomek

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 268
  • Last login:Yesterday at 06:32:09 am
  • Mame forever.
    • https://github.com/oomek
Re: Switching to my custom refresh rates on LCD fails
« Reply #23 on: November 02, 2016, 12:04:05 pm »
WOW, renaming atiadlxx.dll worked, even in bgfx! You are a genious! Thanks a lot man!

update: unfortunately it has some drawbacks, CCC.exe is not opening anymore. Also some games for example 1942, 1943 have no interpolation and are running at 52Hz

http://pastebin.com/2HXdj3Ms

« Last Edit: November 02, 2016, 12:57:46 pm by oomek »

oomek

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 268
  • Last login:Yesterday at 06:32:09 am
  • Mame forever.
    • https://github.com/oomek
Re: Switching to my custom refresh rates on LCD fails
« Reply #24 on: November 02, 2016, 01:45:18 pm »
I'm out of ideas.

I've tried as a test making a custom resolution of 1600x1080 with the 58Hz and 60Hz, but GM keeps ignoring them and switching to 1920x1080 even with the dll renamed.

I desperately need the custom frequencies and the lowest input lag possible, but after seeing what GM can do i cannot go back to using mameuifx.

The only solution is to grab a diff file from GM and stick the changes regarding the lag to mameuifx, skipping all that mess switchres introduced on the lcds.

update: even when I'm calling a game with a specific resolution it doesn't work.

C:\mamesrc>mame64 1943 -resolution 1600x1080@60
SwitchRes: [1943] (1) vertical (224x256@60.000000)->(1920x1080@60.000000)
« Last Edit: November 02, 2016, 01:49:18 pm by oomek »

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7463
  • Last login:July 19, 2025, 04:03:33 am
  • Quote me with care
Re: Switching to my custom refresh rates on LCD fails
« Reply #25 on: November 02, 2016, 02:20:41 pm »
You must have a -resolution value forced in mame.ini:

SwitchRes: -resolution was forced as 1920x1080@0

With regards to the dlls, another solution is to leave alone the dlls in system32 and instead place some dummy dlls in your mame folder, see attatchment.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

oomek

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 268
  • Last login:Yesterday at 06:32:09 am
  • Mame forever.
    • https://github.com/oomek
Re: Switching to my custom refresh rates on LCD fails
« Reply #26 on: November 02, 2016, 05:45:29 pm »
Thank you for the dlls. They did the job.
There is one more thing though. I know, I'm bothering you with questions a lot, but this is a strange one.
prescale option in ini seems to be ignored when I set the custom monitor. Switchres is setting it to 3 so I loose the bilinear filtering. I need to force it through the commandline. Any ideas?

Code: [Select]
SwitchRes: [shdancer] (1) horizontal (320x224@57.230000)->(1920x1080@58.000000)
   rng(0): 1920 x1080_58.000000p 0.000000 [fract] scale(5, 4, 1) diff(4.17, 28.23, 0.7700) ratio(6.000, 4.821)
SwitchRes: Setting option -rotate
SwitchRes: Setting option -noror
SwitchRes: Setting option -autoror
SwitchRes: Setting option -norol
SwitchRes: Setting option -noautorol
SwitchRes: Setting option -noblack_frame_insertion
SwitchRes: Setting option -nomultithreading
SwitchRes: Setting option -notriplebuffer
SwitchRes: Setting option -syncrefresh
SwitchRes: Setting option -waitvsync
SwitchRes: Setting option -keepaspect
SwitchRes: Setting option -filter
SwitchRes: Setting option -prescale 3

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7463
  • Last login:July 19, 2025, 04:03:33 am
  • Quote me with care
Re: Switching to my custom refresh rates on LCD fails
« Reply #27 on: November 02, 2016, 06:04:52 pm »
GroovyMAME no longer sets the prescale option. You must have downgraded to an older version for some reason.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

oomek

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 268
  • Last login:Yesterday at 06:32:09 am
  • Mame forever.
    • https://github.com/oomek
Re: Switching to my custom refresh rates on LCD fails
« Reply #28 on: November 02, 2016, 07:04:44 pm »
Yes, i'm using the 0.171 version to take advantage of the d3d9ex mode. Funny thing is I discovered by accident that setting frame_delay to 10 gives me 24ms of latency less and scanline tear is more stable and can be easily adjusted with vsync_offset. When I set it in the proper range 1-9 scanline tear is all over the place. I've tested it with 1200fps camera and arduino board.
In the latest GM I have the same issues in bgfx mode with refresh of the display beeing forced to 60Hz. In the log it's ok though. Another dummy dll needed?
« Last Edit: November 02, 2016, 07:06:21 pm by oomek »

oomek

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 268
  • Last login:Yesterday at 06:32:09 am
  • Mame forever.
    • https://github.com/oomek
Re: Switching to my custom refresh rates on LCD fails
« Reply #29 on: November 03, 2016, 05:39:53 pm »
I assume there is no chance for me to switch to the 0.179 ?

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7463
  • Last login:July 19, 2025, 04:03:33 am
  • Quote me with care
Re: Switching to my custom refresh rates on LCD fails
« Reply #30 on: November 05, 2016, 09:01:30 am »
I assume there is no chance for me to switch to the 0.179 ?

mmmm why not?


If you're using -frame_delay already, there's no advantage in using d3d9ex. You can use plain d3d + frame_delay with identical results.

D3D9ex was introduced basically to allow LCD users to reduce the latency while not using -frame_delay (because -frame_delay causes tearing on LCD). Now the GM-modified bgfx video backend does the same. I need to check why it doesn't switch resolutions when only the refresh number differs (your case), maybe it's a limitation, not sure.

BTW -frame_delay 10 is equivalent to -throttle (if you see what I mean).
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

oomek

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 268
  • Last login:Yesterday at 06:32:09 am
  • Mame forever.
    • https://github.com/oomek
Re: Switching to my custom refresh rates on LCD fails
« Reply #31 on: November 05, 2016, 02:19:41 pm »
I thought frame_delay doesn't work in d3d. I need to make some more highspeed comparison videos. No I do not get what you said about frame_delay and throttle.

update: unfortunately frame_delay in d3d does not work as neat. Tearing is imposible to eliminate as it appears from top and the bottom. So far the best combination for me is v0.171 video: d3d9ex, frame_delay: 10, vsync_offset: 140

Update2: in bgfx the emulator is switching to the proper frequency according to the log, but the display is stuck at 60Hz. It's the same situation as before but this time the dummy dlls do not help at all.
« Last Edit: November 05, 2016, 03:23:38 pm by oomek »

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7463
  • Last login:July 19, 2025, 04:03:33 am
  • Quote me with care
Re: Switching to my custom refresh rates on LCD fails
« Reply #32 on: November 05, 2016, 04:47:47 pm »
In src\emu\video.c

Code: [Select]
if (m_framedelay == 0 || m_framedelay > 9 || mode->hactive == 0)
return;

Basically, frame_delay 10 has no effect. However, indirectly, by simply using a value of frame_delay different from zero the driver's frame queue is bypassed, this is probably what you're noticing.

In my tests I never found any performance improvement from using d3d9ex over d3d9, however Intealls mentioned he did notice it on some systems. Unfortunately due to recent changes in MAME, keeping d3d9ex would involve either a full replication of the d3d backend (not viable for the GM patch) or forcing a d3d9ex-only renderer and consequently dropping support for XP.
Important note: posts reporting GM issues without a log will be IGNORED.
Steps to create a log:
 - From command line, run: groovymame.exe -v romname >romname.txt
 - Attach resulting romname.txt file to your post, instead of pasting it.

CRT Emudriver, VMMaker & Arcade OSD downloads, documentation and discussion:  Eiusdemmodi

oomek

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 268
  • Last login:Yesterday at 06:32:09 am
  • Mame forever.
    • https://github.com/oomek
Re: Switching to my custom refresh rates on LCD fails
« Reply #33 on: November 05, 2016, 07:14:29 pm »
I can assure you it's not a placebo effect. I'll post some videos tomorrow so you can see it for yourself. I would be more than happy to migrate to bgfx, but on the lcd's I do not see any benefits regarding latency, only drawbacks.
« Last Edit: November 05, 2016, 10:26:23 pm by oomek »