Did you already know? I don't remember reading about it in these forums. I posted it because I thought it wasn't known.ianpatt wrote:Yes. Conflict checking became much more difficult when the cheat format changed; I'll probably add it back later.
WIP Again (continued)
Re: Does this happen to you?
Bugfinder
------------------------------------------
If there's a bug, I'm gonna find it!
------------------------------------------
If there's a bug, I'm gonna find it!
Re: Does this happen to you?
Yes. It's been in the TODO list for a while.Bugfinder wrote:Did you already know? I don't remember reading about it in these forums. I posted it because I thought it wasn't known.ianpatt wrote:Yes. Conflict checking became much more difficult when the cheat format changed; I'll probably add it back later.
Need an explanation about bit searching
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!
------------------------------------------
If there's a bug, I'm gonna find it!
Re: Need an explanation about bit searching
Fixed.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.
Add this after each case statement at the end of DoSearchMenuClassic (line 4595) except case kMenu_Bit:
Code: Select all
search->bytes = kSearchSize_8Bit;
Thanks Ian; could you please explain me this?
I'd like to have an working example of this kind of cheat:
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
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)
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!
------------------------------------------
If there's a bug, I'm gonna find it!
-
- Posts: 163
- Joined: Wed Sep 19, 2001 1:00 am
- Location: UK
- Contact:
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'?
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'?
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)
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?
The New Move List Cheat Collection - http://mamecheat.co.uk/forums/viewtopic.php?p=6469
Underscore Command - What better game is there?
Re: Thanks Ian; could you please explain me this?
Fixed. The bounds-checking logic was broken if the bound was 0x00000000 for subtract or 0xFFFFFFFF for addition. (basically)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.
How are you setting the watchpoint? (ie. which menu are you in, what do you press)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)".
Nice!
OK! I'm online right now as you post these messagesianpatt wrote:Fixed. The bounds-checking logic was broken if the bound was 0x00000000 for subtract or 0xFFFFFFFF for addition. (basically)
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!
------------------------------------------
If there's a bug, I'm gonna find it!
Fixed.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.
It probably works better to have watches be automatically removed when the associated cheat is disabled. Added.Tourniquet wrote:Also, disabling a watch-cheat does nothing. Would it be more sensible to make watch cheats a 'set' rather than 'on/off'?
Other questions
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!
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!
------------------------------------------
If there's a bug, I'm gonna find it!
Ian...
...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!
------------------------------------------
If there's a bug, I'm gonna find it!
Re: Ian...
No, will be in next release.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)?
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.ianpatt wrote:How are you setting the watchpoint? (ie. which menu are you in, what do you press)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)".
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?
The New Move List Cheat Collection - http://mamecheat.co.uk/forums/viewtopic.php?p=6469
Underscore Command - What better game is there?
- 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
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)
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
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)
Servicing your cheating needs since 1985
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)
Re: Problem with Prefill
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?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.
- Pugsy
- Posts: 3638
- Joined: Fri Aug 17, 2001 12:59 am
- Location: North Wales, UK.
- Has thanked: 1 time
- Been thanked: 12 times
- Contact:
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):-
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:-
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
Code: Select all
boblbobl:0:E64B:FF:021:Select starting round (1|2)
boblbobl:0:E64B:63:061:Select starting round (2|2)
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
Hope that explains it......seems to be clear as mud
Pugsy
Servicing your cheating needs since 1985
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)
Servicing your cheating needs since 1985
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)