PS4 [Research]PS2 emulator configuration on PS4

Whiplash (SLES51958) (SLUS20684)

TXT.
Code:
--host-display-mode=16:9
--gs-kernel-cl="mipmap"
--gs-kernel-cl-up="mipmap2x2"
--gs-use-mipmap=1
--ps2-lang=system  #PAL Only
--force-frame-blend=1
--gs-ignore-rect-correction=1

LUA.
Code:
-- Whiplash [SLES-51958] (E)
-- Widescreen hack by El Patas
-- 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(0x201727D0,0x00000000)
end
if (R3 ~= 0) then
-- Various Stuff (Hypersnacks,Mouses,Keys,Level Maps)
eeObj.WriteMem32(0x208F43AC,0x43000000)
eeObj.WriteMem32(0x208F45AC,0x00000063)
eeObj.WriteMem32(0x208F451C,0x00000063)
eeObj.WriteMem32(0x208F4394,0x00000002)
end

end

emuObj.AddVsyncHook(CheckInputs)

local patcher = function()

-- Gameplay 16:9
eeObj.WriteMem32(0x002C3B40,0x3C013FE3) -- 3C013FAA (Increases hor. axis)
eeObj.WriteMem32(0x002C3B44,0x34219FA5) -- 34219FBE

end

emuObj.AddVsyncHook(patcher)


Code:
-- Whiplash [SLUS-20684] (U)
-- 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
-- Max & Infinite Health
eeObj.WriteMem32(0x20868DE4,0x42DC0000)
eeObj.WriteMem32(0x20868DE8,0x42DC0000)
end
if (R3 ~= 0) then
-- Infinite Hypersnacks Reserve Points
eeObj.WriteMem32(0x20868C7C,0x461C3C00)
end

end

emuObj.AddVsyncHook(CheckInputs)

local patcher = function()

-- Widescreen Hack
eeObj.WriteMem32(0x002c3768,0x3c013fe3)
eeObj.WriteMem32(0x002c376c,0x34217fa5)

end

emuObj.AddVsyncHook(patcher)

Whiplash. Before\\\After FiX Comparison & Short Gameplay!
VIDEO
 
Whiplash (SLES51958) (SLUS20684)

TXT.
Code:
--host-display-mode=16:9
--gs-kernel-cl="mipmap"
--gs-kernel-cl-up="mipmap2x2"
--gs-use-mipmap=1
--ps2-lang=system  #PAL Only
--force-frame-blend=1
--gs-ignore-rect-correction=1

LUA.
Code:
-- Whiplash [SLES-51958] (E)
-- Widescreen hack by El Patas
-- 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(0x201727D0,0x00000000)
end
if (R3 ~= 0) then
-- Various Stuff (Hypersnacks,Mouses,Keys,Level Maps)
eeObj.WriteMem32(0x208F43AC,0x43000000)
eeObj.WriteMem32(0x208F45AC,0x00000063)
eeObj.WriteMem32(0x208F451C,0x00000063)
eeObj.WriteMem32(0x208F4394,0x00000002)
end

end

emuObj.AddVsyncHook(CheckInputs)

local patcher = function()

-- Gameplay 16:9
eeObj.WriteMem32(0x002C3B40,0x3C013FE3) -- 3C013FAA (Increases hor. axis)
eeObj.WriteMem32(0x002C3B44,0x34219FA5) -- 34219FBE

end

emuObj.AddVsyncHook(patcher)


Code:
-- Whiplash [SLUS-20684] (U)
-- 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
-- Max & Infinite Health
eeObj.WriteMem32(0x20868DE4,0x42DC0000)
eeObj.WriteMem32(0x20868DE8,0x42DC0000)
end
if (R3 ~= 0) then
-- Infinite Hypersnacks Reserve Points
eeObj.WriteMem32(0x20868C7C,0x461C3C00)
end

end

emuObj.AddVsyncHook(CheckInputs)

local patcher = function()

-- Widescreen Hack
eeObj.WriteMem32(0x002c3768,0x3c013fe3)
eeObj.WriteMem32(0x002c376c,0x34217fa5)

end

emuObj.AddVsyncHook(patcher)

Whiplash. Before\\\After FiX Comparison & Short Gameplay!
VIDEO

