Post Reply 
 
Thread Rating:
  • 8 Votes - 4.75 Average
  • 1
  • 2
  • 3
  • 4
  • 5
[Discussion] 60FPS patches for PSP games that run at 30FPS
12-13-2016, 08:12 AM
Post: #676
RE: [Discussion] 60FPS patches for PSP games that run at 30FPS
This is an example, there is no universal methods.
I'm guessing you set your breakpoint @sceDisplayWaitVblankStartMultiCB. After the break watch the ra(return address) register on the left. Hit GO button a few times to make sure that ra doesn't get modified(routines(functions) can be called from multiple places). When you press the RA button it just simply takes you to the address which is in the ra register.
At this point simply replacing sceDisplayWaitVblankStartMultiCB with sceDisplayWaitVblankStart or simply nop-ing it would unlock the framerate, but I wanted to see if there is an address that controls the framerate.
If you look at the registers you notice that a0 has value 02, this is suspicious because (60/2=30), so let's see what happens to a0.
@088BB1C0 you see move a0,s0 which means s0 holds that 02(looking at the registers values this is correct).
So now we investigate s0. @088BB1A4 we see move s0,a0. But @088BB1B8 there is jal to a routine which could modify s0. Set a breakpoint @088BB1B8, we step trough it but s0 does not get modified, so be are back to @088BB1A4 move s0,a0.
Three lines above @088BB198 we see the start of the routine, which means that a0 is already set to 02 before we arrive at this routine, so we set a breakpoint @088BB198. Hit go a few times, because the routine could be called from multiple places. We are lucky, it gets called from a single location so hit the RA button.
We arrive @08804698 so again we work backwards and we set a breakpoint @08804690. @08804694 you see li a0,0 but don't get fooled by that because as you probably know MIPS have branch delay slot, which means that an instruction immediately after a branch is executed before the branch is taken.
So we break @08804690 and step trough the code with the StepInto button, you will see a small routine and @088BB270 you get lw a0,0x4908(v0). At this point v0 is 08970000 so a0 gets loaded with the value @09874908. We go to this location and see the 02, we modify it to 01 and the frame is 60.
Sometime is good to look for these values in RAM because there are rare occasions when they influence the speed too besides the framerate. I think one of the Ape Escapes is like that, in the sense that if you the vsync trick the game runs at double speed, but if you modify the ram value it will run @60 with correct timings.

Regarding speed modifiers. 3D graphics involves a lot of math(multiplications, divisions). Modern hardware(including PSP) deals with floating values, older hardware without FPU units we using fixed point values.
Anyway, people usually look for 3f800000(1.0 in float) values in RAM cause you know speed x1. Some time you can search for 4000000(2.0 float). Other time you search for 1/30(3d088889) or 1/60(3c888888 or 3c888889). or 30(41f00000),60(42700000). Some times they are integer form in RAM like 30(1E) or 3C(60) and are converted to float.
Sometimes they are not in RAM and gets loaded directly in registers, example lui at,3F80 then a mtc1 at,f1, this loads at with 3F800000 and then copy it to float register f1.
You should read through the thread, Luna and Kabuto explained these things.

In the case of the akuma hunters I found 8950984 holds a 3F80000, if you modify it to 3F000000(0.5 float) the main character will cover(traverse) distances at normal speed(in 60fps mode), but everything else remains double speed. So probably is worth inspecting which instructions loads this value, maybe you can make a working code.
Good luck.
Find all posts by this user
Quote this message in a reply
12-13-2016, 03:14 PM
Post: #677
RE: [Discussion] 60FPS patches for PSP games that run at 30FPS
Code:
_S ULUS-10410
_G Phantasy Star Portable
_C0 60fps ON
_L 0x00543EEC 0x00000001
_L 0x2056EDBC 0x42700000
_L 0x2056EDC0 0x0000003C
_L 0x2056EDC4 0x3F800000
_L 0x2056EDC8 0x3F000000
_L 0x2056EDCC 0x3C888889
_C1 60fps OFF
_L 0x00543EEC 0x00000002
_L 0x2056EDBC 0x41F00000
_L 0x2056EDC0 0x0000001E
_L 0x2056EDC4 0x40000000
_L 0x2056EDC8 0x3F800000
_L 0x2056EDCC 0x3D088889

I know that there is a code for PhantasySP2 but the character couldn't run, camera rotation was double speed. The code below works better, the two games beeing similar I found the values quickly for PhantasySP2.

Code:
_S ULUS-10529
_G Phantasy Star Portable 2
_C0 60fps ON
_L 0x00630B6C 0x00000001
_L 0x20662FF4 0x42700000
_L 0x20662FF8 0x0000003C
_L 0x20662FFC 0x3F800000
_L 0x20663004 0x3F000000
_L 0x20663008 0x3C888889
_C0 60fps OFF
_L 0x00630B6C 0x00000002
_L 0x20662FF4 0x41F00000
_L 0x20662FF8 0x0000001E
_L 0x20662FFC 0x40000000
_L 0x20663004 0x3F800000
_L 0x20663008 0x3D088889
Find all posts by this user
Quote this message in a reply
12-14-2016, 10:41 AM
Post: #678
RE: [Discussion] 60FPS patches for PSP games that run at 30FPS
Code:
_S ULUS-10127
_G Rengoku 2
_C0 60fps ON
_L 0x200B39DC 0x34040001
_L 0x200A8448 0x3C073F00
_C0 60fps OFF
_L 0x200B39DC 0x34040002
_L 0x200A8448 0x3C073F80
Find all posts by this user
Quote this message in a reply
12-20-2016, 05:01 AM (This post was last modified: 12-20-2016 05:40 AM by pepodmc.)
Post: #679
RE: [Discussion] 60FPS patches for PSP games that run at 30FPS
(03-28-2015 09:55 PM)Kabuto_Kun Wrote:  Introduction.

