Posted By: wraggster
Weltall has released a new version of his Cheat App for the PSP, heres the release details:
Here it is a new version of cwcheat: 0.2.1
This version has many interesting functions for both users and code makers/users.
I'll start with the most interesting addition of this version: A dynamic clocker.
What does it do?
Starting with the cpu load, which you can see by enabling it in the setting menu, it will dynamically change the clock of your cpu up and down with up to 8 variables managing it. So you can make new more or less aggresive plans for it, just by editing the cwcheat.ini file.
When the dynamic overcloker triggers, if you have the fps counter enabled you will be able to see also the change in clock. In this way you will be able to gain minutes (maybe hours depending on the game) of gameplay from your battery
Another interesting thing is a fix on the informations functions for > 4gb sticks so you will not get anymore your memory stick space less 4gb.
The memory editor and disassembler were fixed to work in the memory space of the psx in pops mode and not going out of the mapped area, plus now they able to generate correct codes for pops games.
For swedish users thanks to tostoo it's available a new translation for that language.
And last but not less important are major changes in the pointer codes which let you do a pointer copy byte and a multi adress pointer write plus some more addition to the base type. For more informations check the changelog or the cwcheat wiki.
Three important notes, also stated on the changelog:
1) If you use 3.80m33 it's suggested to update to 3.80m33-2 and use the 360- / MS_ROOT builds
2) set bus at 166 if you want the dynamic clocker to be able to go up to 333
3) if you use a language file update it as the old ones won't be compatible anymore
DOWNLOAD
DONATE
ENJOY
Code:
CHANGELOG:
0.2.1 RELEASE
=====================
- [ALL] Added a cpu load counter it can be shown with or in place of the fps counter on the top right. You can enable it from the settings menu.
- [ALL] Added a dynamic clocker. It will change dynamically the cpu clock depending on cpu load. It's extremely flexible thanks to the 8 variables
managing it which can be choosen by editing the cwcheat.ini (the default plan should be quite conservative on higher cpu frequencies but you
can make a more agressive one by choosing correctly the values there). This will be very usefull to increase battery life while keeping the psp
softwares/games/vsh from stuttering. You can enable this by setting the cpu clock as -1 in the main menu.
There are various variables here's the explanation of them and in the ( ) the default value of them:
( 56)INCREASE MHZ - this is how much the frequence will be increased each time
( 33)DECREASE MHZ - this is how much the frequence will be decreased each time
( 80)INCREASE LOAD - when the cpu has a load greather than this the dynamic clocker will be triggered
( 40)DECREASE LOAD - when the cpu has a load less than this the dynamic clocker will be triggered
( 0)INCREASE WAIT - This is the time in seconds (0 = immediate) which the dynamic clocker will wait with the load greather than "INCREASE LOAD"
before changing the clock
( 5)DECREASE WAIT - This is the time in seconds (0 = immediate) which the dynamic clocker will wait with the less load than "DECREASE LOAD"
before changing the clock
( 36)MIN MHZ - This is the minimum mhz the dynamic clocker will be allowed to set, it won't go down more
(333)MAX MHZ - This is the maximum mhz the dynamic clocker will be allowed to set, it won't go up more
- [ALL] If the fps counter is enabled the changes in frequence will be shown if the dynamic clocker is enabled
- [ALL] Various optimizations in the menu in the cpu clock options
- [ALL] Reduced a bit main thread priority
- [ALL] Now it's possible to read data about space available/total correctly on > 4gb memory sticks
- [POPS] Fixed memory manager english strings so they aren't shown anymore as plain black
- [POPS] added proper support in pops in the memory editor. Before it was going out of psx ram area
- [POPS] added proper support in pops in the disassembler. Before it was going out of psx ram area
- [POPS] Added support in the memory editor to generate codes compatibles with the pops cheat engine
- [POPS] Added support in the disassembler to generate codes compatibles with the pops cheat engine
- [ALL] fixed a missing translation in the disassembler
- [ALL] fixed a problem with > 4gb card which may prevent the dump function from working on these sticks
- [ALL] Added swedish translation thanks to tostoo
- [ALL] Fixed a problem in an italian string
- [ALL] Some fixes for 3.80m33
- [GAME] now the nnnn part of pointer codes will be taken in consideration so it must be 1 for normal codes and > 1 for codes with an extra pointer line
- [GAME] Improved pointer codes and added a new codeline to them if nnnn > 1
There are three types of additional codeline.
-The first is the null one, this type is just 0x00000000 0x00000000 and it's used if you want to just use the new qqq part of the pointer codes.
it will add each loop declared by n the q*4 offset to the adress to load the base starting with a. This is usefull if the game
stores pointer near each other.
-The second is the multi adress pointer write. It let you do what was done before with multiadress write codes but with pointers
0x6aaaaaaa 0xvvvvvvvv
0xqqqxnnnn 0xiiiiiiii
0x9sssssss 0xwwwwwwww [works only on n >= 2]
a = adress to load 32bit base from
v = value to store in the calculated position
i = 32-bit offset to add/subtract to base
x = pointer type 0 8bit, 1 16bit, 2 32bit, 3 8bit inverse, 4 16bit inverse, 5 32bit inverse
n = number of times to point (n starts with 1 when the code should do only one loop and so should not have an extra pointer code line),
before this was ignored so there are some invalid codes with 0 here, they won't execute in this case, if in the db, please report
to me else notify who made then. To fix them you just need to place an 1 as last digit eg: 0x00040001
q = offset to add(*4) to a (adress) to load the base from at each loop (n > 1).
s = offset to add(pointer type 0,1,2)/subtract(pointer type 3,4,5) to base each loop (it's valuated like this: base+/-offset*loopnum*bytes(1,2,4))
where loopnum is zero for first loop
w = value to add to v each loop (it's valuated like this: v+loopnum*w) where loopnum is zero for first loop
-The third is the pointer copy byte. This type will change slightly the functionality of the pointer code:
0x6aaaaaaa 0xvvvvvvvv
0xqqqxnnnn 0xiiiiiiii
0x1sssssss 0x00000000
a = adress to load 32bit base from (source)
x = 0 (this is no more pointer type)
v = number of bytes to copy (0 won't copy any byte)
i = 32-bit offset to add to base (source)
q = offset to add to aaaaaaa to load the base(*4) (destination)
n = 2 (this is fixed)
s = 32-bit offset to add to base (destination)
NOTE: texts were updated again so you must update your language file, if you use any.
NOTE2: for 3.80 i suggest updating to at least 3.80m33-2 and using the prx inside 360- / MS_ROOT folder, if you don't want to update use the
371 / MS_ROOT_371 folder
NOTE3: if you want to make the dynamic overclocker work correctly with all the cpu frequences (up to 333mhz) it's suggested to set the bus frequence
to 166 else you will be limited to a maximum in cpu clock(it's just a simple rule don't take this as a perfect comparation) of bus * 2
Download and Give Feedback Via Comments