Post Reply 
 
Thread Rating:
  • 1 Votes - 5 Average
  • 1
  • 2
  • 3
  • 4
  • 5
Jokker command support suggestion for the cheats.
01-10-2015, 05:37 PM (This post was last modified: 01-10-2015 11:02 PM by Melkor.)
Post: #1
Jokker command support suggestion for the cheats.
Edit :

Tried with correct format still problems.
Find all posts by this user
Quote this message in a reply
01-10-2015, 06:55 PM
Post: #2
RE: Jokker command support suggestion for the cheats.
(01-10-2015 05:37 PM)Melkor Wrote:  (...)
E001004 20354321 is a conditional address.
Entering it in the emulator cheats will make it think of it as exactly going to the KERNEL yes Kernel address E001004.
(...)
D00XXXX XXXXXXXX as a jokker and not change the address it normally writes to.
(...)

Kernel has just 8mb reserved before user memory, not after. Your codes in the examples you posted has to few digits making it incorrect even if you add proper cw cheat formatting, it has nothing to do with cw cheat support being broken, I use conditional codes all the time in pretty much every asm cheat, hack or patch I make.

http://forums.ppsspp.org/showthread.php?tid=6594 - Custom PPSSPP Shaders!
http://forums.ppsspp.org/showthread.php?tid=3590&pid=117172#pid117172 - simple CE scripts to help creating CWCheats,
https://github.com/LunaMoo/PPSSPP_workarounds - CWCheat workarounds.
Find all posts by this user
Quote this message in a reply
01-10-2015, 07:07 PM (This post was last modified: 01-10-2015 07:26 PM by Melkor.)
Post: #3
RE: Jokker command support suggestion for the cheats.
(01-10-2015 06:55 PM)LunaMoo Wrote:  
(01-10-2015 05:37 PM)Melkor Wrote:  (...)
E001004 20354321 is a conditional address.
Entering it in the emulator cheats will make it think of it as exactly going to the KERNEL yes Kernel address E001004.
(...)
D00XXXX XXXXXXXX as a jokker and not change the address it normally writes to.
(...)

Kernel has just 8mb reserved before user memory, not after. Your codes in the examples you posted has to few digits making it incorrect even if you add proper cw cheat formatting, it has nothing to do with cw cheat support being broken, I use conditional codes all the time in pretty much every asm cheat, hack or patch I make.

Sorry i missed a digit and you should have guessed that.
Then if you know so much tell me why this code freezes the emulator while on my real PSP it works flawlessly!

