PS4 [Research]PS2 emulator configuration on PS4

Fix for Shadow of Rome NTSC

CLI
Code:
--gs-uprender=2x2
--gs-upscale=edgesmooth
--gs-kernel-cl="h2lpool"
--gs-kernel-cl-up="h2lpool2x2"
--gs-progressive=1
--vu-custom-min-max=0
--vu1-di-bits=0
LUA
Code:
-- Shadow of Rome NTSC
-- graphic fix + widescreen + no interlace
-- emu used=eternal ring v2

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

apiRequest(1.5)

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

local patcher = function()
-- 16:9
eeObj.WriteMem32(0x00146bc8,0x3c023f1f)
eeObj.WriteMem32(0x00146bd0,0x344249f9)
eeObj.WriteMem32(0x00146de4,0x3c023f1f)
eeObj.WriteMem32(0x00146dec,0x344249f9)
eeObj.WriteMem32(0x001e746c,0x3c044328)

eeObj.WriteMem32(0x201E9274,0x30420000) -- no interlace

emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(patcher)

emuObj.SetDisplayAspectWide()

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

emu used= Eternal Ring v2

Works perfectly!
New emu used already! Nice!
 
I'm having an odd issue. I used Stayhe's most recent Vice City Stories fix to create a txt and lua file, then used them to create a fpkg in PS2-fpkg. But now I just get the ce-34878 error whenever I try to start the game. I don't think I'm doing anything wrong when creating the files, as I was able to use Stayhe's Liberty City Stories fix in a txt file with PS2fpkg and it worked like a charm. I'm stumped.
 
Hi, I'm new to emus stuff. there is some patch for champions of norrath, it is a game that uses the Snowblind engine. has a problem with textures. Can someone help me? I love the game
 
WIP fix for Mercenaries - Playground of Destruction NTSC

CLI

Code:
--gs-uprender=2x2
--gs-upscale=motionvector
--gs-h2l-list-opt=1
--gs-h2l-accurate-hash=1
--gs-override-small-tri-area=1

--host-display-mode=16:9

--fpu-rsqrt-fast-estimate=0
--fpu-to-double=0

--vu1-jr-cache-policy=sameprog
--vu0-use-rsqrt=0

--ee-cycle-scalar=2.0
--iop-cycle-scalar=2.5

#emu used=jakx v2
LUA
Code:
-- Mercenaries NTSC
-- emu used=jakx v2

apiRequest(2.2)

local gpr       = require("ee-gpr-alias")
local cpr       = require("ee-cpr0-alias")
local hwaddr     = require("ee-hwaddr")

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

local patcher = function()

eeObj.Vu1MpgCycles(4400)
emuObj.ThrottleMax()

end

emuObj.AddVsyncHook(patcher)

-- Small triangle rejection. Works in conjunction with CLI setting  --gs-override-small-tri-area=1
emuObj.SetGsTitleFix( "setRejectionArea", 600,{twIsNot=8, thIsNot=8 } )

emu used= jakx v2

Work in progress. Improved quite a bit, but still slow. Can anyone help debug?
 
maori-jigglypuff patch us version

Ported to PS4 LUA for un-patched ISO usage.

Code:
-- ICO [SCUS-97113] (U)
-- Patches/Codes Hacked By Maori-Jigglypuff [Savas Guercebe]
-- Widescreen hack by nemesis2000 (pnach by nemesis2000)

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

apiRequest(0.1)

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

local patcher = function()

--widescreen
eeObj.WriteMem32(0x001146c8,0x3c013f40)
eeObj.WriteMem32(0x001146cc,0x44813800)
eeObj.WriteMem32(0x001146d8,0x46071082)
eeObj.WriteMem32(0x001146dc,0xc78780dc)

--render fix
eeObj.WriteMem32(0x001141a4,0x240302ab)
eeObj.WriteMem32(0x00554790,0x44800000) --optional

--black borders fix
eeObj.WriteMem32(0x00113030,0x3c010000)

-- Maximum Graphics Booster
-- (No Blur-Effect and maxed out Game Sharpness)
eeObj.WriteMem32(0x00130450,0x03e00008)
eeObj.WriteMem32(0x00130454,0x00000000)
eeObj.WriteMem32(0x001eef18,0x03e00008)
eeObj.WriteMem32(0x001eef1c,0x00000000)
eeObj.WriteMem32(0x00113298,0x03e00008)
eeObj.WriteMem32(0x0011329c,0x00000000)
eeObj.WriteMem32(0x001133e0,0x03e00008)
eeObj.WriteMem32(0x001133e4,0x00000000)

