Software Support > GroovyMAME

first time trying to use magic resolutions

(1/4) > >>

krick:
I'm trying to use magic resolutions for the first time, but I'm not sure that I'm doing it right.

I'm using an ATI 4000 series card with Windows XP x64 and the 9.3 CRT_EmuDrivers.

I'm using the latest vmmaker.

I made the following changes to the vmmaker.ini file...

ListFromXML = 0
GenerateXML = 0
MonitorType = "H9110"

I have a Hantarex Polo 25 (not polostar) and I think I remember that we determined that it should be the same settings as the H9110...  http://forum.arcadecontrols.com/index.php?topic=110905.msg1205207#msg1205207
It's a 15KHz/25KHz switchable monitor, but I'm using 15KHz only.  If I'm wrong, please let me know.

I created a clean new mame.ini file and changed the monitor setting to "H9110" to match the vmmaker ini.

Then I ran vmmaker.  If there's anything else I need to do, let me know.

The resolutions that are being chosen don't seem to be correct.  For example, pacman looks like it's being anti-aliased poorly or something.  Normally, with my ArcadeVGA, I run it at the native resolution and adjust my monitor settings so that I don't have any overscan at the top and bottom.

Smashtv is picking a resolution that my monitor really doesn't like, so I can't get a picture.  Again, this normally works ok with my ArcadeVGA 3000.

I've attached log files for both games.

Calamity:
Hi krick,

The new version of VMMaker (1.3c) has native support for magic resolutions. This means that you only need to change this value:

ModeTableMethod_XML = 2

... and leave the MAME related options as usual, so the XML is actually processed:

ListFromXML = 1
GenerateXML = 1

That will create the required "magic" resolutions according with your monitor specs, in the form of 1234 x yres.

There is a separated ModeTableMethod_Custom variable that you usually should leave as 0 so the modes in ReslList.txt are treated literally.

krick:
That seems to have done the trick.  Thanks.

I've only noticed a few odd things.

1) When I ran vmmaker, it created 42 resolutions, if my memory is correct.  I notice when running ArcadeOSD, there's still a bunch of really low resolutions in the list, then a greyed out block of resolutions, followed by the 1234 x whatever "magic" resolutions.  Is this what I should be seeing?

On a related note, are there any "problem" games that you know of that I can run to really be sure that this is working as intended?

2) When I exit a game that was launched from hyperspin, pacman for example, hyperspin is smooshed up on the left side of the screen. I think that Hyperspin is trying to re-size itself to the MAME resolution or something. I recall having similar issues when I was trying to use Windows 7 (before I gave up on that), but I don't think XP ever did this.  I think there's an option to always run Hyperspin at a fixed resolution though.  I may have to try that and see if it makes any difference.

3) I can no longer use DDRAW.  It only works with D3D.  I saw you mention that some people have this issue in one of your posts.  Are there any drawbacks to using D3D these days?

Do you have any idea why it's happening and/or why it only happens to some people?
Is it tied to specific versions of windows?
64 vs 32 bit?
Certain versions of your CRT_EmuDriver?
Possibly linked to the type of video card?

I'm using an ATI Radeon HD 4550, Windows XP x64, and the CRT_EmuDriver based on Catalyst 9.3.

I also have an ATI Radeon X600XT that I could try to see if it behaves differently.  Though I'll have to scrub the old drivers off the machine first so I can install the 6.5 drivers.

This may or may not be related, but when I installed the CRT_EmuDriver, and right at the end of the installation, I'm getting that error about copying a file again...  http://forum.arcadecontrols.com/index.php?topic=110905.msg1185604#msg1185604

Calamity:

--- Quote ---1) When I ran vmmaker, it created 42 resolutions, if my memory is correct.  I notice when running ArcadeOSD, there's still a bunch of really low resolutions in the list, then a greyed out block of resolutions, followed by the 1234 x whatever "magic" resolutions.  Is this what I should be seeing?
--- End quote ---

