PS4 [Research]PS2 emulator configuration on PS4

I can't get to the winter palace because of this bug
I just did, here it is
Obviously an fpu related issue. try these and see if they work or not
Code:
--fpu-no-clamping=1
--fpu-to-double=1
--fpu-accurate-addsub=1
--fpu-accurate-muldiv=1
#Vu0 just in case
--vu0-no-clamping=1
--vu-to-double=1
 
Last edited:
Someone will have to port Mrjared's ps3 config to ps4, as it seems to fix some important stuff
https://www.psx-place.com/threads/compatibility-list-ps2-on-ps3.1306/page-284#post-352554
The PS3 config basically forces a check on GIF DMA channel to make sure it is not running when not needed to avoid freezes, and also fixes GS rendering of the jedi dashing blur effect. There is not currently any speed hacks in this config. I would think if there are no freezes and the blur effect is there on PS4, then the PS3 config would not need to be ported. I am unsure if there is any PS4 equivalent for these config commands (command 0x01 hook 0x05, and command 0x4D).
 
The PS3 config basically forces a check on GIF DMA channel to make sure it is not running when not needed to avoid freezes, and also fixes GS rendering of the jedi dashing blur effect. There is not currently any speed hacks in this config. I would think if there are no freezes and the blur effect is there on PS4, then the PS3 config would not need to be ported. I am unsure if there is any PS4 equivalent for these config commands (command 0x01 hook 0x05, and command 0x4D).

maybe disabling blur might help?

Code:
--Blurriness Always Disabled by Code Master, Lajos Szalay

eeObj.WriteMem32(0x0060E41D,0x00000000)


This is for NTSC version of game
 
Gran Turismo 4. Short GamePlay! (SCES51719)
VIDEO


New testing config by @Kugozx

in txt.
Code:
--gs-use-deferred-l2h=1

--vif1-instant-xfer=1

--gs-use-mipmap=0
--gs-use-clut-merge=1
--gs-kernel-cl="clutmerge"
--gs-kernel-cl-up="clutmerge2x2"

#Fix incomplete letters in menu
--vu0-no-clamping=0
--vu0-clamp-operands=1
--vu0-clamp-results=1

--vu1-no-clamping=0
--vu1-clamp-operands=1
--vu1-clamp-results=1

--ee-cycle-scalar=1.50

#Fix video anticipated race license
--fpu-accurate-muldiv-range=0x00579EB8,0x00579EB8
--fpu-accurate-muldiv-range=0x00579EDC,0x00579EDC
--fpu-accurate-muldiv-range=0x0057A008,0x0057A008
--fpu-accurate-muldiv-range=0x0057A030,0x0057A030

--detect-idle-vif=1

in lua.
Code:
--gametitle=Gran Turismo 4 [SCES-51719] (E)
--emu=siren v2

apiRequest(0.1)

local eeObj     = getEEObject()
local emuObj = getEmuObject()
local gsObj     = getGsObject()

local widescreen = function()

-- force progressive scan
eeObj.WriteMem32(0x20A57E70,0x00000001)
eeObj.WriteMem32(0x201074A0,0x24050003) --8E050004
eeObj.WriteMem32(0x2061868C,0x00000001) --00000000
eeObj.WriteMem32(0x20618694,0x00000000) --00000001

-- Autoboot in 480p
eeObj.WriteMem32(0x20436820,0xAE0516B0) --AE0010E8
eeObj.WriteMem16(0x20436910,0x10E8) --

--Field of View

-- Screen Width   (mm)
eeObj.WriteMem32(0x20A567F0,0x446E0000) -- 952mm in my case

-- Screen Height (mm)
eeObj.WriteMem32(0x20A567F4,0x4405C000) -- 535mm in my case

-- Eye Distance to Screen (mm)
eeObj.WriteMem32(0x20A567EC,0x44610000) -- 900mm in my case

-- Zoom Level (-2.0 to 2.0)
eeObj.WriteMem32(0x20A567E8,0x3f800000) -- 1.0, we already have the right FoV Better don't touch this


--Aspect Ratio

--   Single Screen Aspect Ratios
--    1 x 16:9  3f800000
--    1 x 21:9  3FAAAAAB
--    1 x 32:9  40000000

--   Triple Screen Aspect Ratios
--    3 x 16:9  40400000

eeObj.WriteMem32(0x20A567F8,0x3f800000) -- 16:9 in my case

-- disable colour correction channel shuffle effect
eeObj.WriteMem32(0x0033F8B8,0x1000000B) --5440000B

-- disable rendering of light sources
eeObj.WriteMem32(0x0033F6B0,0x10000031) --10400031

-- Fix shadows
eeObj.WriteMem32(0x001D6598,0x00000000) --0C075A6A

-- Added GT4 First Preview camera mode (far chase camera)
eeObj.WriteMem32(0x2037AFAC,0x84E30000)
eeObj.WriteMem16(0x2037AFB0,0x0002)
eeObj.WriteMem16(0x2037AFC0,0x0004)
eeObj.WriteMem32(0x2037AFD0,0x84E30000)

