..:: PCSX2 Forums ::..

Full Version: PSOne Widescreen Patches
You're currently viewing a stripped down version of our content. View the full version with proper formatting.
(04-06-2016, 11:47 PM)UltraTaber Wrote: [ -> ]Some thoughts about Tony Hawk's Pro Skater games. It was previously posted that someone found vertical aspect value, but not horizontal. Recently I messed with PC port of THPS2 and found the function that actually sets both values. it generally looks like:


Code:
x = ResX * 3;
y = ResY * 4;

if (x <= y)
{
AspectX = 0x1000;
AspectY = <calculates value depending on resolution>;
}
else
{
AspectX = <calculates value depending on resolution>;
AspectY = 0x1000;
}



It seems like the code didnt really change much between versions, so what I can tell you for sure is that AspectX is definitely not 0x1000.
That's assuming they used a code based on resolution in the console version. Because the resolution during gameplay will be fixed on console, they could've set it to any static value.
What is the actual code in the <> ? If they used something similar, it should be possible to calculate the value based on the PS1 version resolution.
(04-07-2016, 11:44 AM)FlatOut Wrote: [ -> ]Because the resolution during gameplay will be fixed on console...

Not importantly, atleast 70% of the games on PS1 do a resolution switch after initial startup multiple times and even when they don't they do somekind of vmode trickery that potentially would be incompatible with the above logic.
Nah, the game is locked at 512x240. They have a method to draw their viewports anywhere on the screen. There is a set of structures that defines different viewports in the game (single player, splitscreen left/right/top/bottom, etc.) You can find those in THPS2 NTSC exe at the offset 0x000AAE4C. Basically it works with viewport resolution, not selected video mode.

Code:
0x000AAE4C    00 02; F0 00; 00 00; 00 00; 0A 00; 30 75; 00 00; 00 00; 00 00; 00 00;

And here's a matching line, found in beta version of PC port.

Code:
SViewport ApocalypseViewport = {512,SCREENHEIGHT,0,0,10,30000};    // xR,yB,xL,yT,Hither,Yon,TanHalf

Here's the math for the brackets.

Code:
1 : AspectY = (ResY * 4 * 4096) / (ResX * 3);
2 : AspectX = (ResX * 3 * 4096) / (ResY * 4);

So for 512x240 it gives us 0x1999, which is the exact value you can find right after the 0x1000. But both of them stretch the image vertically. On PC it was enough to replace 0x1000.
I would like to make a request for Ninja Shadow of Darkness PAL SLES 00758. Widescreen mode would be very helpful in this game. Smile
(04-25-2016, 05:42 PM)Shenmue_Trilogy Wrote: [ -> ]I would like to make a request for Ninja Shadow of Darkness PAL SLES 00758. Widescreen mode would be very helpful in this game. Smile

Tried that game like a month ago but it didn't work.
Kula World   SCES_01000    800A2E70 0C00
Kula Quest   SCPS_10064    8009F4D8 0C00
Roll Away     SLUS_00724    800A33D8 0C00

code :
Roll Away
TEXT:00020238 li         $v0, 0x1000
TEXT:0002023C sw      $v0, dword_A33D8
Kula Quest
TEXT:00025700 li        $v0, 0x1000
TEXT:00025704 sw      $v0, dword_8009F4D8
Kula World
TEXT:00020B10 li        $v0, 0x1000
TEXT:00020B14 sw      $zero, 0x28D8($gp)
TEXT:00020B18 sw      $v0, off_800A2E70
(05-08-2016, 10:13 PM)blackoff Wrote: [ -> ]Kula World   SCES_01000    800A2E70 0C00
Kula Quest   SCPS_10064    8009F4D8 0C00
Roll Away     SLUS_00724    800A33D8 0C00

code :
Roll Away
TEXT:00020238 li         $v0, 0x1000
TEXT:0002023C sw      $v0, dword_A33D8
Kula Quest
TEXT:00025700 li        $v0, 0x1000
TEXT:00025704 sw      $v0, dword_8009F4D8
Kula World
TEXT:00020B10 li        $v0, 0x1000
TEXT:00020B14 sw      $zero, 0x28D8($gp)
TEXT:00020B18 sw      $v0, off_800A2E70

Nice! Which disassembler did you use?
(05-09-2016, 02:12 AM)VIRGIN KLM Wrote: [ -> ]Nice! Which disassembler did you use?

PsxIDA  
Thanx, now this is making things more serious. I was unaware of this IDA Pro plugin, even though I gave up on the "proper PS1 disassembler" search before this was released.
(05-08-2016, 10:13 PM)blackoff Wrote: [ -> ]Kula World   SCES_01000    800A2E70 0C00
Kula Quest   SCPS_10064    8009F4D8 0C00
Roll Away     SLUS_00724    800A33D8 0C00

code :
Roll Away
TEXT:00020238 li         $v0, 0x1000
TEXT:0002023C sw      $v0, dword_A33D8
Kula Quest
TEXT:00025700 li        $v0, 0x1000
TEXT:00025704 sw      $v0, dword_8009F4D8
Kula World
TEXT:00020B10 li        $v0, 0x1000
TEXT:00020B14 sw      $zero, 0x28D8($gp)
TEXT:00020B18 sw      $v0, off_800A2E70

Great, i added them to the archive, thank you very much.

Best regards.