I would recommend using JakX v2 with this one. It fixes some very minor, occasional vertex glitches in the ingame cutscenes, similar to Haunting Ground.
 
7 Sins (SLES53297) (SLES53280)

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

LUA.
Code:
-- 7 Sins (PAL)
-- emu used=JakX v2

apiRequest(1.0)   

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

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 Sins
eeObj.WriteMem32(0x2025B9BC,0x24030000)
end
if (DOWN ~= 0 and L1 ~= 0) then
-- Display Likes
eeObj.WriteMem32(0x201782A4,0x00000000)
end
if (R3 ~= 0) then
-- Infinite Money
eeObj.WriteMem32(0x2017DC28,0x0803FFC5)
eeObj.WriteMem32(0x2017DC2C,0x00000000)
eeObj.WriteMem32(0x200FFF14,0x3C04461C)
eeObj.WriteMem32(0x200FFF18,0xAC440008)
eeObj.WriteMem32(0x200FFF1C,0xC4400008)
eeObj.WriteMem32(0x200FFF20,0x46000024)
eeObj.WriteMem32(0x200FFF24,0x0805F70C)
end
if (UP ~= 0 and L1 ~= 0) then
-- Never Fill Weakness Gauges
eeObj.WriteMem32(0x202C85CC,0x0803FFC0)
eeObj.WriteMem32(0x200FFF00,0x3C040000)
eeObj.WriteMem32(0x200FFF04,0xAC640008)
eeObj.WriteMem32(0x200FFF08,0xC4610008)
eeObj.WriteMem32(0x200FFF0C,0x080B2175)
end

end

emuObj.AddVsyncHook(CheckInputs)

local patcher = function()

--Widescreen hack 16:9

--Zoom
--0040023c 00088244 00000000 02080046
--2a40023c abaa4234 02080046 02080046
eeObj.WriteMem32(0x00226abc,0x3c02402a) --3c024000
eeObj.WriteMem32(0x00226ac0,0x3442aaab) --44820800
eeObj.WriteMem32(0x00226ac4,0x44820800) --00000000

--Y-Fov
--03080046 2400a0e7 2d200002
eeObj.WriteMem32(0x00226ae4,0x080bf5c4) --46000803

eeObj.WriteMem32(0x002fd710,0x46000803) --00000000
eeObj.WriteMem32(0x002fd714,0x3c013f40) --00000000
eeObj.WriteMem32(0x002fd718,0x4481f000) --00000000
eeObj.WriteMem32(0x002fd71c,0x461e0002) --00000000
eeObj.WriteMem32(0x002fd720,0x08089aba) --00000000

emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(patcher)

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

7 Sins. Short GamePlay!
VIDEO
 
FIFA Street 2
SLUS-21369

CLI

Code:
#Speedhacks
--ee-cycle-scalar=3.7
--vu1-mpg-cycles=1350
--vu1-di-bits=0

LUA

Code:
apiRequest(0.1)

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

local patcher = function()
--Fix graphical corruptions.
eeObj.WriteMem32(0x00331B9C, 0x0803FE80)
eeObj.WriteMem32(0x000FFA00, 0x0080302D)
eeObj.WriteMem32(0x000FFA04, 0x24030001)
eeObj.WriteMem32(0x000FFA08, 0x84C7000C)
eeObj.WriteMem32(0x000FFA0C, 0x84C2000E)
eeObj.WriteMem32(0x000FFA10, 0x00E2102A)
eeObj.WriteMem32(0x000FFA14, 0x10400011)
eeObj.WriteMem32(0x000FFA18, 0xACC3007C)
eeObj.WriteMem32(0x000FFA1C, 0x2408FFFF)
eeObj.WriteMem32(0x000FFA20, 0x8CC30000)
eeObj.WriteMem32(0x000FFA28, 0x00072880)
eeObj.WriteMem32(0x000FFA2C, 0x24E70001)
eeObj.WriteMem32(0x000FFA30, 0x00A31821)
eeObj.WriteMem32(0x000FFA34, 0x8C620000)
eeObj.WriteMem32(0x000FFA38, 0xA4400004)
eeObj.WriteMem32(0x000FFA3C, 0x8CC30000)
eeObj.WriteMem32(0x000FFA40, 0x00A32821)
eeObj.WriteMem32(0x000FFA44, 0x8CA40000)
eeObj.WriteMem32(0x000FFA48, 0xA4880034)
eeObj.WriteMem32(0x000FFA4C, 0x84C2000E)
eeObj.WriteMem32(0x000FFA50, 0x00E2102A)
eeObj.WriteMem32(0x000FFA54, 0x5440FFF4)
eeObj.WriteMem32(0x000FFA58, 0x8CC30000)
eeObj.WriteMem32(0x000FFA5C, 0x94C20014)
eeObj.WriteMem32(0x000FFA60, 0x94C40016)
eeObj.WriteMem32(0x000FFA64, 0x94C3000C)
eeObj.WriteMem32(0x000FFA6C, 0xA4C3000E)
eeObj.WriteMem32(0x000FFA70, 0x080CC6F8)
eeObj.WriteMem32(0x000FFA74, 0xA4C40012)
end
emuObj.AddVsyncHook(patcher)
 