eeObj.WriteMem16(0x2037AFE0,0x0004)
eeObj.WriteMem8(0x0037AFF8,0x40)
eeObj.WriteMem16(0x2037B00A,0x8442)

eeObj.WriteMem32(0x206211E8,0x00010000)
eeObj.WriteMem32(0x206211EC,0x00060014)

end

emuObj.AddVsyncHook(widescreen)

Now no colored strip and no shacking screen (almost)! Also some test of new cam option view from GT 4 Prologue!

Replay after race in GT4
VIDEO
 
Anyone willing to test ?

Syphon Filter - The Omega Strain

CLI
All versions
Code:
#Gfx fix ??
--gs-flush-ad-xyz=safe
--gs-kernel-cl-up="up2x2simple"
#Sps fix ??
--vu-custom-min-max=0
--vu1-no-clamping=1
--vu0-no-clamping=1
--vu-xgkick-delay=0

LUA
SCES-52033
Code:
apiRequest(0.1)

local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()

-- Cop2 problems.
eeObj.WriteMem32(0x3953F8,0x48438000)
eeObj.WriteMem32(0x3735FC,0x4B06521B)
-- Pal speed fix
eeObj.WriteMem32(0x175E1C,0x24020019)

end

emuObj.AddVsyncHook(patcher)

LUA
SCUS-97264
Code:
apiRequest(0.1)

local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()

-- Cop2 problems.
eeObj.WriteMem32(0x3735F8,0x48438000)
eeObj.WriteMem32(0x3735FC,0x4B06521B)

end

emuObj.AddVsyncHook(patcher)
 
Last edited:
Scarface SLES 542.71

Code:
-- Scarface SLES 542.71
-- speed fix by Agrippa & Kozarovv
-- graphical issues fix by kozarovv (port version NTSC)
-- ported to PS4 (port version NTSC - by Stayhye )
-- emu used=star ocean v2

apiRequest(0.1)
local cpr       = require("ee-cpr0-alias")
local emuObj      = getEmuObject()
local eeObj       = getEEObject()

--PS3 config(speed up)
eeInsnReplace(0x00643e70, 0xc4810020, 0x03e00008)
eeInsnReplace(0x00643e74, 0x3c033f80, 0x00000000)
eeInsnReplace(0x0064300c, 0x45010012, 0x10000012)
eeInsnReplace(0x00510290, 0x3c034320, 0x3c034220)
eeInsnReplace(0x00510240, 0x3c033f80, 0x3c033f00)

local gfx_fix = function()
eeObj.WriteMem32(0x004ee128,0x10000003) --14400003
eeObj.WriteMem32(0x004f5224,0x00000000)  --14c00003
eeObj.WriteMem32(0x004f5248,0x10000007)  --14650007

eeObj.Vu1MpgCycles(375)
end
emuObj.AddVsyncHook(gfx_fix)

-- Uprender/Upscale fix
emuObj.SetGsTitleFix( "globalSet",  "reserved", { waveThreshold = 90000} )
emuObj.SetGsTitleFix( "ignoreAreaUpdate", 0, { } )
emuObj.SetGsTitleFix( "forceSimpleFetch",  "reserved", {psm=0} )
emuObj.SetGsTitleFix( "fetchFromCurrBuff", "reserved", {psm=0} )


Thanks...
@kozarovv
@Agrippa
@Stayhye

LUA file... port from NTSC to PAL
 
Wondering if anyone can help out with "Mojib Ribbon" for PS2? With KOF98 it makes it all the way to the title screen, where the video freezes and doesn't register any input (the audio stream still plays fine however).

In all others, it will either crash off the bat (RECVX), or get stuck infinitely loading on the very first loading screen (where it says "please wait a moment..." in Japanese) (Jak v2).

I've tried the default config posted, as well as messing around with vif-thread-chunk-size but nothing seems to make a difference.

Ultimately I have no idea how I can properly troubleshoot this.

Many thanks in advance for anyone who might be willing to give it a shot.
 
Wondering if anyone can help out with "Mojib Ribbon" for PS2? With KOF98 it makes it all the way to the title screen, where the video freezes and doesn't register any input (the audio stream still plays fine however).

In all others, it will either crash off the bat (RECVX), or get stuck infinitely loading on the very first loading screen (where it says "please wait a moment..." in Japanese) (Jak v2).

I've tried the default config posted, as well as messing around with vif-thread-chunk-size but nothing seems to make a difference.

Ultimately I have no idea how I can properly troubleshoot this.

Many thanks in advance for anyone who might be willing to give it a shot.
Try it on jakv2
Code:
--vif-ignore-invalid-cmd=1
--vif1-ignore-cmd-ints=1
--vif1-instant-xfer=0
#Remove this vu1 command if the game has graphical problems
--vu1=jit-sync
 
If someone still have random crash issue and can't pass Mansion in Scarface game, this FiX will help for sure!