_C0 Play as Young Emperor
_L 0xE1FE0001 0x0047EB95
_L 0xE0043F81 0x0002A370
_L 0xE1030000 0x0147F8C4
_L 0xE1020001 0x01414688
_L 0x51414510 0x00000028
_L 0x01414830 0x00000000
_L 0xD0000001 0x10000140
_L 0x1002A370 0x00003F80
_L 0xD0000001 0x10000210
_L 0x1002A370 0x00003F81
_L 0xE001017C 0x0147F61E
_L 0x1147F61E 0x00000008
_L 0xE1030000 0x0147F8C4
_L 0xE1020090 0x21414524
_L 0x217FFFF8 0x00000000
_L 0x10102868 0x00000000
_L 0x1147F566 0x00003300
_L 0x01414835 0x00000001
_L 0x01414515 0x00000001
_L 0x01460414 0x00000039
_L 0x0145CBA8 0x0000006F
_L 0x01414660 0x0000003A
_L 0x0145CC40 0x00000039.
_L 0x0147F592 0x0000000C
_L 0x0147F593 0x00000006
_L 0x0147F5A3 0x00000005
_L 0x1147F5A0 0x0000004D
_L 0xE1010095 0x21414524
_L 0x014145A2 0x00000000
_L 0x214136A8 0x63636366
_L 0xE0FF0161 0x10478E6C
_L 0xE1010000 0x0147F8C4
_L 0x2141451C 0x028C028C
_L 0xE0053F7F 0x10105C40
_L 0xE1010065 0x31460474
_L 0x11460474 0x00000039
_L 0x21460472 0x00400040
_L 0xE1010000 0x0147F8C4
_L 0x21414528 0x09C08FB0
_L 0xE0053F7F 0x00105C40
_L 0x214604A2 0x00400040
_L 0xE1010065 0x314604A4
_L 0x214604A4 0x00000039
_L 0xE1010000 0x0147F8C4
_L 0x21414528 0x09C09000
_L 0xE0053F7E 0x0002A370
_L 0x014148C6 0x0000000A
_L 0x114145A6 0x00000010
_L 0xE1020023 0x21414524
_L 0xE1010015 0x31414524
_L 0x014145A6 0x00000004
_L 0xE1D80000 0x0147F8C4
_L 0x014136B4 0x000000B1
_L 0x2141369C 0x00000000
_L 0x2141451C 0x028C028C
_L 0xE10200AE 0x01414524
_L 0x217FFFF8 0x00000009
_L 0x01414524 0x000000BD
_L 0xE1010080 0x01414524
_L 0x01414524 0x0000000B
_L 0xE10300B2 0x01414524
_L 0xE00240B0 0x314145F6
_L 0x01414524 0x000000BD
_L 0x114145F6 0x00004288
_L 0xE102000B 0x01414524
_L 0xE00140C0 0x314145F6
_L 0x114145F6 0x00000000
_L 0xE1060040 0x2147F591
_L 0xE1050040 0x2147F592
_L 0xE1040040 0x2147F593
_L 0xE1030040 0x2147F590
_L 0xE10200B0 0x01414524
_L 0xE0014310 0x314145F6
_L 0x01414524 0x00000016
_L 0xE10200A7 0x01414524
_L 0xE0014223 0x314145F6
_L 0x01414524 0x00000016
_L 0xD0000001 0x10000140
_L 0x1002A370 0x00003F80
_L 0xE1020015 0x21414524
_L 0xD0000001 0x10000110
_L 0x1002A370 0x00003F7E
_L 0xE1FF0000 0x0147F8C4
_L 0xD0000014 0x10001000
_L 0xE1020091 0x01414524
_L 0xE0014100 0x314145F6
_L 0x01414524 0x000000A7
_L 0xE1020092 0x01414524
_L 0x114145F6 0x000041D5
_L 0x01414524 0x000000AD
_L 0xE1020090 0x01414524
_L 0xE0014170 0x314145F6
_L 0x01414524 0x000000C0
_L 0xE10100A2 0x01414524
_L 0x01414524 0x000000AD
_L 0xE1010093 0x01414524
_L 0x01414524 0x000000AD
_L 0xE10100E7 0x01414524
_L 0x217FFFF8 0x00000001
_L 0xE1020094 0x01414524
_L 0x01414524 0x000000AD
_L 0x217FFFF8 0x00000002
_L 0xE10100A1 0x01414524
_L 0x01414524 0x000000AD
_L 0xE1010001 0x0140A854
_L 0x30300001 0x00102868
_L 0xD0000002 0x10001100
_L 0xE10100C1 0x01414524
_L 0x114145F6 0x00003F20
_L 0xD0000007 0x10008100
_L 0xE0030226 0x20102868
_L 0xE1020095 0x01414524
_L 0xE0014206 0x314145F6
_L 0x114145F6 0x0000402C
_L 0xE0020225 0x30102868
_L 0x01414524 0x000000C0
_L 0x10102868 0x00000000


and not to mention this is not the entire code. Just some example of my work. My mods have such a long conditional codes and keys. This one makes a character has additional moves, patches the game to load that character properly without freezing, and then adds another moves to him. It's just the half code for the character.

The problem with PPSSPP is once I try EXXXXXXX XXXXXXXX or DXXXXXXX XXXXXXXX codes it freezes and quits.
Now tell me how do i make joker and conditionals to work. I will be glad to see that. All I need is that. And then I can finally share all my mods with all of you.

As for kernel well when I find a code with Cheat Engine and change the value then go to PPSSPP Memory View it shows my changes quite after the real address in the Kernel Section only.
I was able to fix that by making my code 32bit. Strange case though.

But My real problem are the conditions and jokers.

CWCheat did supported them but the emu CWCheat if it is CWCheat doesn't support those.
So this is my main problem with it.
Find all posts by this user
Quote this message in a reply
01-10-2015, 07:25 PM
Post: #4
RE: Jokker command support suggestion for the cheats.
Do you have actual documentation for the formats? Because just guessing from the examples you post seems kind of tedious.

