Why does MAME suck so bad?

commodorejohn

Shameless recidivist
Joined
Apr 2, 2010
Posts
1,607
Country
United States
Region
Minnesota
Argh. Aside from GIMP, this piece of [SNIP] might just be the best possible example of Why Unix Programmers Can't Write Usable Software. It's completely unbelievable. I spent the better part of half an hour poring through the documentation - documentation which is not linked from the front page of the site, documentation which is not on the Documentation Wiki which is linked from the part of the site, which is actually a threadbare development wiki - trying to figure out the video options, because I'd like to be able to play Ms. Pac-Man in something other than a blurry-ass bilinear-filtered scaling to a non-integer multiple of its native resolution in order to fit it to my monitor's native resolution, which isn't even in remotely the same aspect ratio anyway because Ms. Pac-Man uses a vertically-oriented screen, which MAME goddamn knows!

Half an hour, and I've come up with absolutely nothing. There are plenty of options that look like they should allow me to obtain a desired result - you can turn off bilinear filtering and set it to nearest-neighbor, which would be perfectly fine, except that it still scales to a non-integer multiple, so you just get lumpy, non-square pixels instead of blurry ones, which if anything looks even worse. Even setting it to run in a window doesn't work, it just scales to a different non-integer multiple. And there's no good way to address this! The only way I can find to address it is to specifically set it to run in a window with a specific resolution, and that means having to set specific resolutions for every damn game I have for it! Which of course means that this command-line application (because of course it's a command-line application, this is open-source Unixey development) is going to need a small army of specific shortcuts, or one of those bloated "launcher" applications, just to not look like warmed-over ass!

Honestly, how hard would it be to have an option to scale to the nearest integer multiple that can fit in the current resolution and then letterbox it if it's running fullscreen? That's the most basic of emulator video options, yet somehow in a setup that provides eleventy billion ways to configure the specific physical properties of the emulated CRT phosphors, nobody could be assed to add it! God, what a pile of [SNIP]. And it's the only pile of [SNIP] in town when it comes to arcade emulation, to boot.
 
Last edited by a moderator:
Yeah, programmers in general, and open source specificity fail at decent documentation and user interface design in general. There is some good stuff out there, and a lot of bad stuff.

Even I know how to resize images/GUI elements to fit certain resolutions, without cutting the edges off.

Problem with mame is that dos commands are seen as a period feature, rather than an annoyance to the average user. Linux suffers from the same problems, where the programmers see typing as faster than navigating a GUI, so why bother making the GUI then ? :double

Did I mention I hate most other programmers, between the code-monkey types and the overkill Object Orientated crazy types it's hard to find anything that's well designed and yet not bloatware nor impossible to follow. The stuff I write is tidy and usually properly documented, and that includes end user documentation when it's needed.
 
Mame.... the mvs emulation is quite good (if you use an beamer.......)
But well.. it emulates absolutly everything or atleast tries to maybe it just shoots itself in the leg by emulating so many devices at once...
 
Modern MAME is a it of a pain. It's better, in a lot of cases, just to use one of the older versions released before the video emulation was changed. It was great in the old DOS days. If you had a decent CRT, you could use the -tweak option and have your monitor run at the same freq. as the orignal game did and have a near perfect emulation experience. These days there's a fair bit more involved in getting your favourites to run the way you want. It's probably why I don't bother with it as much as I used to. It was originally one of the things that made me defect from the land of the Amiga and get a Window$ PC. That, Quake and Cakewalk Pro Audio.
 
its a good idea to use mamui withe the emulator.
you may already be doing this and still it sux, i only really use it for point blank and gun but quite like it.
 
I usually run the forked projects such as MameUI so it has a nice interface. They seem to keep up to date.

Milestone versions I have kept:

0.29 - This is when you could still use 8-bit video, and is what most mobile versions are based on.

0.106 - This is before video was changed to Direct3D, so it still plays on older video cards properly.

0.131 - This is the last time all the cocktail flipping worked. I have a cocktail table, and most games are screwed up on any version past this.
 
0.106 - This is before video was changed to Direct3D, so it still plays on older video cards properly.

This is the version you should try. You'll still have to fart about with the .ini files but if you keep the direct3d effects disabled you should find it a bit more to your liking.

It's best to use mame -cc to create a new .ini file from scratch. Then make an ini folder in the mame directory and copy the newly generated mame.ini file in to it. Now rename it to match the rom name of the set you're playing and any settings you change in it will take priority over the ones in mame.ini so you can customise your options for each set that you play frequently by making a specific .ini file for each one. :thumbsup:
 
Last edited:
0.29 - This is when you could still use 8-bit video, and is what most mobile versions are based on.

Maybe my memory's playing tricks on me, but I thought the version number leap from 0.37b16 to 0.53 was when the 8-bit modes were removed? (And when Paperboy stopped running smoothly on most machines of the era.)

And yes, I do remember the command line for MAME being a pain - I did work on the Linux version actually - I added support for video overlays, for low-overhead full-screen support.)
 
Last edited:
Well, thanks for the tips - got a pre-0.106 version of MAME32 and that's made things quite a bit better. Insane that you have to downgrade to get a good experience...
 
0.29 - This is when you could still use 8-bit video, and is what most mobile versions are based on.

Maybe my memory's playing tricks on me, but I thought the version number leap from 0.37b16 to 0.53 was when the 8-bit modes were removed? (And when Paperboy stopped running smoothly on most machines of the era.)

You may be right.. not sure why 0.29 sticks in my head. There is some other non-code milestone somewhere when the licensing all changed.

-Pete
 
Back
Top Bottom