registry = ipsRegistry::instance(); $this->settings =& $this->registry->fetchSettings(); } public function getOutput() { return; } public function replaceOutput($output, $key) { require_once( IPSLib::getAppDir('ibprobattle') . '/sources/battleHooks.php' ); $this->battleHook = new battleHooks( $this->registry ); return $this->battleHook->statsTopicView($output, $key); } } ?>registry = ipsRegistry::instance(); $this->settings =& $this->registry->fetchSettings(); } public function getOutput() { require_once( IPSLib::getAppDir('ibprobattle') . '/sources/battleHooks.php' ); $this->battleHook = new battleHooks( $this->registry ); return $this->battleHook->statsTopicViewJS(); } } ?> Set working state for machines with unemulated protection - ARCADE - 1Emulation.com

Jump to content

Welcome to 1Emulation.com
Register now to gain access to all of our features. Once registered and logged in, you will be able to create topics, post replies to existing threads, give reputation to your fellow members, get your own private messenger, post status updates, manage your profile and so much more. This message will be removed once you have signed in.
Login to Account Create an Account
Photo

Set working state for machines with unemulated protection

- - - - -

  • Please log in to reply
7 replies to this topic

#1
haynor666

haynor666

    Member

  • Members+
  • 60 posts
  • Gender:Male
  • Location:Tarnobrzeg, Poland

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?



#2
mamesick

mamesick

    Member

  • Members+
  • 63 posts

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.



#3
Robert

Robert

    Alchemist

  • User Admin
  • 11,450 posts
  • Gender:Male
  • Location:Land of Oz
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.

#4
haynor666

haynor666

    Member

  • Members+
  • 60 posts
  • Gender:Male
  • Location:Tarnobrzeg, Poland

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.



#5
haynor666

haynor666

    Member

  • Members+
  • 60 posts
  • Gender:Male
  • Location:Tarnobrzeg, Poland

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, 11 June 2017 - 09:16 PM.


#6
mamesick

mamesick

    Member

  • Members+
  • 63 posts

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.



#7
haynor666

haynor666

    Member

  • Members+
  • 60 posts
  • Gender:Male
  • Location:Tarnobrzeg, Poland

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, 12 June 2017 - 05:49 PM.


#8
haynor666

haynor666

    Member

  • Members+
  • 60 posts
  • Gender:Male
  • Location:Tarnobrzeg, Poland

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






0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users