Also, did you try your codes and then stepped through this function: https://github.com/hrydgard/ppsspp/blob/...t.cpp#L260 to make sure it categorized it wrong? Or did you just assume that?
Find all posts by this user
Quote this message in a reply
01-10-2015, 07:41 PM (This post was last modified: 01-10-2015 07:53 PM by Melkor.)
Post: #5
RE: Jokker command support suggestion for the cheats.
(01-10-2015 07:25 PM)Bigpet Wrote:  Do you have actual documentation for the formats? Because just guessing from the examples you post seems kind of tedious.

Also, did you try your codes and then stepped through this function: ...............

Well didn't understood what you exactly mean but here is what I tried to be sure in what I say

Just this one ... this one

_C0 Play as Young Emperor
_L 0xE1FE0001 0x0047EB95

and once I enabled it the emu crashed.
There are no "ACTION" type codes after it so if proper joker command support was available in the "CWCheat" although CWCheat on real PSP Does support this type of codes, then the emu wouldn't have crashed.

So guess what. Yes I am quite sure that I need the devs to correct this.

This code tells if the value of the address 0047EB95 is 0001 then it will execute FE in Decimal number of codes after it. This is an important patch without it the code may brake the game. So I wanted to test if There is no issue with the CWCheat support and that IT ISN'T BROKEN at all but I hate to be right this time. It doesn't support conditionals and joker commands.

Wish It worked and I was wrong. I would have been happy to see I can port all my work on the PSP Scene to the PSP Emulator....

edit saw the source code you posted...

tried to see if _L 0xD0000002 0x10001100 will work and just enabling only this code and the emu crashed.

Maybe if you are right the emu should have it's own way of conditional addresses.
I have only been using CWCheat and Free Cheat mostly. On Free Cheat everything works without a problem even the code locking interval can be decreased to freeze codes and not allow the game to change them....
If you know the correct IF there are some Correct types of codes can you share them.


For example how to make condition for IF Value of Address Equal to 1234 then Execute XX codes after that.
You know what I mean. Surely you know the conditional types of codes.
Find all posts by this user
Quote this message in a reply
01-10-2015, 07:49 PM (This post was last modified: 01-10-2015 07:53 PM by Bigpet.)
Post: #6
RE: Jokker command support suggestion for the cheats.
Alright, I'm not saying it's not broken, I'm asking you to tell us how it's broken (edit: because reading the code by itself I can't find out how "E0010004 20354321" could possibly write to or read from "E0010004" as you said it did). What I was asking you to do is to start PPSSPP with a debugger (presumably Visual Studio under Windows or gdb under Linux) load one of the codes that you think should work and step through the cwcheat function to see where it goes wrong.

Most of the devs here don't the have intimate knowledge of cwcheat that you claim to have, so it would presumably be a lot easier for you to find out what's wrong.
Find all posts by this user
Quote this message in a reply
01-10-2015, 08:00 PM
Post: #7
RE: Jokker command support suggestion for the cheats.
Maybe I could guess it, if you didn't imply that it takes code type as part of address, which can only happen if you actually miss a digit:].

I don't know what exactly you do, but if you use CE you have to calculate the address either based on info where ppsspp allocates memory(that shows in the log when first game is ran) adding 8mb to it, or by your own aob scan/pointer since it'll be different every time you run ppsspp.
If you just open memory dumps from CE, then you probably start in CE from 0, but since you dump only user memory, it'll ofc start from 0x08800000 in memory viewer, althrough I'm not sure about those dumps, since using them is slow and removes all benefits from using emulator that runs game in real time, so I don't use such methods.

Also, no clue if your cheat changes just some variables or asm since it can be either from looking at it, but if it's the latter then when you use JIT the game will only see the change in the code when you leave cheat menu(that clears JIT), use savestates(which does same thing) or when game changes it's own code around it. So if you want to change asm by for example key combinations, while still using JIT, you have to write your own asm script that will branch based on variable change and change only that by the code.

Last but not least, if you use such code: _L 0xE1FE0001 0x0047EB95 it says to run 1FE lines when value at 47EB95 is equal to 0001 your cheat does not have such amount of lines, so it might skip or run other cheats you have on the list as well, possibly causing some of them to execute partially which is easy way for a crash. Generally ppsspp cw cheat implementation is very direct from the standard and does not assume person making cheats not keeping those standards.:]