Last edited:
FIFA Street 2
SLUS-21369

CLI

Code:
#Speedhacks
--ee-cycle-scalar=3.5
--vu1-mpg-cycles=850
--vu1-di-bits=0

LUA

Code:
apiRequest(0.1)

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

local patcher = function()
--Fix graphical corruptions.
eeObj.WriteMem32(0x00331B9C, 0x0803FE80)
eeObj.WriteMem32(0x000FFA00, 0x0080302D)
eeObj.WriteMem32(0x000FFA04, 0x24030001)
eeObj.WriteMem32(0x000FFA08, 0x84C7000C)
eeObj.WriteMem32(0x000FFA0C, 0x84C2000E)
eeObj.WriteMem32(0x000FFA10, 0x00E2102A)
eeObj.WriteMem32(0x000FFA14, 0x10400011)
eeObj.WriteMem32(0x000FFA18, 0xACC3007C)
eeObj.WriteMem32(0x000FFA1C, 0x2408FFFF)
eeObj.WriteMem32(0x000FFA20, 0x8CC30000)
eeObj.WriteMem32(0x000FFA28, 0x00072880)
eeObj.WriteMem32(0x000FFA2C, 0x24E70001)
eeObj.WriteMem32(0x000FFA30, 0x00A31821)
eeObj.WriteMem32(0x000FFA34, 0x8C620000)
eeObj.WriteMem32(0x000FFA38, 0xA4400004)
eeObj.WriteMem32(0x000FFA3C, 0x8CC30000)
eeObj.WriteMem32(0x000FFA40, 0x00A32821)
eeObj.WriteMem32(0x000FFA44, 0x8CA40000)
eeObj.WriteMem32(0x000FFA48, 0xA4880034)
eeObj.WriteMem32(0x000FFA4C, 0x84C2000E)
eeObj.WriteMem32(0x000FFA50, 0x00E2102A)
eeObj.WriteMem32(0x000FFA54, 0x5440FFF4)
eeObj.WriteMem32(0x000FFA58, 0x8CC30000)
eeObj.WriteMem32(0x000FFA5C, 0x94C20014)
eeObj.WriteMem32(0x000FFA60, 0x94C40016)
eeObj.WriteMem32(0x000FFA64, 0x94C3000C)
eeObj.WriteMem32(0x000FFA6C, 0xA4C3000E)
eeObj.WriteMem32(0x000FFA70, 0x080CC6F8)
eeObj.WriteMem32(0x000FFA74, 0xA4C40012)
end
emuObj.AddVsyncHook(patcher)

You have fix graphical corruptions for International Superstar Soccer (SLES-50039) ?
 
FIFA Street 2
SLUS-21369

CLI

Code:
#Speedhacks
--ee-cycle-scalar=3.7
--vu1-mpg-cycles=1350
--vu1-di-bits=0

LUA

Code:
apiRequest(0.1)

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

