Go Back   Project64 Forums > Public Version > Project 64 - v2.x - Cheats

Reply
 
Thread Tools Display Modes
  #21  
Old 25th July 2013, 04:30 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,245
Default

Quote:
Originally Posted by retroben View Post
All that matters is that it works for its intended purpose of no frame skipping.
Actually what matters is that it "always" works for its intended purpose of no frame-skipping.

Sort of like what you just admitted in the next text block about trying to make the code always work when changing room.

And it will "never" always work if you refuse to write the correct number of bits, because in that process, you only assume it works.

I would never distribute a code in that form.
The correct no-frame-skip cheat is:
Code:
8107913C 0000
8107913E 0000
Quote:
Originally Posted by retroben View Post
I've noticed every time you enter another area,frameskip turns back on.
Probably because of another buffer overwriting the read location in DRAM that you specified with the first cheat.

So there could be more than one address storing the frame skip value, and you weren't writing to the one of the highest priority.
Or, you need to (conditionally) write to multiple addresses to force its persistence.

Quote:
Originally Posted by retroben View Post
Just remember my short guide to find these kind of codes again,and that you can exploit savestates to retain a location.

801xxxx5=universal location numbers
xxxx=address numbers to find
I see no reason why this should be a universal pattern.

There are plenty of cheat codes writing to data not aligned to xxxx5 or in the 1xxxxx block.

In fact, when I started to notice this pattern when hacking codes out of Zelda Majora's Mask, it went over something like the 0x100000 page-relative block, into 0x200000, so it was not crammed in to a single data segment in the way you suggest.

Quote:
Originally Posted by retroben View Post
Edit2:Now i've just found the gold egg code.

Activate unlimited Gold eggs (d-right)
D1081084 0100
801C2B94 0002
This code is obviously one byte less than the current egg type code.
It looks good. I always wanted gold eggs.
But I would use the GS cheat button instead of a N64 button.

Partly for portability. Which address reads the controller button presses varies based on the region of the game, which game, etc.

So you could in theory merge both of those:
Code:
D1081084 0100
801C2B94 0002
Into a single, more portable, universally compliant cheat code:
Code:
D81C2B94 0002
Only difference being, instead of the D-pad right button being used to activate the code, you use the built-in GameShark cheat button, which is emulated on Project64 as the F9 key by default.
Reply With Quote
  #22  
Old 26th July 2013, 03:22 AM
retroben's Avatar
retroben retroben is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Jul 2013
Posts: 652
Default

Banjo-Tooie codes that are stored in the 80070000 range never shift locations.
The no frameskip code only requires the one byte to be fully functional.
If you remember,I said that whenever getting hurt from the onion in the cheese wedge,the frameskip gets changed to 4 frames,and this is the only byte that changed.
When I set that one byte to 0,it ran smooth again instantaniously.

You misunderstand the area sentence,it is about the activator version of the code.
I placed an activator on it so it can easily be tested on a real N64.
That is what I was talking about when enter/exiting another area.
Also,whenever a heavy event occurs,the frameskip kicks in immediately (CCL flowers).

I also noticed that certain areas unusually lag and jitter while at 60fps like the western witchyworld entrance even when the no frameskip code is enabled (no activator).
I am not sure why some areas refuse to run smoothly even at zero frames skipped.

On another note,I found out what makes the pause menu and temple puzzle work properly.
Enable it when you use what is essentially the move while paused code in order to see yourself and access the pause menu at the same time.
You can check out your item status while walking around and attacking enemies.
You have to enable the self rendered textures option in the ROM specific graphics plugin settings to make them work.
When it is enabled,everything that uses it directly,except pause,causes the game to run at 20-30fps,and around 10fps on temple puzzles.
The quiz show screen/credits don't need this option,but it also lags when self rendering is enabled.
Reply With Quote
  #23  
Old 26th July 2013, 08:14 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,245
Default

Quote:
Originally Posted by retroben View Post
The no frameskip code only requires the one byte to be fully functional.
If you remember,I said that whenever getting hurt from the onion in the cheese wedge,the frameskip gets changed to 4 frames,and this is the only byte that changed.
When I set that one byte to 0,it ran smooth again instantaniously.
Jesus Christ.
And how many bytes does it take to store the number 4?

Does 4 require 32 bits of storage?
16 bits?
A byte?

