Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
05539 Documentation Typo Always Apr 20, 2014, 12:31 Apr 21, 2014, 16:14
Tester haynor666 View Status Public Platform MAME (Official Binary)
Assigned To Resolution No change required OS Windows Vista/7/8 (64-bit)
Status [?] Closed Driver
Version 0.153 Fixed in Version Build 64-bit
Fixed in Git Commit Github Pull Request #
Summary 05539: all (?) sets in qix.c: Inconsistant refresh rate in games between various sources/mame
Description Various games have different refresh rates, resolutions than advertized by mamedev/mameinfo/mameui.

For example KRAM in mameinfo has 256x240@60 (though info also mention - 0.115u2: Changed VSync to 76.293945Hz., in MAMEUI is posted 256x256@55,83 but in game information says it's 256x248@60,02 (why not 256x256 like the others)

Similiar problem is with Complex X - MAMEUI - 256x256@55,83, mameinfo shows 256x256 (V) (55.838470 Hz, in mameinfo history is also - 0.146u3: Set screen to CRTC initial parameters (256x256 at ~55hz) [hap]. Changed VSync to 55.838470Hz. but ingame information shows 256x256@60,02

Space Dungeon is in game at 256x240@60

All games seems to sync in game to 60 Hz
Steps To Reproduce
Additional Information Logical would be 256x256@55,83 just is set (?) in 146u3 just like in slither
Github Commit
Flags
Regression Version
Affected Sets / Systems all (?) sets in qix.c
Attached Files
 
Relationships
has duplicate 05650Closed Mortal Kombat 1,2,3 all versions!: Wrong resolution of 399x253 for all Mortal Kombat games instead of the correct 400x254! 
Notes
4
User avatar
No.10604
AWJ
Developer
Apr 20, 2014, 13:21
edited on: Apr 20, 2014, 13:35
This isn't really a bug, more a case where the assumptions behind -listxml aren't applicable to this particular hardware.

This hardware has a programmable CRTC, meaning the game software can change the resolution and refresh rate at run time. MAME's XML output (which is used by mameinfo and MAMEUI) is not capable of dealing with this, it can only report what is statically set in the MACHINE_CONFIG. Ideally the XML should somehow indicate that the resolution and refresh rate are software-programmable so that XML consumers don't rely on the static values e.g. for resizing screenshots, but there's a huge ecosystem of frontends, utilities and websites using -listxml, many of which are unmaintained or only nominally maintained (cough cough MAMEUI), so changing the XML format is painful to do even when the format reflects concepts that are long obsolete in MAME itself (e.g. "CPU" and "sound chip" being things)

(Starting in 0.153 we can have devices that are both CPUs and sound chips. I'm sure that's causing merry confusion in at least a few places in the -listxml ecosystem!)

At any rate, the resolutions and refresh rates shown while the games are running are correct (256x256x55.84 Hz for Qix, 256x240x60.02 Hz for most of the other games) Yes, they're different between games running on the same hardware, that's what is implied by being programmable.
User avatar
No.10605
haynor666
Tester
Apr 20, 2014, 19:38
edited on: Apr 20, 2014, 19:48
In game changing resolution is well know (amiga hardware, psx based). Different resolutions per game in one driver is also know (cave, stv etc). Point is that MAME does not post in game resolution but rather starting vaue/hardware initial state (good example are some psx games). I wish mame could inform user about all resolutions, refresh rates used in particular game.

BTW. 256x240@60 or 256x256@55 are ok but 256x256@60 (Complex X) it;'s not a quite normal (it was ever possible on arcade monitor?)

Also KRAM make strange or 256x248@60 (though I see some color spots in left upper and right lower on screen, maybe it's makes sense)

Elecyoyo uses 256x256 but does not draw above 256x240 except some trash at first ball lost. Trash is visible in attract mode and stays until I reset game.
User avatar
No.10606
Haze
Senior Tester
Apr 20, 2014, 19:57
edited on: Apr 20, 2014, 20:01
" I wish mame could inform user about all resolutions, refresh rates used in particular game."

The problem is it simply can't know. While some systems do have a preset list of selectable resolutions available to software using a simple mode register others allow you to program the values directly, even allowing the hardware to set up completely invalid display modes if that's what the game code chooses to do.

Tthink about it, how many resolutions can a PC output, how many hacks are there out there to output even more? an arcade board with programmable display controller is often talking directly to the chips and has even less limits than that.

Furthermore what do you actually call a screen where the resolution is mixed? 320x240 in the top half, 640x240 in the bottom? or where the layers are of different resolution (the common complaint about the resolution we run Galaxian at so we can handle the starfield)

You're asking for MAME to represent a concept that doesn't really exist in the easy way it appears to somebody simply playing the games

Garbage at the edge of screens is also remarkably common, arcade operators would just hide it by stretching the display. (if their monitors were capable of displaying those areas at all, many cut off significant parts of the display, that's why we have the concept of safe areas where developers are advised not to use the parts of the screen closest to the borders even if they're meant to be visible)
User avatar
No.10607
haynor666
Tester
Apr 20, 2014, 21:39
Actually I was thinking about post modes that particular game uses, not all that hardware can produce. Most games/hardware in MAME/MESS probably does not output more than two.
Anyway, I guess this won't be done.
PC and other computers is different matter. There were designed to output many resolutions.

As for galaxian hardware (which I post mamesters bug report because I didn't know at that time why it was changed) I don't mind resolution is currently used. If it's improve emulation that's perfectly fine. I think most people won't even notice this playing with default MAME configuration. Cab owners in fact can make native resolution 768x240 and play games normally.

As for garbage outside normal play/visible area I understand perfectly. After all my Megadrive PAL version does have such garbage at the bottom of screen though NTSC Genesis users never see.