local patcher = function()
--Fix graphical corruptions.
eeObj.WriteMem32(0x00331B9C, 0x0803FE80)
eeObj.WriteMem32(0x000FFA00, 0x0080302D)
eeObj.WriteMem32(0x000FFA04, 0x24030001)
eeObj.WriteMem32(0x000FFA08, 0x84C7000C)
eeObj.WriteMem32(0x000FFA0C, 0x84C2000E)
eeObj.WriteMem32(0x000FFA10, 0x00E2102A)
eeObj.WriteMem32(0x000FFA14, 0x10400011)
eeObj.WriteMem32(0x000FFA18, 0xACC3007C)
eeObj.WriteMem32(0x000FFA1C, 0x2408FFFF)
eeObj.WriteMem32(0x000FFA20, 0x8CC30000)
eeObj.WriteMem32(0x000FFA28, 0x00072880)
eeObj.WriteMem32(0x000FFA2C, 0x24E70001)
eeObj.WriteMem32(0x000FFA30, 0x00A31821)
eeObj.WriteMem32(0x000FFA34, 0x8C620000)
eeObj.WriteMem32(0x000FFA38, 0xA4400004)
eeObj.WriteMem32(0x000FFA3C, 0x8CC30000)
eeObj.WriteMem32(0x000FFA40, 0x00A32821)
eeObj.WriteMem32(0x000FFA44, 0x8CA40000)
eeObj.WriteMem32(0x000FFA48, 0xA4880034)
eeObj.WriteMem32(0x000FFA4C, 0x84C2000E)
eeObj.WriteMem32(0x000FFA50, 0x00E2102A)
eeObj.WriteMem32(0x000FFA54, 0x5440FFF4)
eeObj.WriteMem32(0x000FFA58, 0x8CC30000)
eeObj.WriteMem32(0x000FFA5C, 0x94C20014)
eeObj.WriteMem32(0x000FFA60, 0x94C40016)
eeObj.WriteMem32(0x000FFA64, 0x94C3000C)
eeObj.WriteMem32(0x000FFA6C, 0xA4C3000E)
eeObj.WriteMem32(0x000FFA70, 0x080CC6F8)
eeObj.WriteMem32(0x000FFA74, 0xA4C40012)
end
emuObj.AddVsyncHook(patcher)

Just tested! Works fine!

FIFA Street 2. Short GamePlay!
VIDEO
 
Sorry, I don't

Superman - Shadow of Apokolips
CLI
Emu = Jak x v2

Code:
#Freeze fix
--vu0-no-clamping=0
--cop2-opt-vf00=0
#Miscolored cape fix
--vu1-no-clamping=0
#Sps fix
--gs-vert-precision=8

Full config for Superman Shadow of Apokolips (SLUS20235)

TXT.
Code:
--gs-kernel-cl-up="up2x2skipinterp"
--gs-vert-precision=8
--vu1-no-clamping=0
--vu0-no-clamping=0
--cop2-opt-vf00=0
--vu1-di-bits=0
--vu0-di-bits=0
--ee-cycle-scalar=1.6
--gs-ignore-rect-correction=1

LUA.
Code:
-- Superman Shadow of Apokolips (NTSC)
-- emu used=jakx v2

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

apiRequest(0.1)

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

emuObj.SetDisplayAspectWide()
emuObj.SetDeinterlace(true)

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
-- 60 fps
eeObj.WriteMem32(0x2032D1E8,0x00000001)
end
if (R3 ~= 0) then
-- Infinite Health & Super Powers
eeObj.WriteMem32(0x200C0220,0x3C01447A)
eeObj.WriteMem32(0x200C0224,0xAC610034)
eeObj.WriteMem32(0x200C0228,0x03E00008)
eeObj.WriteMem32(0x200C022C,0xC4610034)
eeObj.WriteMem32(0x202CC3CC,0x0C030088)
eeObj.WriteMem32(0x200C0230,0x3C014348)
eeObj.WriteMem32(0x200C0234,0xACA10030)
eeObj.WriteMem32(0x200C0238,0x080586B6)
eeObj.WriteMem32(0x200C023C,0x00431024)
eeObj.WriteMem32(0x20161AD0,0x0803008C)
eeObj.WriteMem32(0x20161AD4,0x8C820044)
end

end

emuObj.AddVsyncHook(CheckInputs)

local patcher = function()
-- Unlock All Of The Levels (Level Attack Mode)
eeObj.WriteMem32(0x202D4CA0,0x24030001)
-- Unlock All Of The Movies
eeObj.WriteMem32(0x202D6C2C,0x24030001)
-- Unlock All Biographies
eeObj.WriteMem32(0x20335694,0x00000001)
-- Unlock Concept Art Movie
eeObj.WriteMem32(0x203356A0,0x00000001)

eeObj.Vu1MpgCycles(800)
emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(patcher)