I hope it is easy enough to understand, but if you have any questions just post them here.


CAN YOU MAKE A 60 FPS CODE FOR CRASH TEAM RACING? (PS1 GAME) PLEASE , THAT GAME AT 60 FPS WOULD BE AWESOME Angel

or for dragon ball tenkaichi tag team?
Find all posts by this user
Quote this message in a reply
12-20-2016, 05:08 AM
Post: #680
RE: [Discussion] 60FPS patches for PSP games that run at 30FPS
(12-13-2016 03:14 PM)solitarius Wrote:  
Code:
_S ULUS-10529
_G Phantasy Star Portable 2
_C0 60fps ON
_L 0x00630B6C 0x00000001
_L 0x20662FF4 0x42700000
_L 0x20662FF8 0x0000003C
_L 0x20662FFC 0x3F800000
_L 0x20663004 0x3F000000
_L 0x20663008 0x3C888889
_C0 60fps OFF
_L 0x00630B6C 0x00000002
_L 0x20662FF4 0x41F00000
_L 0x20662FF8 0x0000001E
_L 0x20662FFC 0x40000000
_L 0x20663004 0x3F800000
_L 0x20663008 0x3D088889

Phantasy Star Portable 2 has never looked so glorious. This.... This changes everything! PSP2 looks like a completely different game now that you can play 60fps on it.

Thank you for the hardwork!
Find all posts by this user
Quote this message in a reply
01-02-2017, 05:59 PM
Post: #681
RE: [Discussion] 60FPS patches for PSP games that run at 30FPS
(11-16-2016 03:38 PM)solitarius Wrote:  
Code:
_S UCUS-98609
_G Ape Escape On The Loose
_C0 60fps ON
_L 0x2000490C 0x00000000
_L 0x2021FA40 0x3F000000
_C0 60fps OFF
_L 0x2000490C 0x0220F809
_L 0x2021FA40 0x3F800000

Tested it on real PSP, and it makes the game run at stable 60 fps.
All scenes run at double speed, except for the loading ones.

I think the game animations and physics might be locked at 30 fps, because this was a port from the PS1, and it was surely programmed to be at 30... Then they programmed the 60 fps loading screens just for psp.

I hope i'm wrong.

Tonight i'll test the Pac-Man World 3 [USA], on real psp.
Find all posts by this user
Quote this message in a reply
01-13-2017, 11:52 PM
Post: #682
RE: [Discussion] 60FPS patches for PSP games that run at 30FPS
Sadly, a few hours parsing through Ace Combat X with Kabuto_Kun's method yielded absolutely nothing. Was unsure about the locking method, so I went through both (6500 entries at Value=1 and 900 at 2), and not even a twitch in the FPS counter, freezes aside. The game appears to only unlock itself during loading screens, so I figured it might not be too difficult to find such a precise entry, but I was wrong.

I will however leave a tip I learned at my own expense, which will probably be obvious to many to perhaps help: start from the bottom of the list, and select a chunk of them by clicking on one entry and Shift+End to select all below - I started manually dragging chunks of 17 entries.
Find all posts by this user
Quote this message in a reply
01-14-2017, 09:50 PM (This post was last modified: 01-14-2017 09:52 PM by Donel.)
Post: #683
RE: [Discussion] 60FPS patches for PSP games that run at 30FPS
Code:
_S ULUS-10551
_G Ys SEVEN
_C0 30 FPS
_L 0x2004FCC0 0xC48098D8
_L 0x203CF5A8 0x00000002
_L 0x2026A770 0x3F7D70A4
_L 0x20088BE0 0x50400002
_C1 60 FPS
_L 0x2004FCC0 0xC48098D0
_L 0x203CF5A8 0x00000001
_L 0x2026A770 0x3EFD70A4
_L 0x20088BE0 0x00000000

