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