PS4 [Research]PS2 emulator configuration on PS4

Okami (SLES54439)

TXT.
Code:
--host-display-mode=16:9
--gs-force-bilinear=1
--gs-kernel-cl-up="up2x2simple"
--vu1-di-bits=0
--vu1-mpg-cycles=230

LUA.
Code:
-- Okami (SLES-54439)
-- emu used=RECVX v1

apiRequest(1.0)

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

local CheckInputs = function()

local pad_bits = emuObj.GetPad()

local UP    = pad_bits &  0x0010
local DOWN    = pad_bits &  0x0040
local LEFT    = pad_bits &  0x0080
local RIGHT    = pad_bits &  0x0020
local Triangle  = pad_bits &  0x1000
local Cross    = pad_bits &  0x4000
local Square    = pad_bits &  0x8000
local Circle  = pad_bits &  0x2000
local L1    = pad_bits &  0x0400
local L2    = pad_bits &  0x0100
local L3    = pad_bits &  0x0002
local R1    = pad_bits &  0x0800
local R2    = pad_bits &  0x0200
local R3    = pad_bits &  0x0004
local Select  = pad_bits &  0x0001
local Start    = pad_bits &  0x0008

if (L3 ~= 0) then
-- 16:9
eeObj.WriteMem32(0x001974d4,0x3c014455)
eeObj.WriteMem32(0x00344864,0x3c014455)
end

end

emuObj.AddVsyncHook(CheckInputs)

local patcher = function()

-- [Disable post-processing effect] by Gabominated
eeObj.WriteMem32(0x00190A5C,0x00000000) -- 0C06191A
eeObj.WriteMem32(0x00190A24,0x00000000) -- 0C063A6C
eeObj.WriteMem32(0x00190B34,0x00000000) -- 0C063710
eeObj.WriteMem32(0x001916D4,0x00000000) -- 0C060E70

end

emuObj.AddVsyncHook(patcher)

Okami. Short GamePay!
VIDEO
 
Grand Theft Auto VI Vice City Timetwister (Mix of Lucia & Jason Mod + Timetwister Mod from PC)

TXT.
Code:
--host-display-mode=16:9
--vu1-no-clamping=0

--vu0-const-prop=0
--vu1-const-prop=0

--cdvd-sector-read-cycles=2000

--ee-hook=0x00272200,FastForwardClock
--ee-hook=0x00273ff8,FastForwardClock

--force-frame-blend=1
--gs-ignore-rect-correction=1

LUA.
Code:
-- Grand Theft Auto VI Vice City Timetwister Mod
-- emu used=Red Faction

local gpr = require("ee-gpr-alias")

apiRequest(0.1)

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

local CheckInputs = function()

local pad_bits = emuObj.GetPad()

local UP    = pad_bits &  0x0010
local DOWN    = pad_bits &  0x0040
local LEFT    = pad_bits &  0x0080
local RIGHT    = pad_bits &  0x0020
local Triangle  = pad_bits &  0x1000
local Cross    = pad_bits &  0x4000
local Square    = pad_bits &  0x8000
local Circle  = pad_bits &  0x2000
local L1    = pad_bits &  0x0400
local L2    = pad_bits &  0x0100
local L3    = pad_bits &  0x0002
local R1    = pad_bits &  0x0800
local R2    = pad_bits &  0x0200
local R3    = pad_bits &  0x0004
local Select  = pad_bits &  0x0001
local Start    = pad_bits &  0x0008

if (RIGHT ~= 0 and Select ~= 0) then
-- Infinite Cash
eeObj.WriteMem32(0x205C6F5C,0x00989680)
end

if (LEFT ~= 0 and Select ~= 0) then
-- Infinite Health
eeObj.WriteMem32(0x200FFF00,0x3C0542C8)
eeObj.WriteMem32(0x200FFF04,0xAC450368)
eeObj.WriteMem32(0x200FFF08,0x03E00008)
eeObj.WriteMem32(0x200FFF0C,0x46000024)
eeObj.WriteMem32(0x202D2034,0x0C03FFC0)
eeObj.WriteMem32(0x202B9D48,0x00000000)
end