Superman Shadow of Apokolips. Before\\\After FiX Comparison & Short Gameplay!
VIDEO
 
I can't seem to find configs for Midnight club 3 dub edition remix. The ps2 to ps4 wiki page says to use config, but when I press on the link it shows "There is currently no text in this page. You can search for this page title in other pages, search the related logs, or create this page."
Please share which emu and config should I use. I heard there is a widescreen patch:
Code:
--Widescreen Hack
eeObj.WriteMem32(0x20527E14,0x3C013FE3)
eeObj.WriteMem32(0x20527E18,0x34218E34)

eeObj.WriteMem32(0x20527E14,0x3C013FE3)
eeObj.WriteMem32(0x20527E18,0x34218E34)

I tried using it and creating PKG using Jak2 emu. It crashed blue screen before ps2 logo
 
I can't seem to find configs for Midnight club 3 dub edition remix. The ps2 to ps4 wiki page says to use config, but when I press on the link it shows "There is currently no text in this page. You can search for this page title in other pages, search the related logs, or create this page."
Please share which emu and config should I use. I heard there is a widescreen patch:
Code:
--Widescreen Hack
eeObj.WriteMem32(0x20527E14,0x3C013FE3)
eeObj.WriteMem32(0x20527E18,0x34218E34)

eeObj.WriteMem32(0x20527E14,0x3C013FE3)
eeObj.WriteMem32(0x20527E18,0x34218E34)

I tried using it and creating PKG using Jak2 emu. It crashed blue screen before ps2 logo

Midnight Club 3 Dub Edition Remix (SLUS-21355)

CLI:
Code:
--ee-cycle-scalar=1.2
--vu1-mpg-cycles=350
--vu1-injection=1
--vu1-di-bits=0
--vu1-const-prop=1

Emu used: Jak v2

And if you want to test that Widescreen LUA script:
Code:
-- Jak v2

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

apiRequest(0.1)

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

local patcher = function()

--Widescreen Hack
eeObj.WriteMem32(0x20527E14,0x3C013FE3)
eeObj.WriteMem32(0x20527E18,0x34218E34)
eeObj.WriteMem32(0x20527E14,0x3C013FE3)
eeObj.WriteMem32(0x20527E18,0x34218E34)

end

emuObj.AddVsyncHook(patcher)

I have not tested this LUA script (widescreen hack) so it could be crashing the game but try it.
 
Wild ARMs 5
SLUS-21615


Briefly tested on Jak v2. Working fine so far.
Code:
apiRequest(0.1)

local iopObj = getIOPObject()
local emuObj = getEmuObject()

local patcher = function()
--Freeze fix.
--No need to go there. Just skip that part.
iopObj.WriteMem32(0x000AC2BC, 0x100000DD)
end
emuObj.AddVsyncHook(patcher)
 
Wild ARMs 5
SLUS-21615


Briefly tested on Jak v2. Working fine so far.
Code:
apiRequest(0.1)

local iopObj = getIOPObject()
local emuObj = getEmuObject()

local patcher = function()
--Freeze fix.
--No need to go there. Just skip that part.
iopObj.WriteMem32(0x000AC2BC, 0x100000DD)
end
emuObj.AddVsyncHook(patcher)
FINALLY LETS GO

Wild ARMs 5
SLUS-21615


Briefly tested on Jak v2. Working fine so far.
Code:
apiRequest(0.1)

local iopObj = getIOPObject()
local emuObj = getEmuObject()

local patcher = function()
--Freeze fix.
--No need to go there. Just skip that part.
iopObj.WriteMem32(0x000AC2BC, 0x100000DD)
end
emuObj.AddVsyncHook(patcher)
can you please do tales of legendia and shadow hearts covenant?
 
Last edited by a moderator:
Midnight Club 3 Dub Edition Remix (SLUS-21355)

CLI:
Code:
--ee-cycle-scalar=1.2
--vu1-mpg-cycles=350
--vu1-injection=1
--vu1-di-bits=0
--vu1-const-prop=1

Emu used: Jak v2

And if you want to test that Widescreen LUA script:
Code:
-- Jak v2

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

apiRequest(0.1)

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

local patcher = function()

