PS4 [Research]PS2 emulator configuration on PS4

Have you tried different emus? SO3, NeoGeo+, KOF98, Rogue,...?
I know it's quite a time consuming process. But patch files can help a little bit with that.
I have only used Jak emulator, now I will try Rogue. If you have the others emu, could you please share on PM.
UPD: With Rogue emu the same issue gray screen, but sound and controls work fine.
 
Nothing too special. But here we go. My first attempts to optimize some games:

SLUS-20362_config.lua

(Need for Speed - Hot Pursuit II)
Code:
apiRequest(1.0)
local eeObj = getEEObject()
local emuObj = getEmuObject()

-- Proper 16:9 (Widescreen)
local widescreen = function()
eeObj.WriteMem32(0x00280734, 0x3c050000) -- Progressive/480p forced
eeObj.WriteMem32(0x0028073c, 0x3c060050)
eeObj.WriteMem32(0x00280744, 0x3c070001)
eeObj.WriteMem32(0x0010e994, 0x46011702) -- Widescreen
eeObj.WriteMem32(0x0032f6ec, 0x3f400000)
eeObj.WriteMem32(0x0032f850, 0x3f2aaaaa)
end
emuObj.AddVsyncHook(widescreen)

-- Fix shadow
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=1 } )

SLUS-20811_config.lua
(Need for Speed Underground)
Code:
apiRequest(1.0)
local eeObj = getEEObject()
local emuObj = getEmuObject()

-- Proper 16:9 (Widescreen) + FMV Fix
local widescreen = function()
eeObj.WriteMem32(0x00229da8, 0x3c01bf2a) -- FMV
eeObj.WriteMem32(0x00229dac, 0x44816800)
eeObj.WriteMem32(0x00229ddc, 0x46007307)
eeObj.WriteMem32(0x00229de0, 0x46006bc7)
eeObj.WriteMem32(0x003af854, 0x3c050000) -- Progressive/480p forced
eeObj.WriteMem32(0x003af85c, 0x3c060050)
eeObj.WriteMem32(0x003af864, 0x3c070001)
eeObj.WriteMem32(0x004ff434, 0x3f24a9cf) -- Widescreen
eeObj.WriteMem32(0x004ff628, 0x3f470000)
eeObj.WriteMem32(0x004ff630, 0x3f470000)
end
emuObj.AddVsyncHook(widescreen)

-- Fix shadow
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=1  } )

config-emu-ps4-txt
Code:
[...]
#Default clamping
--fpu-no-clamping=0
--fpu-clamp-results=1
--vu0-no-clamping=0
--vu0-clamp-results=1
--vu1-no-clamping=0
--vu1-clamp-results=1
--cop2-no-clamping=0
--cop2-clamp-results=1
#30fps games
--gs-optimize-30fps=1

NFSU has some slowdowns and audio glitches in the main menu, while accessing the memory card. In-game is okay. But this is also true for PCSX2 - at least on my Windows box.
HP2 seems to be okay. I tested the patches for the 60fps mode. I wouldn't recommend turning this on. I guess the PS4 hardware is just too weak for this.

Tested on PS4 Pro/Jakv2
Next I will try to get Burnout Dominator working. Or at least "bypassing" the freezing car selection screen. ;-)
 
--vu1=jit-sync also fixes 10000 Bullets. No more black screen after PS2 logo. Game seems to be 100% playable and looks great!


10,000 Bullets™®_20210114212541.jpg
10,000 Bullets™®_20210114212549.jpg
 
--vu1=jit-sync also fixes King's Field IV The Ancient City. Gameplay seems slow, maybe 98%? Some slight graphical glitches as well. Can someone else test and give a second opinion on framerate? Jak emu btw
 
--vu1=jit-sync also fixes King's Field IV The Ancient City. Gameplay seems slow, maybe 98%? Some slight graphical glitches as well. Can someone else test and give a second opinion on framerate? Jak emu btw

how is 98% of the speed,slow?jak run at 15 fps on the psn version.
 
