WIP Again

This forum is for making announcements about updated cheat files (for any emulator), updated web pages and of course about improvements to the MAME/MESS cheat engine.
User avatar
ianpatt
Posts: 336
Joined: Sat Sep 22, 2001 1:00 am
Location: San Francisco, CA

WIP Again

Post by ianpatt »

More WIP. I'm calling this a 0.9998 version release; it's almost done enough for me to be happy with it (and therefore submit it.)

New stuff:
  • Bit searches
  • Results list easier to use. If you try to scroll down past the end of the menu it brings up the next results "page." Pageup/pagedown also can cross region boundaries now.
  • "Classic" search dialog reimplemented. Delta searches don't work right now, but the other types work.
  • Option cheat lines implemented. Currently only used to enable classic search dialog. Most likely the final release will default to the classic dialog.
  • If a "write with mask" cheat has the mask set to 0, it is changed to 0xFFFFFFFF
  • Region enabling/disabling
  • Faster
  • Region name generation fixed
  • More bugfixes
  • Stuff I don't remember
To use the classic search dialog, add this line to your cheat.dat:

Code: Select all

:_command:00000001
Downloads:
source
binary

Binary based off of MAME 0.59 source with psikyosh and blitter fix.

kelvSYC, can you test to see if this fixes the problem you were having with MacMAME?

Also, if anyone finds any bugs, please tell me. I'll use/test this for about a week, then submit it.
User avatar
ianpatt
Posts: 336
Joined: Sat Sep 22, 2001 1:00 am
Location: San Francisco, CA

stupid, stupid, stupid

Post by ianpatt »

Oops. Crash bug when adding a cheat from the results list found and fixed. Recompiling/uploading now.

edit: ok, uploaded fix
edit again: rrrgh, re-uploading
kelvSYC
Posts: 1121
Joined: Thu Sep 27, 2001 1:00 am
Location: Calgary, AB, Canada

Post by kelvSYC »

Maybe the next revision of the cheat engine should focus on reducing the physical size of cheat.dat, like "cheat clones" where you can define the cheats for one game are the same as another.

PS. I haven't tested the new cheat engine yet, there's a slight compiler issue with the hard disk source, recompiling in MAME v.58.
kelvSYC's Guide to the Cheat Engine - http://members.shaw.ca/kelvsyc/cheatguide.html

The New Move List Cheat Collection - http://mamecheat.co.uk/forums/viewtopic.php?p=6469

Underscore Command - What better game is there?
stephh
Posts: 601
Joined: Fri Aug 17, 2001 1:00 am
Location: Paris, France

Re: WIP Again

Post by stephh »

ianpatt wrote: More WIP. I'm calling this a 0.9998 version release; it's almost done enough for me to be happy with it (and therefore submit it.)

Also, if anyone finds any bugs, please tell me. I'll use/test this for about a week, then submit it.
I'll try to have a look before you submit it ...

I have however some improvements I'd like to see and I'll tell you about them "soon" ...

