Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
Sign in to follow this  
haynor666

Set working state for machines with unemulated protection

Recommended Posts

MAMEUI32 diifers in several ways from Arcade32. One of those changes is how machines with unemulated protection are visible on list. In MAMEUI32 those games are presented as working but in Arcade32 as not working. When in source I can change this behaviour to match MAMEUI32 standard?

Share this post


Link to post
Share on other sites

ARCADE is inline with the original MAME core behaviour where:

constexpr u32 MACHINE_FATAL_FLAGS = MACHINE_NOT_WORKING | MACHINE_UNEMULATED_PROTECTION | MACHINE_MECHANICAL; // red disclaimer

So, UNEMULATED PROTECTION is considered like NOT_WORKING.

At least, is MAMEUI that should change its behaviour, not the opposite.

Share this post


Link to post
Share on other sites

mamesick is correct. I've just modified MAMEUI to align with what MAME says.

 

However, to answer your question, the code is in winui_util.cpp for ARCADE, and in mui_util.cpp for MAMEUI.

 

 

In MAMEUI, it's interesting to note that two-thirds (22555 atm) of the games show as NOT WORKING.

Share this post


Link to post
Share on other sites

Ok, if that's how mame treats machines with unmemulated protection so winui derratives should respect this as well. I'm glad that both UI variants will be consistent from now on.

Share this post


Link to post
Share on other sites

After closer inspect I must say that machines with unemulated protection in many cases should not be treated as not working.

 

Examples:

 

Salamander 2 (from mameinfo - "4th May 2003: Acho A. Tang submitted a major improvement to the Konami GX driver, improving the graphics emulation and emulating the ESC protection in Salamander 2, Dragoon Might and Tokimeki Memorial Puzzle-dama, making them all playable.")

 

Wink (from mameinfo - "0.104u8: Added clone Wink (set 2). Highwayman, Nicola Salmoria and Pierpaolo Prazzoli fixed Wink - Game now playable. Fixed most of the remaining issues in Wink, though there is still some unemulated protection.")

 

Flaming 7 (from mameinfo - "- 0.176: Reverse-engineer protection to bypass the requested serial number - Games now playable. The iButton device still needs to be hooked. Promoted these games to working with their correspondent flags.")

 

Ninja Emaki - seems to working

 

Super Stingray - any problems ?

 

now from source:

 

GAME( 1993, rrrevenga, rrreveng, atarigx2_0x400, rrreveng, atarigx2_state, rrreveng, ROT0, "Atari Games", "Road Riot's Revenge (prototype, Jan 27, 1994, set 1)", MACHINE_UNEMULATED_PROTECTION | MACHINE_NOT_WORKING ) - ok it's not working

 

GAME( 1986, ninjemak, 0, ninjemak, ninjemak, galivan_state, 0, ROT270, "Nichibutsu", "Ninja Emaki (US)", MACHINE_SUPPORTS_SAVE|MACHINE_UNEMULATED_PROTECTION ) - no MACHINE_NOT_WORKING flag so it's after all imperfect.

Edited by haynor666

Share this post


Link to post
Share on other sites

Again, we (or better, ARCADE) use the same behaviour of MAME core. UNEMULATED_PROTECTION is displayed with a red disclaimer as it happens for NOT_WORKING and MECHANICAL flags. Also, see this portion of code:

		// if there's a NOT WORKING, UNEMULATED PROTECTION or GAME MECHANICAL warning, make it stronger
		if (m_machine.system().flags & (MACHINE_FATAL_FLAGS))
		{
			// add the strings for these warnings
			if (m_machine.system().flags & MACHINE_UNEMULATED_PROTECTION) {
				buf << _("The machine has protection which isn't fully emulated.\n");
			}
			if (m_machine.system().flags & MACHINE_NOT_WORKING) {
				buf << _("\nTHIS MACHINE DOESN'T WORK. The emulation for this machine is not yet complete. "
						"There is nothing you can do to fix this problem except wait for the developers to improve the emulation.\n");
			}
			if (m_machine.system().flags & MACHINE_MECHANICAL) {
				buf << _("\nCertain elements of this machine cannot be emulated as it requires actual physical interaction or consists of mechanical devices. "
						"It is not possible to fully play this machine.\n");
			}

The fact that there are games with UNEMULATED_PROTECTION that in reality "works" it's not our problem, this kind of issue should be reported at MAMEDev. Ninja Emaki, your example, shows a red disclaimer at startup even if it doesn't show the NOT_WORKING message.

So what to do with UNEMULATED_PROTECTION? Working or Not Working? There are tons of cases like the ones you posted.... but as I said, we are aligned with MAME core. RED disclaimer is critical emulation message and we consider it as NOT_WORKING. It should be up to Developers clear and fix this issue.

Share this post


Link to post
Share on other sites

I wrote message to Tafoid about this. If this will not be resolved I'll open disscussion at mameworld forum. From 267 sets markd as not working and unemulated protection 104 sets are only unemulated protection so quite a lot.

 

At least those games are not removed from ARCADE32/64 :)

Edited by haynor666

Share this post


Link to post
Share on other sites

It seems it has been resolved by mame dev team. Now all these games as imperfect protection.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Paste as plain text instead

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

Sign in to follow this  

×
×
  • Create New...