--Widescreen Hack
eeObj.WriteMem32(0x20527E14,0x3C013FE3)
eeObj.WriteMem32(0x20527E18,0x34218E34)
eeObj.WriteMem32(0x20527E14,0x3C013FE3)
eeObj.WriteMem32(0x20527E18,0x34218E34)

end

emuObj.AddVsyncHook(patcher)

I have not tested this LUA script (widescreen hack) so it could be crashing the game but try it.
Works like a charm! There are fps drops just like on original ps2 I suppose. Splitscreen multiplayer could use some fix to not run like absolute garbage when player cars are near each other tho... Could you advise any changes to improve performance? I run it on ps4 pro.
 
Works like a charm! There are fps drops just like on original ps2 I suppose. Splitscreen multiplayer could use some fix to not run like absolute garbage when player cars are near each other tho... Could you advise any changes to improve performance? I run it on ps4 pro.

There are some commands you can try I guess. If the game still lags with these -gs and -vu1 commands, then try adding the -ee command as a last resort. The lower it is, the faster it should be but could break FMVs so use with caution.

Code:
--vu1-jr-cache-policy=newprog
--vu1-jalr-cache-policy=newprog
--vu1-mpg-cycles=650
--vu1-opt-vf00=2
--vu1-opt-flags=2

--gs-kernel-cl=h2lpool
--gs-kernel-cl-up="h2lpool2x2"

--ee-cycle-scalar=0.7
 
Last edited:
There are some commands you can try I guess. If the game still lags with these -gs and -vu1 commands, then try adding the -ee command as a last resort. The lower it is, the faster it should be but could break FMVs so use with caution.

Code:
--vu1-opt-flags=0
--vu1-jr-cache-policy=newprog
--vu1-jalr-cache-policy=newprog
--vu1-mpg-cycles=650
--vu1-opt-vf00=0
--vu1-opt-flags=0

--gs-kernel-cl=h2lpool
--gs-kernel-cl-up="h2lpool2x2"

--ee-cycle-scalar=0.7
opt-flags and opt-vf00, should be at 2 for performance.
 
There are some commands you can try I guess. If the game still lags with these -gs and -vu1 commands, then try adding the -ee command as a last resort. The lower it is, the faster it should be but could break FMVs so use with caution.

Code:
--vu1-jr-cache-policy=newprog
--vu1-jalr-cache-policy=newprog
--vu1-mpg-cycles=650
--vu1-opt-vf00=2
--vu1-opt-flags=2

--gs-kernel-cl=h2lpool
--gs-kernel-cl-up="h2lpool2x2"

--ee-cycle-scalar=0.7

tried all the things you mentioned. Still no improvement. I guess ps4 is too weak for that part
 
This may not be the most suitable place to ask, but i'm trying to extract the red faction 2 emulator to apply it to wild arms 4, but i'm unsure how to do so, does anybody have any insights?
 
Is it possible that the code to skip the freeze is what is causing the graphical glitches? Are any of those skipped data code necessary for game to function properly?
WIP Fix for Tales of Legendia NTSC

CLI
Code:
--gs-uprender=2x2
--gs-upscale=EdgeSmooth

--host-display-mode=16:9

--vu1-mpg-cycles=5200
--vif1-instant-xfer=0
--vu1-jr-cache-policy=newprog
--cdvd-sector-read-cycles=4000

--lopnor-config=1

#emu used=primal
LUA
Code:
-- Tales of Legendia (U)(SLUS-21201)
-- Widescreen hack
-- emu used=primal

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

apiRequest(0.1)

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

