PS4 [Research]PS2 emulator configuration on PS4

Hey, does anyone have ideas for config for Spy vs. Spy (SLES-53078)? I have tried to run with the default settings but get crash at launch.
There is a PS2toPS4 pkg uploaded to another site (I can't mention here) that runs the game great, but has a major issue where the player is constantly sliding into the floor and falling out of the map, making it unplayable.

I don't know what settings or emu it's using. According to the compatibility wiki, the PAL version should work but there is no config posted online as far as I can tell...

As a side note, is there a tool for viewing and/or editing the config of an existing PS2toPS4 pkg?

Cheers.
 
I found these config testing notes for Spy vs. Spy on PCSX2. They note that with the following PCSX2 config, the game runs perfectly:
Code:
BIOS: Europe v1.60, HACKS: EE x1.5, INTC Sync Hack, Idle Loop Fast-Forward, Status Flag Hack, VU Cycle off, all clamp modes to defaults
Does anyone know roughly what equivalent config I could try for PS2toPS4?

Cheers.
 
True crime - New York City [SLES-53618]
alternative config
emu=Jak2v2

Code:
--ps2-title-id=SLES-53618
--host-display-mode=full   
--gs-upscale=edgesmooth
--gs-uprender=2x2
--trophy-support=0
--safe-area-min=0.90
--ps2-lang=system
--vu1-di-bits=1
--vu1-const-prop=1
--vu1-opt-flags=1
--vu0-jr-cache-policy=newprog
--vu0-jalr-cache-policy=newprog
--vu1-jr-cache-policy=newprog
--vu1-jalr-cache-policy=newprog
--vu1-mpg-cycles=690
--gs-progressive=1
--vu0-no-clamping=0
--gs-aspect-ratio=1.20
#--force-pal-60hz=1
Lua:
Code:
apiRequest(2.0)

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

local patcher     = function()
--draw distance?
eeObj.WriteMem32(0x208A43F0,0x4) --0x7
--debug mode
eeObj.WriteMem32(0x2052B9BE,0x1) --0x0
end
emuObj.ThrottleMax()
emuObj.AddVsyncHook(patcher)

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

-still have slowdowns
-press triangle to exit debug menu.
just a random crash on main menu, and in the park. (with okage v1 its has a unhandled error) but its playable.

In my case i don't had that issue! Probably i was lucky or NTSC version works different way than PAL!

True Crime New York City (NTSC)

LUA.
Code:
-- True Crime New York City (SLUS21106)
-- emu used=Jak2v2

apiRequest(2.0)

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

local patcher     = function()
--draw distance?
eeObj.WriteMem32(0x208A45F0,0x4) --0x7
--debug mode
eeObj.WriteMem32(0x2052BBBC,0x1) --0x0
end
emuObj.ThrottleMax()
emuObj.AddVsyncHook(patcher)

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

emuObj.SetDisplayAspectWide()

True Crime New York City|1 Hour of Classic|Boost Mode|Debug Menu PS2toPS4 LONGPLAY
 
McFarlane's Evil Prophecy (SLUS20657)

TXT.
Code:
--host-display-mode=16:9
--cdvd-sector-read-cycles=2000
--gs-progressive=1
--host-gamepads=2

LUA.
Code:
-- McFarlane Evil Prophecy (U)(SLUS-20657)
-- Widescreen hack (NTSC-U by Arapapa)
-- emu used=psychonauts v2

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

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
-- Bonus Stuff (Videos,Cards,Gallery)
eeObj.WriteMem32(0x00318AB4,0xFFFFFFFF)
eeObj.WriteMem32(0x20318A94,0xFFFFFFFF)
eeObj.WriteMem32(0x20318A98,0xFFFFFFFF)
eeObj.WriteMem32(0x20318A9C,0xFFFFFFFF)
eeObj.WriteMem32(0x20318AA0,0x000007FF)
eeObj.WriteMem32(0x20319B00,0xFFFFFFFF)
end

end

emuObj.AddVsyncHook(CheckInputs)

local patcher = function()

eeObj.SchedulerDelayEvent("vif1.dma", 0x6000) -- used as "--vif1-instant-xfer=0" replacement.  fixes graphics

--16:9
eeObj.WriteMem32(0x203173c0,0x443B8000) --447a0000

emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(patcher)
emuObj.SetGsTitleFix( "forceSimpleFetch",  "reserved", {psm=0} )
emuObj.SetGsTitleFix( "fetchFromCurrBuff", "reserved", {psm=0} )

McFarlane's Evil Prophecy. Short GamePlay!
VIDEO


Blur FiX - applied!
 
Fifa street isn´t launching with this lua is there anything wrong with it?

(It´s a fix for fifa street PAL multitap)

apiRequest(0.1)

local gpr = require("ee-gpr-alias")
local emuObj = getEmuObject()
local eeObj = getEEObject()
local gsObj = getGsObject()

emuObj.PadSetLightBar(0, 45,65,55)

-- Init first mtap
eeObj.WriteMem32(0x12BA88,0x24040000)
-- Read data from 1B port when 2A is requested
eeObj.WriteMem32(0x0ffc00,0x10040005)
eeObj.WriteMem32(0x0ffc04,0x00000000)
eeObj.WriteMem32(0x0ffc08,0x14050003)
eeObj.WriteMem32(0x0ffc10,0x24040000)
eeObj.WriteMem32(0x0ffc14,0x24050001)
eeObj.WriteMem32(0x0ffc18,0x080c5cbd)
eeObj.WriteMem32(0x0ffc1c,0x24030070)
eeObj.WriteMem32(0x3172ec,0x0803ff00)
emuObj.ThrottleMax()

end

emuObj.AddVsyncHook(patcher)​
Hi! If anyone here have the knowledge in how to find these kind of offsets I'd love to hear it!
Pcsx2 and cheat engine?
 
Last edited:
hi! when trying to make a pkg for batman vengeance SLUS20226 i get this message

[Debug] 2024-09-03 10:17:59 Create image Process started.
[Warn] The required file is missing (sce_sys/pronunciation.xml). The created package will not be imported into GEMS.
[Error] Format of the NP Title file is not valid. (nptitle.dat, NP Title ID mismatch)
[Error] 2024-09-03 10:17:59 Create image Process finished with error(s).

it only happens with this game. any help?
 
Final config for Silent Hill 2 Director's Cut (SLES_511.56)

CLI:
Code:
--gs-use-clut-merge=1
--ee-cycle-scalar=1.8
--force-frame-blend=1
--gs-use-mipmap=1
--gs-kernel-cl="mipmap"
--gs-kernel-cl-up="mipmap2x2"
--vu1-mpg-cycles=250
--cdvd-sector-read-cycles=150
--cdvd-sector-seek-cycles=2

Emu used: Jak v2

Clut merge fixes the colors. EE Cycle fixes the problematic FMVs (graveyard at the start), 2nd time you meet Angela at the motel and when you meet Maria. I don't know who found these originally but thank you.

Now my fixes: Mipmapping fixes the white seams in the darker areas. Frameblend fixes the screen shaking during loading screens. Vu1 cycles fixes background music that sometimes triggered a bit too late and possibly minor framerate issues. The cdvd read and seek cycles fix the long load times. I know we can use ThrottleMax but it made the footprints in the loading screens appear goofy because they appear so fast, ruining the atmosphere so I think this is a better fix. I have also tested the problematic FMVs again, around 6 times each to make sure the cdvd commands did not break them again since the game is kind of time sensitive.

I'd also give this config to NTSC if the no interlacing code didn't desync audio, a code that is needed to fix the double screen image. So if you want a perfect experience, you'll need PAL with this config for now.
 
Last edited:
Sorry, I'm new here, I want to ask for Basara 2 Heroes, Ultraman Fighting Evolution 3, Def Jam Fight for NY and God Hand, which emulator should I use??
 
Final Fight Streetwise (SLUS-21238)

CONFIG TXT

--gs-uprender=2x2
--gs-upscale=edgesmooth
--ps2-lang=system

LUA

-- Final Fight Streetwise NTSC (SLUS-21238)
-- emu used=jakv2

apiRequest(1.0)

local eeObj = getEEObject()
local emuObj = getEmuObject()
local gsObj = getGsObject()
local hwaddr = require("ee-hwaddr")

local patcher = function()

gsObj.SetDeinterlaceShift(0)

--Widescreen 16:9
eeObj.WriteMem32(0x0017F228,0x3C043F71) -- 0x3C043F35
eeObj.WriteMem32(0x0017F22C,0x3489D5A2) -- 0x34896042
eeObj.WriteMem32(0x0017F230,0x3C03BF71) -- 0x3C03BF35
eeObj.WriteMem32(0x0017F234,0x346AD5A2) -- 0x346A6042
eeObj.WriteMem32(0x001EA9D0,0x3C033FAB) -- 0x3C033F80

--No Interlace
eeObj.WriteMem32(0x201014EC,0x00000000) -- 0x64420008

--Filter Disable (fix menu slowdown)
eeObj.WriteMem32(0x20661314,0x00000001)
eeObj.WriteMem32(0x20661470,0x00000000)
eeObj.WriteMem32(0x20661474,0x00000000)
eeObj.WriteMem32(0x20661478,0x00000000)
eeObj.WriteMem32(0x2066147C,0x00000000)
eeObj.WriteMem32(0x206614B0,0x00000000)
eeObj.WriteMem32(0x206614B4,0x00000000)
eeObj.WriteMem32(0x206614B8,0x00000000)
eeObj.WriteMem32(0x206614BC,0x00000000)
eeObj.WriteMem32(0x206614F0,0x00000000)
eeObj.WriteMem32(0x206614F4,0x00000000)
eeObj.WriteMem32(0x206614F8,0x00000000)
eeObj.WriteMem32(0x206614FC,0x00000000)
eeObj.WriteMem32(0x20661530,0x00000000)
eeObj.WriteMem32(0x20661534,0x00000000)
eeObj.WriteMem32(0x20661538,0x00000000)
eeObj.WriteMem32(0x2066153C,0x00000000)
eeObj.WriteMem32(0x20661570,0x00000000)
eeObj.WriteMem32(0x20661574,0x00000000)
eeObj.WriteMem32(0x20661578,0x00000000)
eeObj.WriteMem32(0x2066157C,0x00000000)
eeObj.WriteMem32(0x206615B0,0x00000000)
eeObj.WriteMem32(0x206615B4,0x00000000)
eeObj.WriteMem32(0x206615B8,0x00000000)
eeObj.WriteMem32(0x206615BC,0x00000000)
eeObj.WriteMem32(0x206615F0,0x00000000)
eeObj.WriteMem32(0x206615F4,0x00000000)
eeObj.WriteMem32(0x206615F8,0x00000000)
eeObj.WriteMem32(0x206615FC,0x00000000)
eeObj.WriteMem32(0x20661630,0x00000000)
eeObj.WriteMem32(0x20661634,0x00000000)
eeObj.WriteMem32(0x20661638,0x00000000)
eeObj.WriteMem32(0x2066163C,0x00000000)
eeObj.WriteMem32(0x20661574,0x00000000)
eeObj.WriteMem32(0x20661670,0x00000000)
eeObj.WriteMem32(0x20661674,0x00000000)
eeObj.WriteMem32(0x20661678,0x00000000)
eeObj.WriteMem32(0x2066167C,0x00000000)
eeObj.WriteMem32(0x206616B0,0x00000000)
eeObj.WriteMem32(0x206616B4,0x00000000)
eeObj.WriteMem32(0x206616B8,0x00000000)
eeObj.WriteMem32(0x206616BC,0x00000000)
eeObj.WriteMem32(0x20661430,0x00000000)
eeObj.WriteMem32(0x20661434,0x00000000)
eeObj.WriteMem32(0x20661438,0x00000000)
eeObj.WriteMem32(0x2066143C,0x00000000)
eeObj.WriteMem32(0x206613F0,0x00000000)
eeObj.WriteMem32(0x206613F4,0x00000000)
eeObj.WriteMem32(0x206613F8,0x00000000)
eeObj.WriteMem32(0x206613FC,0x00000000)
eeObj.WriteMem32(0x20661430,0x00000000)
eeObj.WriteMem32(0x206613B0,0x00000000)
eeObj.WriteMem32(0x206613B4,0x00000000)
eeObj.WriteMem32(0x206613B8,0x00000000)
eeObj.WriteMem32(0x206613BC,0x00000000)
eeObj.WriteMem32(0x20661370,0x00000000)
eeObj.WriteMem32(0x20661374,0x00000000)
eeObj.WriteMem32(0x20661378,0x00000000)
eeObj.WriteMem32(0x2066137C,0x00000000)
eeObj.WriteMem32(0x20661330,0x00000000)
eeObj.WriteMem32(0x20661334,0x00000000)
eeObj.WriteMem32(0x20661338,0x00000000)
eeObj.WriteMem32(0x2066133C,0x00000000)
eeObj.WriteMem32(0x206612F0,0x00000000)
eeObj.WriteMem32(0x206612F4,0x00000000)
eeObj.WriteMem32(0x206612F8,0x00000000)
eeObj.WriteMem32(0x206612FC,0x00000000)
eeObj.WriteMem32(0x206612B0,0x00000000)
eeObj.WriteMem32(0x206612B4,0x00000000)
eeObj.WriteMem32(0x206612B8,0x00000000)
eeObj.WriteMem32(0x206612BC,0x00000000)
eeObj.WriteMem32(0x20661270,0x00000000)
eeObj.WriteMem32(0x20661274,0x00000000)
eeObj.WriteMem32(0x20661278,0x00000000)
eeObj.WriteMem32(0x2066127C,0x00000000)
eeObj.WriteMem32(0x20661230,0x00000000)
eeObj.WriteMem32(0x20661234,0x00000000)
eeObj.WriteMem32(0x20661238,0x00000000)
eeObj.WriteMem32(0x2066123C,0x00000000)
eeObj.WriteMem32(0x206611F0,0x00000000)
eeObj.WriteMem32(0x206611F4,0x00000000)
eeObj.WriteMem32(0x206611F8,0x00000000)
eeObj.WriteMem32(0x206611FC,0x00000000)

end

emuObj.AddVsyncHook(patcher)
 
Devil Kings ( SLES-53870 / SLUS-21297 )
Sengoku Basara ( SLPM-66058 )


CONFIG TXT

--fpu-no-clamping=0 #Fix Graphical Glitches
--fpu-clamp-results=1
--vu0-no-clamping=0
--vu0-clamp-results=1
--vu1-no-clamping=0
--vu1-clamp-results=1
--cop2-no-clamping=0
--cop2-clamp-results=1

--gs-progressive=1

-- emu used=kof98
 
Last edited:
SkyGunner (SLUS-20384)

CLI:
Code:
--force-frame-blend=1
--gs-adaptive-frameskip=1
--safe-area-min=0.9
--gs-scanout-offsety=27

LUA:
Code:
apiRequest(1.0)
local eeObj = getEEObject()
local emuObj      = getEmuObject()
local patcher = function()
eeObj.WriteMem32(0x201334FC,0x00000000)
end
emuObj.AddVsyncHook(patcher)

Emu used: Jak v2

Problem remaining: The game itself is flawless but there is a black bar at the buttom of the screen instead of only having black bars sideways. You can position the screen through the ingame options but you can't fill the vertical bars. Some type of scaling issue perhaps.
On the official PS2 Classic that released today, this is not a problem: SkyGunner PS2 classic on PS5
 
Last edited:
SkyGunner (SLUS-20384)

CLI:
Code:
--force-frame-blend=1
--gs-scanout-offsetx=27
--gs-scanout-offsety=27

Using PS2 patch engine on the ISO, no interlacing code:
Code:
patch=1,EE,201334FC,word,00000000

Emu used: Jak v2

Problem remaining: The game itself is flawless but there is a black bar at the buttom of the screen instead of only having black bars sideways. You can position the screen through the ingame options but you can't fill the vertical bars. Some type of scaling issue perhaps.
On the official PS2 Classic that released today, this is not a problem: SkyGunner PS2 classic on PS5
this could help (stretch screen in game) :
Code:
eeObj.WriteMem32(0x2017df34,0x3f100000) --3f000000
 
this could help (stretch screen in game) :
Code:
eeObj.WriteMem32(0x2017df34,0x3f100000) --3f000000

Doesn't seem to do anything sadly. Even tried without the no interlacing patch but doesn't work.
I have built it like this:
Code:
apiRequest(1.0)
local eeObj = getEEObject()
local patcher = function()
eeObj.WriteMem32(0x2017df34,0x3f100000) --3f000000
end
 
@sargentfart
Doesn't seem to do anything sadly. Even tried without the no interlacing patch but doesn't work.
I have built it like this:
Code:
apiRequest(1.0)
local eeObj = getEEObject()
local patcher = function()
eeObj.WriteMem32(0x2017df34,0x3f100000) --3f000000
end

Code should look like this in LUA
Code:
apiRequest(1.0)
local eeObj = getEEObject()
local emuObj      = getEmuObject()

local patcher = function()
eeObj.WriteMem32(0x2017df34,0x3f100000) --3f000000
end
emuObj.AddVsyncHook(patcher)
 
Last edited:
Sly Cooper and the Thievius Raccoonus (SCUS-97198)

CLI:
Code:
--fpu-no-clamping=0
--fpu-clamp-results=1
--vu0-no-clamping=0
--vu0-clamp-results=1
--vu1-no-clamping=0
--vu1-clamp-results=1
--cop2-no-clamping=0
--cop2-clamp-results=1

Emu used: Jak v2
Played until the first boss, no lag, no audio glitches and no graphical glitches. Should be perfect.

@sargentfart


Code should look like this in LUA
Code:
apiRequest(1.0)
local eeObj = getEEObject()
local emuObj      = getEmuObject()

local patcher = function()
eeObj.WriteMem32(0x2017df34,0x3f100000) --3f000000
end
emuObj.AddVsyncHook(patcher)

Still didn't have any effect in game but no worries, it still works great anyway.
 
The Flintstones In Viva Rock Vegas (SLES50259)

TXT.
Code:
--host-display-mode=16:9
--cdvd-sector-read-cycles=2000
--force-pal-60hz=1
--mtap1=always

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

LUA.
Code:
-- The Flintstones in Viva Rock Vegas (PAL)
-- emu used=aofa

apiRequest(2.0)

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

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

emuObj.SetDisplayAspectWide()

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
-- Mirror, Reverse And G-Slam Tracks Open
eeObj.WriteMem32(0x203A13AC,0x00000001)
eeObj.WriteMem32(0x203A13B0,0x00000001)
eeObj.WriteMem32(0x203A13B4,0x00000001)
eeObj.WriteMem32(0x203A13B8,0x00000001)
eeObj.WriteMem32(0x203A13C0,0x00000001)
end
if (R3 ~= 0) then
-- Freeze Timer
eeObj.WriteMem32(0x203A0494,0x00000000)
eeObj.WriteMem32(0x203A0498,0x00000000)
eeObj.WriteMem32(0x203A049C,0x00000000)
eeObj.WriteMem32(0x203A04A0,0x00000000)
end

end

emuObj.AddVsyncHook(CheckInputs)
 
local Main = function()

-- Gameplay 16:9
eeObj.WriteMem32(0x00139738,0x3C013F40) --3C013F80 Single Player
eeObj.WriteMem32(0x00139814,0x3C013EC0) --3C013F00 Multiplayer

end

emuObj.AddVsyncHook(Main)

The Flintstones In Viva Rock Vega. Short GamePlay!
VIDEO


mtap command - enabled! Game support 4 players! (Tested two pads only).
 

Similar threads

Back
Top