http://forums.ppsspp.org/showthread.php?tid=6594 - Custom PPSSPP Shaders!
http://forums.ppsspp.org/showthread.php?tid=3590&pid=117172#pid117172 - simple CE scripts to help creating CWCheats,
https://github.com/LunaMoo/PPSSPP_workarounds - CWCheat workarounds.
Find all posts by this user
Quote this message in a reply
01-10-2015, 08:12 PM (This post was last modified: 01-10-2015 08:16 PM by Melkor.)
Post: #8
RE: Jokker command support suggestion for the cheats.
(01-10-2015 07:49 PM)Bigpet Wrote:  Alright, I'm not saying it's not broken, I'm asking you to tell us how it's broken (edit: because reading the code by itself I can't find out how "E0010004 20354321" could possibly write to or read from "E0010004" as you said it did). What I was asking you to do is to start PPSSPP with a debugger (presumably Visual Studio under Windows or gdb under Linux) load one of the codes that you think should work and step through the cwcheat function to see where it goes wrong.

Most of the devs here don't the have intimate knowledge of cwcheat that you claim to have, so it would presumably be a lot easier for you to find out what's wrong.

(01-10-2015 08:00 PM)LunaMoo Wrote:  Maybe I could guess it, if you didn't imply that it takes code type as part of address, which can only happen if you actually miss a digit:].

I don't know what exactly you do, but if you use CE you have to calculate the address either based on info where ppsspp allocates memory(that shows in the log when first game is ran) adding 8mb to it, or by your own aob scan/pointer since it'll be different every time you run ppsspp.
If you just open memory dumps from CE, then you probably start in CE from 0, but since you dump only user memory, it'll ofc start from 0x08800000 in memory viewer, althrough I'm not sure about those dumps, since using them is slow and removes all benefits from using emulator that runs game in real time, so I don't use such methods.

Also, no clue if your cheat changes just some variables or asm since it can be either from looking at it, but if it's the latter then when you use JIT the game will only see the change in the code when you leave cheat menu(that clears JIT), use savestates(which does same thing) or when game changes it's own code around it. So if you want to change asm by for example key combinations, while still using JIT, you have to write your own asm script that will branch based on variable change and change only that by the code.

Last but not least, if you use such code: _L 0xE1FE0001 0x0047EB95 it says to run 1FE lines when value at 47EB95 is equal to 0001 your cheat does not have such amount of lines, so it might skip or run other cheats you have on the list as well, possibly causing some of them to execute partially which is easy way for a crash. Generally ppsspp cw cheat implementation is very direct from the standard and does not assume person making cheats not keeping those standards.:]

mate
i just tried JUST this

_C0 Test Jokker
_L 0xD0000002 0x10001100
_L 0x21414528 0x09C08FD8
_L 0x21414528 0x09C08FD8

and the game froze just for the DXXXXXXX code.
Tried it with EXXXXXXX XXXXXXXX conditional and again it froze.
Well my codes do work every time the game is loaded. They aren't DMA as you say.

I tried to fix the FE part with the actual number of needed code lines after the code but to no avail. Sad

Maybe the only solution will be Plugin loader. PRX Loader.
I remember Free Cheat on PSP can load directly PRX Plugins as Thread Manager without the need to stop the game.
If only a .prx load support is made to the emu... it would be the best support for everyone wanting to have mods, english patches , custom plugins etc.
Find all posts by this user
Quote this message in a reply
01-10-2015, 08:19 PM
Post: #9
RE: Jokker command support suggestion for the cheats.
_L 0xD0000002 0x10001100 this runs 3 lines of codes afterTongue since in this code type it runs number of lines you put +1 along the standard.
I actually have no clue what will happen if you put more lines than the code has since I never do it, it might as well be unhandled and crash.