This is correct. All MAME resolutions pass through the *_XML set of options, which we defined as "magic". But on the other hand the resolutions defined in ReslList.txt pass through the *_Custom set of options, and as we defined ModeTableMethod_Custom = 0 they are preserved as defined.

So we can use these resolutions for the rest of emulators that don't support "magic" resolutions.

In my cab, as I'm only using GroovyUME now, I just have the desktop resolution and a bunch of "magic" resolutions for everything.


--- Quote ---On a related note, are there any "problem" games that you know of that I can run to really be sure that this is working as intended?
--- End quote ---

I remind Spy Hunter crashing with magic resolutions, due to its odd 480x480 size, I haven't figured this one out. Apart from that, what I do is to go testing games by height, that's the relevant value, pay special attention to vertical games:

256 - 1942
280 - contra
288 - dspirit

...make sure you see no stretching at all. Then I go for some interlaced ones: donpachi, twincobr, aerofgts (this one is useful because it allows testing resolution switching).


--- Quote ---2) When I exit a game that was launched from hyperspin, pacman for example, hyperspin is smooshed up on the left side of the screen. I think that Hyperspin is trying to re-size itself to the MAME resolution or something. I recall having similar issues when I was trying to use Windows 7 (before I gave up on that), but I don't think XP ever did this.  I think there's an option to always run Hyperspin at a fixed resolution though.  I may have to try that and see if it makes any difference.
--- End quote ---

This is odd because in a normal situation HS should not be aware of what resolution we're using inside MAME. I wonder if HS is shutting GroovyMAME by its own means which could be catastrophic as it would prevent GroovyMAME from restoring the registry settings it has previously modified. I mean that if HS would let GroovyMAME terminate normally the resolution should always be the same: the desktop resolution.


--- Quote ---3) I can no longer use DDRAW.  It only works with D3D.  I saw you mention that some people have this issue in one of your posts.  Are there any drawbacks to using D3D these days?
--- End quote ---

Direct3D is actually faster than DirectDraw and thus it's recommended for "magic" resolutions because the actual frame buffer is 1234 wide. D3D has only 2 drawbacks AFAIK:

- It stretches the frame if the resolution is not *exactly* the one of the frame. This is not a problem thanks to CabMAME's -cleanstretch patch (included in GroovyMAME).
- Some resolutions might become disabled if Windows determines they're not supported by the monitor. This is only a problem for monitors with a valid EDID, not the case of arcade monitors.


--- Quote ---Do you have any idea why it's happening and/or why it only happens to some people?
Is it tied to specific versions of windows?
64 vs 32 bit?
Certain versions of your CRT_EmuDriver?
Possibly linked to the type of video card?
--- End quote ---

I wish I knew. I spent a whole week last summer doing tests and patches for MAME until I got it working here for Cat 6.5/9.3 - Windows 32/64 - ddraw/d3d. My initial tests where done using 9.3/32, and it was beautiful because I could use a single "magic" resolution for everything. But then when testing it in 6.5/32 I got constant blue screens until I found that the vertical resolution couldn't be modified. That's why I ended up using a list of resolutions by height for all systems. It's interesting that in 6.5/64 there weren't blue screens but just garbled displays. When I got everything working for each possible combination of 6.5/9.3, 32/64, ddraw/d3d I was so exited that I made a pompous release just hours before going out for holiday on a cruise. I bought an internet card on board to follow the "success" of the creature with a cup of porto just to discover that it wasn't working for anybody... Fortunately before trashing it completely we found that it does work for Direct3D even when it doesn't for DirecDraw.

So I don't have a clue why it works here with DirectDraw while it doesn't work for other people. I'm inclined to think that it has to do with the DirectX version, because the driver files are exactly the same. Only an intensive testing campaign would help to find an answer.

However we must keep in mind that after all this is a hack, we're just using a hole in ATI drivers, so it's a miracle that it even works.


--- Quote ---I'm using an ATI Radeon HD 4550, Windows XP x64, and the CRT_EmuDriver based on Catalyst 9.3.

I also have an ATI Radeon X600XT that I could try to see if it behaves differently.  Though I'll have to scrub the old drivers off the machine first so I can install the 6.5 drivers.

