PS4 [Research]PS2 emulator configuration on PS4

I Believe the Ps3 Config for Samurai warriors 2 Fixes Flickering textures for many koei Tecmo games including Dynasty Warriors And Samurai warriors, Will test when i can
Flickering and shaking in Samurai Dynasty Warriors games are due to PS2 interlacing, and ps3 configs only helpful in two instances so far. Dynasty Warriors 2 prestage screen graphics corruption (https://www.psx-place.com/threads/compatibility-list-ps2-on-ps3.1306/page-252#post-312971) and for Dynasty Warriors 3 original and XL for black screen on load fix.
I actually tested the DW PS2 area series quite extensively on PS4 and got them playing and looking great with widescreen fixes and gameplay improvements.
For deinterlacing I used iso patching on some from PCSX2 forums and a lua commmand
Code:
gsObj.SetDeinterlaceShift(1)
This lua command worked great on Samurai Warriors Series and Warriors Orochi 1 and 2.

Another awesome thing about PS2toPS4 emulation for DW games is ability to use XL merge to combine content for ultimate versions of DW3XL, DW4XL, DW5XL, SW1XL and SW2XL though DW4 and 5 could be patched to have original content enabled by default without switching discs

CLI command --switch-disc-reset=0

And for minor graphics fix I used mipmaping on all of those games.
Code:
--gs-use-mipmap=1
--gs-kernel-cl="mipmap"
--gs-kernel-cl-up="mipmap2x2"
--gs-progressive=1
JAKv2 emu used
 
Last edited:
Fix for Castlevania: Curse of Darkness (SLUS-21168)

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

--host-display-mode=16:9
--cdvd-sector-read-cycles=4000
--ee-cycle-scalar=2.0


#emu used=
LUA
Code:
-- Castlevania: Curse of Darkness (SLUS-21168)
-- Widescreen hack by nemesis2000
-- new graphics fix by kozarovv
-- emu used=

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

apiRequest(0.1)

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

local patcher = function()
--gameplay
eeObj.WriteMem32(0x00751384,0x3c013f40) --hor value
eeObj.WriteMem32(0x00751388,0x44810000)
eeObj.WriteMem32(0x00751390,0x4600c602)

--FMV's fix
eeObj.WriteMem32(0x00443eb8,0x00000000)
eeObj.WriteMem32(0x00775398,0x24056e40)
eeObj.WriteMem32(0x007753a4,0x24072380)

-- Clamp value manually. Clamping from emulator change value to FLT_MIN
-- While we need correct lower bits + 1 due to x86 rounding...
eeObj.WriteMem32(0x92FD50, 0xFF7F8001)

emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(patcher)
 
Last edited:
Fix for Castlevania: Curse of Darkness (SLUS-21168)

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

--host-display-mode=16:9
--cdvd-sector-read-cycles=4000
--ee-cycle-scalar=2.0


#emu used=
LUA
Code:
-- Castlevania: Curse of Darkness (SLUS-21168)
-- Widescreen hack by nemesis2000
-- emu used=

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

apiRequest(0.1)

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

local patcher = function()
--gameplay
eeObj.WriteMem32(0x00751384,0x3c013f40) --hor value
eeObj.WriteMem32(0x00751388,0x44810000)
eeObj.WriteMem32(0x00751390,0x4600c602)

--FMV's fix
eeObj.WriteMem32(0x00443eb8,0x00000000)
eeObj.WriteMem32(0x00775398,0x24056e40)
eeObj.WriteMem32(0x007753a4,0x24072380)
--gfx fix
eeObj.WriteMem32(0x0092feb0,0xC37f0000)
eeObj.WriteMem32(0x0092fef8,0xC37f0000)

emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(patcher)
JakX v.2 ?
 
Config+Cheats for LEGO Star Wars: The Video Game [NTSC-U] (v1.01) (SLUS_210.83)

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

--cdvd-sector-read-cycles=3200
#--host-display-mode=16:9

#emu used=aofa
LUA
Code:
-- LEGO Star Wars: The Video Game [NTSC-U] (v1.01) (SLUS_210.83)
-- Widescreen hack by El_Patas and gamemasterplc
-- emu used=aofa

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

apiRequest(0.1)

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

emuObj.SetDisplayAspectWide()

local patcher = function()
eeObj.WriteMem32(0x21F26074,0x3F100000) --3D and GUI Width
eeObj.WriteMem32(0x203407F0,0x00000355) --Text Viewport Width
eeObj.WriteMem32(0x20222208,0x24063555) --Pause Screen Filter Width
eeObj.WriteMem32(0x202AEA30,0x24063555) --Upper Black Bar Width
eeObj.WriteMem32(0x202AEA88,0x24063555) --Lower Black Bar Width
eeObj.WriteMem32(0x202214F8,0x24103555) --Fades Width
eeObj.WriteMem32(0x202217B8,0x24063555) --Fades Border Width
eeObj.WriteMem32(0x202256E0,0x24063555) --Fade End Width
eeObj.WriteMem32(0x20261C98,0x3C014455) --GUI Viewport Scale
eeObj.WriteMem32(0x2018AFA4,0x24030180) --FMV Width
eeObj.WriteMem32(0x2018AFAC,0x3C1B4480) --FMV X Position
eeObj.WriteMem32(0x2018AFD8,0xAD3B0000) --Update FMV X Position
eeObj.WriteMem32(0x201579F8,0x240B0280) --Stretch Some GFX Effects
eeObj.WriteMem32(0x20160088,0x24040280) --Stretch Water GFX Effect
eeObj.WriteMem32(0x20367384,0x3E666666) --Hearts Spacing
eeObj.WriteMem32(0x20367394,0x3F54CCCD) --Portraits and Tutorial Text X Position
eeObj.WriteMem32(0x2036735C,0x3F43861F) --Controller Messages X Position
eeObj.WriteMem32(0x20367364,0x3F3CCCCD) --Stud Icon X Position
eeObj.WriteMem32(0x2036736C,0x3F351EB8) --Stud Number X Position
eeObj.WriteMem32(0x20367378,0x3F3CCCCD) --Hearts X Position
eeObj.WriteMem32(0x203673A8,0x3F3CCCCD) --Button Icon Options X Position
eeObj.WriteMem32(0x203673B0,0x3F351EB8) --Button Icon Text X Position

--All Extras by Code Master
eeObj.WriteMem32(0x00547AE8,0xFFFFFFFF)
eeObj.WriteMem32(0x00547B18,0xFFFFFFFF)


--Gonk Droid by Code Master
eeObj.WriteMem32(0x20576080,0x0100004D)

--PK Droid by Code Master
eeObj.WriteMem32(0x20576110,0x0100004D)

--Battle Droid (Security) by Code Master
eeObj.WriteMem32(0x205761A0,0x0100004D)

--Battle Droid by Code Master
eeObj.WriteMem32(0x20576230,0x0100004D)

--Battle Droid (Commander) by Code Master
eeObj.WriteMem32(0x205762C0,0x0100004D)

--Droideka by Code Master
eeObj.WriteMem32(0x20576350,0x0100004D)

--Royal Guard by Code Master
eeObj.WriteMem32(0x205763E0,0x0100004D)

--Padme by Code Master
eeObj.WriteMem32(0x20576470,0x0100004D)

--Darth Maul by Code Master
eeObj.WriteMem32(0x20576500,0x0100004D)

--Clone by Code Master
eeObj.WriteMem32(0x20576590,0x0100004D)

--Geonasian by Code Master
eeObj.WriteMem32(0x20576620,0x0100004D)

--Battle Droi (Geonosis) by Code Master
eeObj.WriteMem32(0x205766B0,0x0100004D)

--Super Battle Droid by Code Master
eeObj.WriteMem32(0x20576740,0x0100004D)

--Jango Fett by Code Master
eeObj.WriteMem32(0x205767D0,0x0100004D)

--Boba Fett by Code Master
eeObj.WriteMem32(0x20576860,0x0100004D)

--Luminara by Code Master
eeObj.WriteMem32(0x205768F0,0x0100004D)

--Ki-Adi Mundi by Code Master
eeObj.WriteMem32(0x20576980,0x0100004D)

--Kit Fisto by Code Master
eeObj.WriteMem32(0x20576A10,0x0100004D)

--Shaak Ti by Code Master
eeObj.WriteMem32(0x20576AA0,0x0100004D)

--Count Dooku by Code Master
eeObj.WriteMem32(0x20576B30,0x0100004D)

--Grievous' Bodyguard by Code Master
eeObj.WriteMem32(0x20576BC0,0x0100004D)

--General Grievous by Code Master
eeObj.WriteMem32(0x20576C50,0x0100004D)

--Clone (Episode III) by Code Master
eeObj.WriteMem32(0x20576CE0,0x0100004D)

--Clone (Episode III, Pilot) by Code Master
eeObj.WriteMem32(0x20576D70,0x0100004D)

--Clone (Episode III, Swamp) by Code Master
eeObj.WriteMem32(0x20576E00,0x0100004D)

--Clone (Episode III, Walker) by Code Master
eeObj.WriteMem32(0x20576E90,0x0100004D)

--Mace Windu (Episode III) by Code Master
eeObj.WriteMem32(0x20576F20,0x0100004D)

--Disguised Clone by Code Master
eeObj.WriteMem32(0x20576FB0,0x0100004D)

--Darth Sidious by Code Master
eeObj.WriteMem32(0x20577040,0x0100004D)

--Rebel Trooper by Code Master
eeObj.WriteMem32(0x205770D0,0x0100004D)

--Princess Leia by Code Master
eeObj.WriteMem32(0x20577160,0x0100004D)

emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(patcher)

No issues.
 
Fix for The Legend of Spyro™ Dawn of the Dragon®

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

--cdvd-sector-read-cycles=5000
--ee-cycle-scalar=2.0
--vu1-mpg-cycles=600

#emu used=aofa
LUA
Code:
-- The Legend of Spyro™ Dawn of the Dragon®
-- disable bloom by Raigho @pcsx2 forums
-- emu used=aofa

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

apiRequest(0.1)

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

emuObj.SetDisplayAspectWide()

local patcher = function()
--Disable Bloom
eeObj.WriteMem32(0x006628BC,0x00000000)
   
   
--emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(patcher)

Tested a little. Works fine so far.
 
Been into the scene a while and been trying to fix as many PS2 games as possible, I would love to share my findings, but I'm missing the psychonauts v1&v2 emu. If somebody could share those with me that would be great!
 
Been into the scene a while and been trying to fix as many PS2 games as possible, I would love to share my findings, but I'm missing the psychonauts v1&v2 emu. If somebody could share those with me that would be great!
we can not share copyrighted materials. it is against the site rules.
 
Fix for Harry Potter and The Order of the Phoenix (SLUS-21619)

CLI
Code:
--gs-uprender=2x2
--gs-upscale=edgesmooth
--gs-kernel-cl="mipmap"
--gs-kernel-cl-up="mipmap2x2"
--gs-use-mipmap=1

--cdvd-sector-read-cycles=5000

--ee-cycle-scalar=1.2
--iop-cycle-scalar=0.8


#emu used=rotk v1
LUA
Code:
-- Harry Potter and The Order of the Phoenix (U)(SLUS-21619)
-- Widescreen hack by Arapapa
-- emu used=rotk v1

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

apiRequest(0.1)

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

emuObj.SetDisplayAspectWide()

local patcher = function()
--Widescreen hack 16:9
--Force turn on Internal Widescreen
eeObj.WriteMem32(0x004bf588,0x24020002) --30420003
--Zoom fix
--003f013c 00108144 02000146 (2nd)
eeObj.WriteMem32(0x00350750,0x3c013f20) --3c013f00
--60fps
--eeObj.WriteMem32(0x20655B84,0x00000001)
--eeObj.SchedulerDelayEvent("vif1.dma", 0x1500)
emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(patcher)

Tested a little. Feedback welcome.
 
Last edited:
Fix for Harry Potter™ And the Half-Blood Prince®

CLI
Code:
--gs-uprender=2x2
--gs-upscale=edgesmooth
--gs-kernel-cl="mipmap"
--gs-kernel-cl-up="mipmap2x2"
--gs-use-mipmap=1

--cdvd-sector-read-cycles=5000

#emu used=rotk v1
LUA
Code:
-- Harry Potter™ And the Half-Blood Prince®
-- emu used=rotk v1

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

apiRequest(0.1)

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

emuObj.SetDisplayAspectWide()

local patcher = function()


emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(patcher)

Tested a little. Works fine so far. Emu fixed crash after ps2 logo. Don't know if others will work.
 
Harry Potter and the Goblet of Fire SLUS_213.25


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

LUA
Code:
-- Harry Potter and the Goblet of Fire SLUS_213.25
-- Widescreen hack
-- mipmap conversion by Bergolino Gamer
-- emu used=rotk v1

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

apiRequest(0.1)

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

emuObj.SetDisplayAspectWide()

local patcher = function()
--Widescreen hack 16:9
eeObj.WriteMem32(0x0029fd74,0x3c013fe3)
eeObj.WriteMem32(0x0029fd78,0x34218e39)

--mipmap fix(ps3 config)
eeObj.WriteMem32(0x002cf158,0x00000000)

emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(patcher)


 
Last edited:
Fix for Harry Potter - Quidditch World Cup (NTSC-U)

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

--host-display-mode=16:9
--cdvd-sector-read-cycles=6000

--framelimiter=1
--framelimit-fps=59.9
--framelimit-scalar=1.1

--ee-cycle-scalar=1.7
--vu1-mpg-cycles=800

#emu used=rotk v1
LUA
Code:
-- Harry Potter - Quidditch World Cup (NTSC-U)
-- Widescreen hack by ElHecht
-- emu used=rotk v1

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

apiRequest(0.1)

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

local patcher = function()
-- 16:9
eeObj.WriteMem32(0x002af388,0x3c013f40) -- 00000000 hor fov
eeObj.WriteMem32(0x002af38c,0x4481f000) -- 00000000
eeObj.WriteMem32(0x002af394,0x461ebdc2) -- 00000000

-- hardware rendering fix
eeObj.WriteMem32(0x00358ae8,0x3c013e49) -- 3c013f49 remove flickering

emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(patcher)

No issues as far as gameplay.
 
Fix for Spyro: A Hero's Tail (SLUS-20884)

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

--cdvd-sector-read-cycles=4000

--ee-cycle-scalar=2.5
--host-display-mode=16:9

#emu used=parappa v1
LUA
Code:
-- Spyro: A Hero's Tail (SLUS-20884)
-- Widescreen
-- emu used=parappa v1

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

apiRequest(0.1)

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

local patcher = function()

--Widescreen + Extra Perspective
eeObj.WriteMem32(0x203B1B70,0x3C013F10) -- 0x3c013f40 lui at, $3f40
eeObj.WriteMem32(0x203B1B84,0x3C013F10) -- 0x3c013f40 lui at, $3f40
eeObj.WriteMem32(0x203B21B0,0x3C013EC0) -- 0x3c013f00 lui at, $3f00

end

emuObj.AddVsyncHook(patcher)

Parappa v1 fixed this one. I couldn't get it to boot with any other emu I tried. Works great so far!
 
Last edited:
Have you tested Chamber of Secrets? This game had some weird memcard issues (back in the day)...

Fix for Harry Potter - Quidditch World Cup (NTSC-U)

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

--host-display-mode=16:9
--cdvd-sector-read-cycles=6000

--framelimiter=1
--framelimit-fps=59.9
--framelimit-scalar=1.1

--ee-cycle-scalar=1.7
--vu1-mpg-cycles=800

#emu used=rotk v1
LUA
Code:
-- Harry Potter - Quidditch World Cup (NTSC-U)
-- Widescreen hack by ElHecht
-- emu used=rotk v1

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

apiRequest(0.1)

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

local patcher = function()
-- 16:9
eeObj.WriteMem32(0x002af388,0x3c013f40) -- 00000000 hor fov
eeObj.WriteMem32(0x002af38c,0x4481f000) -- 00000000
eeObj.WriteMem32(0x002af394,0x461ebdc2) -- 00000000

-- hardware rendering fix
eeObj.WriteMem32(0x00358ae8,0x3c013e49) -- 3c013f49 remove flickering

emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(patcher)

No issues as far as gameplay.
 
Fix for Harry Potter and The Order of the Phoenix (SLUS-21619)

CLI
Code:
--gs-uprender=2x2
--gs-upscale=edgesmooth
--gs-kernel-cl="mipmap"
--gs-kernel-cl-up="mipmap2x2"
--gs-use-mipmap=1

--cdvd-sector-read-cycles=5000

--ee-cycle-scalar=1.2
--iop-cycle-scalar=0.8


#emu used=rotk v1
LUA
Code:
-- Harry Potter and The Order of the Phoenix (U)(SLUS-21619)
-- Widescreen hack by Arapapa
-- emu used=rotk v1

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

apiRequest(0.1)

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

emuObj.SetDisplayAspectWide()

local patcher = function()
--Widescreen hack 16:9
--Force turn on Internal Widescreen
eeObj.WriteMem32(0x004bf588,0x24020002) --30420003
--Zoom fix
--003f013c 00108144 02000146 (2nd)
eeObj.WriteMem32(0x00350750,0x3c013f20) --3c013f00
--60fps
--eeObj.WriteMem32(0x20655B84,0x00000001)
--eeObj.SchedulerDelayEvent("vif1.dma", 0x1500)
emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(patcher)

Tested a little. Feedback welcome.

Would love to test but missing rotk v1 emu, would this work with any other emus?
 

Similar threads

Back
Top