Build Your Own Arcade Controls Forum
Software Support => GroovyMAME => Topic started by: Heavyarms on January 12, 2013, 03:55:38 pm
-
Hi everyone,
I come here for a problem with my Mamebox i configure himself. Sorry if my english is bad, i'm just a little frenchy with a beginner level in Shakespear language !^^
Firstly, last week, i had install Windows XP 32bits, calamity driver too, no problem, all works perfectly.
But i have seen Mame works better with 64bits OS, well i have installed Win Xp 64bits.
Just like with Win XP32, just after the OS installation, i install Calamity Drivers 9.3 x64 (my GC is ATI HD 4870), i do not reboot, i check in display settings i have 640X480 resolution, 32 bits colors and 60hz sync frequency. I shut down my computer, i unplug my screen and i replug it.
But when i start my PC, i haven't a 15khz and 640X480 screen resolution, he start in 1024X768, just like with a normal driver. Well, i haven't 15khz.
I have checked in dxdiag, d3d and ddraw are enable.
I don't really understand... :banghead: :banghead: :banghead:
-
Try running VMMaker with the right options and reboot, this will reinstall the video modes. Even if the installation goes fine, sometimes for some reason this step is necessary, especially in XP-64.
-
Ok, i have done what you have say, it's good but i need some more informations.
My Pc will be in my Arcade Cabinets (Blast City (Nanao MS-2931) and Egret 2 (Wei Ha Try Sync Frequency), well i will to be absolutely sure who my monitors are in safe. Well, how delete resolution in arcade osd (like 1024X768, 800X600...) for just conserve goods and safe resolutions ?
How put the the VMMaker folder ? For the moment, he is in c: root. It's not better to put him on mame or some other folder ?
In monitor presets topic i have seen some specs for my monitors to add in vmmaker.ini, but where ?
In my wmmaker.ini, i have get on paths of my files, i have change Generate Inis in 1. What i have to do for tweak my mamecab ?
This is my vmmaker.ini :
; VideoModeMaker - Options
; ------------------------
; 1. MAME
; -------
; Path for Mame executable, in case we want to extract xml information from it.
MameExe = "D:\Hyperspin\Emulators\MAME\groovymame64_0147u3.014.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 = "D:\Hyperspin\Emulators\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 = 1 ; 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_specs0-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: sync polarities, 0 = negative, 1 = positive.
;
; * 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, 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 = 240
YresMin_XML = 240
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 = 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 = 0
; Specifies if the refresh label is multiplied by 10 before rounding (experimental).
VFreqLabelx10 = 0
; 4. DRIVER
; ---------
; Path for the driver folder
DriverPath = "C:\crt_emudriver_9.3_1.2a_x64\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.
Thanks for your work and your help Calamity !!!
-
VMMaker should be in its own folder with its config files. Make sure to download the last versions (VideoModeMaker 1.3c + Arcade_OSD 1.3a).
You can't delete those resolutions, they are built in the driver, just be careful not to use them with your arcade monitor.
I didn't understand if you're using GroovyMAME or the official build. GM does not need ini files.
-
I use GM, well should i delete ini files ?
I have the last version of VMMaker, it's ok. His folder stay in c: root.
I ask again for that, In monitor presets topic i have seen some specs for my monitors to add in vmmaker.ini, but where ? In my vmmaker.ini or groovymame.ini ?
NANAO MS-2930/MS-2931 (pyrojoe, thefooz, senorchris)
monitor_specs0 15450.00-16050.00, 55-65, 3.19, 4.75, 6.45, 0.191, 0.191, 1.164, 0, 0, 288, 448
monitor_specs1 23900.00-24900.00, 55-65, 2.87, 3.0, 4.44, 0.451, 0.164, 1.148, 0, 0, 480, 768
monitor_specs2 31000.00-32000.00, 55-65, 0.33, 3.58, 1.75, 0.316, 0.063, 1.137, 0, 0, 576, 768
-
Hi Heavyarms,
Because new GM (Switchres 014) already contains the presets for your monitor, you just need to use the appropiate label in mame.ini, option 'monitor ms2930'.
The monitor_specs definition have to be added manually into vmmaker.ini, while setting MonitorType ="CUSTOM" to make sure they are used. This is because VMMaker is not currently updated to the new definitions (working on it).
-
Thanks Calamity for your help.
This a part of my mame.ini :
# CORE SWITCHRES OPTIONS
#
modeline 1
monitor arcade_15
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 0
lcd_range auto
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
If i understand, i must change the "monitor : arcade_15" value by "monitor : ms2930" right ?
And after i go to my vmmaker.ini and i add :
monitor_specs0 15450.00-16050.00, 55-65, 3.19, 4.75, 6.45, 0.191, 0.191, 1.164, 0, 0, 288, 448
monitor_specs1 23900.00-24900.00, 55-65, 2.87, 3.0, 4.44, 0.451, 0.164, 1.148, 0, 0, 480, 768
monitor_specs2 31000.00-32000.00, 55-65, 0.33, 3.58, 1.75, 0.316, 0.063, 1.137, 0, 0, 576, 768
It's right ?
And i have another problem. I use Hyperspin frontend but he don't launch it on my Blast City screen. I think it's because i have 202 activate resolutions in ArcadeOSD and hyperspin don't support more 150. I want to delete some resolutions (all more bigger than 640X80 for my blast screen, it's correct ?) but i don't know how file contains the resolution. How i can do that ?
I have tryied to use this software (https://sites.google.com/site/thesterkenburg/blog-1/hyperspinloadingissues-windowsxp) to delete unused resolutions, i have again 186 resolutions in ArcadeOSD because i don't show every resolutions i have in this software (like HD native resolutions and some more). :badmood: :badmood: :badmood:
-
The mame.ini file is correct change arcade_15 to ms2930
And use this code in your vmmaker.ini
; VideoModeMaker - Options
; ------------------------
; 1. MAME
; -------
; Path for Mame executable, in case we want to extract xml information from it.
MameExe = "D:\Hyperspin\Emulators\MAME\groovymame64_0147u3.014.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 = "D:\Hyperspin\Emulators\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_specs0-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: sync polarities, 0 = negative, 1 = positive.
;
; * 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_specs_0 = 15450.00-16050.00, 55-65, 3.19, 4.75, 6.45, 0.191, 0.191, 1.164, 0, 0, 288, 448
monitor_specs_1 = 23900.00-24900.00, 55-65, 2.87, 3.0, 4.44, 0.451, 0.164, 1.148, 0, 0, 480, 768
monitor_specs_2 = 31000.00-32000.00, 55-65, 0.33, 3.58, 1.75, 0.316, 0.063, 1.137, 0, 0, 576, 768
; 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 = 2
; Minimum resolution values (these will be used instead of lower values)
XresMin_XML = 240
YresMin_XML = 224
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 = 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 = 0
; Specifies if the refresh label is multiplied by 10 before rounding (experimental).
VFreqLabelx10 = 0
; 4. DRIVER
; ---------
; 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.
That should sort out the resolutions and hyperspin problems for you.
Also add this line to your ReslList.txt in your vmmaker folder
## Desktop ##
640 x 480 @ 60.000000 desktop
-
Hi Heavyarms,
The solution suggested by jvlk is the right one, and it's what we call "magic" resolutions, a workaround especially meant for the Hyperspin bug. Seach this forum and you'll find a lot of information about this.
-
Hi,
I follow this thread but unfortunately I'm unable to have something good.
My monitor is Nanao MS2930, graphic card ATI HD4850, driver Calamity 9.3, Windows XP 64bits.
First, I modified vmmaker.ini like this :
ListFromXML = 1 ; Processes Mame XML and get video mode list from it
GenerateXML = 0 ; 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
VerticalAspect = "4:3"
MonitorType = "CUSTOM"
monitor_specs0 15450.00-16050.00, 55-65, 3.19, 4.75, 6.45, 0.191, 0.191, 1.164, 0, 0, 288, 448
monitor specs1 23900.00-24900.00, 55-65, 2.87, 3.0, 4.44, 0.451, 0.164, 1.148, 0, 0, 480, 768
monitor_specs2 31000.00-32000.00, 55-65, 0.33, 3.58, 1.75, 0.316, 0.063, 1.137, 0, 0, 576, 768
ModeTableMethod_Custom = 0
ModeTableMethod_XML = 2
UpdateRegistry = 1
This my reslist.txt :
## Desktop ##
640 x 480 @ 30.000000 desktop
320 x 240 @ 60.000000 desktop
When I perform vmmaker.exe, it create 35 or 36 modeline. After a reboot, quickres show me the two resolution in reslist.txt and all the magic resolution.
Great !!!
When I use Arcade_OSD, everything is good.
Below my mame.ini :
#
# CORE SWITCHRES OPTIONS
#
modeline 1
monitor ms2930
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 0
lcd_range auto
crt_range0 auto
crt_range1 auto
crt_range2 auto
#monitor_specs0 15450.00-16050.00, 55-65, 3.19, 4.75, 6.45, 0.191, 0.191, 1.164, 0, 0, 288, 448
#monitor_specs1 23900.00-24900.00, 55-65, 2.87, 3.0, 4.44, 0.451, 0.164, 1.148, 0, 0, 480, 768
#monitor_specs2 31000.00-32000.00, 55-65, 0.33, 3.58, 1.75, 0.316, 0.063, 1.137, 0, 0, 576, 768
monitor_specs0 auto
monitor_specs1 auto
monitor_specs2 auto
#
# WINDOWS PERFORMANCE OPTIONS
#
priority 0
multithreading 1
numprocessors auto
profile 0
bench 0
#
# WINDOWS VIDEO OPTIONS
#
video ddraw
numscreens 1
window 0
maximize 1
keepaspect 0
prescale 1
waitvsync 0
menu 0
#
# DIRECTDRAW-SPECIFIC OPTIONS
#
hwstretch 0
Now, when I launch Groovymame 0.147 with a rom, below what I see :
D:\MAMECAB\EMULATOR\GROOVYMAME>groovymame64.exe ssf2
SwitchRes: ProgressiveLinesMax 768 out of range
SwitchRes: Error in monitor range (ignoring): 31000-32000, 50-65, 0.330, 3.580, 1.750, 0.316, 0.063, 1.137, 0, 0, 576, 768, 0, 0
SwitchRes: [ssf2] (1) horizontal (384x224@59.63)->(384x224@59.63)
Average speed: 99.91% (60 seconds)
GG select the good resolution.
Unfortunately, only a piece of a picture appears on the left screen.
I tried a lot of things and I lost a lot of time, I need your help.
in attachment, the modelines generate by vmmaker :
Thanks in advance.
Jérémy
-
Hi winaos,
Use "video d3d" for magic resolutions. Report back.
-
Thanks a lot, with D3D in Groovymame, resolution and screen are good.
Have you got an idea about the switchres error reported each time it is executed ?
D:\MAMECAB\EMULATOR\GROOVYMAME>groovymame64.exe ssf2
SwitchRes: ProgressiveLinesMax 768 out of range
SwitchRes: Error in monitor range (ignoring): 31000-32000, 50-65, 0.330, 3.580, 1.750, 0.316, 0.063, 1.137, 0, 0, 576, 768, 0, 0
-
Hi winaos,
The problem with the ms2930 preset should be fixed in the new version, thanks for reporting it.