Modern MESS cheatery

General Chit-Chat about MAME and other emulators.
Post Reply
User avatar
NotAGoodName
Posts: 331
Joined: Wed Feb 18, 2009 7:09 am
Location: MO, USA
Contact:

Modern MESS cheatery

Post by NotAGoodName »

I was messing around this morning (no pun intended) and discovered that MESS 0.132 supports cheats the exact same way as MAME Plus. I suppose this is both good and very bad.

Good:
+ You can throw known cheats in an easily named XML file and they work.
+ You don't need 20 million files for every minor variation of a CRC.

Bad:
- Every single piece of "software" for that system uses the same XML file.

Ugly:
- Any kind of remotely complete support means having a gargantuan XML file which is clumsy to work on and use.

Make of that what you will. Maybe it doesn't matter. I wouldn't really know a good way to fix it if I could. If I had to suggest something, I would say have a structure with optional XML files in a subdirectory. (ie I have the option to tell all of my Sonic games to use a file "D:MAME32\cheat\genesis\Sonic.XML" and other games on Genesis.c default to "D:MAME32\cheat\genesis.xml")
Aww yeah. AMD A10-7850K givin' MAME and MESS systems what for.
User avatar
Pugsy
Posts: 3638
Joined: Fri Aug 17, 2001 12:59 am
Location: North Wales, UK.
Has thanked: 1 time
Been thanked: 12 times
Contact:

Re: Modern MESS cheatery

Post by Pugsy »

I submitted a minor change to the cheat.c about a fortnight ago that changes things somewhat if it gets accepted. Unfortunately, any solution is going to be a compromise with regards to MESS as it's not got a limited ROM/Image set so the best that can be expected is to limit the cheat file use the system HASH files that MESS provides or use a recognised ROM set. The method proposed will be CRC based (any proper solution will have to be) so the individual xml files will be called crc32.xml (eg deadbeef.xml).

Anyway the idea is to have something along these lines:-
XML files contained in cheat_systemname.zip
Edit the MESS.ini file to so that it points to all the cheat_systemname files, eg
cheat;cheat_coleco;cheat_genesis
Along with the zip file there will be a txt file listing a cross reference between filename and gamename so it's feasible to find the xml file you are interested in and manually edit it
eg:-

12345678.xml Space Invaders (Coleco)
9abcdef1.xml Space Invaders (Coleco) (a1)
etc

The cheat file maintainer for each system (ha...) can maintain a single cheat.dat file for easy editing and the xmls will be generated for release from that .dat file. I've written a small tool that will create a full skeleton .dat file for each system from the MESS hash files so that when the skeleton .dat file is converted it will create all the xmls that will contain the gamename as a displayable comment along with 'this game has no cheats' comment.

The biggest issue at the moment is that MESS does NOT take the header/interleaving into consideration when it creates the HASH files so many systems that use headers/dump format ROMs are a NOGO at the moment.

I'll have coleco (I've updated steph's 9 year old cheat file with lots of my own new cheats), pce (updated from old MESS format) and genesis (based on old hazemdd file) MESS cheat files that are ready to go if the changes get included.
Pugsy

Servicing your cheating needs since 1985 8)

Grab the latest cheat collection:
MAME 0.259 XML cheat collection (6 OCTOBER 2023) from http://www.mamecheat.co.uk or direct from:-
https://mega.nz/file/q4dHGZ6K#i-EUiqIjH ... KMz7hnbTfw (ZIP Archive 3.76MB)
User avatar
NotAGoodName
Posts: 331
Joined: Wed Feb 18, 2009 7:09 am
Location: MO, USA
Contact:

Re: Modern MESS cheatery

Post by NotAGoodName »

Sounds somewhat complicated, but whatever works. Feel free to borrow anything I've got that you don't.
Aww yeah. AMD A10-7850K givin' MAME and MESS systems what for.
Post Reply