Build Your Own Arcade Controls Forum
Software Support => GroovyMAME => Topic started by: robboman on June 29, 2012, 09:04:00 pm
-
So I quickly tried Groovymame with Calamity drivers for the first time only a few weeks ago, said "yay it works!" and then left it alone while I got lost setting up Hyperspin and a bunchof other emus..
But now I'd like to get this fully working.
I have a d9200 and a Radeon 4650 and I thought I followed the install steps OK..
Some horizontal games look 'perfect' but lots don't.. almost any vertical game looks blurry, and you can't see some pixels, esp noticable on numbers/letters onscreen. I'm definitely getting the wrong res on most games.
For starters, shouldnt I be getting more than 18 video modes from VMmaker? Here's my output:
-------------------------------------------------------------
:: VideoModeMaker :: - version 1.3c - by Calamity - 2008/2012
-------------------------------------------------------------
monitor_specs line ignored
CRT_EmuDriver 1.2 found! Based on Catalyst 09.3
Extracting mame.xml...
Mame v0.146 (May 24 2012)
Importing video modes from Mame.xml...
18 different video modes found.
Generating dynamic mode table... 6 redundant video modes found.
Reducing mode list... 0 video modes dropped.
12 modelines generated.
Storing modelines in system registry...
System must be restarted for the changes to take effect.
Finished. Press any key...
-
How many games do you have in your rom directory?
I'm pretty sure the mame.xml file is generated according to what games you have. VMMaker will only generate modes depending on those games. So the more games with different resolutions then the more video modes will be created (depending on what your monitor can do).
But the games should not look blurry or bad unless it has hardware stretching on.
Did you add the monitor type you used in VMMaker in the mame.ini file as well?
Just a thought.
-
Hi robboman,
Starting from v0.146, MAME's XML format has changed slightly, so you need to update VMMaker so it can deal with it, make sure to download it again (still 1.3c version number):
CRT_Emudriver's download site (in Spanish. ftp courtesy of Abubu) (http://postback.geedorah.com/foros/viewtopic.php?id=1424)
Download mirror (courtesy of Krick) (http://mame.3feetunder.com/windows-ati-crt-emudriver/)
-
Thanks, I'll download new vmmaker and try again.
I have a nearly full rom set that was .145, and the binary Is actually Groovy UME .146 that I renamed to mame.exe so it would work with Hyperspin. I noticed if I run mame.exe -cc I receive a file named UME.ini. But VMmaker extracts mame.xml (not UME.xml).
could the fact that it's UME and not MAME be an issue?
-
OK I got the newest VMMaker and it worked! 120 video modes now. Awesome!
However.. how Hyperspin won't launch at all! I know it's video related because it still launches in an RDP session, but it won't run on my arcade monitor. Weird..
Anyway, thanks for the help.. I did try launching a few games manually and they look perfect now!
-
Confirmed - the newer VMmaker is breaking my Hyperspin somehow.
I re-ran the older (pre-.146xml) VMmaker and I got the limited 18 video modes again, but then Hyperspin works again.
Then I re-ran newer (.146 XML) VMmaker again. "720 video modes, remove redundants, 120 video modes saved". But Hyperspin won't start :(
I watched it from Task Manager and HS pops in for about a sec, then quits. Nothing in event logs.
Any ideas?
-
Hi robboman,
Yes, the Hyperspin bug is known since long, it happens when there are too many modes available in the system. Reducing the number of modes avoids Hyperspin crashing but just kills the fun, so we found a workaround named "magic" resolutions:
http://forum.arcadecontrols.com/index.php?topic=121216.msg1285623#msg1285623 (http://forum.arcadecontrols.com/index.php?topic=121216.msg1285623#msg1285623)
-
Wow.. thanks for the quick support! I'm not there yet.. tried what the other thread said about 'Magic resolutions'. Now Hyperspin launches but all MAME games are giving me a black screen. I can hear some audio from the games sped up to high pitch crazy speed.
Could you please look at my vmmaker.ini and tell me if you spot anything wrong?
; 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 = "D9200"
; 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 = 2
; 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 = ".\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.
-
Hi robboman,
Your vmmaker.ini is fine, I suspect about your mame.ini.
Please get me a log like this:
groovymame.exe romname -v -md 4 >romname.txt
Also, try changing -video ddraw for -video d3d.
-
OK, done (dkong.txt output attached).
Hundreds of lines that say "DirectDraw: Error 80004001 waiting for VBLANK"
-
I just tried changing mame.ini "video=ddraw" to "video=d3d", the game won't run at all that way. Output is:
C:\mame>mame m:\roms\mame\dkong
SwitchRes v0.013f: [m:\roms\mame\dkong] (1) vertical (256x224@60.61)->(400x256@6
0.61)->(400x256@56.88)
Proposed video mode not supported on device \\.\DISPLAY1
-----------------------------------------------------
Exception at EIP=01BBD65A (raster_0x00000035_0x00045119_0x00000000_0x00030679_0x
0C261A0F_0xFFFFFFFF(void*, int, _poly_extent const*, void const*, int)+0x092a):
ACCESS VIOLATION
While attempting to read memory at 00000080
-----------------------------------------------------
EAX=00000000 EBX=00330430 ECX=7C91005D EDX=00331008
ESI=00000001 EDI=00331008 EBP=00000014 ESP=0C57F7C8
-----------------------------------------------------
Stack crawl:
00000014: 01BBD65A (raster_0x00000035_0x00045119_0x00000000_0x00030679_0x0C261
A0F_0xFFFFFFFF(void*, int, _poly_extent const*, void const*, int)+0x092a)
-
Here's my whole ume.ini (mame.ini).
#
# CORE CONFIGURATION OPTIONS
#
readconfig 1
writeconfig 0
#
# CORE SEARCH PATH OPTIONS
#
rompath M:\roms\MAME;M:\roms\MESS
hashpath hash
samplepath C:\artwork\MAME\Samples
artpath C:\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
burnin 0
#
# CORE PERFORMANCE OPTIONS
#
autoframeskip 0
frameskip 0
seconds_to_run 0
throttle 1
syncrefresh 1
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
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 mouse
adstick_device keyboard
pedal_device keyboard
dial_device mouse
trackball_device mouse
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
#
bios
cheat 0
skip_gameinfo 0
uifont default
ramsize
confirm_quit 0
#
# CORE MKChamp OPTIONS
#
disable_hiscore_patch 0
disable_nagscreen_patch 0
disable_loading_patch 0
#
# CORE SWITCHRES OPTIONS
#
modeline 1
monitor D9200
monitor_connector auto
monitor_orientation horizontal
monitor_aspect 4:3
monitor_debug 0
monitor_doublescan 1
monitor_dotclock 0
monitor_ymin 0
cleanstretch 0
changeres 1
redraw 0
monitor_specs0 auto
monitor_specs1 auto
monitor_specs2 auto
monitor_specs3 auto
monitor_specs4 auto
monitor_specs5 auto
monitor_specs6 auto
monitor_specs7 auto
magic_resolution auto
powerstrip 0
#
# WINDOWS DEBUGGING OPTIONS
#
oslog 0
watchdog 0
debugger_font "Lucida Console"
debugger_font_size 9
#
# 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 1
menu 0
#
# DIRECTDRAW-SPECIFIC OPTIONS
#
hwstretch 0
#
# DIRECT3D-SPECIFIC OPTIONS
#
d3dversion 9
filter 0
#
# DIRECT3D POST-PROCESSING OPTIONS
#
hlsl_enable 0
hlslpath hlsl
hlsl_ini_read 0
hlsl_ini_write 0
hlslini %g
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.0
pincushion 0.0
scanline_alpha 0.0
scanline_size 1.0
scanline_height 0.7
scanline_bright_scale 1.0
scanline_bright_offset 0.0
scanline_jitter 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
yiq_enable 0
yiq_cc 3.59754545
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
#
# 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
#
# INPUT DEVICE OPTIONS
#
hide_cursor 1
dual_lightgun 0
-
Hi robboman,
It seems like the video drivers are not properly installed:
DirectDraw: Warning - Device does not support hardware stretching
DirectDraw: Warning - Device may not perform well for DirectDraw rendering
DirectDraw: Error 88760233 creating blit surface
Go to command line, type dxdiag, go to the Screen tab. The option "DirectDraw accelaration" should be enabled. If it's disabled, then don't search any more.
You need to uninstall the video drivers, clean all remaining ATI software (run CatUninstaller starting in Safe Mode http://downloads.guru3d.com/The-Catalyst-Uninstaller-download-1275.html (http://downloads.guru3d.com/The-Catalyst-Uninstaller-download-1275.html)), and reinstall the drivers again.
Then check that everything is fine in dxdiag. If DirectDraw's acceleration is still disabled, you may need to repeat the process (yes, maybe several times)
This is a common problem, unfortunately, specially with customized Windows installations. This Windows distributions often ship newer versions of the ATI drivers that get mixed with ours for some reason, creating a lot of problems.
-
Thanks. I actually wondered if the driver installed right the first time... I'll try reinstall next chance I get to work on it (later tonight I hope).
-
SWEET SUCCESS! Thank you so much Calamity!
I did what you said and removed/re-installed crt-emudriver, verified working in dxdraw then re-ran vmmaker with my ini set for 'magic'.
At first I got only black screen but I could hear game audio at normal speed. So I went back to my mame.ini and set video=d3d instead of video=ddraw.
Now everything is flawless. WOW. Happy camper here. Cheers!
-
Nice to hear that robboman.
Just for the sake of science, could you tell us which Windows version you're using, and which DirecX version (type dxdiag, it's shown in the first tab)
Thanks.
-
I'm using Windows XP Pro SP3 32 bit and DirectX 9.0c 4.09.0000.0904.
-
I'm using Windows XP Pro SP3 32 bit and DirectX 9.0c 4.09.0000.0904.
Thanks! It's the exact same version I'm using here...