..:: 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.
Any news on this ?
So, there's no cheat engine tip or some procedure to find any values? It would be a shame if this thread was forgotten.
Alright. So what I'm going to attempt to do is try to revitalize this thread by figuring out how to force Ape Escape to play in 16:9 widescreen. I need properly-formatted footage for an upcoming full-length review I'm doing of the game and this seems like the only way to figure out how to achieve the result. My hope with this is that it makes it easier to perform the same process on multiple PS1 games without having to resort to PCSX-R's terrible CPU hack.

Here's the rub. When playing on any emulator (and, I would assume, on the original console as well), Ape Escape appears to render at roughly 6:7 (about 85%) the width of a standard 4:3 definition game, then stretches from the center to fill the two 1:14 gaps on either side.

[attachment=56493]

The 2D elements (HUD sprites, menus, text and the title screen logo) seem to be formatted such that when they're stretched to 4:3 on a standard definition TV, they're rendered at the proper ratios.

[attachment=56492]

This means that, for example, some 2D objects that were meant to be perfectly circular in 4:3 were actually implemented at a horizontal scale of 6:7 of their actual size, which is visible in the non-stretched mode that shows the 3D models themselves in proper perspective.

For example, in a 640 by 480 emulated render window without stretching enabled, the actual game takes place in a 552 by 480 pixel space with horizontal black bars on either side. Icons for buttons and text boxes aren't as wide as they should be, but the main 3D polygonal elements are all properly rendered and aren't distorted when the view port is rotated.

