Viewing Issue Advanced Details
|ID||Category [?]||Severity [?]||Reproducibility||Date Submitted||Last Update|
|06241||Crash/Freeze||Critical (emulator)||Always||Jun 17, 2016, 20:13||Jun 18, 2016, 22:00|
|Tester||rte||View Status||Public||Platform||MAME (Official Binary)|
|Assigned To||cuavas||Resolution||Fixed||OS||Windows Vista/7/8 (64-bit)|
|Version||0.174||Fixed in Version||0.175||Build||64-bit|
|Summary||06241: Most sets in neodriv.hxx: cheats enabled cause MAME to crash|
|Description||Some NeoGeo games won't run. MAME crashes. Other NeoGeo games are not affected.|
|Steps To Reproduce||
Exception at EIP=0000000002A3E8B8 (not found): ACCESS VIOLATION
While attempting to read memory at 0000000000000030
RAX=0000000000000000 RBX=00000000178E0AF0 RCX=0000000000237F20 RDX=0000000000000009
RSI=00000000002380D8 RDI=000000000000000B RBP=0000000000237FD0 RSP=0000000000237FA0
R8=823B6AC9394CB9E7 R9=B582B8EC4FF7966D R10=C6A4A7935BD1E995 R11=0000000000237F48
R12=00000000178DD0E8 R13=00000000002380D0 R14=0000000002B8002A R15=00000000185FF020
0000000000237FA0: 0000000002A3E8B8 (not found)
0000000000238060: 0000000002A5AB46 (not found)
0000000000238120: 0000000002A5E562 (not found)
00000000002381A0: 0000000002A5EDF6 (not found)
00000000002381F0: 0000000002A5F541 (not found)
00000000002382A0: 00000000017F4007 (not found)
0000000000238320: 00000000017F45AC (not found)
00000000002383F0: 00000000017F4E92 (not found)
0000000000238620: 00000000017F9BFA (not found)
00000000002388B0: 00000000017FA0B4 (not found)
0000000000238960: 00000000017FA671 (not found)
0000000000238A10: 0000000001786550 (not found)
0000000000238AF0: 00000000029CCDD6 (not found)
0000000000238B50: 00000000029CD32A (not found)
000000000023F510: 0000000001787C4A (not found)
000000000023F960: 0000000001802329 (not found)
000000000023F9D0: 0000000001786E35 (not found)
000000000023FDF0: 00000000016F1FA4 (not found)
000000000023FE50: 0000000002E8FF8F (not found)
000000000023FF20: 000000000040140C (not found)
000000000023FF50: 000000000040153B (not found)
000000000023FF80: 00007FF9ADD513D2 (BaseThreadInitThunk+0x0022)
000000000023FFD0: 00007FF9AE3D54E4 (RtlUserThreadStart+0x0034)
|Affected Sets / Systems||Most sets in neodriv.hxx|
Jun 17, 2016, 22:00
|None of these games causes MAME to crash out on my machine. Are you running with cheat enabled and if so, do you have the latest cheat.7z from Pugsy's site?|
Jun 18, 2016, 04:47
Yes, I have cheats enabled and use the latest available cheat.7z
Disabling cheats fixes the problem, no more crashes.
Jun 18, 2016, 06:38
|Can confirm with 0.174 as well as latest GIT compile with most recent cheat.7z from 3/30/2016 XML Cheat Collection for MAME 0.172 release.|
Jun 18, 2016, 08:19
The crash is caused by all cheats that patch the ROM using "m". (maincpu.mw@[...])
Changing all "maincpu.m*" to "maincpu.o*" in the cheat xml file fixes this, but I don't know what's the difference between "m" and "o" and I don't know if the effect is the same. Probably not... Pugsy is not sure about this.
maincpu . p b @ FF022F = 99
maincpu = The address space that the address exists in. "maincpu" is the most commonly wanted, but as seen above, not always.
p = Type of memory. p=RAM, m=ROM, o=ROM ??? ROM cheats aren't my thing, but p is usually what you want.
b = Width of value being plugged. b=byte (0x00), w=word (0x0000), d=double (0x00000000), q=quad (0x0000000000000000)
FF022F = Address. Have fun with Midway machines. They use a very unusual system which I don't like much.
99 = The value being plugged in. (Hexidecimal)
Jun 18, 2016, 13:38
Two-character suffixes beginning with 'm' refer to memory regions.
One likely cause of the crashes with Neo Geo cheats is that the device/region name is no longer maincpu, but cslot1:maincpu. However, the debug module where cheat expressions are parsed has undergone major refactoring since 0.174 was released, and crashes upon referencing nonexistent memory regions may have already been fixed in commit bbb2e917b55e37642a9bef27b2676ab6b3e36fb8.
Jun 18, 2016, 21:59
Actually, this cheat crashing should be fixed with current SVN as AJR mentioned above.
Now it does what it used to do by giving you a warning that a cheat could not be loaded correctly.
In any case, you still need to either wait for the new cheat package or you can attempt to adjust them yourself .