4 is just a number.
The fact that the emulator reported to you that only a single byte changed is INCIDENTAL.

If 0x00000000 got changed to 0x00000004, or if 0x00000004 got changed to 0x00000000, do you really think that automatically proves that the cheat code is only one byte long?
I don't think so.

Set the upper byte to any nonzero value, and your cheat code will break because of your careless assumption.
I've already tested that myself, so why haven't you?
Reply With Quote
  #24  
Old 26th July 2013, 08:21 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,245
Default

Quote:
Originally Posted by retroben View Post
I have found the code that sets the frameskip in Banjo-Tooie (U).

Here it is.

No Frameskipping
8007913F 0000
Hey, guess what!

Your code no longer works because of three reasons:
Code:
8007913C 0001
or,
Code:
8007913D 0001
or,
Code:
8007913E 0001
Which totally proves that your ability to observe that the emulated CPU updated only a single byte, and if you change that byte, it automatically defines the entire cheat code to be 8 bits wide, is automatically a fact.


Not.....

It's a 32-bit value, woman, not 8 bits.
Cry me a bridge and get over it.
Reply With Quote
  #25  
Old 27th July 2013, 12:37 AM
retroben's Avatar
retroben retroben is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Jul 2013
Posts: 652
Default

Mr. Krabs:He cries you a sweater of tears...then you killem.

This may have been confusion between bit byte terms.
A byte normally contains 8bits,which is the ironically what the search memory had when I searched for and found the code.
When I said one byte,I meant 8007913F 00xx
xx=one byte for me

If I understand correctly,the 8bits are:1,2,4,8,16,32,64,and 128.
I could be going entirely the wrong direction here.

The code itself responds to any number you throw at it like 3.

I tested the code since I first found it in the cheesewedge.
I am not mad,because I am mostly right.
When I set it to four in the gameshark cheat list while in some other area,it ran with high frameskipping,and the higher number you choose,the more devastating the effect gets.

It's pointless for you to bicker on about it when it works fine as it is (at least on my end).
Do not forget that the best plugin for this code is Jabo 1.5.2 D3D6 since it has decent compatibility with overwhelming speed.

One thing you may have overlooked the whole time (not saying you did).
It is on an odd address but set to write only one byte,which means it is fully functional.

Skip four frames
8007913F 0004

Example:8007913F 0004--->The 80 prefix writes four to 07913F without writing the other byte "0" into the other position.

Like I have said before,only PJ64 v1.6 crashes on the file select when the code is already activated beforehand,while v1.7 and up continue to run fine.

On v1.6,you will have to wait until after file select before enabling the code.

Now to reply my realization.

Ohhhhhhhhh,so that's what you meant.

It changes different address offsets depending what room you enter,then again,I had almost no trouble with it at all.
Considering the western witchyworld (Humba Wumba location) still had frame skipping.

The weird thing is that it is only partial frame skips because it still gets really smooth in certain corners of western HuWu in witchyworld while the code is on despite the circumstances.
It also has minor skipping problems with Jolly Rogers Lagoon.
The point is that for most of the game,it fully works while some areas still skip.

And for proof that it works,another user on a previous post claimed that it actually works.

If it will make you happy,I will look more into it when I get the chance.

Sorry for all the frustration I put you through FatCat.

Long post is long.

Last edited by retroben; 27th July 2013 at 12:40 AM.
Reply With Quote
  #26  
Old 27th July 2013, 06:11 PM
retroben's Avatar
retroben retroben is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Jul 2013
Posts: 652
Default

Now I got a code I like to call Benny Hill mode.

Unlimited FPS (pj64 shows as 60VI/s)
8007913B 003A
Banjo Tooie can run fast as F@%K after all,it acts just like Super Mario 64.

True Benny Hill Mode
8007913B 007E
SevenEff causes fail to load word.

Full-fledged Unlimited FPS
81079138 7EFE
8107913A 7EFE

Edit:You were kinda right about the no frameskip code using four >slots< because I just made the full no frameskip code

No Frameskip v2.0
8107913C 8000
8107913E 0000
It freezes on jiggy cutout at startup,so you will have to enable this version just after starting it.
If You put 01 on 8007913E only,it gets so extremely slow you can hit 1999VI/s on the VI counter.