Little OT : once you have "finished" the new cheat engine, do you intend to work on CheckCDB rewrite ? This cool tool is no more working with MAME 0.59 (too many games !) :(

Steph from The Ultimate Patchers

Visit Image The Ultimate Patchers' site Image
kelvSYC
Posts: 1121
Joined: Thu Sep 27, 2001 1:00 am
Location: Calgary, AB, Canada

Post by kelvSYC »

Nope, still not all the way done. Old style cheats work all the time while new style cheats work some of the time (I've only tested list cheats right now).

EDIT: Never mind, it was just something with the mask where I said 2 instead of 3.
Last edited by kelvSYC on Sat Mar 23, 2002 7:19 pm, edited 1 time in total.
kelvSYC's Guide to the Cheat Engine - http://members.shaw.ca/kelvsyc/cheatguide.html

The New Move List Cheat Collection - http://mamecheat.co.uk/forums/viewtopic.php?p=6469

Underscore Command - What better game is there?
kelvSYC
Posts: 1121
Joined: Thu Sep 27, 2001 1:00 am
Location: Calgary, AB, Canada

Post by kelvSYC »

Relative address cheats in MacMAME don't work either. (Tested with samsho)
kelvSYC's Guide to the Cheat Engine - http://members.shaw.ca/kelvsyc/cheatguide.html

The New Move List Cheat Collection - http://mamecheat.co.uk/forums/viewtopic.php?p=6469

Underscore Command - What better game is there?
kelvSYC
Posts: 1121
Joined: Thu Sep 27, 2001 1:00 am
Location: Calgary, AB, Canada

Post by kelvSYC »

With list cheats, they work some of the time. Using my kof2000 cheats (which I have verified with old style equivalents), I could only customize two out of the four characters from the other team, and I could not set my striker style.
kelvSYC's Guide to the Cheat Engine - http://members.shaw.ca/kelvsyc/cheatguide.html

The New Move List Cheat Collection - http://mamecheat.co.uk/forums/viewtopic.php?p=6469

Underscore Command - What better game is there?
User avatar
Pugsy
Posts: 3675
Joined: Fri Aug 17, 2001 12:59 am
Location: North Wales, UK.
Has thanked: 1 time
Been thanked: 15 times
Contact:

Post by Pugsy »

Well I think it's time I did some more cheat finding. And play with the new cheat engine, cheers Ian :)

And kelvSYC the idea about reducing the size of the cheat.dat file by using the clone relationship has a few problems. Not all clones have the same cheats (especially ROM cheats) - so they would have to be tested anyway also if you had two different Infinite Lives cheats one for parent and one for clone the clone game would display two Infinite Lives cheats one would work and one won't and may even crash the game. You could add extra fields for each cheat with the clones it works with but that would make the cheat file a nightmare to maintain and edit.


So the safest way is to keep them seperate - with the side effect of making the cheat.dat file being rather massive. With the massive hard drives in use today it doesn't really matter how big the file is.....it's never going to be that big!
Pugsy

Servicing your cheating needs since 1985 8)

Grab the latest cheat collection:
MAME 0.264 XML cheat collection (3 APRIL 2024) from http://www.mamecheat.co.uk or direct from:-
https://mega.nz/file/SxsQUJoT#jBdz6GLm_ ... QzFGSMms2c (ZIP Archive 3.8 MB)
User avatar
ianpatt
Posts: 336
Joined: Sat Sep 22, 2001 1:00 am
Location: San Francisco, CA

Re: WIP Again

Post by ianpatt »

stephh wrote:Little OT : once you have "finished" the new cheat engine, do you intend to work on CheckCDB rewrite ? This cool tool is no more working with MAME 0.59 (too many games !) :(
If you send me the source code I will update it once I'm done with this current round of bugfixes. Most likely I'll end up rewriting it in C; I can read pascal w/o a problem but I wouldn't trust myself to make a new program in it.
kelvSYC wrote:problems with MacMAME
OK, I'll update my build of MacMAME and check out the problems. Most likely I just forgot to put in a "^ LSB_FIRST" somewhere.
Pugsy wrote:Well I think it's time I did some more cheat finding. And play with the new cheat engine, cheers Ian
Good to see you again. Welcome back, I guess! :)
stephh
Posts: 601
Joined: Fri Aug 17, 2001 1:00 am
Location: Paris, France

Re: WIP Again

Post by stephh »

ianpatt wrote: If you send me the source code I will update it once I'm done with this current round of bugfixes. Most likely I'll end up rewriting it in C; I can read pascal w/o a problem but I wouldn't trust myself to make a new program in it.
I don't have ALL code, but I can mail you (in a few days) what is the principe of this tool ...

But "of course", the new version of CheckCDB will have to be coded in C, so it can be used on ANY platform ...

Steph from The Ultimate Patchers

Visit Image The Ultimate Patchers' site Image
stephh
Posts: 601
Joined: Fri Aug 17, 2001 1:00 am
Location: Paris, France

Post by stephh »

Pugsy wrote: And kelvSYC the idea about reducing the size of the cheat.dat file by using the clone relationship has a few problems. Not all clones have the same cheats (especially ROM cheats) - so they would have to be tested anyway also if you had two different Infinite Lives cheats one for parent and one for clone the clone game would display two Infinite Lives cheats one would work and one won't and may even crash the game. You could add extra fields for each cheat with the clones it works with but that would make the cheat file a nightmare to maintain and edit.

So the safest way is to keep them seperate - with the side effect of making the cheat.dat file being rather massive. With the massive hard drives in use today it doesn't really matter how big the file is.....it's never going to be that big!
I 100% agree here : ONE game = ONE entry in the cheat databases !

As Pugsy said, the main problem is for clones that don't have the same addresses for the cheats ... And this ALSO occurs for "standard" cheats !

About the idea of adding bits or extra fields, it's IMO a bad idea : it will be harder to spot which games have NO cheats, and it might be a nightmare for the new version of CheckCDB to check such stuff :(

And what do you do when games names change, when a new clone is added, and/or when the old main set becomes a clone (eg: 'pisces' which is now 'piscesb' = clone of the NEW 'pisces') ?

I know that it grows the size of the cheat databases, but once it is zipped, it's not a nightmare to download ... And I think that you can easily find 5 Mb on your hard drive if you can play KOF2000 :wink:

Steph from The Ultimate Patchers

Visit Image The Ultimate Patchers' site Image
Tourniquet
Posts: 163
Joined: Wed Sep 19, 2001 1:00 am
Location: UK
Contact:

Post by Tourniquet »

Very good, I like it!
A couple of things though,

I now have the extra character at the end of the cheat name under Windows!

Crash report:
Editing the name of the cheat, keep pressing right until past the "---> <ENTER> To Edit <---" entry.
Or left from the start.

Fix:
Change line 821:

Code: Select all

	"\0"
to:

Code: Select all

	NULL
OR
Line 3229:

Code: Select all

					while(kCheatNameTemplates[currentNameTemplate + 1])
to:

Code: Select all

					while(kCheatNameTemplates[currentNameTemplate + 1][0])
and 3454:

Code: Select all

				if((currentNameTemplate < 0) || !kCheatNameTemplates[currentNameTemplate])
To:

Code: Select all

				if((currentNameTemplate < 0) || !kCheatNameTemplates[currentNameTemplate][0])
Other bug:
UserSelectMinimumDisplay isn't working as it's meant to!
Fix:
Change 1972:

Code: Select all

		UINT32	min = EXTRACT_FIELD(action->type, 
UserSelectMinimumDisplay);
to:

Code: Select all

		UINT32	min = 0;
Edit: And the same goes for line 1855
(Or tidy as appropriate).

N.B You are already incrementing the display as line 1879, setting the minimum to UserSelectMinimumDisplay reduces the selectable range by one.
User avatar
ianpatt
Posts: 336
Joined: Sat Sep 22, 2001 1:00 am
Location: San Francisco, CA

Post by ianpatt »

Tourniquet wrote:Crash report:
Thanks, fixed.

edit: actually that should just change UserSelectMinimumDisplay to UserSelectMinimum; probably just a cut/paste problem when writing the user-select stuff
Last edited by ianpatt on Mon Mar 25, 2002 1:14 am, edited 1 time in total.
Bugfinder (login failed!)

Is the uploaded source all fixed?

Post by Bugfinder (login failed!) »

ianpatt wrote:Thanks, fixed.
Is the uploaded source all fixed?
User avatar
ianpatt
Posts: 336
Joined: Sat Sep 22, 2001 1:00 am
Location: San Francisco, CA

Re: Is the uploaded source all fixed?

Post by ianpatt »

Bugfinder wrote:Is the uploaded source all fixed?
Not yet. I'm going to upload new source + binary in less than an hour; just doing some final bugtesting.
User avatar
ianpatt
Posts: 336
Joined: Sat Sep 22, 2001 1:00 am
Location: San Francisco, CA

updated code

Post by ianpatt »

Version 0.9999 release...

Changes:
  • Results list skips regions with no results + wraps around
  • All bugs posted since the last release have been fixed
  • Stuff
After testing this under MacOS, unless there are more bugs or there is something crucial that I missed, I'm going to submit this version (making it the 1.0 release.)

Downloads:
source
binary
User avatar
Pugsy
Posts: 3675
Joined: Fri Aug 17, 2001 12:59 am
Location: North Wales, UK.
Has thanked: 1 time
Been thanked: 15 times
Contact:

One little thing...

Post by Pugsy »

Looking good....One thing you've missed there is no way of displaying the extra comment info. Shift Return/Return doesn't so anything..

More reports as I spot 'em.
Pugsy

Servicing your cheating needs since 1985 8)

