The NEW Build Your Own Arcade Controls
Main => Software Forum => Topic started by: Howard_Casto on February 06, 2006, 12:28:13 am
-
The recent updates to the ati catalyst drivers have lead to some interesting results. The catalyst driver display manager now has two new options when you enable a monitor. You can stretch the desktop across both monitors horizontally, or vertically. Don't confuse this with extending the desktop, that just enables two desktops that work independantly of each other. This makes applications think you have one really wide (or really tall) monitor. Enough with the blabbing, on to the point.
This is how you get true dual monitor support on any windows version of mame.
1. Fire up catalyst and in the displays manager either drag your inactive secondary monitor into an active box, or right click it. Select "Stretch Main Vertically onto Monitor" (or tv depending upon the device).
2. Open a command prompt and navigate to mame.
3. type :
mame.exe punchout -resolution 2048x768x16 -screen_aspect 4:6
Poof... full screen punchout with the top monitor on one of your displays and the bottom on the other! No hacks, no tricks no nothing.
Note the resolution above: that is the resolution found in the "desktop area" box in the displays manager after I stretch the displays. This MUST be entered manually as mame can't detect dual monitors very well.
Also note the aspect ratio. Normally it's 4:3 (width is 4 parts to height's 3) but since we just made one really tall monitor, we double the height. Again this MUST be entered manually or mame will get confused.
Before anyone asks NO this will not work by simply enabling a second monitor in windows display properties nor do I know of any way to get it working with any system that lacks the catalyst drivers.
Regardless, there you have it, dual screen mame!
(p.s. you can use the method to stretch non-dual screen games too)
-
This is good to hear ATI got up to speed on this, ForceWare has had this option for years....Now will that work with an AVGA?
-
Actually, unless you know something I don't forceware doesn't support this. Like I said extended desktop and a stretched desktop are two different things.
As for the avga, possibly, but there may be issues. Catalyst drivers only have partial control over non ati (or should I say non radeon) cards. Since the avga isn't dual head you'd have to either buy two pci avaga cards (expensive and hard to do at this point) or find a secondary pci card that the drivers can control enough to do the spanning. I have a rage 128 lying around, I may put one in to test it out.
Regardless, at this point the avga is almost a dead beast. Powerstrip has full control over more modern radeon cards and most if not all support arcade frequencies. Mind you it's not as easy to do as the avga but it is definately cheaper.
-
http://forum.arcadecontrols.com/index.php?topic=41788.msg381914#msg381914
Theres a referance to someone doing just what you did with NView, its not ForceWare perse...but still NVidia and included in ForceWare.
Curious to see how your test with the Rage card turns out
-
Then somebdy really needs to post how to do it in current nvidia situations then.
I find it sad that this type of post was so buried. Something like that is a big deal and I would expect it to be a multiple page thread. I guess nobody but me really cares. :)
Anyway, I've found that the latest catalyst drivers use a exe to set settings called "CLI.exe" (gee i wonder what that stands for?) It should be possible to add support for front-ends/wrappers/whatever to set these special modes only when needed, since as discussed in the thread you linked me to, spanned mode is rather useless most of the time.
-
Instructions for Nvidia cards:
Note: I can only verify that this works with Nvidia cards that have "nView". I believe it's the forceware drivers, YMMV (I'm using a GEForce 6600).
Go into NView properties (right click on desktop -> nView Properties).
Under the "Desktop Management" tab, click "Display wizard".
Select "custom mode" and when you select the "NVIDIA nView Display Mode" you get 3 options:
- Dualview - Native multi-display mode. Each display has its own resolution, color dpth, and refresh rate.
- Span - Display sare combined to create one virtual display, your desktop spans both displays.
- Clone - Both displays show the same information.
Select the "Span" option.
The drivers create one large desktop which spans both displays as pictured below:
(http://www.gerety.net/images/DisplayProperties.jpg)
--NipsMG
-
I confimed what Nips said. Works fine with Howard's -resolution -aspect_ratio parameters. (I have Nvidia 6600GT also)
-
OK, this has really gotten my attention.
Curious though as to how Windows itself functions in the span mode... If I'm understanding correctly, everything Windows does will tend to stretch to both monitors?
So let's say I redesign my cab to have two side-by-side monitors, just for the likes of PunchOut... yes I'm just nearly stupid enough to try it... how much hassle is the second screen going to give me when games are NOT stretched across it? How difficuly to have single-screen games on just the left screen? What does MameWah do? etc.
Feedback is greatly appreciated, and may seriously change my plans for the month.
chemame
-
It will be a hassle, you'll probably have to specify resolution and aspect ratio for all your games. I tried pacman without specifying resolution and aspect and it was all stretched.
In the "span" modes, Windows treats the two monitors as one big monitor. In "DualView" mode, there are two monitors, which you can still drag stuff across.
Windows itself was able to display stuff normally.
-
OK, this has really gotten my attention.
Curious though as to how Windows itself functions in the span mode... If I'm understanding correctly, everything Windows does will tend to stretch to both monitors?
So let's say I redesign my cab to have two side-by-side monitors, just for the likes of PunchOut... yes I'm just nearly stupid enough to try it... how much hassle is the second screen going to give me when games are NOT stretched across it? How difficuly to have single-screen games on just the left screen? What does MameWah do? etc.
Feedback is greatly appreciated, and may seriously change my plans for the month.
chemame
Well first off, punchout is a vertical game, so it would make sense to put one monitor on top of each other, not two side by side. As a Matter of fact, only the psychio games (two player only) a few select vs games and xmen6p version use two monitors side by side. On the other hand, playchoice 10, megatech, megaplay, punchout, super punchout and arm wrestling all use dual monitors in a vetical arrangment. if you could only choose one orientation I would suggest two monitors arranged vertically. (The cab takes up less space that way too)
Regardless...... the solution seems to be to make profiles (both nvidia and ati support this) of both vetically and horizontally spanned monitors and have the front-ends set these modes just before launch these special case games, leaving the secondary monitor either off, or in standard extended desktop mode, most of the time.
This can be done two ways. First off each profile can be assigned a hotkey... it would be a simple matter of simulating those keypresses to change the profile prior to launching the game and then pressing the return hotkey after the game is done. Also ati (and i believe nvidia) give you the option of saving desktop shortcuts to profiles. These shortcuts could be launched no problem, or even better yet, the shortcut info could be copied and pasted to a command line argument for more traditional launching.
With that being said:
If you manually set a regular aspect and a regular resolution in mame while in spanned mode, the second monitor appears to go in mirrored mode, displaying the same image on each monitor. I have no idea why it does this, but it does. That would be one way to do it.
As far as mamewah I have no clue as I don't use it. But I tested it on Dragon King. When the settings are left as-is it gets confused. It displays the image prefectly on one monitor but blacks out the other. However, if I change the fe resolution to the spanned resolution, the image stretches to span both monitors! My guess is most fes will perform in a similar manner. That is, unless the aspect is "locked" to 4:3. Which brings me to an important note.
It isn't practical at all to be in this mode all the time on a mame cab because some emulators are locked to 4:3 aspect ratios. Zinc visual pinball and future pinball come to mind off the top of my head. What you would get form these games is either a crash, two mirrored images like in mame or a really tiny image centered between both screens.
-
Just a quick update:
I made one of those shortcuts in catalyst just to see what the syntax was. This is what the shortcut gave me:
"C:\Program Files\ATI Technologies\ATI.ACE\CLI.exe" Load profilename="Computer Monitor"
So looks simple enough... to add fe support for these spanned modes (at least for ati cards) all one would have to do is call cli.exe with "Load profilename="name" with name being whatever you labeled the spanned profile in question prior to game launch and loading a more generic profile upon return to the fe.
I would very much like to hear if something similar is possible on the nvidia end of things.
If so then we need to get busy setting up a faq for both end-users, and developers wishing to do something with such a setup.
-
Good work fellas!
-
OK, this has really gotten my attention.
Curious though as to how Windows itself functions in the span mode... If I'm understanding correctly, everything Windows does will tend to stretch to both monitors?
So let's say I redesign my cab to have two side-by-side monitors, just for the likes of PunchOut... yes I'm just nearly stupid enough to try it... how much hassle is the second screen going to give me when games are NOT stretched across it? How difficuly to have single-screen games on just the left screen? What does MameWah do? etc.
Feedback is greatly appreciated, and may seriously change my plans for the month.
chemame
For Nvidia:
If you redesign your cab to have 2 side by site monitors, you have to make sure no matter what that under nview display properties you set the span up for vertical span, not horizontal span. This is REALLY WEIRD to get used to when using it for a business setup (dropping your apps DOWN to your left monitor instead of draggning them across) but it allows you to use MAME in this fashion.
When running a game like punchout, it shows in both monitors. When running a single screen game like TMNT, the game shows up only in one monitor and the other goes black WITHOUT having to specify resolutions for the game. Just "MAME TMNT" and it only shows on one monitor.
--NipsMG
-
This also works on the ati cards, but I didn't mention it because it is rather akward.
-
I have to ask, in a practical sense, what is the big deal about this. Are we going to put two monitors in our cabinets? I must be missing something here.
John
-
I was thinking the very same thing John. It's an awesome conecpt but to what point in a cab?
Brad
-
I want to have an arcade monitor for the game and a small color LCD in the Bezel or CP displaying control or game information, this would be great for that.
I have to ask, in a practical sense, what is the big deal about this. Are we going to put two monitors in our cabinets? I must be missing something here.
John
-
I will be building my next cabinet very similar to the Golden Tee Live that just came out. So I can see how this in conjunction with Johnny5 and other features that utilize dual monitors could be really cool.
-
Hmm yes for that sort of concept I can agree. It would be cool to have a function similiar to this. I wouldn't do it but cool nonetheless.
Brad
-
I'm mounting a 5 inch psone lcd underneath my marquee (folds up when not in use).
I'm also writing managment software for the second screen to display stuff like j5, scoreboards for daphne games, the visual pinball dmd display, instruction cards, ect on the secondary monitor. This find just means I don't have to hack mame to get the dual monitor games displayed properly. I don't think it's practical to put two full-sized monitors in a cab you are building from scratch.
On the other hand.......
If you decide to mame a punchout, play choice 10, mega tech, mega play, nintendo vs deluxe, or xmen 6 player cab, it's nice to know that the second monitor isn't going to set there like a bump on a log. I could also see future benefits to this trick. Imagine one of those games with the network linukup emulating 3 or 4 units placed in 4 mame cockpits linked by monitor and control cables.
-
Tried the rage 128, doesn't work.
Apparently on both the nvidia and ati end, it has to be the same card (dual headed). However, on other oses it appears that spanning is possible on different cards. It leads me to believe that what needs to be done is to write a generic driver or shell extension that simply modifies the "get system metrics" call to return the spanned res instead of two individual ones.
Any ideas?
-
Tried hydravision (ati's dual monitor assistant) to see if it would help, the answer is "sorta".
Hydra vision allows the spanning of apps via software regardless of what your secondary video card is. The only problem is it supports the spanning of WINDOWED apps. I tried mame and in windowed mode it spanned quite nicely. The catch is it's in windowed mode (but the border can be easily removed via an api call. ) and it's doing the stretching via software. I got a whopping 7 fps on punchout doing this on two monitors at 1024x768. My guess it'd be playable at lower resolutions.
Hydravision also allows you to set individual app profiles, so it'd be possible to have mame automatically startup in this spanned mode upon each run.
This might be a more universal solution for using things like the avga, which should be supported by hydravision.
-
MikeQ, relatively new on the forums but doing some awesome stuff with RandyT's Led-Wiz and PowerMame, works for ATI and writes drivers. Perhaps getting him involved here may help out. He has a lot on his plate now but maybe he can shed some light on this.
-
Tried it last night with nView on the Playchoice and Punchout games. Very nice. I've got a compact cab, so I always wanted to mount another monitor (a smaller one, 15 inches or so) on the wall right above my cabinet maybe angled down slightly. The main thing I wanted to use it for was to display marquees of the game I was playing (swapable marquees!) as well as other artwork.
(http://members.aol.com/brdl263/mini_files/image004.jpg)
Alas, I have zero programming knowledge, so I guess I'll be dreaming about it unless dual monitor support really catches on. If anyone has any other ideas, it'd be great to hear 'em!