--- End quote ---

The X600XT should also be supported by the 9.3 version. Any test is welcome, if you ever have the time or energy.


--- Quote ---This may or may not be related, but when I installed the CRT_EmuDriver, and right at the end of the installation, I'm getting that error about copying a file again...  http://forum.arcadecontrols.com/index.php?topic=110905.msg1185604#msg1185604

--- End quote ---

I don't think this is related but it does worry me. Driver's installation is incredibly problematic.

krick:

--- Quote from: Calamity on July 02, 2012, 05:31:57 am ---
In my cab, as I'm only using GroovyUME now, I just have the desktop resolution and a bunch of "magic" resolutions for everything.


--- End quote ---

That's cool.  I'll have to check out GroovyUME at some point.



--- Quote from: Calamity on July 02, 2012, 05:31:57 am ---

--- Quote ---On a related note, are there any "problem" games that you know of that I can run to really be sure that this is working as intended?
--- End quote ---

I remind Spy Hunter crashing with magic resolutions, due to its odd 480x480 size, I haven't figured this one out. Apart from that, what I do is to go testing games by height, that's the relevant value, pay special attention to vertical games:

256 - 1942
280 - contra
288 - dspirit

...make sure you see no stretching at all. Then I go for some interlaced ones: donpachi, twincobr, aerofgts (this one is useful because it allows testing resolution switching).


--- End quote ---

Actually Spy Hunter was one of the games I tested and it appeared to work fine.  Does it crash immediately for you?  I can get you an output log tonight if it will help you troubleshoot the issue.

I tried Gauntlet Legends, which I recall being one of the problem resolution switching games.  It worked ok for me other than a flash of desktop when it switched resolutions.  I'll have to try some of the others.  Thanks for the suggestions.


--- Quote from: Calamity on July 02, 2012, 05:31:57 am ---

--- Quote ---2) When I exit a game that was launched from hyperspin, pacman for example, hyperspin is smooshed up on the left side of the screen. I think that Hyperspin is trying to re-size itself to the MAME resolution or something.
--- End quote ---

This is odd because in a normal situation HS should not be aware of what resolution we're using inside MAME. I wonder if HS is shutting GroovyMAME by its own means which could be catastrophic as it would prevent GroovyMAME from restoring the registry settings it has previously modified. I mean that if HS would let GroovyMAME terminate normally the resolution should always be the same: the desktop resolution.


--- End quote ---

Hyperspin must be forcibly exiting MAME.  I noticed that games that have to initialize nvram on first boot aren't saving the settings when launched from Hyperspin.

UPDATE:  I found this thread which seems to be related.  I'll investigate more tonight...  http://forum.arcadecontrols.com/index.php?topic=117935.0


--- Quote from: Calamity on July 02, 2012, 05:31:57 am ---

--- Quote ---Do you have any idea why it's happening and/or why it only happens to some people?
--- End quote ---

So I don't have a clue why it works here with DirectDraw while it doesn't work for other people. I'm inclined to think that it has to do with the DirectX version, because the driver files are exactly the same. Only an intensive testing campaign would help to find an answer.

However we must keep in mind that after all this is a hack, we're just using a hole in ATI drivers, so it's a miracle that it even works.


--- End quote ---

If it's DirectX, maybe you could run Dxdiag and save your information to a file.  Then I could diff it against mine to see if any file versions are different.


--- Quote from: Calamity on July 02, 2012, 05:31:57 am ---

--- Quote ---This may or may not be related, but when I installed the CRT_EmuDriver, and right at the end of the installation, I'm getting that error about copying a file again...  http://forum.arcadecontrols.com/index.php?topic=110905.msg1185604#msg1185604

--- End quote ---

I don't think this is related but it does worry me. Driver's installation is incredibly problematic.


--- End quote ---

Is there any kind of installation log from the ATI drivers that will tell us what file it's failing on?   Are your drivers supposed to install the little Galaga icon resolution picker thing to the system tray?   Because that doesn't get installed.

Navigation

[0] Message Index

[#] Next page

Go to full version