how is 98% of the speed,slow?jak run at 15 fps on the psn version.

basically meaning the game seems to run slightly slower than it does on a real PS2. Also, the speed that "jak" ran on the psn version has nothing to do with this. Two different games.
 
--vu1=jit-sync also fixes King's Field IV The Ancient City. Gameplay seems slow, maybe 98%? Some slight graphical glitches as well. Can someone else test and give a second opinion on framerate? Jak emu btw

sounds like something @3141card would like to have fixed. I remember him being a king's field fan. I've only beaten part 4, and it's quite good from what I remember. I beat the last boss easily with the best equipment though. :D
 
Possible fix for Transformers (Transformers Armada: Prelude to Energon), since PS2 have 3 different games called just Transformers.. Make sure your game is SLUS_206.68
I tried to fix that game earlier, but then we missed synced jit mode.

To be added to text config:
Code:
--vu1=jit-sync
Lua:
Code:
apiRequest(1.0)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local fixer = function()
eeObj.WriteMem32(0x006078a0, 0x43fa0000)
end
emuObj.AddVsyncHook(fixer)
 
Ace Combat Zero: The Belkan War
SLUS-21346

LUA

Code:
-Eliminate the jitter and blur effects caused by interlaced scanning, and improve game clarity
eeObj.WriteMem32(0x002F9A14,0x24020001)
eeObj.WriteMem32(0x002F9D58,0x0C03FFF0)
eeObj.WriteMem32(0x002F9DCC,0x30420000)
eeObj.WriteMem32(0x000FFFC0,0x341B9070)
eeObj.WriteMem32(0x000FFFC4,0x145B0002)
eeObj.WriteMem32(0x000FFFCC,0x34029000)
eeObj.WriteMem32(0x000FFFD0,0xFCC20000)
eeObj.WriteMem32(0x000FFFD4,0x03E00008)
end

emuObj.AddVsyncHook(patcher)


Ace Combat Zero: The Belkan War
SLPS-25629

LUA

Code:
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
-Eliminate the jitter and blur effects caused by interlaced scanning, and improve game clarity
eeObj.WriteMem32(0x002F959c,0x24020001)
eeObj.WriteMem32(0x002F98e0,0x0C03FFF0)
eeObj.WriteMem32(0x002F9954,0x30420000)
eeObj.WriteMem32(0x000FFFC0,0x341B9070)
eeObj.WriteMem32(0x000FFFC4,0x145B0002)
eeObj.WriteMem32(0x000FFFCC,0x34029000)
eeObj.WriteMem32(0x000FFFD0,0xFCC20000)
eeObj.WriteMem32(0x000FFFD4,0x03E00008)
end
emuObj.AddVsyncHook(patcher)


Ace Combat Zero: The Belkan War
SCES-54041

LUA

Code:
local eeObj = getEEObject()
local emuObj = getEmuObject()

local patcher = function()
-Eliminate the jitter and blur effects caused by interlaced scanning, and improve game clarity
eeObj.WriteMem32(0x002FABEC,0x24020001)
eeObj.WriteMem32(0x002FAF30,0x0c03FFF0)
eeObj.WriteMem32(0x002FAFA4,0x30420000)
eeObj.WriteMem32(0x000FFFC0,0x341B9070)
eeObj.WriteMem32(0x000FFFC4,0x145B0002)
eeObj.WriteMem32(0x000FFFCC,0x34029000)
eeObj.WriteMem32(0x000FFFD0,0xFCC20000)
eeObj.WriteMem32(0x000FFFD4,0x03E00008)
end

emuObj.AddVsyncHook(patcher)

Can be used with previously released patches
 
Last edited:
Possible fix for Transformers (Transformers Armada: Prelude to Energon), since PS2 have 3 different games called just Transformers.. Make sure your game is SLUS_206.68
I tried to fix that game earlier, but then we missed synced jit mode.

