|
MAME for game consoles
#348297 - 12/20/15 02:01 PM
|
|
|
Since I don't have any next generation console, I cannot try it out myself, so I'm asking you:
There are MAME ports for video game consoles. Are they any good? Can they play the same games as the real MAME?
What about the way the screen is updated? On some graphics cards, when you don't enable vsync or triple buffering, there appear stripes when the screen scrolls. Would an emulator that runs on a console do the same?
Or another problem that we discussed a long time ago: When you enable vsync or triple buffering, then you have an input lag. This isn't MAME's fault, this is some issue with DirectX. (Or, in case of triple buffering: The simple fact that the system renders three frames ahead and only shows you the currently oldest one, so of course your input is always two frames behind.) The proof that it isn't MAME's fault is that the lag only happens with Direct3D in fullscreen. DirectDraw vsync doesn't lag and Direct3D windowed doesn't either.
Would a console version of MAME, which doesn't work on DirectX I suppose, have the same issue?
And what about the screen resolution? "Street Fighter II" has a resolution of 384 x 224 pixels. So, a console with a resolution of 256 x 224 would have to drop pixels or interpolate the image in advance before outputting it on the screen. An actual arcade board on the other hand sends its original reolution to the screen and the screen deals with it. So, in how far is the output of such an emulator still authentic?
|
|
|
|
Re: MAME for game consoles
[Re: DaRayu]
#348298 - 12/20/15 04:19 PM
|
|
|
> Since I don't have any next generation console, I cannot try it out myself, so I'm > asking you: > > There are MAME ports for video game consoles. Are they any good? Can they play the > same games as the real MAME? > > What about the way the screen is updated? On some graphics cards, when you don't > enable vsync or triple buffering, there appear stripes when the screen scrolls. Would > an emulator that runs on a console do the same? > > Or another problem that we discussed a long time ago: > When you enable vsync or triple buffering, then you have an input lag. > This isn't MAME's fault, this is some issue with DirectX. (Or, in case of triple > buffering: The simple fact that the system renders three frames ahead and only shows > you the currently oldest one, so of course your input is always two frames behind.) > The proof that it isn't MAME's fault is that the lag only happens with Direct3D in > fullscreen. DirectDraw vsync doesn't lag and Direct3D windowed doesn't either. > > Would a console version of MAME, which doesn't work on DirectX I suppose, have the > same issue? > > And what about the screen resolution? > "Street Fighter II" has a resolution of 384 x 224 pixels. So, a console with a > resolution of 256 x 224 would have to drop pixels or interpolate the image in advance > before outputting it on the screen. An actual arcade board on the other hand sends > its original reolution to the screen and the screen deals with it. > So, in how far is the output of such an emulator still authentic?
Last I checked, Mamedev frowns upon console ports of Mame. You're most likely not going to get many, if any answers, at all.
|
"Note to Noobs:
We are glad to help you but simply posting that something does not work is not going to lead to you getting help. The more information you can supply defining your problem, the less likely it will be that you will get smart-alec replies.
C.D.~"
|
|
|
Re: MAME for game consoles
[Re: Master O]
#348300 - 12/20/15 05:19 PM
|
|
|
Is there a special reason why it is frowned upon?
|
|
|
Stiletto![Administrator Administrator](//www.mameworld.info/ubbthreads/images/adm.gif) |
They're always after me Lucky ROMS!
|
|
|
Reged: 03/07/04
|
Posts: 6472
|
|
|
Send PM
|
|
|
Re: MAME for game consoles
[Re: DaRayu]
#348302 - 12/20/15 05:58 PM
|
|
|
> Is there a special reason why it is frowned upon?
Mostly, console ports are almost always from really old versions of MAME that are less accurate and wouldn't show our emulation in its best light - these versions often being chosen for performance reasons, that the consoles in question cannot run current MAME versions without fairly large performance hits in comparison to ancient versions. Performance degradation in MAME is a long known issue and mainly due to improvement in emulation accuracy, so it's not even an issue we *WANT* solved.
To a lesser degree, it's because console ports are often made with illegal copies of devkits. With a decent percentage of MAME developers being professional game developers that's not exactly something we can endorse or support. Building MAME should ideally only be done with our supported legal and free toolchains, but does also handle commercial compilers as well of course.
Thirdly, it's not easily a scene we can support through what few tech support forums we do have. There's a large number of dependencies to running illegal binaries sideloaded through various means on the usual consoles, and we typically only support current versions, not ancient ones, as time moves on.
Now, start talking Android and we'll be talking. Bleeding edge MAME on high-end Android hardware (ie. not Raspberry Pi) is becoming possible to the point of nearly becoming a supportable platform. ![](//www.mameworld.info/ubbthreads/images/graemlins/smile.gif)
- Stiletto
|
|
|
R. Belmont |
Cuckoo for IGAvania
|
|
|
Reged: 09/21/03
|
Posts: 9717
|
Loc: ECV-197 The Orville
|
|
Send PM
|
|
|
Re: MAME for game consoles
[Re: DaRayu]
#348355 - 12/22/15 09:14 PM
|
|
|
> There are MAME ports for video game consoles.
> Are they any good?
Depends largely on the console. Anything below Wii-generation won't run MAME well and/or will run MAME from 15 years ago like the handhelds and Raspberry Puke.
> Can they play the same games as the real MAME?
Yes, within the limitations of the console hardware. The Wii's about the min-spec for acceptable; there's a pretty good MAME port available through the Homebrew Channel that can run games up to 16-bit at full speed with relatively easy setup. This is pretty much the only console port I can say generally nice things about.
DRC cores are not available on consoles so many newer games (e.g. Killer Instinct) will play even slower than the slow console CPU implies.
The old original-Xbox port is right out; that thing has less CPU power than a Raspberry Pi and uses about 1000 times the electricity. > What about the way the screen is updated? On some graphics cards, when you don't > enable vsync or triple buffering, there appear stripes when the screen scrolls. Would > an emulator that runs on a console do the same?
Correct, but consoles tend by their nature to force vsync on. > Or another problem that we discussed a long time ago: > When you enable vsync or triple buffering, then you have an input lag.
Triple buffering adds lag by definition, because you are always 2 frames behind real-time.
> Would a console version of MAME, which doesn't work on DirectX I suppose, have the > same issue?
Probably. If you're psychologically inclined to find lag under every bed, you'll probably find it in console ports. > And what about the screen resolution?
Consoles that MAME has been ported to all have 640x480 at bare minimum, which covers a large majority of the MAME library.
> So, in how far is the output of such an emulator still authentic?
If you're playing the Wii port on a CRT TV, it's significantly more authentic than a PC on a computer display. On an HDTV, you'd need HLSL/GLSL to get the authentic look, just like with a computer monitor.
|
|
|
|
|
> > Would a console version of MAME, which doesn't work on DirectX I suppose, have the > > same issue? > > Probably. If you're psychologically inclined to find lag under every bed, you'll > probably find it in console ports.
This is not a subjective feeling, it is an objective fact that can be measured quite easily:
Get a camera that can record videos with 60 FPS. Start a game in MAME that runs at 60 FPS and set your monitor to 60 Hz. Set one of your game's input buttons to the Shift Lock key. (For example the jump of a character.) The Shift Lock key is connected to an LED on the keyboard, so you can check exactly when it was pressed. Position your camera so that the monitor and your keyboard are simulatenously visible. Press the Shift Lock key and let the character on the screen jump.
Now check your recorded video: Count the frames between the moment when the LED of the Shift Lock key gets turned on and the moment when the character on the screen jumps. This is your base value.
Now try MAME with different configurations and see how many more frames the character needs to react after the key has been pressed and the LED turned on:
The results most likely will be:
Vsync in DirectDraw fullscreen, DirectDraw windowed and Direct3D windowed will produce 0-1 additional frames of lag.
Vsync in Direct3D fullscreen unfortunately produces circa 3 additional frames of lag.
This is not exclusive to MAME. The same problem happens in Nestopia, so it has to be some kind of DirectX issue. Anyway, it's a pity because Direct3D in fullscreen is probably the most desirable configuration.
That's why I was asking whether something like this could also happen on a console port since the console port probably doesn't work with DirectX at all. But I don't know which shortcomings that configuration would have.
About the other topics:
Console-wise, I was thinking of the PlayStation 3 and game-wise "Street Fighter II - The World Warrior".
About the resolution: If it is 640 x 480, but SF2 is just 384 x 224 (with the black bars as overscan: 384 x 240), doesn't this mean that MAME artificially adds pixels to the output before it is sent to the TV? If I play the physical arcade board with a supergun on a CRT TV, the signal is sent to the TV unaltered: The vertical resolution is fixed anyway and is the same value as on an NES or a Super Nintendo. And the horizontal resolution is processed by the TV in an analog way instead of a digital way. But when MAME itself upscales the image beforehand, this is not 100 % authentic anymore. So, for an authentic look, it would be necessary to force MAME to generate a screen output of 384 x 224 (or 384 x 240 with black bars) to send to the TV.
|
|
|
|
Re: 85
[Re: DaRayu]
#348724 - 01/02/16 05:06 AM
|
|
|
> But when MAME itself upscales the image beforehand, this is not 100 % authentic anymore.
This is a topic? Really?
|
Scifi frauds. SF illuminates.
_________________
Culture General Contact Unit (Eccentric)
|
|
|
Re: 85
[Re: Traso]
#348739 - 01/02/16 06:13 AM
|
|
|
> This is a topic? Really?
Why not? The native resolution of 384 x 224 is already adjusted by the TV/monitor. I don't want a software-sided or graphics card adjustment from MAME's side.
|
|
|
|