http://forums.ppsspp.org/showthread.php?tid=6594 - Custom PPSSPP Shaders!
http://forums.ppsspp.org/showthread.php?tid=3590&pid=117172#pid117172 - simple CE scripts to help creating CWCheats,
https://github.com/LunaMoo/PPSSPP_workarounds - CWCheat workarounds.
Find all posts by this user
Quote this message in a reply
01-10-2015, 08:25 PM (This post was last modified: 01-10-2015 08:26 PM by Melkor.)
Post: #10
RE: Jokker command support suggestion for the cheats.
(01-10-2015 08:19 PM)LunaMoo Wrote:  _L 0xD0000002 0x10001100 this runs 3 lines of codes afterTongue since in this code type it runs number of lines you put +1 along the standard.
I actually have no clue what will happen if you put more lines than the code has since I never do it, it might as well be unhandled and crash.

lol mate I am telling you that the emu crashes just for the code being enabled...

Can you try a joker command or conditional yourself and checkout if it works.
Thanks.
Smile

BTW I don't see where are those 3 lines required.
I see the code needs 2 = 2 not 3 Smile
Find all posts by this user
Quote this message in a reply
01-10-2015, 08:29 PM
Post: #11
RE: Jokker command support suggestion for the cheats.
It needs 2, but you put 2 there "_L 0xD00000nn" but in this code number of lines is nn+1 and so the code tries to run 3 lines, if that's unhandled, it probably is the cause of the crash.

http://forums.ppsspp.org/showthread.php?tid=6594 - Custom PPSSPP Shaders!
http://forums.ppsspp.org/showthread.php?tid=3590&pid=117172#pid117172 - simple CE scripts to help creating CWCheats,
https://github.com/LunaMoo/PPSSPP_workarounds - CWCheat workarounds.
Find all posts by this user
Quote this message in a reply
01-10-2015, 08:31 PM
Post: #12
RE: Jokker command support suggestion for the cheats.
(01-10-2015 08:29 PM)LunaMoo Wrote:  It needs 2, but you put 2 there "_L 0xD00000nn" but in this code number of lines is nn+1 and so the code tries to run 3 lines, if that's unhandled, it probably is the cause of the crash.

alright post the correct format and I will try it out.
And I pray YOU ARE RIGHT So everything here works and I can finally use my mods on the emu....

Just tell me the correct format of my code .
Find all posts by this user
Quote this message in a reply
01-10-2015, 08:35 PM
Post: #13
RE: Jokker command support suggestion for the cheats.
I tried it, it's like LunaMoo said

This crashes because it tries to skip 3 but there's only 2

_C0 Test Jokker
_L 0xD0000002 0x10001100
_L 0x21414528 0x09C08FD8
_L 0x21414528 0x09C08FD8

but this doesn't crash for me:

_C0 Test Jokker
_L 0xD0000002 0x10001100
_L 0x21414528 0x09C08FD8
_L 0x21414528 0x09C08FD8
_L 0x21414528 0x09C08FD8
Find all posts by this user
Quote this message in a reply
01-10-2015, 08:39 PM (This post was last modified: 01-10-2015 08:42 PM by Melkor.)
Post: #14
RE: Jokker command support suggestion for the cheats.
(01-10-2015 08:35 PM)Bigpet Wrote:  I tried it, it's like LunaMoo said

This crashes because it tries to skip 3 but there's only 2

_C0 Test Jokker
_L 0xD0000002 0x10001100
_L 0x21414528 0x09C08FD8
_L 0x21414528 0x09C08FD8

but this doesn't crash for me:

_C0 Test Jokker
_L 0xD0000002 0x10001100
_L 0x21414528 0x09C08FD8
_L 0x21414528 0x09C08FD8
_L 0x21414528 0x09C08FD8
hmmm I am an old veteran for years and not to notice this.
But then why doesn't this crash on real psp... maybe different programming on the emu compared to the plugins...yes.

Well I shall then try to fix everything... and see if it works.
GOSH I HOPE I DID MISTAKE here and I will take one big beer if everything is ok.

Cheers! Hope I am wrong here.

Lazy dev I am. Never correctly formatted my work.

Thanks for the advice.
So in this case 2 = 3 ?
That's great.

How should then
E0100004 01234567
12345678 12345678

is this correct or there should be two lines?
Find all posts by this user
Quote this message in a reply
01-10-2015, 08:42 PM
Post: #15
RE: Jokker command support suggestion for the cheats.
Yeah, I don't know, I asked you for documentation, because I can't find good documentation, but yeah what I found is this: http://raing3.gshi.org/psp-utilities/?ac.../CodeTypes

and it does say
Quote:If not, the next YY+1 lines are not executed
Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump: