I made a cheat modification for my own cabinet. I submitted it to mame about a year ago but it wasn't accepted (didn't get a reply)
First the problems:
- My 6 year old son likes to play on the cabinet but he need cheats on some games and he is too young to use the menus himself.
- The mame cheat system includes a feature called "pre-loaded cheats". Pre-loaded cheats are activated immediatly when the cheatfile is loaded. Unfortuntly this doesn't work with most games since they will fail the RAM power-on test if cheats are enabled at startup. They also require you to edit the cheatfile manually.
- I got a rather old PC in the cabinet which means that it takes a long time (5-10) seconds to load the "official" cheatfile.
My solution:
I updated the cheat system to not load the cheatfile until it is used. That both improves the startuptime and allows me to specify "pre-loaded cheats" that work with all games. Now my son can just press "activate cheats" key (F6) which will load the cheatfile and activate all pre-loaded cheats.
I also made it possible to mark cheats as "pre-load" from the menus.
While I was updating the cheatfile I also made some other small changes:
1. A menuentry show if cheats are currently enabled or disabled
2. If you save a cheat it will be saved in the last cheatfile instead of the first. That way you can keep the "official" cheatfile untouched by just specifying "cheatfile=cheats.dat;mycheats.dat" and all new entries will be in mycheats.dat.
Since the change didn't make it into the official mame I thought I'd put the diff here if somone wants to include it in a custom build.