Build Your Own Arcade Controls Forum
Software Support => GroovyMAME => Topic started by: ApB1 on October 18, 2016, 05:14:35 pm
-
Hi
I know that GroovyMame is optimized for CRT and i use it in my Cab without any problems,
but i would like to use it on my Desktop-PC instead MameUI64/MameUIFX64.
PC is
Windows 10/64bit
i7
Nvidia GTX970
Benq Monitor 2560x1440, 30-222khz, 23-144hz
I created Refreshrates with the Nvidia Tool (all for 2560x1440): 23, 24, 25, 30, 33, 35, 40, 48-62, 66, 70, 72, 75, 80, 90, 96, 99, 100, 110, 120, 140, 144 - all testet and worked ok
With MameUI64/MameUIFX64 i used 'resoluton' 2560x1440 and 'refresh' auto
If i start, for example, R-Type MameUI64/FX64 switch to 56hz and the game runs at 102% (ok 55hz was nearer to original R-Type but Mame rounds up to 56hz and its OK for me)
If i start any game with GroovyMame it cant change the Refresrate. My Desktop-Refreshrate is 144hz and GroovyMame starts every game at 144hz
I tried many different settings in the mame.ini but the Refreshrate is always at 144hz
this shows the command window:
Video chipset is not compatible.
SwitchRes: [magmax] (1) horizontal (256x224@60.000000)->(2560x1440@60.000000)
Average speed: 240.01% (3 seconds)
it looks that GroovyMame change the refreshrate to 60hz but but my monitorinfo shows 144hz and the game runs at 240%
i know that Nvidia is not compatible with GroovyMame but the right refreshrates are present in my Windows (created with the Nvidia tool and also at the right place in the Registry/EDID)
Thanks...
My last mame.ini
#
# CORE CONFIGURATION OPTIONS
#
readconfig 1
writeconfig 0
#
# CORE SEARCH PATH OPTIONS
#
rompath roms
hashpath hash
samplepath samples
artpath artwork
ctrlrpath ctrlr
inipath .;ini
fontpath .
cheatpath cheat
crosshairpath crosshair
pluginspath plugins
languagepath language
#
# 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
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 0
#
# 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 none
#
# 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 0
uifont default
ui cabinet
ramsize
confirm_quit 0
ui_mouse 1
autoboot_command
autoboot_delay 2
autoboot_script
console 0
language English
#
# CORE MKChamp OPTIONS
#
disable_hiscore_patch 0
disable_nagscreen_patch 1
disable_loading_patch 1
#
# CORE SWITCHRES OPTIONS
#
modeline_generation 1
monitor lcd
orientation horizontal
connector auto
interlace 0
doublescan 1
cleanstretch 1
changeres 1
powerstrip 0
lock_system_modes 0
lock_unsupported_modes 0
refresh_dont_care 1
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 49-144
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 1
numprocessors auto
bench 0
#
# OSD VIDEO OPTIONS
#
video d3d9ex
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 auto
resolution0 2560x1440@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 dsound
audio_latency 0.1
#
# ASIO OPTIONS
#
asio_device 0
asio_log 0
#
# WINDOWS PERFORMANCE OPTIONS
#
priority 0
profile 0
#
# WINDOWS VIDEO OPTIONS
#
menu 0
#
# DIRECTDRAW-SPECIFIC OPTIONS
#
hwstretch 0
#
# DIRECT3D POST-PROCESSING OPTIONS
#
hlsl_enable 0
hlslpath hlsl
hlsl_prescale_x 0
hlsl_prescale_y 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
curvature 0.0
round_corner 0.0
smooth_border 0.0
reflection 0.0
vignetting 0.0
scanline_alpha 0.0
scanline_size 1.0
scanline_height 1.0
scanline_bright_scale 1.0
scanline_bright_offset 0.0
scanline_jitter 0.0
hum_bar_alpha 0.0
defocus 1.0,0.0
converge_x 0.25,0.00,-0.25
converge_y 0.0,0.25,-0.25
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.4
offset 0.0,0.0,0.0
scale 0.95,0.95,0.95
power 0.8,0.8,0.8
floor 0.05,0.05,0.05
phosphor_life 0.4,0.4,0.4
#
# 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
-
Try to change your desktop resolution to anything but 2560x1440 before using groovymame.
-
i changed my Desktopresolution to 1920x1080 50hz and started a game:
D:\Emulation\MAME\__MAME32\_GroovyMame>GroovyMame64_0171asio magmax
Video chipset is not compatible.
SwitchRes: [magmax] (1) horizontal (256x224@60.000000)->(1920x1080@60.000000)
GroovyMame dont try to change the Resolution to 2560x1440 as defined in the mame.ini
and it dont changed the refreshrate to 60 hz (1920x1080) as shown above, my Monitor Info shows 50hz
Of course, if i change to the right refresh rate before i start a game that it runs at the right refresh rate.
But i would run GroovyMame with an Frontend like MaLa and i wish that GroovyMame changes to the right refreshrate automatically...
-
Ok sorry, had this kind of issue on my CRT+LCD setup (i.e. GM cannot change a res that desktop is set to).
Unfortunately I have no experience in running GM on multisync LCD.
Anyway you should post a log so one can have a look at what's going on.
-
I think what you need to do what your asking is either a Freesync or Gsync monitor.
As with my Gsync Asus monitor all i have to do is change....
waitvsync 0
monitor lcd
lcd_range 50-144
triplebuffer 0
in mame.ini set the
Then test with Mortal Kombat on the title screen where the character avatars are scrolling down either side of the screen, they should be scrolling completely smoothly
-
Ok, the FreeSync and GSync solutions are another solution approaches (my Benq Monitor has FreeSync but my GraphicCard is a Nvidia GTX970 ;-( )
But i don't understand why GroovyMame can't change the Refreshrates which are disposal by Windows/EDID/Nvidia driver.
in my make.ini i have set
lock_system_modes 0
so why can't GroovyMame grab the right Refreshrate which provides the OS ?
and why can't GroovyMame not switch the Resolution?
for a Test i changed the desktop resolution to 1920x1080@50hz,
in the mame.ini is the resolution set to:
screen0 \\.\DISPLAY1
aspect0 auto
resolution0 2560x1440@0
but the game started with the test resolution 1920x1080@50hz
-
so why can't GroovyMame grab the right Refreshrate which provides the OS ?
and why can't GroovyMame not switch the Resolution?
Because you're using the "lcd" monitor preset, which is supposed to keep the desktop resolution whatever it is.
If you want automatic mode switching, you need to create a monitor preset of the "crt_range" type. Post a log of a random game with your current config (not mame.ini, a log).
-
ok i would try with a crt range type
but what for is the option
lcd_range 49-144 ?
-
I have the same problem. Did you get this working on your LCD?
-
until now - no
i dont know how i can create a right CRT preset with my specifications (25-222khz 23-144hz)
but i dont understand the option 'lcd_range' is what for.
It seems it must do the same but it doesnt.
-
http://forum.arcadecontrols.com/index.php/topic,152146.0.html (http://forum.arcadecontrols.com/index.php/topic,152146.0.html)
-
hi,
here the LOG.
in the LOG it seems the game startet with 60hz but it starts with 144hz.
-
Ok, after reading the other liked thread and some testing i got one step forwarth.
but now, the 'cleanstretch' option and the 'filter' option does not work
-
It was also explained in the thread I started. 0.171 is forcing prescaler to 3
-
Ok, one more -
R-Type starts correctly in 55 hz, the 'prescale 1' option (in command line not in mame.ini) works
'Magmax' and, for example 'Elevator Arction', both 60hz games, choose 48hz and 'prescale 1' is not working, and the aspect of the games are not correct.
Both games are stretched 16:9 Fullscreen
-
You need also to add -filter in the commandline
-
ok, the filter option works by magmax and elevator action but in R-Type 'prescale 1' works fine without the 'filter' option.
the problems with 48hz instead 60hz and 16:9 Fullscreenstretch in magmax and elevator action is still present.
-
Remind to add the option -aspect 16:9 in mame.ini, this is required in order to calculate the correct aspect.
Version 171 still had the old scaling options. Since then, integer scaling has been implemented natively in MAME, in combination with -unevenstretchx etc, which now do a much better job.
I'd rather you used updated versions so I didn't need to troubleshoot older ones which worked in a different way. The specific issue with the wrong refresh being selected, is the one I'm interested in, I'd like to see how v0.179 behaves on that.
I know you're sticking to 171 for D3D9ex and ASIO but unfortunately you'll need to live without those until we find a way to replace/reimplement both.
-
i tried groovymame64 0.179
Magmax run at 60hz but infoscreen shows 48hz
R-Type run at 60hz but infoscreen shows 55hz
-
I have exactly the same problem with 0.179, all games are running at 60Hz even though the log says otherwise. That's the main reason (apart from the obvious d3d9ex benefits) i'm sticking with 0.171
Update: it's worth to mention that it's a bgfx problem, not the 0.179. It happens also in 0.171. But I have no other option since d3d9ex is missing.
It would be awesome if the dev has decided to implement back the d3d9ex renderer.
-
my Situation is:
in GroovyMame 0.171
Magmax, Elevator Action etc. (all original 60hz) runs with 48hz, Log shows 48hz
R-Type (original 55hz) runs with 55hz, Log shows 55hz
GroovyMae 0.179
Magmax, Elevator Action etc. (all original 60hz) runs with 60hz, Log shows 48hz
R-Type (original 55hz) runs with 60hz, Log shows 55hz
besides the other Refresh Problems (between groovy 0.171 and groovy 0.179)
why does GroovyMame set the 60hz games to 48hz? (48hz is my lowest for GroovyMame released refresh rate)
-
my Situation is:
in GroovyMame 0.171
Magmax, Elevator Action etc. (all original 60hz) runs with 48hz, Log shows 48hz
R-Type (original 55hz) runs with 55hz, Log shows 55hz
GroovyMame 0.179
Magmax, Elevator Action etc. (all original 60hz) runs with 60hz, Log shows 48hz
R-Type (original 55hz) runs with 60hz, Log shows 55hz
besides the other Refresh Problems (between groovy 0.171 and groovy 0.179)
why does GroovyMame try to set or set the 60hz games to 48hz? (48hz is my lowest for GroovyMame released refresh rate)
-
1.- The issue with rtype is due to bgfx (same as oomek reported). Use -video d3d and it will be ok.
2.- The issue with magmax is different, is due to the pick-best-mode algorithm not working properly with the automatic crt_range we're introducing and the lcd case. It could probably be fixed by tweaking the crt_range, I'll check when I have some time.
-
This should fix issue 2:
crt_range0 75120.00-98595.00,48.00-63.00,0.287,0.347,0.634,0.004,0.013,0.100,0,1,1344,1440,0,0
(lower back porch and some border tolerance (224 * 6 = 1344)
As an attempt to fix issue 1, check the google drive for this file: groovymame64_0179.016_alpha3_test.7z
It should fix the full screen refresh issue, not sure if iit has any undesired side effect.
-
Your test build works, no more 60hz. Unfortunately I'll have to emphasize it again. The latency with bgfx is not even neart that what can be achieved with d3d9ex. I'm begging you, please add it back.
-
Your test build works, no more 60hz. Unfortunately I'll have to emphasize it again. The latency with bgfx is not even neart that what can be achieved with d3d9ex.
I'm really interested in knowing how much difference there is, you said you are measuring it with an arduino, do you have any figures to compare?
-
I was going to do it right now, but my camera refused to work saying the battery reached the end of it's life and needs to be replaced. Murphy's law at it's best. Trying to recharge it now, be patient please.
-
Damn thing still refuses to work. Bought a new battery on Amazon, will arrive tomorrow.
-
This should fix issue 2:
crt_range0 75120.00-98595.00,48.00-63.00,0.287,0.347,0.634,0.004,0.013,0.100,0,1,1344,1440,0,0
(lower back porch and some border tolerance (224 * 6 = 1344)
this change have sovled the problem on both versions 0.171asio and 0179.016_alpha3_test
Magmax runs now with 60hz
but R-Type runs now with 54hz (55hz before the change in the crt_range)
-
@Calamity OK, I've done a lot of measurements and the results will shock you. I hope you'll understand now my stubbornness.
XLS with a report:
https://onedrive.live.com/view.aspx?resid=1EF40962E42ABF0B!442&ithint=file%2cxlsx&app=Excel&authkey=!AHU5WnqbyUsYejo (https://onedrive.live.com/view.aspx?resid=1EF40962E42ABF0B!442&ithint=file%2cxlsx&app=Excel&authkey=!AHU5WnqbyUsYejo)
Folder with high speed videos:
https://drive.google.com/open?id=0ByeL6qQUr-iUeDYtWnN5SXR3V3M (https://drive.google.com/open?id=0ByeL6qQUr-iUeDYtWnN5SXR3V3M)
I measured the latency using the following method:
Orange led turning on as a start frame and as an end frame the dim one just before head of the ninja starts fading(my TV goes dim a little on every vblank, so it was easy to spot).
Can't wait for your decision.
p.s. The lag difference between frame_delay 2 and 10 is negligible as you can see. That's why I use 10. That gives me total control over a tear line (it's stable as a rock, always in one place)
p.s.2 Don't mind a huge latency of my TV. It has 60ms on average. That's why every ms matters to me. I'm planning to upgrade soon to something faster.