local patcher = function()
--Widescreen hack 16:9
eeObj.WriteMem32(0x203DAFA0,0x3f266666)
eeObj.WriteMem32(0x203BFAB0,0x40133333)
--2D Popup Characters Fix by Arapapa
--Right
eeObj.WriteMem32(0x001e89bc,0x3c02bf40) --3c02bf80
--Left
eeObj.WriteMem32(0x001e8a60,0x00000000)
eeObj.WriteMem32(0x001e8a5c,0x08030008)
eeObj.WriteMem32(0x000c0020,0x46006346)
eeObj.WriteMem32(0x000c0024,0x46006386)
eeObj.WriteMem32(0x000c0028,0x3c013f40)
eeObj.WriteMem32(0x000c002c,0x4481f000)
eeObj.WriteMem32(0x000c0030,0x461e6302)
eeObj.WriteMem32(0x000c0034,0x0807a298)
--Font Fix by Arapapa
local code_check1 = eeObj.ReadMem16(0x3db098)
if code_check1 == 0x0020 then
eeObj.WriteMem32(0x20238db0,0x08030000)
eeObj.WriteMem32(0x200c0000,0x46040802)
eeObj.WriteMem32(0x200c0004,0x3c013f40)
eeObj.WriteMem32(0x200c0008,0x4481f000)
eeObj.WriteMem32(0x200c000c,0x461e0002)
eeObj.WriteMem32(0x200c0010,0x0808e36d)
end
local code_check2 = eeObj.ReadMem16(0x3db098)
if code_check2 == 0x0020 then
eeObj.WriteMem32(0x20238db0,0x46040802)
--Portrait fix (battle) by Arapapa
eeObj.WriteMem32(0x002ab0d4,0x3c024219) --3c02424c
eeObj.WriteMem32(0x002ab118,0x3c034219) --3c03424c
end

emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(patcher)

--math.random() + math.random(1, 99)

--[[
C0 CD 15 00 BF 03 00 4A 5C AD C0 4B
C8 CD 15 00 5C AD C0 4B BF 03 00 4A
90 CF 15 00 BF 03 00 4A 1C E7 C0 4B
98 CF 15 00 1C E7 C0 4B BF 03 00 4A
B0 45 22 00 70 FF BD 27 08 00 E0 03
B4 45 22 00 30 00 BF FF 00 00 00 00
D0 CC 1F 00 F0 FF BD 27 08 00 E0 03
D4 CC 1F 00 00 00 BF FF 00 00 00 00
7C 2B 38 00 7D 19 C2 01 FF 02 00 00
88 2B 38 00 E7 07 02 52 E2 07 02 52
--]]

Works great as far as game speed and general graphics/audio. There are some missing graphics. I can't figure out how to get that to work. I haven't tried replacing "--vif1-instant-xfer=0" with "eeObj.SchedulerDelayEvent("vif1.dma", 0x????) . Maybe that may fix?
Did you ever managed to move that out of WIP? I'm trying this with the primal emu but it won't even post
 
Peter Jackson's King Kong The Official Game of the Movie (SLES53703)

TXT.
Code:
--host-display-mode=16:9
--gs-flush-ad-xyz=safe
--gs-vert-precision=8
--gs-render-tile-threshold=300000
--gs-check-trans-rejection=1
--ee-cycle-scalar=1.85
--iop-cycle-scalar=1.2
--vu1-mpg-cycles=1200
--safe-area-min=1.0
--gs-use-deferred-l2h=0
--vu1-jr-cache-policy=newprog
--vu1-jalr-cache-policy=newprog

LUA.
Code:
-- Peter Jacksons King Kong The Official Game of the Movie (PAL)
-- emu used=red faction 2

apiRequest(1.7)

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

gsObj.SetL2HMode(true)
gsObj.SetUpscaleMode("EdgeSmooth")
gsObj.SetUprenderMode("2x2")

--emuObj.ForceRefreshRate(60)
emuObj.SetDisplayAspectWide()
emuObj.SetDeinterlace(true)

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 (LEFT ~= 0 and L1 ~= 0) then
-- Infinite ammo gun
eeObj.WriteMem32(0x00DACF00,0x00000064)
end

end

emuObj.AddVsyncHook(CheckInputs)

local WS = function()
--16:9
--Zoom
eeObj.WriteMem32(0x00127ac4,0x3c033f40) --3c033f80
--Y-Fov
eeObj.WriteMem32(0x00134e68,0x3c033fe3) --3c033faa 4/3 Black Bands Screen Mode
eeObj.WriteMem32(0x00134e70,0x3c033fe3) --3c033faa 4/3 Screen Mode
--Render fix
eeObj.WriteMem32(0x001529e0,0x3c023f40) --3c023f00
--All Levels
eeObj.WriteMem32(0x00DAE4D4,0x0000002A)

emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(WS)

emuObj.SetGsTitleFix( "globalSet",  "reserved", { waveThreshold = 90000} )
emuObj.SetGsTitleFix( "ignoreAreaUpdate", 0, { } )

Peter Jackson's King Kong|Performance FiX|Widescreen|PS2toPS4 Test
 

Similar threads

Back
Top