-- Disable Post-Effect like the bright reddish Sky
eeObj.WriteMem32(0x00275208,0x00000000)

-- No black Borders
eeObj.WriteMem32(0x00112fd8,0x44800800)
eeObj.WriteMem32(0x00112ff0,0x44800800)
eeObj.WriteMem32(0x00113000,0x44800800)
eeObj.WriteMem32(0x00113120,0x44800000)

-- No Shadow Effects
eeObj.WriteMem32(0x002751CC,0x00000000)
eeObj.WriteMem32(0x002751D0,0x00000000)
eeObj.WriteMem32(0x002751D4,0x00000000)
eeObj.WriteMem32(0x002751D8,0x00000000)
eeObj.WriteMem32(0x002751DC,0x00000000)
eeObj.WriteMem32(0x002751E0,0x00000000)
eeObj.WriteMem32(0x002751E4,0x00000000)
eeObj.WriteMem32(0x002751E8,0x00000000)

-- Characters RGB Values decently enhanced,
-- disable extra Light on Boy and Objects
-- and disable Boy-Dimming in dark Areas
eeObj.WriteMem32(0x001159EC,0x24020000)
eeObj.WriteMem32(0x00115938,0x24130000)
eeObj.WriteMem32(0x00115948,0x24130000)
eeObj.WriteMem32(0x00115f2c,0x44806000)
eeObj.WriteMem32(0x00275180,0x3F900000)
eeObj.WriteMem32(0x00275184,0x3F900000)
eeObj.WriteMem32(0x00275188,0x3F900000)
eeObj.WriteMem32(0x0027518C,0x3F800000)

-- World and Character main RGB fixed Values
eeObj.WriteMem32(0x002751F0,0x00000080)
eeObj.WriteMem32(0x002751F4,0x00000080)
eeObj.WriteMem32(0x002751F8,0x00000080)
eeObj.WriteMem32(0x002751FC,0x00000000)

end

emuObj.AddVsyncHook(patcher)
 
Last edited:
Ported to PS4 LUA for un-patched ISO usage.

Code:
-- ICO [SCUS-97113] (U)
-- Patches/Codes Hacked By Maori-Jigglypuff [Savas Guercebe]
-- Widescreen hack by nemesis2000 (pnach by nemesis2000)

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

apiRequest(0.1)

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

local patcher = function()

--widescreen
eeObj.WriteMem32(0x001146c8,0x3c013f40)
eeObj.WriteMem32(0x001146cc,0x44813800)
eeObj.WriteMem32(0x001146d8,0x46071082)
eeObj.WriteMem32(0x001146dc,0xc78780dc)

--render fix
eeObj.WriteMem32(0x001141a4,0x240302ab)
eeObj.WriteMem32(0x00554790,0x44800000) --optional

--black borders fix
eeObj.WriteMem32(0x00113030,0x3c010000)

-- Maximum Graphics Booster
-- (No Blur-Effect and maxed out Game Sharpness)
eeObj.WriteMem32(0x00130450,0x03e00008)
eeObj.WriteMem32(0x00130454,0x00000000)
eeObj.WriteMem32(0x001eef18,0x03e00008)
eeObj.WriteMem32(0x001eef1c,0x00000000)
eeObj.WriteMem32(0x00113298,0x03e00008)
eeObj.WriteMem32(0x0011329c,0x00000000)
eeObj.WriteMem32(0x001133e0,0x03e00008)
eeObj.WriteMem32(0x001133e4,0x00000000)

-- Disable Post-Effect like the bright reddish Sky
eeObj.WriteMem32(0x00275208,0x00000000)

-- No black Borders
eeObj.WriteMem32(0x00112fd8,0x44800800)
eeObj.WriteMem32(0x00112ff0,0x44800800)
eeObj.WriteMem32(0x00113000,0x44800800)
eeObj.WriteMem32(0x00113120,0x44800000)