end

emuObj.AddVsyncHook(CheckInputs)

local patcher = function()


end

emuObj.AddVsyncHook(patcher)

-- Performace fix
local emuObj = getEmuObject()  
local thresholdArea = 600
emuObj.SetGsTitleFix( "ignoreUpRender", thresholdArea , {alpha=0x80008068 , zmsk=1 } )

-- Bug#9147
-- workaround ... -2104(gp) value is something wrong. the value comes from CCamera::Process().
--                unfortunately accurate math or any other flags don't help for this problem,
--                  even though it should be calculation error issue.
--                  for here, it's just given 0 radian for CSprite::RenderBufferedOneXLUSprite_Rotate_Dimension()
--                  actually the cloud is a billboard, so it should have 0 degree in view-space.
--                  so given 0 degree must be OK.... but could cause some corruption (wrong perspective or something)
eeInsnReplace(0x0032b864,0xc792f7c8,0x44809000) --     lwc1    $f18,-2104(gp)

-- Fix for bug #9161. The 'flying cars' cheat causes crashes when attempting to
-- fly an helicopter. We avoid that by disabling recognition of the cheat altogether.
-- The SLPM version comes with the cheat disabled out of the box.
eeInsnReplace(0x00277f24, 0x14400015, 0x10000015)    -- bnez -> b

Grand Theft Auto Vice City|Timetwister Mod|1 Hour of Classic|FiXed|PS4 Pro
 
Last edited:
Ratatouille - (SLES - 54747)
emu=aofa

thanks stayhye for config

Code:
--gs-uprender=2x2
--gs-upscale=edgesmooth
--gs-progressive=1
--gs-motion-factor=50
--cdvd-sector-read-cycles=4000
Lua:
Code:
apiRequest(2.0)

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

local patcher = function()
--disable ghosting,color adjusment by JuanoV
eeObj.WriteMem32(0x0053BFEC, 0x00000000) --ghosting fix
eeObj.WriteMem32(0x2071A074, 0x3f030000) --color r
eeObj.WriteMem32(0x2071A078, 0x3f030000) --color g
eeObj.WriteMem32(0x2071A07c, 0x3f030000) --color b
eeObj.SchedulerDelayEvent("vif0.dma", 0x6500) 
eeObj.SchedulerDelayEvent("gif.dma", 0x1000)
emuObj.ThrottleMax()
end
emuObj.SetGsTitleFix( "forceSimpleFetch",  "reserved", {texMode=1} )
emuObj.AddVsyncHook(patcher)
emuObj.SetDisplayAspectWide()


Tekken 5 - remove glow/bloom filter

SLES:
Code:
eeObj.WriteMem32(0x0022A7F8,0x00000000)
SLUS:
Code:
eeObj.WriteMem32(0x0021F2A4,0x00000000)

 
Killer7 (SLUS21154)

TXT.
Code:
--host-display-mode=16:9
--vu0-no-clamping=0
--vu1-no-clamping=0

LUA.
Code:
-- Killer 7 SLUS_211.54
-- Jak v2

local gpr = require("ee-gpr-alias")

apiRequest(0.1)

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

local CheckInputs = function()

local pad_bits = emuObj.GetPad()

local UP    = pad_bits &  0x0010
local DOWN    = pad_bits &  0x0040
local LEFT    = pad_bits &  0x0080
local RIGHT    = pad_bits &  0x0020
local Triangle  = pad_bits &  0x1000
local Cross    = pad_bits &  0x4000
local Square    = pad_bits &  0x8000
local Circle  = pad_bits &  0x2000
local L1    = pad_bits &  0x0400
local L2    = pad_bits &  0x0100
local L3    = pad_bits &  0x0002
local R1    = pad_bits &  0x0800
local R2    = pad_bits &  0x0200
local R3    = pad_bits &  0x0004
local Select  = pad_bits &  0x0001
local Start    = pad_bits &  0x0008