When stretching is turned on, both the 2D and 3D elements are widened, meaning that neither method properly renders either type of asset. This is extremely frustrating, and it's the reason why the PCSX-R CPU hack doesn't work properly with Ape Escape (I've noticed similar but different issues in the Spyro games as well).

My goal here is to force the game to render its 3D space at 16:9 rather than a (roughly) 7:6 ratio. Obviously doing so will stretch the HUD elements because apparently 2D sprite layers can't be disabled in modern PS1 emulators through the actual graphics settings. Theoretically, however, they can be altered in sizing and spacing, or even disabled, through manipulation of the game code, which is what I intend to do (preferably altering, but removal works as well).

Oddly enough this bizarre (and potentially cost-cutting) lowered aspect ratio seems to affect everything except for the game's static bootup "Sony Computer Entertainment America Presents" and "The DualShock analog controller is required to play this game." screens.
(07-06-2015, 06:36 AM)rovazcas Wrote: [ -> ]So, there's no cheat engine tip or some procedure to find any values? It would be a shame if this thread was forgotten.

It's pretty tough, especially for somebody with near to zero knowledge like me. But the thread is not forgotten, I bet there are people every now and then that give it a shot and try to find a code for the games they are interested in. For example every time I grab a new game I always spend atleast an hour or so trying to figure out where is what mapped on memory, so if I come across a game that I was able to hack it will be here in seconds (I do exactly the same thing on 3D games on NDS too).

EDIT:

For example I just found this one:
Digimon World 3 (SCUS-94488)
Code:
Widescreen (battles/3D areas only)
80080B10 0C00

Eyefinity
80080B10 0400

Also I found that on Vagrant Story if you modify 80040E7A to 0736 it results in widescreen but battles seem to mess up the result.
(07-30-2015, 09:59 PM)trilospite Wrote: [ -> ]Alright. So what I'm going to attempt to do is try to revitalize this thread by figuring out how to force Ape Escape to play in 16:9 widescreen.

I gave it a shot and actually it was really easy to patch!

Ape Escape (SCUS-94423)
Code:
Widescreen (16:9)
800AF0A0 0C00

Eyefinity (If you feel adventurous)
800AF0A0 0400
(10-20-2014, 03:30 AM)Coornio Wrote: [ -> ]I wonder how Digimon World 2003 would look in widescreen considering it's a 2D game with 3D fights Tongue2
The interesting thing is that if it worked i could probably apply the patch on to FPse and run it widescreen on my phone too Laugh

I've ported the Digimon World 3 code to Digimon World 2003
I'm pretty sure the 2D parts can't be patched since technicaly the game's visual style is based on the idea that you are on the digital world and what are on the sides of the screen gets "buffered" from the server, hence why sometimes if you go too fast you see a blue digital block before the actual part of the world gets loaded.


Digimon World 2003 (SLES-03936)
Code:
Widescreen (battles)
80081398 0C00

Eyefinity
80081398 0400
More incoming:

Digimon World 2 (SLUS-01193)
Code:
Widescreen (messes up your placement on the map on maps with 2D background)
80061A28 0C00

Digimon World (SLUS-01032)
Code:
Widescreen for 3D objects (messes up your placement on the map on maps with 2D background)
80136F64 0C00
I have not forgotten this thread also and i take a look on it regularly for see any news here,
thank you very much Virgin KLM for the new widescreen codes, is a pity that the code
you encountered for the game Vagrant Story messes up the battles, this is a great game.

If at least some generic values exist to try them with the games would be a great help.

I would like see the first Gran Turismo in widescreen.

Best regards.
There is a kind of generic way to do it as I described in a previous post but let me make it as easy as possible:
1. Open epsxe (yes it have to be epsxe and not any other emulator) and attach Cheat Engine (32bit) to it.
2. Set a range of search of 00A579A0 to 00CFFFFF
3. Change the Value Type to 2 bytes
4. Check the hex option next to the Value space and put the value "1000"
5. While on a 3D area do a couple of consecutive searches, then move your camera and your character a bit and press a couple of times again the next search button.
6. You will end up with a number of results that you need to check in the same way like PS2 widescreen hack searching method. Make a save state and start modifying values to "0C00". Once you notice something like the size or the zoom gets modified try to isolate the address responsible. Have in mind that PS1 games and emulators are more prone to crashes that PS2, you might have to reload the savestate and re-attach your Cheay Engine session to epsxe keeping the current searches. Also if you come acress a height modifier or a zoom modifier but not a width modifier you can hit Ctrl+B and search with the debugger nearby addresses (+-200) manually for a possible height modifier, most of the times they are near to eachother.

It's a super nooby tutorial but for now that's the best we can do, atleast this is the best I can offer.
I bet there are hundreds of games that work with that method that wait to be exploited, it's just that the ones I have tried, (including most if not all of the requests here) just didn't work. Also they work perfectly on a real PS1, even Eyefinity ones. I'm stating that because PS1 doesn't support hardware culling which should in theory affect performance when more stuff being squeezed on screen (compared to PS2 that it simply doesn't care) but luckily due to a complex limitation of the way that stuff get rendered on PS1 and how sampling-buffering etc are done it counters as a sideffect the extra weight that would be put to the hardware.
Now the good questing is, how are we supposed to do render fixes on the games that need it? (i.e. Crash series)
(08-03-2015, 11:51 PM)VIRGINĀ KLM Wrote: [ -> ]There is a kind of generic way to do it as I described in a previous post but let me make it as easy as possible:
1. Open epsxe (yes it have to be epsxe and not any other emulator) and attach Cheat Engine (32bit) to it.
2. Set a range of search of 00A579A0 to 00CFFFFF
3. Change the Value Type to 2 bytes
4. Check the hex option next to the Value space and put the value "1000"
5. While on a 3D area do a couple of consecutive searches, then move your camera and your character a bit and press a couple of times again the next search button.
6. You will end up with a number of results that you need to check in the same way like PS2 widescreen hack searching method. Make a save state and start modifying values to "0C00". Once you notice something like the size or the zoom gets modified try to isolate the address responsible. Have in mind that PS1 games and emulators are more prone to crashes that PS2, you might have to reload the savestate and re-attach your Cheay Engine session to epsxe keeping the current searches. Also if you come acress a height modifier or a zoom modifier but not a width modifier you can hit Ctrl+B and search with the debugger nearby addresses (+-200) manually for a possible height modifier, most of the times they are near to eachother.

It's a super nooby tutorial but for now that's the best we can do, atleast this is the best I can offer.
I bet there are hundreds of games that work with that method that wait to be exploited, it's just that the ones I have tried, (including most if not all of the requests here) just didn't work. Also they work perfectly on a real PS1, even Eyefinity ones. I'm stating that because PS1 doesn't support hardware culling which should in theory affect performance when more stuff being squeezed on screen (compared to PS2 that it simply doesn't care) but luckily due to a complex limitation of the way that stuff get rendered on PS1 and how sampling-buffering etc are done it counters as a sideffect the extra weight that would be put to the hardware.
Now the good questing is, how are we supposed to do render fixes on the games that need it? (i.e. Crash series)

Thank you very much for this tutorial Virgin KLM, very appreciated.
I'm following it for tryng to make the widescreen code for the PAL version of the game Driver.
I encountered some height and zoom values, but not the x-fov one.

Then i like try this part where you say:
Quote:"Also if you come acress a height modifier or a zoom modifier but not a width modifier you can hit Ctrl+B and search
with the debugger nearby addresses (+-200) manually for a possible height modifier, most of the times they are near to eachother."

Please you can explain it in detail? I have the adress of 00AE1F38 which changes the height.
I suppose that when is opened the memory viewer with Ctrl+B is the option of "Search/Find memory" the one to be used?
I need put the value 00AE1F38 somewhere? and how i can search manually (+-200) nearby adresses?

And in the case you encounter the correct value, is not needed any conversion for make it working with
the cheat system of epsxe? all the codes already made starts with the number 8, which do not have the
values in the debugger.

Quote:Now the good questing is, how are we supposed to do render fixes on the games that need it? (i.e. Crash series)


This is really a good question, i noticed that the code posted on this thread for the Driver 2 needs also a render fix,
because the graphics appears and dissappears constantly in the sides of the screen and is annoying.

Best regards.