FiX
Code:
--vu0-opt-flags=2
--vu1-opt-flags=2
--vu1-mpg-cycles=2000
--vu1-injection=0
--vu0-jr-cache-policy=newprog
--vu0-jalr-cache-policy=newprog
--vu1-jr-cache-policy=newprog
--vu1-jalr-cache-policy=newprog

for PAL and NTSC versions of game!

Scarface The World is Yours. Before\\\After FiX Comparison + Short GamePlay!
VIDEO
 
Try it on jakv2
Code:
--vif-ignore-invalid-cmd=1
--vif1-ignore-cmd-ints=1
--vif1-instant-xfer=0
#Remove this vu1 command if the game has graphical problems
--vu1=jit-sync

Tried your config with Jak v2, but it got stuck loading at the same place.
Tried it again with KOF98 and it works great. Thank you so much!
 
Silent Hill 3 [Cheat Edition] PS2toPS4 Test

Some old test!

REDFACTION Emu good one for this game! It fix small graphical bugs and blured face of Heather!
Main thing is, when u see train cutscene, better skip it or game will crash!
 
Silent Hill 3 [Cheat Edition] PS2toPS4 Test

Some old test!

REDFACTION Emu good one for this game! It fix small graphical bugs and blured face of Heather!
Main thing is, when u see train cutscene, better skip it or game will crash!
Try this for the train cutscene
Code:
--vif1-instant-xfer=0
 
Two questions

1) The compatibility list says both the US and PAL versions of God Hand work. I've been trying to get the Japanese version going, but it always crashes instantly and fails to launch. Jak v2, Rogue, RECVX, same results. For reference, I am compiling with PS2-FPKG and it is autoloading a config file that it came bundled with, so it makes me assume someone has gotten this version working before, but I could be wrong.

2) I've tested and have confirmed working some titles that are not already on the compatibility list. How exactly does one contribute to it? Should I just post any results I have in here?
 
God Of War II - Infernal Edition
emu: Jakxv2

Code:
--gs-uprender=2x2
--gs-upscale=edgesmooth
--ee-cycle-scalar=0.62
--iop-cycle-scalar=0.20
--vu1-mpg-cycles=1985
--vu1-jr-cache-policy=newprog
--vu1-jalr-cache-policy=newprog
--cdvd-sector-read-cycles=4000
--host-audio-latency=1.6
--host-display-mode=16:9
--ps2-lang=system
--safe-area-min=0.9
Lua:
Code:
-- God of war II: Infernal Edition
--Original alt. fix (Bergolino Gamer)

apiRequest(2.0)
local eeObj      = getEEObject()
local emuObj   = getEmuObject()
local gpr           = require("ee-gpr-alias")

local patcher    = function()
----------------Graphics---------------
eeObj.WriteMem32(0x0016E720,0x03e00008)
eeObj.WriteMem32(0x0016E724,0x00000000)
eeObj.WriteMem32(0x00126EB0,0x03e00008)
eeObj.WriteMem32(0x00126EB4,0x00000000)
eeObj.WriteMem32(0x0025a608,0xa04986dc)
eeObj.WriteMem32(0x001E45D4,0x24020001)
----------------Widescreen-------------
eeObj.WriteMem32(0x001E45B4,0x24040001)
eeObj.WriteMem32(0x001E45B8,0x00000000)
eeObj.WriteMem32(0x0027894C,0x3c013fe3)
eeObj.WriteMem32(0x00278950,0x34218e39)
----------------Cheats-----------------
eeObj.WriteMem32(0x002D86A8,0x00000001)
----------------Features---------------
eeObj.WriteMem32(0x001DD8C8,0x00000000)
eeObj.WriteMem32(0x201AA470,0x03e00008)
eeObj.WriteMem32(0x201AA474,0x00000000)
eeObj.WriteMem32(0x201A9F00,0x03e00008)
eeObj.WriteMem32(0x201A9F04,0x00000000)
eeObj.WriteMem32(0x2095930C,0x3F900000) --kratos speed
eeObj.WriteMem32(0x20959B0C,0x3F900000)
eeObj.WriteMem32(0x202D86C4,0x00000001) --Bonus mode (by Maori-Jigglypuff)
emuObj.ThrottleMax()
end
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=1  } )

emuObj.SetGsTitleFix( "SetSelfRender", "reserved", { fbmask= 0x00FFFFFF , renderSelf=1 , zmsk=1 , alpha=0 , texMode=1  } )
emuObj.AddVsyncHook(patcher)

- Original config by Bergolino Gamer (thanks)
- a little modified to work in this version.
 
Last edited:
For dbzbt3 "mods" that not work (after rebuild+kof98=crash),
i use this commands(I don't know what they do):
Code:
--fpu-rsqrt-fast-estimate=1
--vu1-use-rsqrt=1
#emu=kof98

and this to add in lua:
Code:
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=2 } )
 
Last edited:

Similar threads

Back
Top