Build Your Own Arcade Controls Forum
Software Support => GroovyMAME => Topic started by: kotsu on February 10, 2015, 10:53:00 pm
-
Hi all,
I am trying to get the picture for a Sony KV-27FS100L using Groovymame (v0.157_015e). I can't seem to get the picture centered and no matter what I try it always seems a bit skewed one way or another. I have found the service manual for this particular model and chassis but I can't seem to find the correct values to input in the vmmaker.ini and mame.ini. :dunno
I got some of the values by using Arcade OSD and plugging them in. I've attached a picture of the one I used.
Below are my current configuration files. Any help anyone can provide is greatly appreciated in terms of getting the resolution correct and any recommended performance settings.
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
#
# 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 1.0
gamma 1.0
pause_brightness 0.65
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
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 0
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 1
disable_loading_patch 1
#
# CORE SWITCHRES OPTIONS
#
modeline_generation 1
monitor custom
orientation horizontal
connector auto
interlace 1
doublescan 1
cleanstretch 2
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 0
black_frame_insertion 0
modeline auto
ps_timing auto
lcd_range auto
crt_range0 15936-16291, 49.50-65.00, 3.700, 4.700, 8.000, 0.064, 0.160, 1.056, 0, 0, 192, 288, 400, 576
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 0
unevenstretch 1
prescale 1
waitvsync 0
menu 0
#
# DIRECTDRAW-SPECIFIC OPTIONS
#
hwstretch 0
#
# DIRECT3D-SPECIFIC OPTIONS
#
filter 0
cleanstretch 2
#
# DIRECT3D POST-PROCESSING OPTIONS
#
hlsl_enable 0
hlslpath hlsl
hlsl_prescale_x 0
hlsl_prescale_y 0
hlsl_preset -1
hlsl_write
hlsl_snap_width 2048
hlsl_snap_height 1536
shadow_mask_alpha 0.0
shadow_mask_texture aperture.png
shadow_mask_x_count 320
shadow_mask_y_count 240
shadow_mask_usize 0.09375
shadow_mask_vsize 0.109375
curvature 0.03
pincushion 0.03
scanline_alpha 1.0
scanline_size 1.0
scanline_height 1.0
scanline_bright_scale 1.0
scanline_bright_offset 0.0
scanline_jitter 0.0
defocus 0.0,0.0
converge_x 0.3,0.0,-0.3
converge_y 0.0,0.3,-0.3
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_cc 3.59754545
yiq_a 0.5
yiq_b 0.5
yiq_o 1.570796325
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.8
vector_length_ratio 500.0
#
# BLOOM POST-PROCESSING OPTIONS
#
vector_bloom_scale 0.3
raster_bloom_scale 0.225
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 2560x0
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 0
#
# INPUT DEVICE OPTIONS
#
dual_lightgun 0
vmmaker.ini
; VideoModeMaker - Options
; ------------------------
; 1. MAME
; -------
; Path for Mame executable, in case we want to extract xml information from it.
MameExe = "C:\MAME\mame.exe"
; Path for Mame ini folder, in case we want to create an ini file for each game.
; Important: existing ini files will be overwritten.
IniPath = "C:\MAME\ini\"
; Mame options.
ListFromXML = 1 ; Processes Mame XML and get video mode list from it
GenerateXML = 1 ; Extracts XML from Mame (only needed once)
OnlyListMain = 0 ; Only list resolutions for games contained in MameMain.txt
GenerateInis = 0 ; Creates an ini file for each Mame game, in the IniPath folder
SDLMame = 0 ; Use SDLMame specific options
; Monitor orientation
MonitorHorizontal = 1 ; 0 = Rotating monitor: horizontal and vertical games at their native resolution
; Suitable for users that physically rotate their CRTs
; 1 = Horizontal monitor: horizontal games run at their native resolution and
; vertical games are rotated to fit in horizontal monitor
RotatingDesktop = 0 ; Specifies if both desktop and monitor are rotated
; Aspect ratio for vertical games on horizontal monitor
; 4:3 (keeps original aspect ratio)
; 3:3 (stretches to square format)
; 3:4 (stretches to full screen)
; h:v (custom aspect ratio)
VerticalAspect = "4:3"
; 2. MONITOR
; ----------
; Monitor Type. Valid types: D9800, D9400, D9200, EGA, VGA, MULTI, H9110, PAL, NTSC, GENERIC, CUSTOM
MonitorType = "CUSTOM"
; Monitor CUSTOM. These values will be used if MonitorType = "CUSTOM"
;
; monitor_specs_0-6 = "HfreqMin-HfreqMax, VfreqMin,VfreqMax, HFrontPorch, HSyncPulse, HBackPorch, VfrontPorch, VSyncPulse, VBackPorch, HSyncPol, VSyncPol, ActiveLinesLimit, VirtualLinesLimit"
;
; * HfreqMin-HfreqMax: Minimum and maximum horizontal frequency, in Hz. Defines the range of horizontal frequencies the monitor is capable to sync.
; The higher the horizontal frequency, the higher the vertical resolution available for the same vertical refresh.
; The higher the horizontal frequency, the higher the vertical refresh available for the same vertical resolution.
; The higher the horizontal frequency, the lower the horizontal amplitude of active video (narrower picture).
;
; * VFreqMin-VfreqMax: Minimum and maximum vertical frequency, in Hz, Defines the range of vertical frequencies the monitor is capable to sync.
;
; * HFrontPorch, HSyncPulse, HBackPorch: Horizontal timing and geometry, values in µs
;
; * VfrontPorch, VSyncPulse, VBackPorch: Vertical timing and geometry, values in ms
;
; * HSyncPol,VSyncPol: polarities, not in use! defaults to negative.
;
; * ActiveLinesLimit: Vertical resolutions until ActiveLinesLimit value included, are generated as progressive, regardless the possibility
; of obtaining the required vertical refresh value.
;
; * VirtualLinesLimit: Vertical resolutions above ActiveLinesLimit and below VirtualLinesLimit are virtualized, that is, an interlaced resolution
; bigger that the native one is generated, with the right refresh, and "hardware stretch" is applied.
; Vertical resolutions above VirtulaLinesLimit are generated as interlaced, without any stretching.
; monitor_specs0 15625-16200, 49.50-65.00, 2.000, 4.700, 8.000, 0.064, 0.160, 1.056, 0, 0, 288, 400
monitor_specs0 15116-16291, 49.50-65.00, 2.000, 4.700, 8.000, 0.064, 0.160, 1.056, 0, 0, 288, 448
; Tolerance for horizontal frequency, in kHz, enables extending the range defined by [ HfreqMin, HfreqMax ]
; The resulting allowed frequency range will be [ HfreqMin - HfreqTolerance, HfreqMax + HfreqTolerance ]
HfreqTolerance = 0.010
; 3. MODELINE GENERATOR
; ---------------------
; Total number of modelines to generate. Here are the recommended values for each driver version:
; CRT_Emudriver, based on Catalyst 6.5: 160 modes (accepts up to 200, but above 160 HyperSpin will refuse to load)
; CRT_Emudriver, based on Catalyst 9.3: 120 modes (accepts some more but above 120 you can get some blue screens)
; Regular Catalyst : 60 modes (won't accept any more)
TotalModes = 120
; If enabled, only creates modes with 32 bits per pixel color depth
Only32BPPModes = 0
; Method for mode table generation. If Mame xml is processed, that will create a lot of different video modes, so the mode table
; will be optimized keeping the most relevant ones, and dropping the rest, to keep below the TotalModes value.
;
; 0 = Static table: modelines are generated keeping their original vertical refresh. This method is intended to be used in
; combination with ini files for each game.
;
; 1 = Dynamic table: a table of dummy modes is created using xres and yres values while ignoring vfreq. This method is intended
; to be used in combination with Switchres or Groovymame. No ini files are required using this method (you should disable the
; GenerateInis option).
;
; 2 = Magic table: a table of 'magic resolutions' is created, by ignoring xres and vfreq and just keeping yres. This method greatly reduces
; the total number of modes in the list. It's only supported by GroovyMAME, and is intended as a workaround for the Hyperspin issue.
ModeTableMethod_Custom = 0
ModeTableMethod_XML = 1
; Minimum resolution values (these will be used instead of lower values)
XresMin_XML = 184
YresMin_XML = 192
YresRound_XML = 4
XresMin_Custom = 240
YresMin_Custom = 160
YresRound_Custom = 0
; Minimum dotclock value allowed by the video card, in MHz (i.e. DotClockMin = 7.010)
DotClockMin = 8.0
; Number of iterations used by the mode generator [0,5]. The higher the number of iterations, the bigger the accuracy of the vertical
; refreshed obtained, normally at the cost of increasing the horizontal frequency strictly required.
Iterations = 1
; Specifies if the refresh label is multiplied by 10 before rounding (experimental).
VFreqLabelx10 = 0
; 4. DRIVER
; ---------
; Display name to use as target
DisplayName = "\\.\DISPLAY1"
; Path for the driver folder
DriverPath = ".\Driver\"
; If UpdateRegistry is enabled, UpdateDriver will only work if the driver version found in DriverPath matches the one installed
; in the system.
UpdateRegistry = 1 ; Specifies if the video card registry section will be updated with the new video modes
; (will only work in combination with CRT_EMUDriver).
UpdateDriver = 0 ; Specifies if the driver files in DriverPath will be updated with the new video modes, for
; future installations.
AnyCatalyst = 0 ; Allows modelines to be installed for any Catalyst version. This option is experimental and
; known to produce some problems.
ReslList.txt
# Instructions to enable "super resolutions"
# ------------------------------------------
# - Delete or rename the original "ReslList.txt" file
# - Rename this file as "ReslList.txt"
# - Set up VMMaker, in vmmaker.ini edit:
# ListFromXML = 0
# GenerateXML = 0
# ModeTableMethod_Custom = 0
# - Run VMMaker (run as admin in Windows 7!), restart.
# - Then set up GroovyMAME, edit mame.ini with these settings:
# resolution 2560x0
# cleanstretch 2
## Desktop ##
640 x 480 @ 60.000000 desktop
## Super resolutions ##
2560 x 240 @ 60.000000 super
2560 x 248 @ 60.000000 super
2560 x 256 @ 60.000000 super
2560 x 264 @ 60.000000 super
2560 x 272 @ 60.000000 super
2560 x 280 @ 60.000000 super
2560 x 288 @ 60.000000 super
2560 x 296 @ 60.000000 super
2560 x 304 @ 60.000000 super
2560 x 320 @ 60.000000 super
2560 x 336 @ 60.000000 super
2560 x 344 @ 60.000000 super
2560 x 352 @ 60.000000 super
2560 x 360 @ 60.000000 super
2560 x 368 @ 60.000000 super
2560 x 376 @ 60.000000 super
2560 x 384 @ 60.000000 super
2560 x 392 @ 60.000000 super
2560 x 400 @ 60.000000 super
2560 x 416 @ 60.000000 super
2560 x 432 @ 60.000000 super
2560 x 448 @ 60.000000 super
2560 x 464 @ 60.000000 super
2560 x 480 @ 60.000000 super
2560 x 496 @ 60.000000 super
2560 x 512 @ 59.000000 super
2560 x 544 @ 55.000000 super
2560 x 560 @ 54.000000 super
2560 x 768 @ 60.000000 super
2560 x 800 @ 60.000000 super
-
Service Manual for this model is here: http://www.go-gddq.com/upload/2009_06/09062310114292.pdf (http://www.go-gddq.com/upload/2009_06/09062310114292.pdf)
-
Sony TVs are a bit picky regarding centering when using custom modes. Your best chance is to use manually adjusted modelines per game (a lot of work). So instead of creating a custom crt_range, copy the whole modeline once you have adjusted it (from the Edit Modeline menu in Arcade OSD) and use it in a
game ini file. Check this (http://forum.arcadecontrols.com/index.php/topic,135823.0.html), search down for the "new option -modeline".
-
Calamity,
Thank you so very much for taking the time to reply to my post. I'll give this a try tomorrow and report back.
Cheers! :cheers:
-
Sorry it took me some time to reply.
I'm facing an issue that I just can't seem to resolve, namely not being able to generate the correct modelines for my TV using vmmaker. At least I think that is the source of my problem. I have scoured the posts here and downloaded my TV's service manual but cannot find the information to plug into vmmaker.ini. It's a little embarrassing, but here we are.
I generated the inis for each game and specifically generated a logfile for Donkey Kong. The log shows that it cannot find the correct resolution and disables switchres. I've attached the logfile at the bottom of this post.
What I have now is playable game, but there is an ever-so-slight jitter and shimmering effect going on, particularly with whites. If I use arcade OSD and switch the resolution to a lower one and then play the game, I get a solid picture and there is no shimmering or jitter, but the pixels seem larger than they should be. I can make a video and upload to YouTube and post if needed.
At this point after all this work I can only hang my head in shame and wait for an intervention from either God or Calamity, whichever comes first. Any help from anyone is GREATLY appreciated!
Cheers,
kotsu
-
Hi kotsu,
It looks like you set 'monitor custom' but didn't add any custom crt_range lines. So either leave 'monitor arcade_15' or add those custom crt_range lines. Besides, you shoudn't have created .ini files with VMMaker, that's only meant for regular MAME.
-
Hi Calamity,
Thank you very much for your response and assistance.
I'm unsure how to obtain the custom crt_range values for my KV-27FS100L. I was looking at this post here by Mahrio (http://forum.arcadecontrols.com/index.php?topic=132531.0 (http://forum.arcadecontrols.com/index.php?topic=132531.0)) where you were able to assist him with his values. I tried looking at the owner's manual pdf he linked to but can't figure out how to get the correct custom crt_range monitor settings in the mame.ini.
I really appreciate you taking the time to read these posts. I personally think you should include one of those "buy me a coffee" links in your signature for people that you've gone out of your way to assist, not just for helping them with their individual problems but for all of the work you do with the crt_emu drivers and groovymame.
Cheers, :cheers:
kotsu
-
Hi kotsu,
Last time you posted your setup was wrong in several aspects as I tried to point out. Did you ever get those problems fixed? It doesn't make sense to experiment with a custom crt_range if you don't have GroovyMAME properly configured to begin with. You usually don't need to use a custom crt_range at all.
-
Hi Calamity,
I started with a clean slate. I uninstalled crt_emu driver and then ran the ATI removal utility and rebooted. After installation of the drivers again (crt_emu based on 9.3 Catalyst version I believe), if I attempt to run vmmaker without vmmaker.ini as you suggested above it only finds a small amount of mode lines. I forget the exact number but it was something like 20. If I try again with the default vmmaker.ini and only update the values for the location of my groovymame executable it finds 119 modes. I then use the default mame.ini generating it using "mame -cc". After that it seems like most of the games find the correct resolution, but something is not right. The pixels are large and there are gaps between the lines. It's difficult to describe so I'll attach a picture I took with my phone. Hopefully it will convey what I'm trying to express. Games like Pacman and Mortal Kombat roll.
Anyway, thanks for following my posts. I've been plugging away at it for a few months now but seem to fall short of the mark. As I work on getting the resolutions fixed I'm happily completing my standup arcade cabinet. When it's all said and done I'll document everything including some pics/vids of the final result.
Thanks again. :cheers:
-
if I attempt to run vmmaker without vmmaker.ini as you suggested above
I never suggested such thing.
After that it seems like most of the games find the correct resolution, but something is not right. The pixels are large and there are gaps between the lines.
Ok I'll assume you're kidding me with that one :)
Games like Pacman and Mortal Kombat roll.
The you need to use a higher VfreqMin value. Use this (http://forum.arcadecontrols.com/index.php/topic,116023.0.html) and create a custom crt_range (only need to modify mame.ini, leave vmmaker alone).
-
Thanks for the information Calamity. I will experiment with the custom crt_range value in mame.ini only based on the // NTSC TV - 60 Hz/525 and adjust the VfreqMin accordingly. I'll report back.
Thanks! :cheers:
-
So it's been awhile since I've posted here and I thought I would update this thread with my progress. Thanks to all who have helped along the way with both this post and my initial post over here http://forum.arcadecontrols.com/index.php/topic,143229.msg1492940.html#msg1492940 (http://forum.arcadecontrols.com/index.php/topic,143229.msg1492940.html#msg1492940).
Here is my current setup and status:
Shuttle SH61R4
Sony Trinitron KV-FS100L
Asus ATI Radeon HD4350 with DVI to VGA adapter
Audio Authority 9A60A VGA to Component Video Transcoder into component in on TV
Windows 7 Ultimate 64-bit
Super Resolutions
1. Installed Windows 7 Ultimate 64-bit and full updates
2. Installed Calamity's CRT Emudriver 1.2b (Catalyst 13.1) for Windows 7-64 + VMMaker + Arcade_OSD 1.4
When installing this driver I ran into problems even though I was installing as Administrator. An error popped up that it could not find MSCVCR100.dll. After some quick Googling I went ahead and installed MS Visual C++ 2010 Service Pack 1 Redistributable Package and this fixed it.
Another step I took is before installation I imported Calamity.cer that comes bundled with the Windows CRT Emudriver 1.2b driver package into the trusted publishers.
3. I found this thread that details vmmaker and mame.ini settings for a similar model of Trinitron with a BA-6 chassis: http://forum.arcadecontrols.com/index.php?topic=131854.0 (http://forum.arcadecontrols.com/index.php?topic=131854.0) I only used the settings in mame.ini as I'm not sure of my TV settings for VMMaker and Calamity instructed to leave VMMaker settings alone in the above post.
I scoured my TV's service manual and found this paragraph:
H. FREQUENCY (FREE RUN) CHECK
1. Input a TV mode (RF) with no signal.
2. Connect a frequency counter to base of Q502
(TP-25 H. DRIVE) on the A Board.
3. Check H. Frequency for 15735 ± 200 Hz.
V. FREQUENCY (FREE RUN) CHECK
1. Select video 1 with no signal input.
2. Set the conditions for a standard setting.
3. Connect the frequency counter to TP-27 (V OUT) or CN515 pin 6
(V DY+) and ground on the A Board .
4. Check that V. Frequency shows 60 ± 4 Hz.
I tried changing the beginning of my monitor_specs0 to the following in mame.ini based on the info above concerning verticle and horizontal frequencies:
monitor_specs0 15535-15935, 56.00-64.00
To my surprise when I tested PacMan it looked fantastic with the exception on some of the top and bottom parts of the screen cut off. So before I start mucking with vmmaker.ini monitor_specs, my question is this: am I going about finding my max and min vertical and horizontal frequencies correctly?
Thanks for any input guys. It's much appreciated.
P.S. As I mentioned before, when I finally get things completed I intend to document my full build. Thanks for tuning in. :cheers:
-
Hi kotsu,
The custom preset you came up with based on your monitor's manual is perfectly correct. You won't manage to get 288p visible lines for pacman on a regular TV, whatever you try. It should be possible in PAL mode, but your TV doesn't seem to support it. You may try using an interlaced mode, in order to do that reduce the Progressive Lines Max value (its 288 by default).
-
Hey Calamity, I put together a quick video of my M.A.M.E. cabinet build and just wanted to say thank you for all of the help along the way. :cheers:
https://www.youtube.com/watch?v=aZk1_6cw5yY&feature=youtu.be (https://www.youtube.com/watch?v=aZk1_6cw5yY&feature=youtu.be)