Cheat Engine Update

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.
Locked
User avatar
ianpatt
Posts: 336
Joined: Sat Sep 22, 2001 1:00 am
Location: San Francisco, CA

Cheat Engine Update

Post by ianpatt »

This is the version I just submitted to the dev list. All bugs posted in the previous thread have been fixed.

Two things:
  • I have been unable to reproduce the bug that was causing "junk" cheats to be added when watches were created, and it doesn't seem possible to cause this behavior (by looking at the code) so I guess that something else is going on.
  • Also, the cheat that wasn't loading correctly was being caused by an incorrectly defined cheat - the link flag was set, so the cheat was being added to the previous cheat's action list.
New source/binary:
source
binary
Bugfinder
Posts: 168
Joined: Tue Sep 25, 2001 1:00 am
Location: Rio de Janeiro, Brasil

Re: Cheat Engine Update

Post by Bugfinder »

ianpatt wrote:Also, the cheat that wasn't loading correctly was being caused by an incorrectly defined cheat - the link flag was set, so the cheat was being added to the previous cheat's action list.
OK, it's confirmed - fixed. Could you please explain me this (copy and paste from one of my older posts):
Bugfinder wrote:"You have created a "force range" cheat that if I understand correctly, will automatically limit the value in a location to be between x and y.

Can it be used together with increment / decrement cheats so when a value reaches the maximum limit, it automatically returns to the minimum and vice-versa? An example:

I have a cheat activated by a key, it will increment by one the number in a given location. It should be only between 0x07 and 0x23, if the value exceeds 0x23 then returns to 0x07. It seems to me that applying a "force range" cheat will only stop the value at 0x23, not wrapping it to the minimum value 0x07, is it correct?

If my understanding is correct, is there a workaround to this with current version of new cheat engine?

By the way, I can't enter the maximum range value - it highlights but can't be changed, stays the same as minimum. And if I put the menu arrow on "range minimum" or "range maximum" and press the right arrow 3 times (as increasing the value) it will increase by one the first time and won't change anymore - it seems the other times I pressed the arrow key were stored in memory. Then I press arrow left 3 times and the first 2 times won't change anything, only the third time will have effect.

Also "force range" cheats are saved but don't load. And I couldn't understand the use for "data" and "user select" toggle in this cheat type.
I still can't enter "maximum range", it's always the same as "minimum range". What's the "data" field for? Since the ranges don't differ I can't work it out and guess by myself, old trial-and-error method :-)

The bug I mentioned (pressing left/right arrow on maximum/minimum range) is still present, as the value doesn't always change when you press left or right.
Bugfinder
------------------------------------------
If there's a bug, I'm gonna find it!
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 »

The force range cheat was a request of mine, and I had to fight to get it ;-) I wanted it for Arkanoid particularly as well as a way of getting an increment cheat to work within a range of values), it's first purpose can be seen in this cheat (in the cheat file already):-

:arkanoid:00000010:0000C4A5:E2:000000E4:Always Keep One Ball in Play

The range is 00-E4 if theball goes past the bat it becomes >E4 when the cheat engine sense this it will poke it back to E2 effectively making the ball bounce in a wave till you hit it. What you have to do is to change the poke value :-

SO if you have an incrementing cheat (21,22,23,24 (changed to 07 by the cheat engine), 8,9 etc) you would have something like this for the force range part :-

:gamename:00000010:0000FCE2:07:00000723:This will force the location back to 07 if it goes out of range.

or with a decrementing cheat (9,8,7,6 (changed to 23 by cheat engine), 22,21 ) you would have something like:-

:gamename:00000010:0000FCE2:23:00000723:This will force the location back to 23 if it goes out of range.


If you tell me what you are trying to do with the game and the cheats perhaps I can help you out - hopefully the above will make sense to you - I've only mentioned the force range part you will need to add it to the increment cheat either directly or by a multipart cheat.
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

Post by ianpatt »

Here's an example for gradius:

Code: Select all

:gradius:00000009:07080E:00000001:00000100:increase speed
:gradius:00010011:07080E:00000001:00000106:increase speed
The first cheat increases the speed variable, then the second cheat resets it to the minimum when it goes out of range. If you don't want the value to wrap around, just set the data field of the "force range" cheat to the maximum value instead of the minimum.
User avatar
ianpatt
Posts: 336
Joined: Sat Sep 22, 2001 1:00 am
Location: San Francisco, CA

