Project64 Dev Forum

W.I.P Dev => Project 64 1.6.1 Dev => Core => Topic started by: RadeonUser on August 15, 2011, 04:50:11 pm

Title: PIF (Resolved)
Post by: RadeonUser on August 15, 2011, 04:50:11 pm
I've been trying to become more familiar with PIF this past week.
PIF is what handles the controls, mempak, rumble pak, copy protection for banjo tooie and jet force gemini, and the cart's own internal eeprom.

The reason I am looking at this is because it seems some games error without reason.
For example Chameleon Twist does not work with the mempak plugged in.
Thankfully there does exist a permanent cheat to get past this problem but I feel it should be solved in the core of possible.
There are other games that error but don't seem to have problems, for example FIFA64.
Another one is All Star Baseball 99.

Honestly I don't know if a rewrite would fix these games or just cause more problems but it's what I'm currently looking at.
I'm quite limited though as I don't have a real N64 to compare or take values from.
So I've been trying to beg/copy/borrow/steal code from other emulators and reading up on LaC's documentation to try and get an understanding of what PIF is supposed to do.

I should have a build out by this weekend with some changes that, hopefully, do not break anything.
Title: Re: PIF
Post by: nekokabu on August 22, 2011, 01:14:24 pm

X-Scale has reversed PIF

N64 PIF/CIC-NUS-6105 Algorithm Finally Reversed
Title: Re: PIF
Post by: Gent on August 24, 2011, 05:00:47 pm
yes Radeon has had this incorporated for quite awhile now and is in the latest build and some previous ones :)