View Full Version : Project: Ocarina of Time 30FPS

13th August 2015, 02:22 AM
I want to organize a thread regarding the achievements and issues we ran when trying to play OoT at 30FPS. Sorry 60FPS its out of question, too many broken things...So far I was able to finish the game without too many issues and with the aid of a "toggle 20FPS mode" for parts where you were stuck in the game cause the 30FPS code. The following codes are for OoT 1.2 version.

The codes: a.k.a put this on your Project64.rdb
Cheat0=801DAE8B 0001 //Subscreen Delay Fix
//at 30FPS the following code is not needed
//Cheat1=D138F07C 0C0E,8138F07C 2400 //Equipment Screen Delay Fix
Cheat1=811DB35C BF40 //Gravity Modifier Default: BF80
Cheat2=801C7861 0002 //30 FPS Mode
Cheat3=D01C8D74 0001,801C7861 0003 //20 FPS Mode Hold D-Pad Right
Cheat4=D10F1C90 000A,810F1C90 0007 //Speed Time Modifier (default 000A)

* You get stuck while trying to crawl into holes
* Deku sticks burn too fast (not totally true, its only that overall the game speeds up and you just need to react quickly, the only part that this really matters is when playing a cutscene after using a burning stick, the animation will made it so you will always consume the stick)

I added a better Gravity Modifier that fixes the following:
- Jump and Slash attack height and distance
- After killing a boss, when you are teleported to the entrance, Link reaches the ground, but at a very slow speed.
- When throwing bombs/rocks/etc, the distance they reach is shorter.

Please post any issues you ran to when testing the 30FPS mode. Any improvements or additions to fix the remaining problems are very encouraged, thanks!!!

I will try to update this post with new findings, bugs or fixes...

26th November 2015, 04:24 PM
This sounds really cool. Are there equivalent codes available for version 1.0? Thanks!

30th November 2015, 05:24 PM
The codes in the xx1Cxxxx - xx1Dxxxx range can be converted by subtracting the address component by 0x8C0, since they are part of a common block of variables. The only code you need to find would be the "Speed Time Modifier" code

2nd December 2015, 03:21 AM
I'm not familiar enough with hexadecimal to know how to do that...

2nd December 2015, 06:48 PM
Grab a scientific calculator (the one that comes with windows is enough), change to hexadecimal and just perform a simple subtraction...e.g:

Cheat2=801C7861 0002 //30 FPS Mode So:

1C7861 - 8C0 = 1C6FA1 then we have the new address for the 1.0 ROM: 1C6FA1

Cheat2=801C6FA1 0002 //30 FPS Mode

The Blue colored part is just the Gameshark command that tells the engine to change just a byte (a pair of "00"s) at that specific address so that's why we don't include it in the operation...

There you go, hexadecimal and Gameshark hacking for dummies...

3rd December 2015, 12:45 AM
This is so smooth, I don't want go back and play in 20 FPS. Link is too heavy and can't swim in Lake Hylia.

3rd December 2015, 02:34 PM
From a true hexadecimal dummy: Thank you!

I'll give it a shot.

3rd December 2015, 05:54 PM
Link is too heavy and can't swim in Lake Hylia

Yeah, that's the sad part, there are a lot of parts that need a recode to have a functional 30FPS mode, there are problems like the hookshot chain length is tied to the FPS so you get a shorter reach in 30FPS mode, also there is this Link's heavy physic problem in the water, I do have an alternate version of the gravity code that fixes the water physics problem but in turn messes the jump and slash physics making the attack useless since no enemy can be hit by it...

So in reality the 30FPS mode is more a curiosity than a true functional mode, I too suffered the drastic change that is to revert to 20FPS when you had experience Ocarina of Time at 30FPS...

24th December 2015, 12:11 PM
Great project! I booted up my save file and played through the Fire Temple with the codes turned on. I used the 1.2 version of the game with Djipi's OOT 2015 texture pack and everything went well. Then I got stuck at Volvagia. The cutscene didn't end and I couldn't move at all and had to restart. Using the hookshot was no problem for me, I just held the D-Pad to the right when using it, it's okay.

After that I completed the Ice Cavern and did the quest for Biggoron's Sword with the codes turned off. Next is the Water Temple.. And then I can finally turn the codes back on (I hope..).

I also noticed that the Subscreen Delay fix didn't work for me. Did you perhaps post the wrong code? I can't test it right now, but from this thread the code for version 1.2 is different:


it's 801DAE8B 0002 instead of 801DAE8B 0001.

Also, is there a way to toggle between the different gravity codes you mentionend, Marcelo_20xx? Perhaps with the use of the D-Pad again? I unfortunately don't know anything about these codes so I can't figure something out..

Keep up the good work, everyone! :)

6th January 2016, 08:03 PM
Thirty Frames Per Second a little bit tweaked

D00F1C91 000A
800F1C91 0007
801C7861 0002
D01C8D74 0001
801C7861 0003
D11DB49E 2708
801C7861 0003
D11DB49E 2900
811DB35C BF34
D11DB49E 2950
811DB35C BF34
D11DB49E 2988
811DB35C BF34
D11DB49E 29D0
811DB35C BF34
D11DB49E 3148
811DB35C BF34
D11DBB14 000A
801C7861 0003

This code change the gravity and the FPS when and where are needed and automatically go back to normal gravity and 30 FPS after solve the problematic area.

This GameShark code contain the next fixes:
- Speed Time Day/Night Cycle Fix
- Crawl Fix
- Z Targeting Front Slash Fix
- Z Targeting Left Jump Fix
- Z Targeting Right Jump Fix
- Z Targeting Backward Jump Fix
- Normal Jump Fix
- Hookshot/Longshot Distance Fix

Always is activated 30 FPS Mode
Hold D-Pad Right to change to 20 FPS Mode

Additional Information:

D00F1C91 000A //If the Speed Time Day/Night Cycle is 000A, then
800F1C91 0007 //Change Speed Time Day/Night Cycle to 0007 (default 000A)

801C7861 0002 //Always 30 FPS Mode

D01C8D74 0001 //If you Hold D-Pad Right pressed, then
801C7861 0003 //Change to 20 FPS Mode

D11DB49E 2708 //If Link is Crawling, then
801C7861 0003 //Change to 20 FPS Mode

D11DB49E 2900 //If Link make a Z Targeting Front Slash, then
811DB35C BF34 //Change the Gravity to BF34 (Default: BF80)

D11DB49E 2950 //If Link make a Z Targeting Left Jump, then
811DB35C BF34 //Change the Gravity to BF34 (Default: BF80)

D11DB49E 2988 //If Link make a Z Targeting Right Jump, then
811DB35C BF34 //Change the Gravity to BF34 (Default: BF80)

D11DB49E 29D0 //If Link make a Z Targeting Backward Jump, then
811DB35C BF34 //Change the Gravity to BF34 (Default: BF80)

D11DB49E 3148 //If Link is Jumping, then
811DB35C BF34 //Change the Gravity to BF34 (Default: BF80)

D11DBB14 000A //If Link is throwing Hookshot/Longshot, then
801C7861 0003 //Change to 20 FPS Mode

Thanks for read my post!!!

3rd March 2016, 02:15 AM
Think it would be possible to port these codes over to Dolphin for the GC port?

For whatever reason the controller plugin in Dolphin works worlds better than the n64 one so i will be starting up my game on that if these can be ported :D

Also, could these work with MM? n64 or otherwise