Build Your Own Arcade Controls Forum
Software Support => GroovyMAME => Topic started by: the_77x42 on March 07, 2016, 11:31:18 pm
-
I decided to dust off my old cabinet and update it with the latest MAME off an SSD. Things are working pretty great, after the complete reinstall, but I would like to try out GroovyMAME to see if I notice any difference in video quality. I notice Narc is annoyingly interlaced at its set resolution and for some weird reason it isn't picking up the changes I made to narc.ini from avres.
Anyway, right now my setup is an archaic ArcadeVGA 2 (R9250 AGP) on Windows XP. The monitor is a Billabs BL27CB0P. I need help setting up a monitor preset.
I could find some basic original specs (note the maximum 1024x768 resolution):
https://www.8-line.com/WebsiteInfo/Bil's%20Magento%20Site/billabs_old/bl27cb0p.htm (https://www.8-line.com/WebsiteInfo/Bil's%20Magento%20Site/billabs_old/bl27cb0p.htm)
I also found this thread where the guy says he got the monitor working, but not with what preset:
http://forum.arcadecontrols.com/index.php/topic,135823.msg1454180.html#msg1454180 (http://forum.arcadecontrols.com/index.php/topic,135823.msg1454180.html#msg1454180)
One last thing, do I need to run VMMaker and CRT Emudriver if I am using an ArcadeVGA? I assume I do not; I only need to modify the groovymame.ini to have:
lock_system_modes 0
refresh_dont_care 1
Thanks for all your help. It's been a while...
EDIT: Solution is here. (http://forum.arcadecontrols.com/index.php/topic,149891.msg1584498.html#msg1584498)
-
You can use the standard tri-sync preset "arcade_15_25_31", this one will be safe enough.
That AVGA will probably be supported by CRT Emudriver 1.2: http://geedorah.com/eiusdemmodi/forum/viewtopic.php?id=65 (http://geedorah.com/eiusdemmodi/forum/viewtopic.php?id=65)
Although you install 1.2, make sure you use the new 2.0 tools for mode generation (VMMaker, Arcade OSD), etc. which are GroovyMAME-ready: http://geedorah.com/eiusdemmodi/forum/viewtopic.php?id=295 (http://geedorah.com/eiusdemmodi/forum/viewtopic.php?id=295)
I'm recommending this because GM will work much better using those drivers, you won't need the other options you posted at all if you use CRT Emudriver. It won't fix interlaced flicker anyway.
-
What are the advantages of using GroovyMAME if I already have an ArcadeVGA and a monitor that can display all the game resolutions natively? Is there something that GroovyMAME can do that the AVGA cannot?
The reason I ask is because setting up a specific mode that can potentially damage my monitor seems like a risk. Does using a generic multisync profile provide any benefit over what I already have?
-
GroovyMame and atom15 and any cheap ATI 4000 series card / you want one that will do the lower dot clocks..
Is awesome..
I had an Arcade VGA 3000 in my cab and the 30 or so resolutions its supports is never enough and even with GroovyMame which did a great job of matching resolutions and timing it was always having to compromise..
Now the games all run perfect native red. Perfect timing and frame rates. If it's off it's by like .001 or something crazy small like that..
I'm never going back
Sent from my iPhone using Tapatalk
-
Wow, was this ever time consuming, but i finally have everything working. I decided to scrap the ArcadeVGA (9250) and go for something slightly more powerful, a 9600. All of the following does in fact work with the ArcadeVGA though.
Since I'm using Windows XP, I downloaded CRT Emudriver 1.2b based on Catalyst 6.5 XP-32 (http://geedorah.com/eiusdemmodi/forum/viewtopic.php?id=65).
After cleaning out all my old ATI drivers using a small utility (https://www.ultimarc.com/cat-uninstaller.exe) and following the directions on this site (http://www.rage3d.com/board/showthread.php?t=33606840), I was finally able to install CRT Emudriver. It went fairly painless.
I then downloaded CRT Tools 2.0 beta 8 (VMMaker & Arcade OSD) (http://geedorah.com/eiusdemmodi/forum/viewtopic.php?id=295). Running this new VMMaker was a lot easier than the old one.
I created a custom monitor preset based on the D9800:
monitor "bl27cb0p", "Billabs BL27CB0P", "4:3"
crt_range0 15250-18000, 47-90, 2.187, 4.688, 6.719, 0.190, 0.191, 1.018, 0, 0, 224, 288, 448, 576
crt_range1 18001-19000, 47-90, 2.187, 4.688, 6.719, 0.140, 0.191, 0.950, 0, 0, 288, 320, 0, 0
crt_range2 20501-29000, 47-90, 2.910, 3.000, 4.440, 0.451, 0.164, 1.048, 0, 0, 320, 384, 0, 0
crt_range3 29001-32000, 47-90, 0.636, 3.813, 1.906, 0.318, 0.064, 1.048, 0, 0, 384, 480, 0, 0
crt_range4 32001-34000, 47-90, 0.636, 3.813, 1.906, 0.020, 0.106, 0.607, 0, 0, 480, 576, 0, 0
crt_range5 34001-38000, 47-90, 1.000, 3.200, 2.200, 0.020, 0.106, 0.607, 0, 0, 576, 600, 0, 0
You'll note that this preset doesn't accommodate the monitor's maximum resolution of 1024x768. I don't have enough knowledge of monitor timings to figure out how to get it to work properly. I do have an email in to Wei Ya to see if they have any technical documentation available. The BL27CB0P is apparently the US version of a Wei Ya monitor. If I ever get that information, I'll update the preset.
I generated 120 modes and installed them into the driver.
I added a couple games to mame_favourites.ini to make sure their tricky resolutions would be available. Those being:
mk # Mortal Kombat
mvsc # Marvel vs. Capcom
narc # Narc
My mame.ini file looks like this:
#
# 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 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
autosync 0
sleep 1
speed 1.0
refreshspeed 0
#
# CORE RENDER OPTIONS
#
keepaspect 1
unevenstretch 0
unevenstretchx 0
intoverscan 0
intscalex 0
intscaley 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 1
use_overlays 1
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
#
beam_width_min 1.0
beam_width_max 1.0
beam_intensity_weight 0
flicker 0
#
# CORE SOUND OPTIONS
#
samplerate 40000
samples 1
volume 0
#
# CORE INPUT OPTIONS
#
coin_lockout 1
ctrlr
mouse 0
joystick 0
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 uismall.bdf
ui cabinet
ramsize
confirm_quit 1
ui_mouse 0
autoboot_command
autoboot_delay 0
autoboot_script
console 0
plugins 1
plugin
noplugin
language English
#
# CORE SWITCHRES OPTIONS
#
modeline_generation 1
monitor custom
orientation horizontal
connector auto
interlace 1
doublescan 1
super_width 2560
changeres 1
powerstrip 0
lock_system_modes 4
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 15250-18000, 47.00-90.00, 2.187, 4.688, 6.719, 0.190, 0.191, 1.018, 0, 0, 224, 288, 448, 576
crt_range1 18001-19000, 47.00-90.00, 2.187, 4.688, 6.719, 0.140, 0.191, 0.950, 0, 0, 288, 320, 0, 0
crt_range2 20501-29000, 47.00-90.00, 2.910, 3.000, 4.440, 0.451, 0.164, 1.048, 0, 0, 320, 384, 0, 0
crt_range3 29001-32000, 47.00-90.00, 0.636, 3.813, 1.906, 0.318, 0.064, 1.048, 0, 0, 384, 480, 0, 0
crt_range4 32001-34000, 47.00-90.00, 0.636, 3.813, 1.906, 0.020, 0.106, 0.607, 0, 0, 480, 576, 0, 0
crt_range5 34001-38000, 47.00-90.00, 1.000, 3.200, 2.200, 0.020, 0.106, 0.607, 0, 0, 576, 600, 0, 0
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 0
#
# OSD PER-WINDOW VIDEO OPTIONS
#
screen auto
aspect 4:3
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 0
prescale 0
#
# 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
#
# 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 1
profile 0
#
# WINDOWS VIDEO OPTIONS
#
menu 0
#
# DIRECT3D POST-PROCESSING OPTIONS
#
hlslpath hlsl
hlsl_enable 0
hlsl_oversampling 0
hlsl_write auto
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.0
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 0.0,0.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_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.0
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.06
bloom_lvl6_weight 0.04
bloom_lvl7_weight 0.02
bloom_lvl8_weight 0.01
#
# FULL SCREEN OPTIONS
#
triplebuffer 1
full_screen_brightness 1.0
full_screen_contrast 1.0
full_screen_gamma 1.0
#
# INPUT DEVICE OPTIONS
#
global_inputs 0
dual_lightgun 0
#
# MISC
#
disable_nagscreen_patch 0
disable_loading_patch 0
The MISC section at the bottom doesn't seem to do much. I'm not sure how to get rid of the nags, but I did specify uismall.bdf (https://github.com/mamedev/mame/blob/master/uismall.bdf) as my MAME font since it's so clean.
One more great utility I used was MAME XML Cleaner (http://www.systempixel.fr/mame-xml-cleaner/) (I wrote my own Python script (http://forum.arcadecontrols.com/index.php/topic,157231.msg1651890.html) that does the job). It will shrink that massive mame.xml file down to less than 10mb so any parsers or frontends will load much, much quicker.
I hope this helps out the next person with this monitor. The preset still requires more work if I ever get the technical details. It would be nice if the specified bands went up from 15 all the way to 48 kHz. In time. For now, the games look absolutely fantastic and there is no tearing at all.
-
Just an update: I've noticed a substantial speed improvement setting:
In mame.ini:
frame_delay 0
This was needed to play Narc at all.
-
Now that I have everything working rather well, it's time to break it. How would I go about creating custom monitor specs? Thanks!
-
Focus on something that doesn't work as intended and start from there.