Last edited by retroben; 27th July 2013 at 06:48 PM.
Reply With Quote
  #27  
Old 28th July 2013, 01:39 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,245
Default

Yes, so each >slot< was a byte, like you said.

Usually like on MIPS, an instruction slot is an aligned 32-bit segment.

So if you tell Project64 to search for 8-bit slots that changed, it will only show you byte values that were changed.
If you tell pj64 cheats to search for 32-bit slots that changed, it will show you 32-bit segments that changed.

All in all I wouldn't really just see that a single byte changed and assumed it's the entire data segment for the cheat code.

You can figure the rest out if you want. I'm done explaining this shit lol
Reply With Quote
  #28  
Old 28th July 2013, 01:42 PM
HatCat's Avatar
HatCat HatCat is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Feb 2007
Location: In my hat.
Posts: 16,245
Default

Quote:
No Frameskip v2.0
Code:
8107913C 8000
8107913E 0000
That was just optional.

In this case it doesn't really matter, but 0x80000000 means you're making it hugely negative, but it doesn't matter because the game clamps all negatives up to zero and treats them all alike.

Forget it, it will take you a million years to check and verify anything I try to explain anyway. You'll understand it someday independent of what I offer.
Reply With Quote
  #29  
Old 28th July 2013, 08:26 PM
retroben's Avatar
retroben retroben is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Jul 2013
Posts: 652
Default

Here is an even better choice for no frameskipping.

No Frameskip v2.1
8007913C 0080

This sets frameskip to the most negative number below zero,also allowing address 8007913F to set its value correctly while still not skipping a single frame.
The three bytes before 8007913F never show up as changed results when using memory search.
I also found out the three bytes get reset to zero every time 8007913F changes.
In case of confusion,the byte on C is at the left on the other code because that is how 81 codes work,they put C on the left and D on the right respectively.
If C=72 and D=A4 the other code would read 8107913C 72A4.

PJ64 v1.6 still crashes on the file selection.

It works better than the original No Frameskip,so its still better.
It seems to have less drag on performance.

Here is the Saucer of Peril current score mod.

Saucer of Peril Score Mod
811275C8 xxxx
01F5=Above 500 to win.
If you set 801275C9 individually to FE,you can get extreme/negative points.
Peril of Saucer said this.
"You need more than 32766 points to beat your current score."
That is only one point below the maximum possible score LOL!

Last edited by retroben; 28th July 2013 at 10:53 PM.
Reply With Quote
  #30  
Old 28th July 2013, 11:10 PM
retroben's Avatar
retroben retroben is offline
Alpha Tester
Project Supporter
Senior Member
 
Join Date: Jul 2013
Posts: 652
Default

This deserves a new post.

If you use the no frameskip code on PJ64 v2.1 "20MB memory size mod",it will run flawlessly at full 60fps (in exception of computer limitations).

Remember to use Jabo D3D6 1.5.2 for the best speed.

Obviously,make sure the memory size is set to 20MB.
Be careful and set the other settings correctly in "Edit Game Settings" for the best results.

The mod can be found at smwcentral.

h;'ttp://www.smwcentral.net/?p=viewthread&t=63820

He also gives you the instructions for memory size.

Now its in a zip file instead of the installer exe.

And here is the download link of Tarek's PJ64 mod.

h;'ttp://dl.smwcentral.net/4929/Project64%202.1%20Fruit%20Edition%201.0.zip

Remove the " ;' " to get the links.

Edit:I have just found out something even more awesome.

All you need to do for the perfect fps in 1.7,1.7.0.50 b23,and other versions is change VI refresh rate to 2200.
And now for best Banjo-Tooie Config (to me anyway).

Only "Delay SI Interrupt" and "Use TLB" should be checked.
In the Recompiler tab,all but "TLB unmapping" and "Protect Memory" should be checked.

For me,it changes around 40-60fps in Jinjo Village.

Last edited by retroben; 28th July 2013 at 11:34 PM.
Reply With Quote
Reply

Tags
banjo-tooie, gameshark

Thread Tools
Display Modes

Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

BB code is On
Smilies are On
[IMG] code is On
HTML code is Off
Forum Jump


All times are GMT. The time now is 12:52 AM.


Powered by vBulletin® Version 3.7.3
Copyright ©2000 - 2017, Jelsoft Enterprises Ltd.