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: Instructions (not hype) on using GM with Lightboost or GSync Monitors  (Read 3502 times)

0 Members and 1 Guest are viewing this topic.

Jason125

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 27
  • Last login:May 31, 2015, 10:29:53 pm
  • I want to build my own arcade controls!
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. 

Calamity

  • Moderator
  • Trade Count: (0)
  • Full Member
  • *****
  • Offline Offline
  • Posts: 7463
  • Last login:July 01, 2025, 01:29:14 pm
  • Quote me with care
Re: Instructions (not hype) on using GM with Lightboost or GSync Monitors
« Reply #1 on: January 15, 2014, 02:10:27 pm »
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.
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

Jason125

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 27
  • Last login:May 31, 2015, 10:29:53 pm
  • I want to build my own arcade controls!
Re: Instructions (not hype) on using GM with Lightboost or GSync Monitors
« Reply #2 on: January 17, 2014, 11:24:56 pm »
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:
Code: [Select]
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:
Code: [Select]
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!

Jason125

  • Trade Count: (0)
  • Full Member
  • ***
  • Offline Offline
  • Posts: 27
  • Last login:May 31, 2015, 10:29:53 pm
  • I want to build my own arcade controls!
Re: Instructions (not hype) on using GM with Lightboost or GSync Monitors
« Reply #3 on: January 18, 2014, 01:36:43 am »
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.

Code: [Select]
#
# 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
« Last Edit: January 18, 2014, 02:13:04 am by Jason125 »