(04-29-2013, 07:25 PM)devina40 Wrote: Thanks, I now got both .elf files for each region, and matched each address.
The only problem is, the last 3 lines are off (the ones above the black bar fix). Everything else is fine.
In the PAL version, "0c0521ac" changes to "0c0521ab"
In the NTSC version, "0c0521c0" changes to "0c0521.."
That's where I'm stuck. Not sure what the last 1-2 digits are supposed to be.
For reference, it's value 2, 3, and 4 here:
http://ps2wide.net/w.html#SLES-53716
0c0521ab means JAL $001486ac (JAL or "Jump And Link" instructions call functions in the MIPS (PS2 EE) architecture)
Note that the first address in the PAL PNACH is also 001486ac
This is because JAL instructions store the function address divided by four (right shift two technically)
If you open calculator in Windows 7/8 and go to View->Programmer, click Hex, input 0521ab (ignore the first two hex digits - they mean 'JAL') and multiply by 4 you will get 1486AC.
So...to port those three lines take the address of the first ported code, put it in Calculator in Hex, divide by four and prepend the digits '0C' as well as any necessary zeros to make it an 8 character (32-bit) number.
ALL THAT....will get you the answer....but as a shortcut you could probably note that 521ab = 521ac - 1.....which means it's probably 521c0 - 1 = 521bf
That should do it, for future reference anyone doing widescreen hacks can refer to this -
http://www.mrc.uidaho.edu/mrc/people/jff...IPSir.html
If your curious about why the hack is written this way - many functions have a NOP (00000000) right before the first address of a function - when Nemesis rewrote this function he needed an extra instruction so he moved the function's start up by one word (four bytes) by changing all of the instructions which call that function.