Re: Cheat Engine Update

Post by ianpatt »

Bugfinder wrote:I still can't enter "maximum range", it's always the same as "minimum range". What's the "data" field for? Since the ranges don't differ I can't work it out and guess by myself, old trial-and-error method :-)

The bug I mentioned (pressing left/right arrow on maximum/minimum range) is still present, as the value doesn't always change when you press left or right.
Fixed. The data field is used as a "reset value" - if the value read is out of the range, the cheat stores the data field to the memory address.
Bugfinder
Posts: 168
Joined: Tue Sep 25, 2001 1:00 am
Location: Rio de Janeiro, Brasil

Re: Cheat Engine Update

Post by Bugfinder »

Now I get it, thanks Martin & Ian. OK, let's take this as an example:

Code: Select all

:sf2ce:00000009:FF864F:00000001:FFFFFFFF:Increase character number PL1
:sf2ce:00000010:FF864F:00000000:0000000B:Between 00 and 0B, wrap around (0C -> 00)
I activate the second cheat and when I increase the character number and it exceeds 0B, it goes back to 00. Nice! But if the cheats are these:

Code: Select all

:sf2ce:00040009:FF864F:00000001:FFFFFFFF:Decrease character number PL1
:sf2ce:00000010:FF864F:0000000B:0000000B:Between 00 and 0B, wrap around (FF -> 0B)
I can't make decreasing cheat wrap around to 0B. My mistake? I think perhaps the boundary set to decreasing cheat (FFFFFFFF) forbids the number to go below 0 and right after go to 0B... If so, decreasing the boundary to FFFFFFFE should work, but it doesn't even activate the cheat. Help?
Bugfinder
------------------------------------------
If there's a bug, I'm gonna find it!
User avatar
ianpatt
Posts: 336
Joined: Sat Sep 22, 2001 1:00 am
Location: San Francisco, CA

Re: Cheat Engine Update

Post by ianpatt »

Bugfinder wrote:I can't make decreasing cheat wrap around to 0B. My mistake? I think perhaps the boundary set to decreasing cheat (FFFFFFFF) forbids the number to go below 0 and right after go to 0B... If so, decreasing the boundary to FFFFFFFE should work, but it doesn't even activate the cheat. Help?
Hmm. The add/subtract comparison is unsigned, so right now it will *never* wrap around from 00 -> FF. Most likely I'll just make the comparison signed, which will fix the problem.
Bugfinder
Posts: 168
Joined: Tue Sep 25, 2001 1:00 am
Location: Rio de Janeiro, Brasil

Re: Cheat Engine Update

Post by Bugfinder »

ianpatt wrote:Hmm. The add/subtract comparison is unsigned, so right now it will *never* wrap around from 00 -> FF. Most likely I'll just make the comparison signed, which will fix the problem.
Do you think this will generate any consistency problems with other cheat methods?
Bugfinder
------------------------------------------
If there's a bug, I'm gonna find it!
User avatar
ianpatt
Posts: 336
Joined: Sat Sep 22, 2001 1:00 am
Location: San Francisco, CA

Re: Cheat Engine Update

Post by ianpatt »

Bugfinder wrote:
ianpatt wrote:Hmm. The add/subtract comparison is unsigned, so right now it will *never* wrap around from 00 -> FF. Most likely I'll just make the comparison signed, which will fix the problem.
Do you think this will generate any consistency problems with other cheat methods?
It only changes the add/subtract action, so it shouldn't break anything. I don't think anyone's done any 32 bit add/subtract cheats...
kelvSYC
Posts: 1121
Joined: Thu Sep 27, 2001 1:00 am
Location: Calgary, AB, Canada

Post by kelvSYC »

After some testing, I found that one "junk cheat" is made when you set two or more watchpoints in a row without exiting the watchpoints menu.

Hope that it helps...
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 »

Sorry, my mistake. It's when you are setting a watchpoint for an address containing the letter "A".
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

Post by ianpatt »

kelvSYC wrote:Sorry, my mistake. It's when you are setting a watchpoint for an address containing the letter "A".
Now the bug makes sense! In the watch editing dialog, I wasn't disabling the Add/Delete/Watch/Save keys when the hex editor was active, so typing addresses with As or Ds would have side effects. Fixed - sorry I didn't catch this sooner.
Locked