All credits go to: http://www.heroesoflegend.org/forums/vie....php?t=278
Find all posts by this user
Quote this message in a reply
01-15-2017, 10:22 AM (This post was last modified: 01-15-2017 10:24 AM by masterotaku.)
Post: #684
RE: [Discussion] 60FPS patches for PSP games that run at 30FPS
There is already an Ys Seven 60fps code in the previous thread page (http://forums.ppsspp.org/showthread.php?...id124754). It's longer, so I suppose it covers more things than the shorter code you posted, although I haven't tried yours.

By the way: can someone do the Crisis Core 60fps code to the European version?
Find all posts by this user
Quote this message in a reply
01-15-2017, 07:30 PM (This post was last modified: 01-15-2017 07:31 PM by Donel.)
Post: #685
RE: [Discussion] 60FPS patches for PSP games that run at 30FPS
Hmm, I hadn't seen the code on the last page, my bad.

The creator of the code I've posted said the only remaining issue is the camera animations, which run at double speed, but maybe he missed other issues.

It would be interesting if someone could compare both to see wich one is better.
Find all posts by this user
Quote this message in a reply
01-16-2017, 02:21 AM (This post was last modified: 01-16-2017 02:23 AM by Rageous.)
Post: #686
RE: [Discussion] 60FPS patches for PSP games that run at 30FPS
(12-09-2016 04:01 PM)solitarius Wrote:  
Code:
_S ULUS-10563
_G Gods Eater Burst
_C0 60 fps ON
_L 0x2026B418 0x00000000 //fps
_L 0xD040B7A4 0x00003F80 //cond to see if are we in base
_L 0x2040B7A4 0x3C013F00 //fix speed in base
_L 0xE0023F80 0x0041A670 //cond to see if are we in field battle
_L 0x2041A670 0x3C013F00 //fix movement speed
_L 0x2041BD74 0x3C013F00 //fix attack speed
_C0 60 fps OFF
_L 0x2026B418 0x00000001
_L 0xD040B7A4 0x00003F00
_L 0x2040B7A4 0x3C013F80
_L 0xE0023F00 0x0041A670
_L 0x2041A670 0x3C013F80
_L 0x2041BD74 0x3C013F80

There's probably a lot more work needed for this. I tested it out and simple things like jumping, evading, guarding, switching, and monsters are still double speed. I'm not sure if you have to do it to every monsters too because that would be tons of work. I tried it on the cutscenes as well and everything rendered is double speed and the sounds are out of sync especially the voices overs because they just get piled up and plays (together with the subs) once the scene goes dark. Also for some reason the lines with comments don't work for me so I just delete the words after //.

Nevertheless GEB looks really good with 60fps on. Thanks for the work!
Find all posts by this user
Quote this message in a reply
01-16-2017, 07:13 AM (This post was last modified: 01-26-2017 08:48 AM by Kabuto_Kun.)
Post: #687
RE: [Discussion] 60FPS patches for PSP games that run at 30FPS
As promised, I made an updated master list with all the FPS cheats I could find on this forum with links pointing to the original posts/authors, so the users can easily find them, get the latest version and read the cheat issues.
You can see it on my signature.

For now it's an external HTML list, but after I finish some corrections it can be posted on the forum or used to update the already available master list.


The cheat for MotorStorm isn't new, the user stranno first posted it here for the EUR release of the game. I'm just porting to other regions with permanent assembly codes and a nice bonus below these.

MotorStorm - Arctic Edge [USA], UCUS98743.ini
Code:
_S UCUS-98743
_G MotorStorm - Arctic Edge [USA]
_C0 60 FPS [Fixed gamespeed]
_L 0xE0060001 0x10278E68
_L 0x200107F0 0x34050001
_L 0x200C303C 0x34040001
_L 0x200C4C3C 0x34040001
_L 0x20278E68 0x00000001
_L 0x2011BF0C 0x3C043F00
_L 0x2029E478 0x3C88AB86
_C0 30 FPS [Default]
_L 0xE0060002 0x10278E68
_L 0x200107F0 0x34050002//FPS,instruction1
_L 0x200C303C 0x34040002//FPS,instruction2
_L 0x200C4C3C 0x34040002//FPS,instruction3
_L 0x20278E68 0x00000002//FPS,value
_L 0x2011BF0C 0x3C043F80//Speed,instruction
_L 0x2029E478 0x3D08AB86//Speed,value
_C0 20 FPS
_L 0xE0060003 0x10278E68
_L 0x200107F0 0x34050003
_L 0x200C303C 0x34040003
_L 0x200C4C3C 0x34040003
_L 0x20278E68 0x00000003
_L 0x2011BF0C 0x3C043FC0
_L 0x2029E478 0x3D4D0148
MotorStorm - Arctic Edge [EUR], UCES01250.ini
Code:
_S UCES-01250
_G MotorStorm - Arctic Edge [EUR]
_C0 60 FPS [Fixed gamespeed]
_L 0xE0060001 0x102794A8
_L 0x20010858 0x34050001
_L 0x200C379C 0x34040001
_L 0x200C539C 0x34040001
_L 0x202794A8 0x00000001
_L 0x2011CDB8 0x3C043F00
_L 0x2029EAB8 0x3C88AB86
_C0 30 FPS [Default]
_L 0xE0060002 0x102794A8
_L 0x20010858 0x34050002//FPS,instruction1
_L 0x200C379C 0x34040002//FPS,instruction2
_L 0x200C539C 0x34040002//FPS,instruction3
_L 0x202794A8 0x00000002//FPS,value
_L 0x2011CDB8 0x3C043F80//Speed,instruction
_L 0x2029EAB8 0x3D08AB86//Speed,Value
_C0 20 FPS
_L 0xE0060003 0x102794A8
_L 0x20010858 0x34050003
_L 0x200C379C 0x34040003
_L 0x200C539C 0x34040003
_L 0x202794A8 0x00000003
_L 0x2011CDB8 0x3C043FC0
_L 0x2029EAB8 0x3D4D0148
MotorStorm - Arctic Edge [JAP], UCJS10104.ini
Code:
_S UCJS-10104
_G MotorStorm - Arctic Edge [JAP]
_C0 60 FPS [Fixed gamespeed]
_L 0xE0060001 0x10277DB8
_L 0x20010708 0x34050001
_L 0x200C2134 0x34040001
_L 0x200C3D34 0x34040001
_L 0x20277DB8 0x00000001
_L 0x2011A83C 0x3C043F00
_L 0x2029D3B8 0x3C88AB86
_C0 30 FPS [Default]
_L 0xE0060002 0x10277DB8
_L 0x20010708 0x34050002//FPS,instruction1
_L 0x200C2134 0x34040002//FPS,instruction2
_L 0x200C3D34 0x34040002//FPS,instruction3
_L 0x20277DB8 0x00000002//FPS,value
_L 0x2011A83C 0x3C043F80//Speed,instruction
_L 0x2029D3B8 0x3D08AB86//Speed,Value
_C0 20 FPS
_L 0xE0060003 0x10277DB8
_L 0x20010708 0x34050003
_L 0x200C2134 0x34040003
_L 0x200C3D34 0x34040003
_L 0x20277DB8 0x00000003
_L 0x2011A83C 0x3C043FC0
_L 0x2029D3B8 0x3D4D0148
MotorStorm - Arctic Edge Demo [USA], NPUG80265.ini
Code:
_S NPUG-80265
_G MotorStorm - Arctic Edge Demo [USA]
_C0 60 FPS [Fixed gamespeed]
_L 0xE0060001 0x10231FB8
_L 0x20010708 0x34050001
_L 0x2008E0E0 0x34040001
_L 0x2008FCD8 0x34040001
_L 0x20231FB8 0x00000001
_L 0x200DD76C 0x3C043F00
_L 0x20256278 0x3C88AB86
_C0 30 FPS [Default]
_L 0xE0060002 0x10231FB8
_L 0x20010708 0x34050002//FPS,instruction1
_L 0x2008E0E0 0x34040002//FPS,instruction2
_L 0x2008FCD8 0x34040002//FPS,instruction3
_L 0x20231FB8 0x00000002//FPS,value
_L 0x200DD76C 0x3C043F80//Speed,instruction
_L 0x20256278 0x3D08AB86//Speed,Value
_C0 20 FPS
_L 0xE0060003 0x10231FB8
_L 0x20010708 0x34050003
_L 0x2008E0E0 0x34040003
_L 0x2008FCD8 0x34040003
_L 0x20231FB8 0x00000003
_L 0x200DD76C 0x3C043FC0
_L 0x20256278 0x3D4D0148
*Cheat Status: No gameplay issues. However, some videos run at double speed and others are just rendering the same video frame twice.

The bonus for this game is, a new type of FPS cheat.
When a FPS cheat has speed modifiers, it means that the game doesn't automatically adjust its gamespeed based on the actual internal FPS it's running at a given time; in other words, it doesn't have a dynamic gamespeed.

With games games like these, we can't use the 60 FPS cheats in real hardware (PSP/Vita) because when it's not possible to keep this fixed internal FPS, the game will slowdown.

This is the case with MotorStorm - Arctic Edge, but I coded a special 60 FPS assembly cheat with dynamic gamespeed, this means that if the game is running at any FPS below 60, it will be still running at normal gamespeed. This is nice for a real PSP or Vita if you want to play the game with an uncapped framerate. According to my test with this cheat, the game runs at around 40+ and sometimes 50+ FPS on a REAL PSP; on a Vita I'm sure it runs better.

PPSSPP always runs the games at maximum internal framerate, so you must not use this variable/dynamic gamespeed cheat with it (use fixed 60FPS from above instead), this is ONLY for real PSP/Vita.
MotorStorm - Arctic Edge [USA], UCUS98743.ini
Code:
_S UCUS-98743
_G MotorStorm - Arctic Edge [USA]
_C0 60 FPS dynamic gamespeed [PSP/Vita only]
_L 0xE01B0000 0x00003508
_L 0x20003508 0x0E296C2D
_L 0x2000350C 0x8F7A3500
_L 0x20003510 0xAF623500
_L 0x20003514 0x005AD023
_L 0x20003518 0x3402CDFE
_L 0x2000351C 0x005A082A
_L 0x20003520 0x14200007
_L 0x20003524 0x449A6000
_L 0x20003528 0x46806320
_L 0x2000352C 0x3C1A4974
_L 0x20003530 0x375A2400
_L 0x20003534 0x449A6800
_L 0x20003538 0x0A200D52
_L 0x2000353C 0x460D6343
_L 0x20003540 0x3C023D58
_L 0x20003544 0x44826800
_L 0x20003548 0x3C1A08AA
_L 0x2000354C 0xE74DE478
_L 0x20003550 0x0A291E64
_L 0x20003554 0x8E220004
_L 0x2011BF5C 0x00000000//AvoidSpeedWrite
_L 0x200107F0 0x34050001
_L 0x200C303C 0x34040001
_L 0x200C4C3C 0x34040001
_L 0x20278E68 0x00000001
_L 0x202479F4 0x0A200D42
_L 0x202479F8 0x3C1B0880
_C0 30 FPS [No dynamic gamespeed, Default]
_L 0xE0080000 0x0011BF5C
_L 0x2011BF5C 0xE54DE478//SpeedWrite
_L 0x202479F4 0x0A291E64//Jump,a
_L 0x202479F8 0x8E220004//Jump,b
_L 0x2029E478 0x3D08AB86//Speed,Value
_L 0x200107F0 0x34050002//FPS,instruction1
_L 0x200C303C 0x34040002//FPS,instruction2
_L 0x200C4C3C 0x34040002//FPS,instruction3
_L 0x20278E68 0x00000002//FPS,value
MotorStorm - Arctic Edge [EUR], UCES01250.ini
Code:
_S UCES-01250
_G MotorStorm - Arctic Edge [EUR]
_C0 60 FPS dynamic gamespeed [PSP/Vita only]
_L 0xE01B0000 0x00003508
_L 0x20003508 0x0E296DB3
_L 0x2000350C 0x8F7A3500
_L 0x20003510 0xAF623500
_L 0x20003514 0x005AD023
_L 0x20003518 0x3402CDFE
_L 0x2000351C 0x005A082A
_L 0x20003520 0x14200007
_L 0x20003524 0x449A6000
_L 0x20003528 0x46806320
_L 0x2000352C 0x3C1A4974
_L 0x20003530 0x375A2400
_L 0x20003534 0x449A6800
_L 0x20003538 0x0A200D52
_L 0x2000353C 0x460D6343
_L 0x20003540 0x3C023D58
_L 0x20003544 0x44826800
_L 0x20003548 0x3C1A08AA
_L 0x2000354C 0xE74DEAB8
_L 0x20003550 0x0A2923A5
_L 0x20003554 0x8E220004
_L 0x2011CE08 0x00000000//AvoidSpeedWrite
_L 0x20010858 0x34050001
_L 0x200C379C 0x34040001
_L 0x200C539C 0x34040001
_L 0x202794A8 0x00000001
_L 0x20248EF8 0x0A200D42
_L 0x20248EFC 0x3C1B0880
_C0 30 FPS [No dynamic gamespeed, Default]
_L 0xE0080000 0x0011CE08
_L 0x2011CE08 0xE54DEAB8//SpeedWrite
_L 0x20248EF8 0x0A2923A5//Jump,a
_L 0x20248EFC 0x8E220004//Jump,b
_L 0x2029EAB8 0x3D08AB86//Speed,Value
_L 0x20010858 0x34050002//FPS,instruction1
_L 0x200C379C 0x34040002//FPS,instruction2
_L 0x200C539C 0x34040002//FPS,instruction3
_L 0x202794A8 0x00000002//FPS,value
MotorStorm - Arctic Edge [JAP], UCJS10104.ini
Code:
_S UCJS-10104
_G MotorStorm - Arctic Edge [JAP]
_C0 60 FPS dynamic gamespeed [PSP/Vita only]
_L 0xE01B0000 0x00003508
_L 0x20003508 0x0E296803
_L 0x2000350C 0x8F7A3500
_L 0x20003510 0xAF623500
_L 0x20003514 0x005AD023
_L 0x20003518 0x3402CDFE
_L 0x2000351C 0x005A082A
_L 0x20003520 0x14200007
_L 0x20003524 0x449A6000
_L 0x20003528 0x46806320
_L 0x2000352C 0x3C1A4974
_L 0x20003530 0x375A2400
_L 0x20003534 0x449A6800
_L 0x20003538 0x0A200D52
_L 0x2000353C 0x460D6343
_L 0x20003540 0x3C023D58
_L 0x20003544 0x44826800
_L 0x20003548 0x3C1A08AA
_L 0x2000354C 0xE74DD3B8
_L 0x20003550 0x0A2911CC
_L 0x20003554 0x8E220004
_L 0x2011A88C 0x00000000//AvoidSpeedWrite
_L 0x20010708 0x34050001
_L 0x200C2134 0x34040001
_L 0x200C3D34 0x34040001
_L 0x20277DB8 0x00000001
_L 0x20244794 0x0A200D42
_L 0x20244798 0x3C1B0880
_C0 30 FPS [No dynamic gamespeed, Default]
_L 0xE0080000 0x0011A88C
_L 0x2011A88C 0xE54DD3B8//SpeedWrite
_L 0x20244794 0x0A2911CC//Jump,a
_L 0x20244798 0x8E220004//Jump,b
_L 0x2029D3B8 0x3D08AB86//Speed,Value
_L 0x20010708 0x34050002//FPS,instruction1
_L 0x200C2134 0x34040002//FPS,instruction2
_L 0x200C3D34 0x34040002//FPS,instruction3
_L 0x20277DB8 0x00000002//FPS,value
MotorStorm - Arctic Edge Demo [USA], NPUG80265.ini
Code:
_S NPUG-80265
_G MotorStorm - Arctic Edge Demo [USA]
_C0 60 FPS dynamic gamespeed [PSP/Vita only]
_L 0xE01B0000 0x00003508
_L 0x20003508 0x0E285DE9
_L 0x2000350C 0x8F7A3500
_L 0x20003510 0xAF623500
_L 0x20003514 0x005AD023
_L 0x20003518 0x3402CDFE
_L 0x2000351C 0x005A082A
_L 0x20003520 0x14200007
_L 0x20003524 0x449A6000
_L 0x20003528 0x46806320
_L 0x2000352C 0x3C1A4974
_L 0x20003530 0x375A2400
_L 0x20003534 0x449A6800
_L 0x20003538 0x0A200D52
_L 0x2000353C 0x460D6343
_L 0x20003540 0x3C023D58
_L 0x20003544 0x44826800
_L 0x20003548 0x3C1A08A5
_L 0x2000354C 0xE74D6278
_L 0x20003550 0x0A2808BC
_L 0x20003554 0x8E220004
_L 0x200DD7BC 0x00000000//AvoidSpeedWrite
_L 0x20010708 0x34050001
_L 0x2008E0E0 0x34040001
_L 0x2008FCD8 0x34040001
_L 0x20231FB8 0x00000001
_L 0x20202354 0x0A200D42
_L 0x20202358 0x3C1B0880
_C0 30 FPS [No dynamic gamespeed, Default]
_L 0xE0080000 0x000DD7BC
_L 0x200DD7BC 0xE54D6278//SpeedWrite
_L 0x20202354 0x0A2808BC//Jump,a
_L 0x20202358 0x8E220004//Jump,b
_L 0x20256278 0x3D08AB86//Speed,Value
_L 0x20010708 0x34050002//FPS,instruction1
_L 0x2008E0E0 0x34040002//FPS,instruction2
_L 0x2008FCD8 0x34040002//FPS,instruction3
_L 0x20231FB8 0x00000002//FPS,value
*Cheat Status:
- Same as fixed speed cheats from above.
- The game streams the map while you drive (duh) but using this cheat causes a serious IO bottleneck if you play the game as a compressed .CSO and/or using a slow memory stick, sometimes causing the game map to not load properly while driving fast.
- Remember, do not use this cheat if you are using an emulator/PPSSPP, this is ONLY for real PSP/Vita.

In case you're interested, there is a cheat with dynamic gamespeed for Test Drive Unlimited too, get it here.


The cheat for Crisis Core was posted by user solitarius here, I just added it an extra speed I found (game effects/particles) and ported it to other regions.
Crisis Core: FFVII [USA], ULUS10336.ini
Code:
_S ULUS-10336
_G Crisis Core: Final Fantasy VII [USA]
_C0 60 FPS
_L 0x20006564 0x26310001
_L 0x2009E1F8 0x3C053F00
_L 0x201036E0 0x3C043F00
_C0 30 FPS [Default]
_L 0x20006564 0x26310002//FPS
_L 0x2009E1F8 0x3C053F80//EffectsSpeed
_L 0x201036E0 0x3C043F80//GameSpeed
Crisis Core: FFVII [EUR-Eng], ULES-01044.ini
Code:
_S ULES-01044
_G Crisis Core: Final Fantasy VII [EUR-Eng]
_C0 60 FPS
_L 0x20006564 0x26310001
_L 0x2009E1F8 0x3C053F00
_L 0x20103924 0x3C043F00
_C0 30 FPS [Default]
_L 0x20006564 0x26310002//FPS
_L 0x2009E1F8 0x3C053F80//EffectsSpeed
_L 0x20103924 0x3C043F80//GameSpeed
Crisis Core: FFVII [EUR-Spa], ULES01048.ini
Code:
_S ULES-01048
_G Crisis Core: Final Fantasy VII [EUR-Spa]
_C0 60 FPS
_L 0x20006564 0x26310001
_L 0x2009E1F8 0x3C053F00
_L 0x20103B34 0x3C043F00
_C0 30 FPS [Default]
_L 0x20006564 0x26310002//FPS
_L 0x2009E1F8 0x3C053F80//EffectsSpeed
_L 0x20103B34 0x3C043F80//GameSpeed
*Cheat Status:
The same issues posted by solitarius here:
- Some 2D elements are double speed (like DMW).
- Cutscenes run at "fake" 60FPS and have audio/dialog issues.


And now more cheat ports, all originally posted by user LunaMoo.
ModNation Racers [USA], UCUS98741.ini
Code:
_S UCUS-98741
_G ModNation Racers [USA]
_C0 60 FPS
_L 0xE001001E 0x001B4D94
_L 0x201B4D94 0x00000000
_C0 30 FPS [Default]
_L 0x201B4D94 0x14C0001E
ModNation Racers Demo [USA], NPUG70097.ini
Code:
_S NPUG-70097
_G ModNation Racers Demo [USA]
_C0 60 FPS
_L 0xE001001E 0x001B58CC
_L 0x201B58CC 0x00000000
_C0 30 FPS [Default]
_L 0x201B58CC 0x14C0001E
*Cheat Status: No issues.


Chili Con Carnage [USA], ULUS10216.ini
Code:
_S ULUS-10216
_G Chili Con Carnage [USA]
_C0 60 FPS
_L 0xE00263BE 0x000256F8
_L 0x200256F8 0x00000000
_L 0x2002575C 0x00000000
_C0 30 FPS [Default]
_L 0xE0020000 0x000256F8
_L 0x200256F8 0x0E3663BE
_L 0x2002575C 0x0E3663BE
*Cheat Status: No issues? Some users have reported that some animations are double speed.


The Warriors [EUR], ULES00483.ini
Code:
_S ULES-00483
_G The Warriors [EUR]
_C0 60 FPS
_L 0xE001FFF6 0x003B4D84
_L 0x203B4D84 0x00000000
_C0 30 FPS [Default]
_L 0x203B4D84 0x1440FFF6
*Cheat Status: No issues.


Obscure: The Aftermath [EUR], ULES01340.ini
Code:
_S ULES-01340
_G Obscure: The Aftermath [EUR]
_C0 60 FPS
_L 0xE0011080 0x002D689A
_L 0x202D6898 0x10000007
_C0 30 FPS [Default]
_L 0x202D6898 0x10800007
*Cheat Status: No issues? The frame cap of the EUR release is slightly different to the USA version as it was released some weeks later, I hope someone can confirm it's working.

- - - - -

@pepodmc Even when it was a bizarre request, I tried to unlock Crash Team Racing (PS1) but nothing came out of it. Older games are just a lot harder to test and those guys at Naughty Dog did crazy things with the PS1.

@Broth3r Ace Combat X is already posted, see the updated master list or see it here.

@Donel/masterotaku I compared that YS Seven cheat with the one I made and both are very similar: the user just patched the values in a different way and used a different gamespeed that seems to have the same effect according to my limited test. However, I fixed the game play time so that's an advantage.


I have been updating and fixing some of the cheats I have posted, Portable Ops and Peace Walker are good examples of games running A LOT better now without annoying game breaking issues: grenades timers, game text, cutscenes, all fixed. They are still far from perfect but can be played at 60FPS now.

Also, I've made some FPS unlock progress in some games: Castlevania Dracula X, Ratchet and Clank, DBZ Tag Team... but I'm trying to fix the big issues before posting them here. Wish me luck Tongue

Remember the updated 60 FPS master list can be found on my signature, for now.

goo.gl/kNOhTz : 60FPS master list, Mar. 2017 ; Reddit /u/Kabuto_Kun
forums.ppsspp.org/showthread.php?tid=4799&pid=105128#pid105128 : Unlock FPS in PSP games ("easy method")
forums.ppsspp.org/showthread.php?tid=4799&pid=123500#pid123500 : Permanently patch a PSP game with CW cheats.
Find all posts by this user
Quote this message in a reply
01-23-2017, 03:47 AM (This post was last modified: 01-23-2017 03:49 AM by Donel.)
Post: #688
RE: [Discussion] 60FPS patches for PSP games that run at 30FPS
@Kabuto_Kun: Do you think it's possible to do a code for Gran Turismo that disables the temporal AA at 60 fps? Or maybe a 60 fps code that doesn't enable the temporal AA, I don't know which one is easier.
Find all posts by this user
Quote this message in a reply
01-23-2017, 07:47 AM
Post: #689
RE: [Discussion] 60FPS patches for PSP games that run at 30FPS
I know you asked Kabuto_Kun, but I made these a while back,and save Kabuto's time. I think I even posted the Tekken code in the game thread
Code:
_S UCUS-98632
_G Gran Turismo
_C0 Disable Cheap AA (screenshake)
_L 0x2010BB08 0xA060D200
Code:
_S ULUS-10139
_G Tekken 5 DR
_C0 Disable Cheap AA (screenshake)
_L 0x2020DC08 0xAE000024
Find all posts by this user
Quote this message in a reply
01-24-2017, 09:52 AM (This post was last modified: 02-10-2017 10:53 AM by Kabuto_Kun.)
Post: #690
RE: [Discussion] 60FPS patches for PSP games that run at 30FPS
New FPS cheat Tongue

Pursuit Force - Extreme Justice [USA], UCUS98703.ini
Code:
_S UCUS-98703
_G Pursuit Force - Extreme Justice [USA]
_C0 60 FPS
_L 0x2020CBFC 0x00000000
_L 0x201F4F50 0x3C043F00
_C0 30 FPS [Default]
_L 0x2020CBFC 0x1620FFFC//FPS
_L 0x201F4F50 0x3C043F80//GameSpeed
Pursuit Force - Extreme Justice [EUR-Multi11], UCES00694.ini
Code:
_S UCES-00694
_G Pursuit Force - Extreme Justice [EUR-Multi11]
_C0 60 FPS
_L 0x201FBB70 0x00000000
_L 0x201E3EC4 0x3C043F00
_C0 30 FPS [Default]
_L 0x201FBB70 0x1620FFFC//FPS
_L 0x201E3EC4 0x3C043F80//GameSpeed
Pursuit Force - Extreme Justice [EUR-Multi5/Rus], UCES00890.ini
Code:
_S UCES-00890
_G Pursuit Force - Extreme Justice [EUR-Multi5/Rus]
_C0 60 FPS
_L 0x201FB528 0x00000000
_L 0x201E387C 0x3C043F00
_C0 30 FPS [Default]
_L 0x201FB528 0x1620FFFC//FPS
_L 0x201E387C 0x3C043F80//GameSpeed
*Cheat Status: No issues(?): player vehicle steering sensibility might be slightly affected by the cheat in the same way as the first game while using the 60 FPS cheat (but I couldn't see any problems while testing it); the game is totally playable for sure.


@solitarius Interesting cheats you got there mate, I'll post here ports of those to other game regions.

Gran Turismo [EUR-v1.01/JAP], UCES01245.ini / UCJS10100.ini
Code:
_S UCES-01245 / UCJS-10100
_G Gran Turismo [EUR-v1.01/JAP]
_C0 Disable Cheap/Temporal AA (screenshake)
_L 0x2010BB08 0xA060D170
_C0 Enable Cheap/Temporal AA (screenshake) [Default]
_L 0x2010BB08 0xA062D170
Boot/eboot.bin files for EUR-v1.01 and JAP are not 100% the same (MD5's don't match) but they are similar enough for both to use this same cheat without problems. EUR-v2.00 is untested.


Tekken: Dark Resurrection [EUR-v1.0/v2.0?], UCES00356.ini
Code:
_S UCES-00356
_G Tekken: Dark Resurrection [EUR-v1.0/v2.0?]
_C0 Disable Cheap/Temporal AA (screenshake)
_L 0x2020DF24 0xAE000024
_C0 Enable Cheap/Temporal AA (screenshake) [Default]
_L 0x2020DF24 0xAE030024
Tekken: Dark Resurrection [JAP], ULJS00048.ini
Code:
_S ULJS-00048
_G Tekken: Dark Resurrection [JAP]
_C0 Disable Cheap/Temporal AA (screenshake)
_L 0x2020BAF4 0xAE000024
_C0 Enable Cheap/Temporal AA (screenshake) [Default]
_L 0x2020BAF4 0xAE030024
I'm not 100% sure that the EUR cheat works for both the v1.0 (tested and working) and v2.0 (untested) releases.
For the above cheats, all credits go to the user solitarius, who originally posted them in the previous post from last page, here.

@Donel If you can provide some feedback about the cheat for Gran Turismo, that would be great. Wink


I really like these kind of cheats that fix/remove features and/or behaviors that are only relevant on real hardware and are not very good for playing the games on emulators, or hacks that in some way enhance the gameplay experience.

I have a couple of game fixes/cheats/hacks that I haven't posted anywhere: MotorStorm sound/crash fix and performance improvements (migh work for PSVita too), Test Drive Unlimited performance/unbuffered rendering fix, Driver 76 performance improvements/line glitches fix, GTA LCS/VCS unbuffered rendering fix and more. I'm just busy/lazy to spent some time to write all the needed details for them. If there is interest on these I will do my best to post them soon Cool

I really got excited when I read that TheFloW was going to implement higher internal resolutions for PSP games on PSVita (on Adrenaline), but at this point I'm not sure if that was a translation error about the graphic filters found on the beta release or if we'll get that with another Adrenaline release.

Whatever happens with that, I've been messing with game-specific internal resolution increase hacks and I have managed to get some progress for some games, so I can say this is totally possible on real hardware.

I'm running Peace Walker at 32bit (and without dithering too) on my PSP3000 (originally a 16bit game) with only problems on videos for now.

I can easily decrease the internal resolution without problems, and even increase it a little, but increasing it too much shows garbage on screen or just freezes the PSP. The problem is that the default 2 MB of VRAM is not enough for these increases in resolution and color depth (you can read here and here for tech details about this from devs).

But there is something that is not well known from what I can see from some research: the PSP SLIM and later models actually doubled the PSP1000 VRAM to 4MB, but this additional 2 MB can't be used for games, only for homebrew. This is a confirmed fact and you can read details on how to unlock it here and here (on this one the user Mills seems to have been tried something with this some time ago).

The real question is, is it possible to unlock the extra VRAM for retail games using the same process with a kernel module? If the answer is yes, then increasing the internal resolution of some PSP games for PSP SLIM users should be totally possible.

EDIT:
It works! After reading the linked info, I unlocked the additional 2mb of VRAM on my PSP3000 (now it has 4 mb in total available for retail games) and higher internal resolutions are not showing garbage on screen and the games are not freezing anymore: I was playing GTA LCS at 720x408 on my PSP (1.5x the resolution of 480x272, but the game runs at 512x320 by default).

Of course the PSP screen is 480x272, a hardware limitation which can't be fixed via software, so what I did works as some kind of downsampling on PSPs; but for example if someone changes the emulated screen resolution of the PSVita (only if additional VRAM can be unlocked for it too), we might be able to play some games at PSVita native resolution (Vita has double resolution but with quadruple pixels in total, which is too much even with the extra VRAM). TV Out with PSPs could also get resolution benefits from this. This is still based on game-specific hacks, but I'm trying to detect patterns on how the games set their resolution.

goo.gl/kNOhTz : 60FPS master list, Mar. 2017 ; Reddit /u/Kabuto_Kun
forums.ppsspp.org/showthread.php?tid=4799&pid=105128#pid105128 : Unlock FPS in PSP games ("easy method")
forums.ppsspp.org/showthread.php?tid=4799&pid=123500#pid123500 : Permanently patch a PSP game with CW cheats.
Find all posts by this user
Quote this message in a reply
Post Reply 


Forum Jump: