PS1 and PS2 Emulator Mods

PS3 [Release] PS1 and PS2 Emulator Mods 20\10\2024

Is there a way to disable the bilinear filtering (Anti-Blur) in the PS2 emulators globally rather than per-game?

It would be nice to see, especially on a CECHA/B console with full BC (ps2_emu).
 
Is there a way to disable the bilinear filtering (Anti-Blur) in the PS2 emulators globally rather than per-game?

It would be nice to see, especially on a CECHA/B console with full BC (ps2_emu).
Do you mean Smoothing? There is such option in settings in xmb
 
I got blessing from kozarovv, updated ps2 emus and ps1 emus. PS2 and PS1.


@RollPlayStation Crash Twinsanity PAL has correct fix in internal database and fix is for NTSC v2 version.



Staff Edit (ReadMe File added)

.extra_ps1_mods (Read Me)

This just a fun stuff that I made back in the day at request of Haker120.
There is no plan to update any emu from this pack for now.
While they are safe to use, there is a bug where filtering is not set to nearest when upscaler is set to normal with disabled smoothing.
Every other combination of settings should work fine.

All 3 emus have implemented widescreen hack when full screen is selected.

29102024 (Read Me)

PS2 Netemu Features:

* FPS Counter
** First one or two reads after enabling menu are bugged and show wrong value. That's because code to reset counter works only when menu is active. At some point this will be fixed.
** Counter is measuring GS Display/Dispfb registers write count per second. It's independent of PS3 framerate; it shows PS2 internal framerate.
* Activate menu combo for gamepads where the PS button is not working.
** Press Left DPAD + Square + L1 + R1 for 5-6 seconds in-game to open the menu.
* EE Overclocking/Undeclocking
* Partial Antiblur
* 2 new config commands for the above features
** 0x4F for No Blur (no param)
** 0x4E for Cycles manipulation parameter: 1 = -50%, 2 = -25%, 3 = +25%, 4 = +50%
** New config commands are ignored on unpatched emulators, so it's safe to add them even for HEN setups (they will just do nothing there).
* Modified BIOS with added X modules for increased PS2 homebrew compatibility.
** Added: XMCMAN, XSIO2MAN, XPADMAN, XMCSERV, XMTAPMAN, LIBSD

Features not implemented in this release:
* Displaying a R5900 PC/RA, it's useful only for fixing games. Patches are available on the wiki.
* Fastboot (skip PS2 logo); it's a BIOS patch, and I didn't had time to create a config for it; hardcoding wasn't an option.

Both manipulating EE cycles and enabling No Blur are much less effective than what I expected them to be. For now the only game that is known to profit from No Blur is Kingdom Hearts 2, no games affected by cycle manipulations for now (but that was tested before fps counter was a thing).
New configuration features are accessible through the Debug Menu and replace Vsync Delay and XOR CSR options. Configs for those options are still working fine.
Code quality is terrible, many features were thrown onto existing code that sometimes has been modified earlier. So it matches original Netemu code quality at least. :D

-----------------------------------------------------------------------------------------------

PS2 Gxemu Features:
* Extended Config Table using trick from https://www.psdevwiki.com/ps3/Talk:PS2_Emulation#Extend_config_table_by_50%_in_ps2_gxemu
** Added a few configurations as an example: Way of the Samurai 1 and 2 (SLUS_204.07/SSLUS_208.93) Darkwatch SLUS_210.42 (stuttering audio fix only).
* Modified BIOS with added X modules for increased homebrew compatibility.
** Added: XMCMAN, XSIO2MAN, XPADMAN, XMCSERV, XMTAPMAN, LIBSD
* Temperature Display, credits to 3141card for original Netemu implementation.
* FPS counter
**Temperature display and FPS counter can be accessed in two ways. By square + select combo ingame, this refresh temps/fps when combo is pushed. Second way is to open menu and push and keep pressed square. This refresh data every second.
* Custom config file loading. Config need to have exact game executable name (ie SLES_123.45), emu search for configs in dev_hdd0/vm/gx/

More features, more messy code inside. Shame on me. :P
-----------------------------------------------------------------------------------------------

PS2 Emu Features:
* Temperature Display
**Temperature display can be accessed in two ways. By square + select combo ingame, this refresh temps when combo is pushed. Second way is to open menu and push and keep pressed square. This refresh data every second.
** Under the hood, this was the most demanding port of the old implementation. Ps2_emu misses basics like s(n)printf; there is also no vuart bug that the old implementation relies on; additionally, there is also less space that is known to be unused.
** Due to the above, supported temperatures are in the range of 00-99 °C. Temperatures above 99 °C will be shown without the first character (e.g., 123 will be 23). But if you are hitting +100c on PS3, then you have more problems than that.

-----------------------------------------------------------------------------------------------

PS1 Netemu Features:

* Automatic GTE Widescreen Patch
** Work only on 3D elements. Compatibility differs per game but should be on par with Duckstation "Widescreen Rendering".
** You need to select the Full Screen Display option to enable.
** Compatible with ISO, real discs, EBOOTS, and Official Classics.
** While fully working, code under the hood is a little bit janky due to lack of space in elf. Sorry!

Features not implemented in this release:
* Dithering removal patch. Because many people prefer it enabled as on the original PS1.
* Forced bilinear filtering removal. Because many people prefer it enabled, and I had no good way to make a menu separator for that.

-----------------------------------------------------------------------------------------------

PS1 Emu Features: COMPLETELY UNTESTED!!!

* Automatic GTE Widescreen Patch
** Work only on 3D elements. Compatibility differs per game.
** You need to select the Full Screen Display option to enable.
** Compatible with ISO and real discs.
** While fully working, code under the hood is a little bit janky due to lack of space in elf. Sorry!

Features not implemented in this release:
* Dithering removal patch. Because many people prefer it enabled as on the original PS1.

-----------------------------------------------------------------------------------------------

All files should be compatible with 4.75+ firmwares. Some features were tested more, some less.
All patches were written in pure PPE and SPE assembly; code portability is not existing if Sony updates emulators (shouldn't happen, really).
BIG THANKS to people who helped with testing all of that! mrjaredbeta, kamilb880, Jabu, A youkai of love. Thanks to them I was able to create all those mods without PS3 hardware!
I hope that I didn't mess up files; if something is not working as expected, then I probably packed the wrong self.
 
Last edited by a moderator:
Guys, is it possible to fix texture flickering on gxemu in the bard's tale and in sh4 the room? I think before the bard's tale worked fine. May be I used netemu…
 
I got blessing from kozarovv, updated ps2 emus and ps1 emus. PS2 and PS1.


@RollPlayStation Crash Twinsanity PAL has correct fix in internal database and fix is for NTSC v2 version.



Staff Edit (ReadMe File added)

.extra_ps1_mods (Read Me)
This just a fun stuff that I made back in the day at request of Haker120.
There is no plan to update any emu from this pack for now.
While they are safe to use, there is a bug where filtering is not set to nearest when upscaler is set to normal with disabled smoothing.
Every other combination of settings should work fine.

All 3 emus have implemented widescreen hack when full screen is selected.

29102024 (Read Me)

PS2 Netemu Features:

* FPS Counter
** First one or two reads after enabling menu are bugged and show wrong value. That's because code to reset counter works only when menu is active. At some point this will be fixed.
** Counter is measuring GS Display/Dispfb registers write count per second. It's independent of PS3 framerate; it shows PS2 internal framerate.
* Activate menu combo for gamepads where the PS button is not working.
** Press Left DPAD + Square + L1 + R1 for 5-6 seconds in-game to open the menu.
* EE Overclocking/Undeclocking
* Partial Antiblur
* 2 new config commands for the above features
** 0x4F for No Blur (no param)
** 0x4E for Cycles manipulation parameter: 1 = -50%, 2 = -25%, 3 = +25%, 4 = +50%
** New config commands are ignored on unpatched emulators, so it's safe to add them even for HEN setups (they will just do nothing there).
* Modified BIOS with added X modules for increased PS2 homebrew compatibility.
** Added: XMCMAN, XSIO2MAN, XPADMAN, XMCSERV, XMTAPMAN, LIBSD

Features not implemented in this release:
* Displaying a R5900 PC/RA, it's useful only for fixing games. Patches are available on the wiki.
* Fastboot (skip PS2 logo); it's a BIOS patch, and I didn't had time to create a config for it; hardcoding wasn't an option.

Both manipulating EE cycles and enabling No Blur are much less effective than what I expected them to be. For now the only game that is known to profit from No Blur is Kingdom Hearts 2, no games affected by cycle manipulations for now (but that was tested before fps counter was a thing).
New configuration features are accessible through the Debug Menu and replace Vsync Delay and XOR CSR options. Configs for those options are still working fine.
Code quality is terrible, many features were thrown onto existing code that sometimes has been modified earlier. So it matches original Netemu code quality at least. :D

-----------------------------------------------------------------------------------------------

PS2 Gxemu Features:
* Extended Config Table using trick from https://www.psdevwiki.com/ps3/Talk:PS2_Emulation#Extend_config_table_by_50%_in_ps2_gxemu
** Added a few configurations as an example: Way of the Samurai 1 and 2 (SLUS_204.07/SSLUS_208.93) Darkwatch SLUS_210.42 (stuttering audio fix only).
* Modified BIOS with added X modules for increased homebrew compatibility.
** Added: XMCMAN, XSIO2MAN, XPADMAN, XMCSERV, XMTAPMAN, LIBSD
* Temperature Display, credits to 3141card for original Netemu implementation.
* FPS counter
**Temperature display and FPS counter can be accessed in two ways. By square + select combo ingame, this refresh temps/fps when combo is pushed. Second way is to open menu and push and keep pressed square. This refresh data every second.
* Custom config file loading. Config need to have exact game executable name (ie SLES_123.45), emu search for configs in dev_hdd0/vm/gx/

More features, more messy code inside. Shame on me. :P
-----------------------------------------------------------------------------------------------

PS2 Emu Features:
* Temperature Display
**Temperature display can be accessed in two ways. By square + select combo ingame, this refresh temps when combo is pushed. Second way is to open menu and push and keep pressed square. This refresh data every second.
** Under the hood, this was the most demanding port of the old implementation. Ps2_emu misses basics like s(n)printf; there is also no vuart bug that the old implementation relies on; additionally, there is also less space that is known to be unused.
** Due to the above, supported temperatures are in the range of 00-99 °C. Temperatures above 99 °C will be shown without the first character (e.g., 123 will be 23). But if you are hitting +100c on PS3, then you have more problems than that.

-----------------------------------------------------------------------------------------------

PS1 Netemu Features:

* Automatic GTE Widescreen Patch
** Work only on 3D elements. Compatibility differs per game but should be on par with Duckstation "Widescreen Rendering".
** You need to select the Full Screen Display option to enable.
** Compatible with ISO, real discs, EBOOTS, and Official Classics.
** While fully working, code under the hood is a little bit janky due to lack of space in elf. Sorry!

Features not implemented in this release:
* Dithering removal patch. Because many people prefer it enabled as on the original PS1.
* Forced bilinear filtering removal. Because many people prefer it enabled, and I had no good way to make a menu separator for that.

-----------------------------------------------------------------------------------------------

PS1 Emu Features: COMPLETELY UNTESTED!!!

* Automatic GTE Widescreen Patch
** Work only on 3D elements. Compatibility differs per game.
** You need to select the Full Screen Display option to enable.
** Compatible with ISO and real discs.
** While fully working, code under the hood is a little bit janky due to lack of space in elf. Sorry!

Features not implemented in this release:
* Dithering removal patch. Because many people prefer it enabled as on the original PS1.

-----------------------------------------------------------------------------------------------

All files should be compatible with 4.75+ firmwares. Some features were tested more, some less.
All patches were written in pure PPE and SPE assembly; code portability is not existing if Sony updates emulators (shouldn't happen, really).
BIG THANKS to people who helped with testing all of that! mrjaredbeta, kamilb880, Jabu, A youkai of love. Thanks to them I was able to create all those mods without PS3 hardware!
I hope that I didn't mess up files; if something is not working as expected, then I probably packed the wrong self.


Can you post some screenshots comparing original vs this patch with nearest neighbor filter?
 
It's nice work you blokes have done. Finally great to have widescreen without having to patch out each ps1 game now.

Although I'm not a coder at all and have no clue about how hard this will be, is it possible to port the smoothing code from the ps2_gxemu to ps2_emu, I know in the gxemu, smoothing does work when the game is set to 480p where as in the ps2_emu, the option doesn't work when the game is set to 480p. It also in my opinion looks much better in the gxemu as it also sharpens the image and smoothens the edges as opposed to just smoothing out the edges in the ps2_emu (granted a few games I like have too many issues with the gxemu consoles which is why I stuck with the ps2_emu console as the games themselves work).

If it can't be done, don't worry about it, I just want to see if it's possible.
 
Last edited:
All 3 emus have implemented widescreen hack when full screen is selected.
I've tried the PS1 emulator that supposedly has the widescreen hack, the problem is that it doesn't give the option to put it in full screen. Am I missing something?

Ot33IXG.png
 
Great work!

I have a question and i hope it's possible to do.
I'm looking for a way to play PS1 and PS2 games in a complete fullscreen image.
I know thats not the way it was ment to be played but in 4:3.
But could @mrjaredbeta or @kozarovv keep the default ps1 and ps2 emu's and just add it that when selecting Fullscreen that it completely stretches the image to fullscreen on top and bottom?
Now it's always displayed in a letterbox and using my tv settings to zoom always causes the screen to be cut on all sides.

I found the following code example from @kozarovv in a different thread:
On ps3 you just get stretched image, this is not really full screen if everything is wider than it should.
You can probably have the same effect using simple config in lua on ps4.

Code:
Code:
apiRequest(0.1)

local emuObj    = getEmuObject()
emuObj.SetDisplayAspectWide()
 
Last edited:
Is there a guide on PSX-Place on how to add widescreen patches to PS2 or PS1 games for PS3?
For psx: just update emulator from this thread. For ps2 googke ps2 wide screen patches. It is a tool with widescreen patches collection
For PS2 widescreen patches, I've found an easiest alternative :
In Managunz, you have some individual options for PS2 games, including a 16/9 option. Toggle it.
Then, even if you're launching your games with WebmanMod, the widescreen mod will be applied, without the need to patch your ISO with any external program. Of course, you need to activate it in the PS2 emulator settings too.
I tried it with the Xenosaga trilogy, it works perfectly fine
 
Back
Top