if (L3 ~= 0) then
-- Infinite Health
eeObj.WriteMem32(0x20207174,0x00000000)
end
if (LEFT ~= 0 and Select ~= 0) then
-- All Characters Available
eeObj.WriteMem32(0x2061C870,0x00000FFF)
eeObj.WriteMem32(0x2061C874,0x0000FFFF)
end
if (RIGHT ~= 0 and Select ~= 0) then
-- Team Members Always Alive
eeObj.WriteMem32(0x2061C868,0x00000000)
eeObj.WriteMem32(0x2061C86C,0xFFFFFFFF)
end
if (R3 ~= 0) then
-- Max Serum
eeObj.WriteMem32(0x2067FD96,0x0000270F)
end

end

emuObj.AddVsyncHook(CheckInputs)

local patcher = function()

-- Widescreen Hack
eeObj.WriteMem32(0x20DB5688,0x3FE38E38)

end

emuObj.AddVsyncHook(patcher)

Killer7. Short GamePlay!
VIDEO
 
Disney-Pixar's Ratatouille (SLUS21541)

TXT.
Code:
--host-display-mode=16:9
--gs-progressive=1
--gs-motion-factor=50
--cdvd-sector-read-cycles=4000

LUA.
Code:
-- Disney's Pixar - Ratatouille NTSC
-- emu used=aofa

apiRequest(2.0)

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

local patcher = function()
--disable ghosting,color adjusment by JuanoV
eeObj.WriteMem32(0x0053A68C, 0x00000000) --ghosting fix
eeObj.WriteMem32(0x207160F4, 0x3f030000) --color r
eeObj.WriteMem32(0x207160F8, 0x3f030000) --color g
eeObj.WriteMem32(0x207160FC, 0x3f030000) --color b
eeObj.SchedulerDelayEvent("vif0.dma", 0x6500)
eeObj.SchedulerDelayEvent("gif.dma", 0x1000)
emuObj.ThrottleMax()
end
emuObj.SetGsTitleFix( "forceSimpleFetch",  "reserved", {texMode=1} )
emuObj.AddVsyncHook(patcher)
emuObj.SetDisplayAspectWide()

Disney-Pixar's Ratatouille. Short GamePlay!
VIDEO


Config ported from PAL to NTSC! Thanks @Jvn9207
 
Headhunter - redemption (SLUS-20817)
emu=jakxv2

txt:
Code:
--gs-optimize=60fps
--gs-uprender=1
--gs-upscale=edgesmooth
--host-display-mode=full
--safe-area-min=0.9
--path-patches="/app0/patches"

Lua:
Code:
apiRequest(2.0)

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

--disable double image by JuanoV
eeInsnReplace(0x1463d4, 0x10600006, 0x00000000)
--ws 
eeInsnReplace(0x190618, 0x3C014334, 0x3c014310)
eeInsnReplace(0x190648, 0x3C013FAA, 0x3c013fe3)
eeInsnReplace(0x19064c, 0x3421AAAB, 0x34218e38)

local patcher = function()
--
eeObj.WriteMem32(0x00190618,0x3c014310)
eeObj.WriteMem32(0x00190648,0x3c013fe3)
eeObj.WriteMem32(0x0019064c,0x34218e38)
--60 fps by asasega
eeObj.WriteMem8(0x43A448,0x1)
eeObj.WriteMem32(0x59D244,0x3C888889)

local pad_bits  = emuObj.GetPad()

local L3      = pad_bits &      0x0002
local R3      = pad_bits &      0x0004

if (L3 ~= 0) then
--
emuObj.SetDisplayAspectNormal()
end
if (R3 ~= 0) then
--
emuObj.SetDisplayAspectWide()
end
emuObj.ThrottleMax()
end
emuObj.AddVsyncHook(patcher)
emuObj.SetDisplayAspectWide()
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", {texMode=1} )
 
Grand Theft Auto San Andreas - Project Kaizo 2.2 (SLUS-20946)
emu=gta sa sles

txt:
Code:
--path-patches="/app0/patches"
--ps2-title-id=SLUS-20946
--trophy-support=0
--ps2-lang=system
--gs-uprender=2x2
--gs-upscale=EdgeSmooth
--vu1-clamp-range=0x04a,0x069
--gs-use-deferred-l2h=0
--cop2-no-clamping=1
--ee-hook=0x34dee8,FastForwardClock
--ee-hook=0x00245ee0,FastForwardClock
--fpu-no-clamping=0
--fpu-clamp-results=1
--vu0-no-clamping=0
--vu0-clamp-results=1
--vu1-no-clamping=0
--vu1-clamp-results=1