-- No Shadow Effects
eeObj.WriteMem32(0x002751CC,0x00000000)
eeObj.WriteMem32(0x002751D0,0x00000000)
eeObj.WriteMem32(0x002751D4,0x00000000)
eeObj.WriteMem32(0x002751D8,0x00000000)
eeObj.WriteMem32(0x002751DC,0x00000000)
eeObj.WriteMem32(0x002751E0,0x00000000)
eeObj.WriteMem32(0x002751E4,0x00000000)
eeObj.WriteMem32(0x002751E8,0x00000000)

-- Characters RGB Values decently enhanced,
-- disable extra Light on Boy and Objects
-- and disable Boy-Dimming in dark Areas
eeObj.WriteMem32(0x001159EC,0x24020000)
eeObj.WriteMem32(0x00115938,0x24130000)
eeObj.WriteMem32(0x00115948,0x24130000)
eeObj.WriteMem32(0x00115f2c,0x44806000)
eeObj.WriteMem32(0x00275180,0x3F900000)
eeObj.WriteMem32(0x00275184,0x3F900000)
eeObj.WriteMem32(0x00275188,0x3F900000)
eeObj.WriteMem32(0x0027518C,0x3F800000)

-- World and Character main RGB fixed Values
eeObj.WriteMem32(0x002751F0,0x00000080)
eeObj.WriteMem32(0x002751F4,0x00000080)
eeObj.WriteMem32(0x002751F8,0x00000080)
eeObj.WriteMem32(0x002751FC,0x00000000)

end

emuObj.AddVsyncHook(patcher)
Thats good but dont use RGB options, thats broke colors!
 