To be added to text config:
Code:
--vu1=jit-sync
Lua:
Code:
apiRequest(1.0)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local fixer = function()
eeObj.WriteMem32(0x006078a0, 0x43fa0000)
end
emuObj.AddVsyncHook(fixer)
No help, crash after selecting menu to enter the game
 
Tales of Legendia (SLUS-21201)

LUA

Code:
eeObj.WriteMem32(0x001FCCD0,0x03E00008)
eeObj.WriteMem32(0x001FCCD4,0x00000000)
eeObj.WriteMem32(0x002245B0,0x03E00008)
eeObj.WriteMem32(0x002245B4,0x00000000)
end
This should fix framerate if I did it right. Untested on ps4.
 
Last edited:
Tales of Legendia (SLUS-21201)

LUA

Code:
eeObj.WriteMem32(0x001FCCD0,0x03E00008)
eeObj.WriteMem32(0x001FCCD4,0x00000000)
eeObj.WriteMem32(0x002245B0,0x03E00008)
eeObj.WriteMem32(0x002245B4,0x00000000)
end
This should fix framerate if I did it right. Untested on ps4.
That will be correct. ;)

Code:
apiRequest(1.0)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
eeObj.WriteMem32(0x001FCCD0,0x03E00008)
eeObj.WriteMem32(0x001FCCD4,0x00000000)
eeObj.WriteMem32(0x002245B0,0x03E00008)
eeObj.WriteMem32(0x002245B4,0x00000000)
end
emuObj.AddVsyncHook(patcher)
 
Last edited:
Tales of Legendia (SLUS-21201)

LUA

Code:
eeObj.WriteMem32(0x001FCCD0,0x03E00008)
eeObj.WriteMem32(0x001FCCD4,0x00000000)
eeObj.WriteMem32(0x002245B0,0x03E00008)
eeObj.WriteMem32(0x002245B4,0x00000000)
end
This should fix framerate if I did it right. Untested on ps4.
Yes, only the frame rate is fixed, but the character modeling will be lost. I tried all the clamping modes to no avail. It seems to conflict with the clamping mode. After the clamping mode is enabled, it will crash if you cannot enter the game. I tried to port the code to the NTSC-J version again, it seems the same crash problem, but the ported code is useless
 
Yes, only the frame rate is fixed, but the character modeling will be lost. I tried all the clamping modes to no avail. It seems to conflict with the clamping mode. After the clamping mode is enabled, it will crash if you cannot enter the game. I tried to port the code to the NTSC-J version again, it seems the same crash problem, but the ported code is useless
Characters disappear from this config? Or are they missing without the config as well?
 
Characters disappear from this config? Or are they missing without the config as well?
in the case of no configuration, the game will crash after selecting new game, so it is impossible to confirm whether the role model is lost due to the configuration. After enabling the configuration, you can enter the game and the number of frames is very stable, but the character model will be lost, such as missing a leg, missing an arm, etc. This happens sometimes on the big map, sometimes in the cutscene CG, and sometimes In battle.
 
in the case of no configuration, the game will crash after selecting new game, so it is impossible to confirm whether the role model is lost due to the configuration. After enabling the configuration, you can enter the game and the number of frames is very stable, but the character model will be lost, such as missing a leg, missing an arm, etc. This happens sometimes on the big map, sometimes in the cutscene CG, and sometimes In battle.
Interesting, config shouldn't mess with characters at all as it only gets rid of horizontal overlay effect. PCSX2 does a similar thing via a GSdx CRC hack to fix the speed. Maybe something else is needed to fix the characters.
 
Interesting, config shouldn't mess with characters at all as it only gets rid of horizontal overlay effect. PCSX2 does a similar thing via a GSdx CRC hack to fix the speed. Maybe something else is needed to fix the characters.
This may be more difficult. In recent Lehman games, we have tried to fix the freezing of loading characters, but there are many ways to reverse it. Fixed the freezing, but the character modeling will also be lost, I really don't know what went wrong
 

Similar threads

Back
Top