Build Your Own Arcade Controls Forum
Software Support => GroovyMAME => Topic started by: Jason125 on January 15, 2014, 12:34:39 am
-
I've been scouring the web looking for actual instructions on setting up MAME or GroovyMAME in conjunction with the ASUS VG248QE LCD monitor and NVIDIA GTX 660 video card, running under Win 7 64-bit. There seems to be A LOT of hype about Lightboost and how it may (will) provide a CRT alternative, but little guidance on how to USE it effectively. I would really appreciate someone providing instructions on how to set up GM using this hardware.
Some questions I have include:
1. With the Lightboost hack enabled and using Black Frame Insertion, is there still a need for GroovyMAME versus patched vanilla MAME using this particular LCD? I have found one challenge in using standard MAME, as it doesn't by default support Black Frame Insertion, and I can't seem to find a source to download MAME 152 (not GM) already patched.
2. How will the G-SYNC upgrade to this monitor change the configuration of GM, as opposed to LightBoost? It is my understanding that the G-Sync upgrade (which I ordered) will create a communications link between the LCD and video card, enabling the video card and NOT the monitor to dictate the frame rate. So as the frame rate changes in MAME, the monitor should display a perfectly synced image with no tearing and minimal lag.
3. Where do people find pre-patched MAME versions? I figure I can still use GM which is already patched and is the latest version, but it would be nice to test a non-GM build with strobing or Black Frame Insertion and other patches built in.
I completely understand that GroovyMAME is primarily a solution for owners of arcade monitors and TVs. I'd like to continue using GM for this project and hardware, if possible, but would appreciate any help in determining what the correct settings should be if GM still has value in this scenario.
-
Hi Jason125,
Regarding GroovyMAME & Lightboost, you need to use these settings:
monitor lcd
black_frame_insertion 1
syncrefresh 1
... while forcing the desktop resolution to 120 Hz
On the other hand, G-Sync has not been tested yet with GroovyMAME. As far as I understand, regular MAME would be just as good in this situation. My guessed settings would be:
triplebuffer 0
syncrefresh 0
waitvsync 0
throttle 1
It's a mistery to me what Nvidia has in mind for combining G-Sync with Lightboost in a sensible way.
* Lightboost for 60 Hz games requires black frame insertion, but...
* Black frame insertion requires syncrefresh, but...
* G-sync involves disabling syncrefresh 8)
... Black frame insertion might be possible without syncrefresh, just based on the cpu clock, but this would involve some important modifications of MAME throttling routines (as far as I understand).
If you can't find pre-patched versions of MAME, learn how to compile your own, it's easier than you think and you won't depend on someone else.
-
Calamity,
As always, thank you for your excellent information and advice. For the record, my configuration is Windows 7 64-bit, Nvidia 660 GTX, and an ASUS VG248QE running at 1920x1080@120 hz. I am also using the Lightboost enabler featured on the Blur Busters website. Based on my limited research, enabling Lightboost (strobing) on this monitor at 100, 110, and 120 hz provides a CRT-like effect when used with software supporting the feature, like GM using the black frame insertion. Unfortunately, this requires Windows 7 or 8 to function.
I followed your advice with everything, but noticed a few things which may need to be changed (ume.ini attached). First, if you choose LCD as the monitor type, I needed to add the LCD monitor timings below for SwitchRes to work properly. Although I used 120.0-120.0 in my file, I wonder if there is a way to support frequency doubling in this scenario, as the LightBoost hack does support 100 and 120 hz modes. So if a game runs at 400x254@54.71 (mk) is there a way for GroovyUME to double this resolution somehow to 110 hz?
The other issue I found was enabling HLSL resulted in the right side of my screen being blurry. After scouring the forums, I found I needed to create a horizont.ini file containing: prescale 0
hlsl_prescale_x 3
hlsl_prescale_y 3
This enabled the entire screen to be clear again, but I don't understand technically why this was necessary. I'm also displeased with my HLSL settings, but that is something I can work on (although why someone hasn't posted a nice post similar to the Monitor Presets with various HLSL settings is beyond me).
As I am planning to complete the G-Sync upgrade tonight and post my results here, I need to post my current MonInfo results for the current ASUS LightBoost hardware configuration:
Monitor
Model name............... VG248
Manufacturer............. Asus
Plug and Play ID......... ACI24E1
Serial number............ D9LMQS054775
Manufacture date......... 2013, ISO week 38
Filter driver............ None
-------------------------
EDID revision............ 1.3
Input signal type........ Digital
Color bit depth.......... Undefined
Display type............. RGB color
Screen size.............. 530 x 300 mm (24.0 in)
Power management......... Standby, Suspend, Active off/sleep
Extension blocs.......... 1 (CEA-EXT)
-------------------------
DDC/CI................... Supported
MCCS revison............. 2.1
Display technology....... TFT
Controller............... Mstar 0x8556
Firmware revision........ 1.1
Firmware flags........... 0x000045CC
Active power on time..... Not supported
Power consumption........ Not supported
Current frequency........ 137.70kHz, 119.80Hz
Color characteristics
Default color space...... Non-sRGB
Display gamma............ 2.20
Red chromaticity......... Rx 0.650 - Ry 0.329
Green chromaticity....... Gx 0.331 - Gy 0.622
Blue chromaticity........ Bx 0.151 - By 0.053
White point (default).... Wx 0.313 - Wy 0.329
Additional descriptors... None
Timing characteristics
Horizontal scan range.... 30-160kHz
Vertical scan range...... 50-150Hz
Video bandwidth.......... 330MHz
CVT standard............. Not supported
GTF standard............. Not supported
Additional descriptors... None
Preferred timing......... Yes
Native/preferred timing.. 1920x1080p at 60Hz (16:9)
Modeline............... "1920x1080" 148.500 1920 2008 2052 2200 1080 1084 1089 1125 +hsync +vsync
Standard timings supported
720 x 400p at 70Hz - IBM VGA
640 x 480p at 60Hz - IBM VGA
640 x 480p at 67Hz - Apple Mac II
640 x 480p at 75Hz - VESA
800 x 600p at 56Hz - VESA
800 x 600p at 60Hz - VESA
800 x 600p at 72Hz - VESA
800 x 600p at 75Hz - VESA
832 x 624p at 75Hz - Apple Mac II
1024 x 768p at 60Hz - VESA
1024 x 768p at 70Hz - VESA
1024 x 768p at 75Hz - VESA
1280 x 1024p at 75Hz - VESA
1152 x 864p at 75Hz - VESA STD
1280 x 1024p at 60Hz - VESA STD
1280 x 960p at 60Hz - VESA STD
1280 x 720p at 60Hz - VESA STD
1280 x 800p at 60Hz - VESA STD
1440 x 900p at 60Hz - VESA STD
1680 x 1050p at 60Hz - VESA STD
EIA/CEA-861 Information
Revision number.......... 1
IT underscan............. Not supported
Basic audio.............. Not supported
YCbCr 4:4:4.............. Not supported
YCbCr 4:2:2.............. Not supported
Native formats........... 0
Detailed timing #1....... 1920x1080p at 85Hz (16:9)
Modeline............... "1920x1080" 198.500 1920 1968 2000 2080 1080 1083 1088 1124 +hsync -vsync
Detailed timing #2....... 1920x1080p at 100Hz (16:9)
Modeline............... "1920x1080" 235.500 1920 1968 2000 2080 1080 1083 1088 1133 +hsync -vsync
Detailed timing #3....... 1920x1080p at 120Hz (16:9)
Modeline............... "1920x1080" 285.500 1920 1968 2000 2080 1080 1083 1088 1144 +hsync -vsync
Detailed timing #4....... 1920x1080p at 144Hz (16:9)
Modeline............... "1920x1080" 325.080 1920 1944 1976 2056 1080 1083 1088 1098 +hsync +vsync
CE speaker allocation data
Channel configuration.... 7.0
Front left/right......... Yes
Front LFE................ No
Front center............. Yes
Rear left/right.......... Yes
Rear center.............. No
Front left/right center.. No
Rear left/right center... Yes
Rear LFE................. No
Report information
Date generated........... 1/17/2014
Software revision........ 2.70.0.989
Data source.............. Real-time 0x0091
Operating system......... 6.1.7601.2.Service Pack 1
Raw data
00,FF,FF,FF,FF,FF,FF,00,04,69,E1,24,01,01,01,01,26,17,01,03,80,35,1E,78,EA,9D,E5,A6,54,54,9F,26,
0D,50,54,B7,EF,00,71,4F,81,80,81,40,81,C0,81,00,95,00,B3,00,01,01,02,3A,80,18,71,38,2D,40,58,2C,
45,00,13,2B,21,00,00,1E,00,00,00,FD,00,32,96,1E,A0,21,00,0A,20,20,20,20,20,20,00,00,00,FC,00,56,
47,32,34,38,0A,20,20,20,20,20,20,20,00,00,00,FF,00,44,39,4C,4D,51,53,30,35,34,37,37,35,0A,01,E1,
02,01,04,00,8A,4D,80,A0,70,38,2C,40,30,20,35,00,13,2B,21,00,00,1A,FE,5B,80,A0,70,38,35,40,30,20,
35,00,13,2B,21,00,00,1A,86,6F,80,A0,70,38,40,40,30,20,35,00,13,2B,21,00,00,1A,FC,7E,80,88,70,38,
12,40,18,20,35,00,13,2B,21,00,00,1E,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,
00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,00,BB
More to come after the upgrade!
-
Finally, despite my lack of hardware hacking skills, I managed to successfully install the NVidia G-Sync DIY upgrade kit for this monitor!
The first thing I noticed is how bright everything is! When you run in LightBoost mode (as I did previously), the screen is dimmer due to the strobe effect. No more LightBoost for me...
Running on the same configuration as before, with GroovyUME 152 64-bit. Every game I have tried running thus far has been perfectly in sync! With the LCD chosen as the monitor type, and the correct LCD timings installed, SwitchRes is running everything at 1920x1080@60. Every game, including Popeye, R-Type, Mortal Kombat, Frogger, etc. has been running at 100 percent. The best part is absolutely NO tearing whatsoever.
There are better sources of information, but it is my understanding that G-Sync is a technology in certain NVidia video cards, when combined with a G-Sync monitor, which has the video card, not the LCD, dictating what refresh rate to operate at. So no more v-sync or syncrefresh! I haven't yet tested this, but would this mean that GroovyMAME is not required in this scenario? I am still using it, but just curious if there are advantages to using GM over a different MAME build now?
Combined with the HLSL effect in the below configuration, I am extremely pleased with the image quality and results. Now I am going to try running Kega Fusion and other emulators to see if this resolves tearing issues.
#
# 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
#
# CORE OUTPUT DIRECTORY OPTIONS
#
cfg_directory cfg
nvram_directory nvram
memcard_directory memcard
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
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 0.750
gamma 0.700
pause_brightness 1.0
effect none
#
# CORE VECTOR OPTIONS
#
antialias 1
beam 1.0
flicker 0
#
# CORE SOUND OPTIONS
#
sound 1
samplerate 48000
samples 1
volume 0
#
# CORE INPUT OPTIONS
#
coin_lockout 1
ctrlr X-Arcade
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
#
log 0
verbose 0
update_in_pause 0
debug 0
debugscript
debug_internal 0
#
# CORE MISC OPTIONS
#
drc 1
drc_use_c 0
bios
cheat 0
skip_gameinfo 1
uifont default
ramsize
confirm_quit 0
ui_mouse 0
autoboot_command
autoboot_delay 2
autoboot_script
http 0
http_port 8080
http_path web
#
# CORE MKChamp OPTIONS
#
disable_hiscore_patch 0
disable_nagscreen_patch 0
disable_loading_patch 0
#
# CORE SWITCHRES OPTIONS
#
modeline_generation 1
monitor lcd
orientation horizontal
connector auto
interlace 1
doublescan 1
cleanstretch 0
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 1
black_frame_insertion 0
modeline auto
ps_timing auto
lcd_range 30.0-150.0
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
#
# WINDOWS DEBUGGING OPTIONS
#
oslog 0
watchdog 0
debugger_font "Lucida Console"
debugger_font_size 9
#
# WINDOWS PERFORMANCE OPTIONS
#
priority 0
multithreading 0
numprocessors auto
profile 0
bench 0
#
# WINDOWS VIDEO OPTIONS
#
video d3d
numscreens 1
window 0
maximize 1
keepaspect 1
unevenstretch 1
prescale 1
waitvsync 0
menu 0
#
# DIRECTDRAW-SPECIFIC OPTIONS
#
hwstretch 0
#
# DIRECT3D-SPECIFIC OPTIONS
#
filter 0
## DIRECT3D POST-PROCESSING OPTIONS
#
hlsl_enable 1
hlsl_prescale_x 0
hlsl_prescale_y 0
hlsl_preset -1
hlsl_snap_width 2048
hlsl_snap_height 1536
shadow_mask_alpha 0.000000
shadow_mask_texture aperture.png
shadow_mask_x_count 480
shadow_mask_y_count 288
shadow_mask_usize 0.093750
shadow_mask_vsize 0.109375
curvature 0.000000
pincushion 0.000000
scanline_alpha 0.550000
scanline_size 1.000000
scanline_height 1.000000
scanline_bright_scale 1.000000
scanline_bright_offset 0.000000
scanline_jitter 0.000000
defocus 0.000000,0.000000
converge_x 0.000000,0.000000,0.000000
converge_y 0.000000,0.000000,0.000000
radial_converge_x 0.000000,0.000000,0.000000
radial_converge_y 0.000000,0.000000,0.000000
red_ratio 1.000000,0.000000,0.000000
grn_ratio 0.000000,1.000000,0.000000
blu_ratio 0.000000,0.000000,1.000000
saturation 1.400000
offset 0.000000,0.000000,0.000000
scale 1.000000,1.000000,1.000000
power 1.000000,1.000000,1.000000
floor 0.000000,0.000000,0.000000
phosphor_life 0.000000,0.000000,0.000000
yiq_enable 0
yiq_cc 3.597545
yiq_a 0.500000
yiq_b 0.500000
yiq_o 0.000000
yiq_p 1.000000
yiq_n 1.000000
yiq_y 6.000000
yiq_i 1.200000
yiq_q 0.600000
yiq_scan_time 52.599998
yiq_phase_count 2
#
# VECTOR POST-PROCESSING OPTIONS
#
vector_length_scale 0.9
vector_length_ratio 500.0
#
# BLOOM POST-PROCESSING OPTIONS
#
vector_bloom_scale 0.32
raster_bloom_scale 0.17
bloom_lvl0_weight 1.0
bloom_lvl1_weight 0.21
bloom_lvl2_weight 0.19
bloom_lvl3_weight 0.17
bloom_lvl4_weight 0.15
bloom_lvl5_weight 0.14
bloom_lvl6_weight 0.13
bloom_lvl7_weight 0.12
bloom_lvl8_weight 0.11
bloom_lvl9_weight 0.10
bloom_lvl10_weight 0.09
#
# 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
#
# FULL SCREEN OPTIONS
#
triplebuffer 0
switchres 1
full_screen_brightness 1.0
full_screen_contrast 1.0
full_screen_gamma 1.0
#
# WINDOWS SOUND OPTIONS
#
audio_latency 2.0
#
# INPUT DEVICE OPTIONS
#
dual_lightgun 0