RE: Yeaay I got it, Some UltraWide Patch for 21:9 Phone/Monitor



The variable that sets something might just as well:

- be written constantly which requires refreshing cheat engine very fast and that's extremely inefficient to the point of slowing down real PSP(seriously;p),

- NEVER be stored in memory, just written by game code into register and instantly used afterwards, so if you're searching for 0x3FE1E1E2, it could be set by for example "lui a0, 0x3FE2", followed by "addiu a0,a0,-0x1E1E",

- it could never be stored the way you assume so for example not a ratio, but X and Y separately which then game just uses to calculate ratio, in such case it could also be stored as integer instead of floating point as the conversion between integer and floating point is pretty common in PSP games,

- or could be affecting more things, an example of that is well visualized in



It's also not always safe since game can store different things at different time and the cheat might work fine for a while and then you realize it broke things, in extreme cases even break savedata as it does with some Patapon 3 cheats, more often it will just crash or cause glitches through.



Unfortunately PPSSPP memory allocation isn't working as on real PSP yet, even if it's very close each improvement might stop all patches changing variables stored in memory from working, cheats which patch game code are way safer from be affected by such changes.



In PPSSPP disassembly you need slightly different address than in CWCheat format that's why my cheat table outputs disassembly address when generating a cheat, once there you can set a new "memory breakpoint" on that address and check what game code writes/reads to/from that location and with that, if you know mips assembly, you can do pretty much whatever you want as then you enter the world of programming and the best part is when you finish, the game will see that code as it's own and just run it much faster and safer than cheat engine blindly re-writing some variable could.











On a side note if such patches becomes popular and there are more "standards" of ultra wide screens(aka if they don't have standards) I guess we could create a PPSSPP specific CWCheat that would detect user screen resolution or ratio and allow creating cheats that automatically set correct ratio for different displays. I recently added a PPSSPP specific CWCheat type which allows patching the game with xinput gamepads vibration, but left enough unused bits to reuse same cheat type(0xA) with a bunch more flags for more PPSSPP-specific features. No althrough that's possible afterwards, I mean making a cheat which modifies game code, those can either just modify existing game code or be a script on their own and just hook into existing game code to be executed by the game.The variable that sets something might just as well:- be written constantly which requires refreshing cheat engine very fast and that's extremely inefficient to the point of slowing down real PSP(seriously;p),- NEVER be stored in memory, just written by game code into register and instantly used afterwards, so if you're searching for 0x3FE1E1E2, it could be set by for example "lui a0, 0x3FE2", followed by "addiu a0,a0,-0x1E1E",- it could never be stored the way you assume so for example not a ratio, but X and Y separately which then game just uses to calculate ratio, in such case it could also be stored as integer instead of floating point as the conversion between integer and floating point is pretty common in PSP games,- or could be affecting more things, an example of that is well visualized in this issue where some old game patch kind of doing the opposite of what ultra-wide'rs want was changing too much and dirties right side with nearest colors, meanwhile my own patch always worked fine.It's also not always safe since game can store different things at different time and the cheat might work fine for a while and then you realize it broke things, in extreme cases even break savedata as it does with some Patapon 3 cheats, more often it will just crash or cause glitches through.Unfortunately PPSSPP memory allocation isn't working as on real PSP yet, even if it's very close each improvement might stop all patches changing variables stored in memory from working, cheats which patch game code are way safer from be affected by such changes.In PPSSPP disassembly you need slightly different address than in CWCheat format that's why my cheat table outputs disassembly address when generating a cheat, once there you can set a new "memory breakpoint" on that address and check what game code writes/reads to/from that location and with that, if you know mips assembly, you can do pretty much whatever you want as then you enter the world of programming and the best part is when you finish, the game will see that code as it's own and just run it much faster and safer than cheat engine blindly re-writing some variable could.On a side note if such patches becomes popular and there are more "standards" of ultra wide screens(aka if they don't have standards) I guess we could create a PPSSPP specific CWCheat that would detect user screen resolution or ratio and allow creating cheats that automatically set correct ratio for different displays. I recently added a PPSSPP specific CWCheat type which allows patching the game with xinput gamepads vibration, but left enough unused bits to reuse same cheat type(0xA) with a bunch more flags for more PPSSPP-specific features. 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.