Viewing Issue Advanced Details Jump to Notes ]
ID Category [?] Severity [?] Reproducibility Date Submitted Last Update
06361 Cheat System Critical (emulator) Always Sep 2, 2016, 05:31 23 days ago
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.184GIT 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
Regression Version
Affected Sets / Systems
Attached Files
txt file icon output-crash.txt (3,278 bytes)  Sep 2, 2016, 05:31 by msutton
Output when crashes [Show Content]
txt file icon output-working.txt (5,441 bytes)  Sep 2, 2016, 05:32 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
User avatar
Sep 2, 2016, 11:35
For now, you can use the built in cheat plugin -plugins -plugin cheat to avoid this issue.
User avatar
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
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
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
23 days ago
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'