Grab the latest cheat collection:
MAME 0.264 XML cheat collection (3 APRIL 2024) from http://www.mamecheat.co.uk or direct from:-
https://mega.nz/file/SxsQUJoT#jBdz6GLm_ ... QzFGSMms2c (ZIP Archive 3.8 MB)
User avatar
Pugsy
Posts: 3675
Joined: Fri Aug 17, 2001 12:59 am
Location: North Wales, UK.
Has thanked: 1 time
Been thanked: 15 times
Contact:

Post by Pugsy »

I vaguely recall something being mentioned about you adding a feature so that when somebody pressed enter on a SET cheat there would be some way of making the user aware that the cheat had been poked... don't recall how it was going to be done. Either way at the moment there is still no indication.

Cheat engine must be good if the above is the best I can come up with ;-)
Pugsy

Servicing your cheating needs since 1985 8)

Grab the latest cheat collection:
MAME 0.264 XML cheat collection (3 APRIL 2024) from http://www.mamecheat.co.uk or direct from:-
https://mega.nz/file/SxsQUJoT#jBdz6GLm_ ... QzFGSMms2c (ZIP Archive 3.8 MB)
kelvSYC
Posts: 1121
Joined: Thu Sep 27, 2001 1:00 am
Location: Calgary, AB, Canada