Lua:
Code:
apiRequest(0.7)

eeInsnReplace(0x59fbb0, 0xdca20010, 0x78a20010)
eeInsnReplace(0x59fbb8, 0xfc820010, 0x7c820010)
eeInsnReplace(0x1abdd8, 0x102000d9, 0x102000cf)

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

local patcher = function()
--
eeObj.WriteMem32(0x66B9E0,0x0)
--
eeObj.WriteMem8(0x2066B8B8,0x1)
--disable double image
eeObj.WriteMem32(0x00515874,0x10000014)
--
eeObj.WriteMem32(0x2066B588,0x00000000)

local WS = eeObj.ReadMem8(0x6FF98F)
if WS ~= 0 then
    emuObj.SetDisplayAspectWide()
    eeObj.WriteMem8(0x6FF98F, 1)
else
    emuObj.SetDisplayAspectNormal()
end

local pad_bits  = emuObj.GetPad()

local UP      = pad_bits &      0x0010
local L1      = pad_bits &      0x0400
local R1      = pad_bits &      0x0800
local L2      = pad_bits &      0x0100
local R2      = pad_bits &      0x0200

if (L1 ~= 0 and UP ~= 0) then
--radio volume on
eeObj.WriteMem32(0x2087FE3C,0x3f800000)
end
if (L1 ~= 0 and R1 ~= 0) then
--radio volume off
eeObj.WriteMem32(0x2087FE3C,0x00000000)
end
if (L1 ~= 0 and L2 ~= 0) then
--disable yellow filter
eeObj.WriteMem8(0x667966,0x07)
end
if (L1 ~= 0 and R2 ~= 0) then
--enable yellow filter
eeObj.WriteMem8(0x667966,0xc7)
end
--
eeObj.WriteMem32(0x20515870,0x00000000)

local code_check1 = eeObj.ReadMem16(0x6FF9A8)
if code_check1 == 0x0000 then
emuObj.ThrottleMax()
elseif code_check1 == 0x0001 then
emuObj.ThrottleNorm()
end
end
emuObj.AddVsyncHook(patcher)

local thresholdArea = 700
emuObj.SetGsTitleFix( "ignoreUpRender", thresholdArea , {alpha=0x80000044 , zmsk=1 } )
emuObj.SetGsTitleFix( "ignoreSubBuffCov", "reserved", {} )
 
Grand Theft Auto - Liberty City Stories (SLES-54135)
emu=jakxv2

txt:
Code:
--path-patches="/app0/patches"
--ps2-lang=system
--gs-uprender=2x2
--gs-upscale=EdgeSmooth
--safe-area-min=0.9
--gs-kernel-cl="h2lpool"
--gs-kernel-cl-up="h2lpool2x2"
--gs-h2l-list-opt=1
--gs-h2l-accurate-hash=1
--gs-adaptive-frameskip=1
--vu0-mpg-cycles=210
--vu1-mpg-cycles=210
--ee-cycle-scalar=0.8
--force-pal-60hz=1
--gs-flush-ad-xyz=always
--gs-optimize-30fps=1

Lua:
Code:
apiRequest(1.0)

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

local patcher = function()
--
eeObj.WriteMem32(0x003D7798,0x3fffffff)
eeObj.WriteMem32(0x003D76B8,0x0)
--remove filter
eeObj.WriteMem32(0x0019417C,0x10000008)
--
eeObj.WriteMem32(0x203D1050,0x0)
eeObj.WriteMem32(0x203D76BC,0x0)
eeObj.WriteMem32(0x203D76C0,0x0)
eeObj.WriteMem32(0x002B561C,0x10000008)
--
eeObj.WriteMem8(0x3D8DAA, 0x01)
--
eeObj.WriteMem8(0x3D8DA8, 0x01)
--
eeObj.WriteMem8(0x3D0AF4, 0x01)
--reduce blur? by JuanoV
eeObj.WriteMem32(0x001941CC,0x00000000)
local code_check1 = eeObj.ReadMem16(0x3D9EB4)
if code_check1 == 0x0000 then
emuObj.ThrottleMax()
elseif code_check1 == 0x0001 then
emuObj.ThrottleNorm()
end
end
emuObj.AddVsyncHook(patcher)
 