Shin Megami Tensei: Digital Devil Saga [SLUS-20974]
FMVs and voices are fine now, the game is playable.
Emu used: KOF98
BTW, KOF98 also makes SMT: Digital Devil Saga 2 [SLUS-21152] and both SMT: Devil Summoner [SLUS-21431] [SLUS-21845] games playable too (they don't freeze at intro FMV).
 
Also was test EU Version!
@Stayhye if u also want u will translate to lua attached settings!
But as i notice NTSC works more stable then PAL!

here you go
Code:
-- ICO [SCES-50760] (E)
-- Patches/Codes Hacked By Maori-Jigglypuff [Savas Guercebe]

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

apiRequest(0.1)

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

local patcher = function()

-- Maximum Graphics Booster
-- (No Blur-Effect and maxed out Game Sharpness)
eeObj.WriteMem32(0x001322f0,0x03e00008)
eeObj.WriteMem32(0x001322f4,0x00000000)
eeObj.WriteMem32(0x001fca60,0x03e00008)
eeObj.WriteMem32(0x001fca64,0x00000000)
eeObj.WriteMem32(0x001137f8,0x03e00008)
eeObj.WriteMem32(0x001137fc,0x00000000)
eeObj.WriteMem32(0x001136b0,0x03e00008)
eeObj.WriteMem32(0x001136b4,0x00000000)

-- Disable Post-Effect like the bright reddish Sky
eeObj.WriteMem32(0x0028F808,0x00000000)

-- No black Borders
eeObj.WriteMem32(0x001133F8,0x44800800)
eeObj.WriteMem32(0x00113410,0x44800800)
eeObj.WriteMem32(0x00113420,0x44800800)
eeObj.WriteMem32(0x00113534,0x44800000)

-- No Shadow Effects
eeObj.WriteMem32(0x0028F7CC,0x00000000)
eeObj.WriteMem32(0x0028F7D0,0x00000000)
eeObj.WriteMem32(0x0028F7D4,0x00000000)
eeObj.WriteMem32(0x0028F7D8,0x00000000)
eeObj.WriteMem32(0x0028F7DC,0x00000000)
eeObj.WriteMem32(0x0028F7E0,0x00000000)
eeObj.WriteMem32(0x0028F7E4,0x00000000)
eeObj.WriteMem32(0x0028F7E8,0x00000000)

--widescreen
eeObj.WriteMem32(0x00114dd0,0x3c013f40)
eeObj.WriteMem32(0x00114dd4,0x4481c000)
eeObj.WriteMem32(0x00114de0,0x46181082)

--render fix
eeObj.WriteMem32(0x001146F4,0x240302ab)
eeObj.WriteMem32(0x0054E478,0x44fa0000)

end

emuObj.AddVsyncHook(patcher)
 
here you go
Code:
-- ICO [SCES-50760] (E)
-- Patches/Codes Hacked By Maori-Jigglypuff [Savas Guercebe]

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

apiRequest(0.1)

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

local patcher = function()

-- Maximum Graphics Booster
-- (No Blur-Effect and maxed out Game Sharpness)
eeObj.WriteMem32(0x001322f0,0x03e00008)
eeObj.WriteMem32(0x001322f4,0x00000000)
eeObj.WriteMem32(0x001fca60,0x03e00008)
eeObj.WriteMem32(0x001fca64,0x00000000)
eeObj.WriteMem32(0x001137f8,0x03e00008)
eeObj.WriteMem32(0x001137fc,0x00000000)
eeObj.WriteMem32(0x001136b0,0x03e00008)
eeObj.WriteMem32(0x001136b4,0x00000000)

-- Disable Post-Effect like the bright reddish Sky
eeObj.WriteMem32(0x0028F808,0x00000000)

-- No black Borders
eeObj.WriteMem32(0x001133F8,0x44800800)
eeObj.WriteMem32(0x00113410,0x44800800)
eeObj.WriteMem32(0x00113420,0x44800800)
eeObj.WriteMem32(0x00113534,0x44800000)

-- No Shadow Effects
eeObj.WriteMem32(0x0028F7CC,0x00000000)
eeObj.WriteMem32(0x0028F7D0,0x00000000)
eeObj.WriteMem32(0x0028F7D4,0x00000000)
eeObj.WriteMem32(0x0028F7D8,0x00000000)
eeObj.WriteMem32(0x0028F7DC,0x00000000)
eeObj.WriteMem32(0x0028F7E0,0x00000000)
eeObj.WriteMem32(0x0028F7E4,0x00000000)
eeObj.WriteMem32(0x0028F7E8,0x00000000)

--widescreen
eeObj.WriteMem32(0x00114dd0,0x3c013f40)
eeObj.WriteMem32(0x00114dd4,0x4481c000)
eeObj.WriteMem32(0x00114de0,0x46181082)

--render fix
eeObj.WriteMem32(0x001146F4,0x240302ab)
eeObj.WriteMem32(0x0054E478,0x44fa0000)

end

emuObj.AddVsyncHook(patcher)
Good work!
 
Hi, I'm new around here. I have a problem with the Crash Nitro Kart game.
I built the PKG with this conf: https://www.psdevwiki.com/ps4/Talk:PS2_Classics_Emulator_Compatibility_List#Crash_Nitro_Kart

The problem is this: I discovered a bug in the second level of adventure mode. when you start the race the game stays in an infinite loading screen. I repackaged the game but this time in its PAL version, hoping that the problem would be solved, but it did not happen. If someone could help me with this issue I would appreciate it very much. Greetings
 
You can add this codes for ICO configs to enable the full height back buffer (game does not use interlacing, but the 2xFSAA). NTSC codes found by @asasega from the PCSX2 forums. I ported them to the PAL version:
ICO NTSC
Code:
-- enable back buffer
eeObj.WriteMem32(0x00274EF8,0x00000001)
eeObj.WriteMem32(0x00274F20,0x00000001)
eeObj.WriteMem32(0x00274F00,0x00001040)
eeObj.WriteMem32(0x00274F28,0x00001040)
ICO PAL
Code:
-- enable back buffer
eeObj.WriteMem32(0x0028F500,0x00001040)
eeObj.WriteMem32(0x0028F528,0x00001040)
eeObj.WriteMem32(0x0028F4F8,0x00000001)
eeObj.WriteMem32(0x0028F520,0x00000001)

local code_check1 = eeObj.ReadMem32(0x0028F50C)
if code_check1 == 0x000FF9FF then
eeObj.WriteMem32(0x0028F50C,0x001FF9FF)
eeObj.WriteMem32(0x0028F534,0x001FF9FF)
end
local code_check2 = eeObj.ReadMem32(0x0028F50C)
if code_check2 == 0x000DF9FF then
eeObj.WriteMem32(0x0028F50C,0x001DF9FF)
eeObj.WriteMem32(0x0028F534,0x001DF9FF)
end

I am not sure if the PAL conditional patches are right, I would prefer to use the eeInsnReplace command. They are needed because of different buffer values in the PAL and NTSC modes, as the game has got a video mode selector.
 

Similar threads

Back
Top