Post by kelvSYC »

Relative address cheats still don't work. On one occasion in lastbld, it even worked in reverse (the person with "infinite life" had none)!
kelvSYC's Guide to the Cheat Engine - http://members.shaw.ca/kelvsyc/cheatguide.html

The New Move List Cheat Collection - http://mamecheat.co.uk/forums/viewtopic.php?p=6469

Underscore Command - What better game is there?
User avatar
ianpatt
Posts: 336
Joined: Sat Sep 22, 2001 1:00 am
Location: San Francisco, CA

Re: One little thing...

Post by ianpatt »

Pugsy wrote:Looking good....One thing you've missed there is no way of displaying the extra comment info. Shift Return/Return doesn't so anything..
Added. So the cheat engine doesn't have to do a really big malloc() when games have lots of cheats I'm just highlighting the "set," "on," or "off" text if a cheat has a comment.
Pugsy wrote:I vaguely recall something being mentioned about you adding a feature so that when somebody pressed enter on a SET cheat there would be some way of making the user aware that the cheat had been poked... don't recall how it was going to be done. Either way at the moment there is still no indication.
Now it puts up a usrintf_showmessage (like the "1234 results found" box) saying "1P Invinciblity activated".
kelvSYC wrote:Relative address cheats still don't work. On one occasion in lastbld, it even worked in reverse (the person with "infinite life" had none)!
I haven't started testing this on MacMAME yet, but I will make sure this stuff works before submitting it. I'm 99% sure I just need to remove a "^ LSB_FIRST" to fix it.
Locked