Viewing Issue Advanced Details
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
06361 Cheat System Critical (emulator) Always Sep 2, 2016, 05:31 Mar 2, 2017, 12:38
Tester msutton View Status Public Platform MESS (Official Binary)
Assigned To Pugsy Resolution Fixed OS Windows 10 (64-bit)
Status [?] Resolved Driver
Version 0.177 Fixed in Version 0.184 Build 64-bit
Summary MESS-specific 06361: Cartrdige memory accessed directly with cheats will crash MAME
Description When running a NES game with cheats enabled mame crashes with no errors.
I am using the latest Pugsy's Cheats.

Looking at the cheat files, the cheats want to modify nes_slot:cart:prg_rom
It looks like this region is not loaded before the cheat file is loaded.

I know this is not a solution but points to possibly where the error is occurring.

This affects not only NES, but all cheat that reference cart memory directly.
Steps To Reproduce mame64 nes -cart1 smb1 -cheat -v
Additional Information
Flags
Regression Version
Affected Sets / Systems
Attached Files
txt file icon output-crash.txt (3,278 bytes) Sep 2, 2016, 05:31 Uploaded by msutton
Output when crashes
[Show Content]
txt file icon output-working.txt (5,441 bytes) Sep 2, 2016, 05:32 Uploaded by msutton
output after modifying the source code
[Show Content]
Relationships
related to 06477Resolvedcuavas All systems: MAME should ignore problematic cheats (or at least exit gracefully) 
Notes
5
User avatar
No.13096
Tafoid
Administrator
Sep 2, 2016, 11:35
For now, you can use the built in cheat plugin -plugins -plugin cheat to avoid this issue.
User avatar
No.13099
msutton
Tester
Sep 2, 2016, 18:41
I tried the suggestion to use the cheat plugin.
When I use the cheat plugin I do not get a list of cheats in game to chose from under the plugin menu.

I get a message that says,"This non-arcade system has been added during the amalgamation of MESS into MAME. If there is a softwarelist with games in, then cheats may well appear when you load the game."

I am getting console output that it is finding the cheat.7z file and sending it to cache.

Maybe I do not have something configured correctly.
User avatar
No.13101
Tafoid
Administrator
Sep 2, 2016, 19:29
It loads NES cheats for me in my testing with latest official 0.177 as well as current GIT sources + cheat.7z from Pugsy's
mame nes smb1 -plugins -plugin cheat

You mentioned you modified your source locally? Perhaps you are using that?
User avatar
No.13102
msutton
Tester
Sep 2, 2016, 20:51
edited on: Sep 2, 2016, 20:52
I see
I was using
mame64 nes -cart1 smb1 -plugins -plugin cheat
to make it work I needed to add the software title by itself, software title as parameter of -cart1 is not enough
mame64 nes smb1 -cart1 smb1 -plugins -plugin cheat
now it is working as expected, thanks for your help.

User avatar
No.13676
Tafoid
Administrator
Mar 2, 2017, 12:35
Crashes were fixed with 06477
The nes (and other cheats which adjusted cart memory directly) were still showing up invalid memory name.
This was fixed with this pull request/commit in which the startup order of initialization was adjusted so that memory names were not 'forgotten'
https://github.com/mamedev/mame/pull/2088