GrapeApe Wrote:it's working perfectly for me except one small hiccup: i have a tv and a monitor plugged into my pc, and whenever i try to run a rom it opens mame in the monitor instead of the tv where xbmc is running. has anyone else run into this problem?
Yes, I did and i fixed it in a very ugly way:
Basically, what you need to do is to specify a screen to use for MAME.
To find out which screens are available try running MAME from command line with the verbose option.
Then close MAME and look at the infos given in the terminal. In my case the first lines were:
Code:
Parsing mame.ini
Parsing mame.ini
Video: Monitor 0000000000020001 = "\\.\DISPLAY3"
Video: Monitor 0000000000020076 = "\\.\DISPLAY4" (primary)
Direct3D: Using Direct3D 9
This lets me know my two displays are named \\.\DISPLAY3 and \\.\DISPLAY4 for some reason.
Now you can either edit your mame.ini and change
to
Code:
screen0 \\.\DISPLAY4
(or whatever your desired screen is called), or you specify the -screen option every time you start mame.
Code:
mame -screen0 \\.\DISPLAY4
Now the thing is, for some reason the setting in the ini file is not used when starting MAME from XBMC.
Therefore I hardcoded the argument into the source.
Code:
"XBMC\addons\plugin.games.xbmame\resources\lib\XBMame.py"
Lines 410 - 416:
command = self._MAME_EXE_PATH
for key in self._MAME_PARAMS.keys():
command += " %s %s " % (key, self._MAME_PARAMS[key])
[b]command+="-screen0 \\\\.\DISPLAY4 "[/b]
command+=game.romset
command = "System.Exec(\"%s\")" % command.replace("\"", "\\\"")
xbmc.executebuiltin(command)
I'm sorry I don't have the time to do this but maybe spiff or someone could add a real option to the menu.
Still I hope I could help.