Main > Software Forum
Explanation of best MAME Version for TVs
Howard_Casto:
The blurring comes from your video card's default settings, it has little or nothing to do with the hwstretch function itself.
Again, people don't read the docs. Set your effect to "sharp" (this actually turns off all effects and disables blending) and poof, all blurring is gone. If it doesn't then it's exclusively the fault of your video card as it doesn't support the directx calls properly or forces it's settings over the application's.
Not, b*tching, it's just once you learn to program in dx you get a better understanding about how many "software" errors are actually hardware related.
seibu:
--- Quote from: Minwah on August 04, 2004, 01:48:17 pm ---
--- Quote from: seibu on August 04, 2004, 09:31:26 am ---Thank you. Or to put it another way, go and play Pac-Land on an Arcade monitor using an Arcade VGA under windows. You will not be able to eliminate the tearing completely, no matter what you do.
--- End quote ---
I was interested so I gave it a go...
I could not see any tearing to be honest, although the background scrolling seems a little jittery. I tried refresh 60, and it didn't make any difference, so I tried it on my desktop + pc monitor and the same thing...I can't actually remember whether the real game was like that (?)
--- End quote ---
Oh yeah, sorry, I forgot about the jittering. I personally couldn't shift the tearing with regular MAME, so well done - maybe there's a new feature there? For me, smoothMAME created the jittering you describe, I guess because the 60Hz driver hack had messed up the parralax.
Still, both the jittering and / or the tearing are a symptom of the fact that within Windows, you simply cannot output the 60.606060Hz signal that this game generates. To do this, you need to program the registers of the video card directly, which means you need AdvanceMAME running in Linux or DOS.
This is one reason why AdvanceMAME will not disappear any time soon. The second is that although hardware stretch can look very good indeed with the right settings, it is simply not accurate. If I've gone to the trouble of building a cab and installing a genuine arcade monitor, I want my PC to output the EXACT same format of video signal as the original board. With non-60Hz or med-res games only AdvanceMAME can achieve this.
There are also very practical reasons for demanding this. In the case of Pac-Land, the original didn't tear and was NOT jittery. The only way therefore to recreate the original properly is to use AdvanceMAME.
Also, it's worth pointing out that a properly optimised Linux setup of AdvanceMAME using the SVGALIB (not X), marginally outperforms regular MAME on Windows XP. At least in every game I've tried, anyway.
Minwah:
--- Quote from: Howard_Casto on August 05, 2004, 04:42:59 am ---The blurring comes from your video card's default settings, it has little or nothing to do with the hwstretch function itself.
Again, people don't read the docs. Set your effect to "sharp" (this actually turns off all effects and disables blending) and poof, all blurring is gone. If it doesn't then it's exclusively the fault of your video card as it doesn't support the directx calls properly or forces it's settings over the application's.
Not, b*tching, it's just once you learn to program in dx you get a better understanding about how many "software" errors are actually hardware related.
--- End quote ---
I realise this...but probably 99% of peoples video cards cause the blurring by default. And although effect sharp removes a LOT of the blurring, in my experience it doesn't remove all of it, and I could be wrong, but I was under the impression using -effect stuff used more CPU cycles which I try to avoid where ever possible.
I don't think anyone was 'blaming' mame, just making observations really...
OT I am finalling trying my hand at DX programming, so I am sure I have plenty of stuff to look forward to learning :)
whammoed:
Indeed, I don't think it really matters how "good" hardware stretching can look as it is not accurate to the game. To me, the ideal way to do it is output the exact resolution the game was designed to run at on a monitor that can display it. To over simplify it a bit, take two pixels made up of 1 black pixel and 1 white pixel and try to display it with three pixels. What color will the third pixel be? Gray? Anyway, having said that, I know that it is not a real life scenario...I have used hardware stretching on an arcade vga monitor that I was happy with. No-one could tell that anything was different than the original but me. If I still had that cabinet though, I would set it up with advmame and use resolutions with even pixel ratios so I wouldn't need to use hardware stretching. That reminds me, I still haven't donated a few bucks to the advance projects, I will do that today.