WIP Again (continued)

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.
Bugfinder
Posts: 168
Joined: Tue Sep 25, 2001 1:00 am
Location: Rio de Janeiro, Brasil

Re: Does this happen to you?

Post by Bugfinder »

ianpatt wrote:Yes. Conflict checking became much more difficult when the cheat format changed; I'll probably add it back later.
Did you already know? I don't remember reading about it in these forums. I posted it because I thought it wasn't known.
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: Does this happen to you?

Post by ianpatt »

Bugfinder wrote:
ianpatt wrote:Yes. Conflict checking became much more difficult when the cheat format changed; I'll probably add it back later.
Did you already know? I don't remember reading about it in these forums. I posted it because I thought it wasn't known.
Yes. It's been in the TODO list for a while.
Bugfinder
Posts: 168
Joined: Tue Sep 25, 2001 1:00 am
Location: Rio de Janeiro, Brasil

Need an explanation about bit searching

Post by Bugfinder »

After I start a status search, I can only search for 0 and 1 (no more values in the range 00-ff). If I change my mind and want to search for other values, I need to quit emulation and restart. This didn't happen in the older cheat engine.
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: Need an explanation about bit searching

Post by ianpatt »

Bugfinder wrote:After I start a status search, I can only search for 0 and 1 (no more values in the range 00-ff). If I change my mind and want to search for other values, I need to quit emulation and restart. This didn't happen in the older cheat engine.
Fixed.

Add this after each case statement at the end of DoSearchMenuClassic (line 4595) except case kMenu_Bit:

Code: Select all

search->bytes =			kSearchSize_8Bit;
Bugfinder
Posts: 168
Joined: Tue Sep 25, 2001 1:00 am
Location: Rio de Janeiro, Brasil

Thanks Ian; could you please explain me this?

Post by Bugfinder »

I'd like to have an working example of this kind of cheat:

Code: Select all

operation (combined with operation extend bit)
   [extend = 0]
   00 =    write with mask
   01 =    add/subtract
   10 =    force range
   11 =    set/clear bits (for relative address mode)
I have experimented some increment / decrement cheats. Is that "boundary" meant to be a limit (sorry, English is not my first)? For example, I have a number in a location and can decrement it via cheat, but it should only decrement until that value is reached, right?

This one instead of decrement by one, put 0xFF. Curiously, I can make it on the cheat engine and save, but it's not loaded when I restart the game??

:1942:00050009:E011:00000001:FFFFFFFF:Decrement credit

Minimum boundaries of FFFFFFFF and similar numbers get stuck on these numbers. Boundary of 00000000 doesn't stop at this, they continue to be decremented. Boundaries of 1 and up are respected.

Thanks for the attention
Bugfinder
------------------------------------------
If there's a bug, I'm gonna find it!
Tourniquet
Posts: 163
Joined: Wed Sep 19, 2001 1:00 am
Location: UK
Contact:

Post by Tourniquet »

Ian, I've noticed some strangeness w.r.t watchpoints.
Hitting 's' on a watchpoint saves it, but the length saved appears to be incorrect.

i.e I'm saving a 32-bit watchpoint of length 4. However it gets saved as a 32-bit watchpoint with length 6?

Also, disabling a watch-cheat does nothing. Would it be more sensible to make watch cheats a 'set' rather than 'on/off'?
kelvSYC
Posts: 1121
Joined: Thu Sep 27, 2001 1:00 am
Location: Calgary, AB, Canada

Post by kelvSYC »

Also, setting watchpoints sometimes adds a new "junk" cheat to the cheat list. For example, adding FF2001 as a watchpoint when it was previously configured as FF1002 might add a cheat with the label "0002FF10=02 (0)".

That is, if you had saved the cheat, it would be:

:gamename:00000000:0002FF10:02:FFFFFFFF:0002FF10=02 (0)
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: Thanks Ian; could you please explain me this?

Post by ianpatt »

Bugfinder wrote:Minimum boundaries of FFFFFFFF and similar numbers get stuck on these numbers. Boundary of 00000000 doesn't stop at this, they continue to be decremented. Boundaries of 1 and up are respected.
Fixed. The bounds-checking logic was broken if the bound was 0x00000000 for subtract or 0xFFFFFFFF for addition. (basically)
User avatar
ianpatt
Posts: 336
Joined: Sat Sep 22, 2001 1:00 am
Location: San Francisco, CA

Post by ianpatt »

kelvSYC wrote:Also, setting watchpoints sometimes adds a new "junk" cheat to the cheat list. For example, adding FF2001 as a watchpoint when it was previously configured as FF1002 might add a cheat with the label "0002FF10=02 (0)".
How are you setting the watchpoint? (ie. which menu are you in, what do you press)
Bugfinder
Posts: 168
Joined: Tue Sep 25, 2001 1:00 am
Location: Rio de Janeiro, Brasil

Nice!

Post by Bugfinder »

ianpatt wrote:Fixed. The bounds-checking logic was broken if the bound was 0x00000000 for subtract or 0xFFFFFFFF for addition. (basically)
OK! I'm online right now as you post these messages :-)

How about this cheat that refuses to load? It was saved from the classic interface and can't be loaded the next time I run the game.

:1942:00050009:E011:00000001:FFFFFFFF:Decrement credit
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

Post by ianpatt »