Shadow of Rome (SLES-52950)
emu=eternal ring v2

txt:
Code:
--gs-uprender=2x2
--gs-upscale=edgesmooth
--ps2-lang=system
--gs-kernel-cl="h2lpool"
--gs-kernel-cl-up="h2lpool2x2"
--gs-progressive=1
--vu-custom-min-max=0
--vu1-di-bits=0

Lua:
Code:
local gpr = require("ee-gpr-alias")

apiRequest(1.5)

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

local patcher = function()
-- 16:9
eeObj.WriteMem32(0x00146C08, 0x3C023F1F)
eeObj.WriteMem32(0x00146C10, 0x344249F9)
eeObj.WriteMem32(0x00146E24, 0x3C023F1F)
eeObj.WriteMem32(0x00146E2C, 0x344249F9)
eeObj.WriteMem32(0x001E757C, 0x3C044328)
--no interlace
eeObj.WriteMem32(0x201E9384,0x30420000) 
--disable fog by JuanoV
eeObj.WriteMem32(0x202E566C,0x10000014) 
--Unlock All Secrets of Rome & Cheats 
eeObj.WriteMem32(0x20551418,0xffffffff)
emuObj.ThrottleFast()
end
emuObj.AddVsyncHook(patcher)
emuObj.SetDisplayAspectWide()
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=1  } )
 
DT Carnage
emu=wotm?

txt:
Code:
#[fix fall through ground]=
--cop2-opt-flags=0
#[fix graphics]=
--vu1-opt-flags=1
--vu0-opt-flags=1
--gs-use-mipmap=1
--gs-kernel-cl="mipmap"
--gs-kernel-cl-up="mipmap2x2"
#--vu1=jit-sync #slow

-need fix:
-vertical lines

-thanks @Vika23 for help
 
DT Carnage

-need fix:
-vertical lines

LUA
Code:
-- emu used=kofos

must remove
Code:
--gs-use-mipmap=1
--gs-kernel-cl="mipmap"
--gs-kernel-cl-up="mipmap2x2"

but now flicker is issue, so use LOPNOR config for PS3 to fix(thanks Kozarovv!) or add this to lua patcher

Code:
--disable Mipmap(PS3 config)
eeObj.WriteMem32(0x002c2970,0xafa00034)
eeObj.WriteMem32(0x00132d80,0x03e00008)
eeObj.WriteMem32(0x00132d84,0)
eeObj.WriteMem32(0x00133b10,0x03e00008)
eeObj.WriteMem32(0x00133b14,0)
eeObj.WriteMem32(0x00134ae0,0x03e00008)
eeObj.WriteMem32(0x00134ae4,0)
 
Last edited:
New emulators have been dumped from Sly 1, 2 and 3. But they don't seem to work with FPKG 0.6/0.7.
File structure and modules are a bit different. Also tried copying the eboot to a previous emu like JakX v2 but it still crashes before the PS2 logo.
 
New emulators have been dumped from Sly 1, 2 and 3. But they don't seem to work with FPKG 0.6/0.7.
File structure and modules are a bit different. Also tried copying the eboot to a previous emu like JakX v2 but it still crashes before the PS2 logo.

those tools will not work. You must build manually
 
New emulators have been dumped from Sly 1, 2 and 3. But they don't seem to work with FPKG 0.6/0.7.
File structure and modules are a bit different. Also tried copying the eboot to a previous emu like JakX v2 but it still crashes before the PS2 logo.
yes that day happen!
 
emus are broken on purpose. Good luck getting decent speed on anything...

tried many games, its only working okay on menu. but when 3d and fmv shows up it lag so hard

edit: new emu. tomb raider legacy. let's see new option here
 
Last edited:

Similar threads

Back
Top