Tourniquet wrote:Ian, I've noticed some strangeness w.r.t watchpoints.
Hitting 's' on a watchpoint saves it, but the length saved appears to be incorrect.
Fixed.
Tourniquet wrote:Also, disabling a watch-cheat does nothing. Would it be more sensible to make watch cheats a 'set' rather than 'on/off'?
It probably works better to have watches be automatically removed when the associated cheat is disabled. Added.
Bugfinder
Posts: 168
Joined: Tue Sep 25, 2001 1:00 am
Location: Rio de Janeiro, Brasil

Other questions

Post by Bugfinder »

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.

Thank you!
Bugfinder
------------------------------------------
If there's a bug, I'm gonna find it!
Bugfinder
Posts: 168
Joined: Tue Sep 25, 2001 1:00 am
Location: Rio de Janeiro, Brasil

Ian...

Post by Bugfinder »

...does the newly-released 0.60 version contains all fixes including the ones I mentioned above (cheats of specific type being saved but not loading again)?
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: Ian...

Post by ianpatt »

Bugfinder wrote:...does the newly-released 0.60 version contains all fixes including the ones I mentioned above (cheats of specific type being saved but not loading again)?
No, will be in next release.
kelvSYC
Posts: 1121
Joined: Thu Sep 27, 2001 1:00 am
Location: Calgary, AB, Canada

Post by kelvSYC »

ianpatt wrote:
kelvSYC wrote:Also, setting watchpoints sometimes adds a new "junk" cheat to the cheat list. For example, adding FF2001 as a watchpoint when it was previously configured as FF1002 might add a cheat with the label "0002FF10=02 (0)".
How are you setting the watchpoint? (ie. which menu are you in, what do you press)
To me it hapens seemingly randomly. Sometimes it occurs, sometimes it doesn't. This is true for previously adding a cheat with the a key and then setting a watchpoint (ie. not adding a watch cheat), and it is also true for doing nothing and setting a watchpoint.

It also happens (if it happens) twice if you set two watchpoints in a row.

I can't really be too helpful, since I never kept track of the problem.
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: 3638
Joined: Fri Aug 17, 2001 12:59 am
Location: North Wales, UK.
Has thanked: 1 time
Been thanked: 12 times
Contact:

Problem with Prefill

Post by Pugsy »

It appears that Prefill doesn't work. The main problem is that it does nothing. The second problem is when you try to edit the prefill option via the Cheat Engine it only allows you to select between None and 01 - 00 and FF are both missing, however if you hardcode a cheat to Prefill with FF then it only allows you to change it to 00 and back to FF.

To check the cheat you can use this cheat (you will need to watchpoint it though as there is no Stage number on the screen)

Code: Select all

:nwarr:00003303:FF8842:00000009:FFFFFFFF:Select the Starting Stage:Use it before you start playing ie. on the title screen or before you choose a character
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
ianpatt
Posts: 336
Joined: Sat Sep 22, 2001 1:00 am
Location: San Francisco, CA

Re: Problem with Prefill

Post by ianpatt »

Pugsy wrote:It appears that Prefill doesn't work. The main problem is that it does nothing. The second problem is when you try to edit the prefill option via the Cheat Engine it only allows you to select between None and 01 - 00 and FF are both missing, however if you hardcode a cheat to Prefill with FF then it only allows you to change it to 00 and back to FF.
How should it work - I remember being confused about this while writing the core. Should it write the prefill value for one frame, then write the cheat value?
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:

Post by Pugsy »

Why the prefill? I'll explain why I want it. I'll use the game Bobble Bobble as an example with the old cheat engine. At the moment this cheat does what I want it to do (effectively a prefill cheat but needs comments in the cheat file so that people now how to use it):-

Code: Select all

boblbobl:0:E64B:FF:021:Select starting round (1|2)
boblbobl:0:E64B:63:061:Select starting round (2|2)
During the attract mode the level location E64B holds the value 00, which equates to level 1. However if we want to choose the starting level =9 we poke the location with 8 using old cheat type 071....we then go to start the game but the first thing the code does when you start a game is to reset the level location to 00 and so we start on level 1. If we used Cheat type 061 alone it would poke the memory location when it changes....however poking 00 into an address already containing 00 is effectively no change so it won't get poked. However if we couple type 061 with a cheat that'll first make sure that the location contains something other than 00 (FF will be the norm) so when the game code changes the level to 00 the cheat will see the change and poke in the correct chosen level as ff to 00 is a change.

So with a prefill poke it will do the following - pugsy pseudo code follows:-

Code: Select all

Poke E64B, Prefill Value    //on first loop only! - effectively a type 001 cheat

Store E64B Value in X        //lt will remember what's in the address after the prefill poke has been done
Repeat until (e64b) <> X     //keep checking to see if the contents have changed
    do nothing
Poke e64B with chosen value  //poke it...the jobs a good un
There's no need to delay the poking it can be done straight after the prefill has been done - it just needs to make sure that the previous value it holds for the address is the value after the prefill....

Hope that explains it......seems to be clear as mud ;-)
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
ianpatt
Posts: 336
Joined: Sat Sep 22, 2001 1:00 am
Location: San Francisco, CA

Post by ianpatt »

Pugsy wrote:Hope that explains it......seems to be clear as mud ;-)
Makes sense, will add. Thanks for the explanation.
Locked