PS4 [Research]PS2 emulator configuration on PS4

Tony Hawk Pro Skater 4 NTSC, attempt 2049...
I hope that will fix it, untested on ps4 as always. My main concern here is that emu will allow to write to 12001010, if yes patch should be ok. If there are graphic issues, we can adjust that patch.

TXT

Code:
--vif1-instant-xfer=0

Lua (SLUS_205.04 v2.01 ONLY)
Code:
apiRequest(1.0)

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

local patcher = function()
eeObj.WriteMem32(0x000fffc0,0x0c055944)
eeObj.WriteMem32(0x000fffc4,0x24186000)
eeObj.WriteMem32(0x000fffc8,0x3c191200)
eeObj.WriteMem32(0x000fffcc,0x37391010)
eeObj.WriteMem32(0x000fffd0,0x2718ffff)
eeObj.WriteMem32(0x000fffd4,0x1418fffe)
eeObj.WriteMem32(0x000fffdc,0x08055940)
eeObj.WriteMem32(0x000fffe0,0xaf200000)
eeObj.WriteMem32(0x001564f8,0x0803fff0)
eeObj.WriteMem32(0x002CDDA0,0xd3400000)
end

emuObj.AddVsyncHook(patcher)

Edit: If that patch don't make it past loading, then this is not mtvu issue. Because that patch workaround mtvu even on pcsx2 0.9.7.
Good job!! Work well without --vu1=jit-sync.
 
will try later
I tried it. It's not freezing for me, but the performance is really bad on the PS4 Pro. @Stayhye's config is really interesting, because the higher ee cycle value is solely responsible for the THUG1 loading screen to succeed. Problem is that the PS4 Pro doesn't play well with higher cycle values ingame. I will try to find some better settings. The lesser commands the better. At least when it comes to the Pro.
 
Thank you kozarovv for greatest patch!

THUG1

LUA
Code:
apiRequest(1.0)

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

local patcher = function()
eeObj.WriteMem32(0x000fffc0,0x0c05942e)
eeObj.WriteMem32(0x000fffc4,0x24186000)
eeObj.WriteMem32(0x000fffc8,0x3c191200)
eeObj.WriteMem32(0x000fffcc,0x37391010)
eeObj.WriteMem32(0x000fffd0,0x2718ffff)
eeObj.WriteMem32(0x000fffd4,0x1418fffe)
eeObj.WriteMem32(0x000fffdc,0x0805941a)
eeObj.WriteMem32(0x000fffe0,0xaf200000)
eeObj.WriteMem32(0x00165060,0x0803fff0)
eeObj.WriteMem32(0x0034b738,0xd3400000)
end

emuObj.AddVsyncHook(patcher)

TXT
Code:
--vif1-instant-xfer=0

works, but still freeze in game like Stayhye config, will try to play with values 0x24186000
 
Last edited:
Thank you kozarovv for greatest patch!

THUG1

LUA
Code:
apiRequest(1.0)

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

local patcher = function()
eeObj.WriteMem32(0x000fffc0,0x0c05942e)
eeObj.WriteMem32(0x000fffc4,0x24186000)
eeObj.WriteMem32(0x000fffc8,0x3c191200)
eeObj.WriteMem32(0x000fffcc,0x37391010)
eeObj.WriteMem32(0x000fffd0,0x2718ffff)
eeObj.WriteMem32(0x000fffd4,0x1418fffe)
eeObj.WriteMem32(0x000fffdc,0x0805941a)
eeObj.WriteMem32(0x000fffe0,0xaf200000)
eeObj.WriteMem32(0x00165060,0x0803fff0)
eeObj.WriteMem32(0x0034b738,0xd3400000)
end

emuObj.AddVsyncHook(patcher)

TXT
Code:
--vif1-instant-xfer=0

works, but still freeze in game like Stayhye config, will try to play with values 0x24186000
Hard crash for me. Performance is great with this patch.

Edit: It works perfect with RedFaction1. I played 15 minutes in free skate mode. No crash / no freeze :joyous:
 
Last edited:
I tried it. It's not freezing for me, but the performance is really bad on the PS4 Pro. @Stayhye's config is really interesting, because the higher ee cycle value is solely responsible for the THUG1 loading screen to succeed. Problem is that the PS4 Pro doesn't play well with higher cycle values ingame. I will try to find some better settings. The lesser commands the better. At least when it comes to the Pro.
not good ever with force mode?
 
Hard crash for me. Performance is great with this patch.

Edit: It works perfect with RedFaction1. I played 15 minutes in free skate mode. No crash / no freeze :joyous:
Good job! :encouragement::encouragement:
EDIT: tryed with RedFaction but get freeze in free skate :( If you can share me in PM assembled package.
 
Last edited:
I always enable force mode. Here it's called boost mode I guess. THUG1 runs like a dream with this turned on. I actually never saw Underground1 running that great. Not even on PCSX2 ;-)
But it seems that you have to adapt every config that uses scalar / cycle commands. So that's the compromise you have to make.
 
Last edited:
I always enable force mode. Here it's called boost mode I guess. THUG1 runs like a dream with this turned on. I actually never saw Underground1 running that great. Not even on PCSX2 ;-)
But it seems that you have to adapt every config that uses scalar / cycle commands. So that's compromise you have to make.
Did u try boot gun?
 
I ported the game and now all versions should work well

Baroque SLUS_217.14

TXT

Code:
--vu1=jit-sync

LUA
Code:
apiRequest(1.0)
local eeObj = getEEObject()
local emuObj = getEmuObject()

local patcher = function()
--Thanks to the Maori for reversing the game
eeObj.WriteMem32(0x00173f98,0x64030001)
eeObj.WriteMem32(0x0010fb9c,0x64030000)
eeObj.WriteMem32(0x0010ee18,0x64030000)
eeObj.WriteMem32(0x0010e0e0,0x64030000)
eeObj.WriteMem32(0x001116d0,0x3c030000)
eeObj.WriteMem32(0x00259fac,0xAEA0000C)
eeObj.WriteMem32(0x00259fb8,0xAEA00010)
eeObj.WriteMem32(0x00259fc4,0xAEA00014)
eeObj.WriteMem32(0x00259d7c,0x7EA00000)
eeObj.WriteMem32(0x00259334,0x64150001)
eeObj.WriteMem32(0x003807b8,0x34023f78)
eeObj.WriteMem32(0x003807c0,0x0002143c)
eeObj.WriteMem32(0x003807c4,0x0002103e)
eeObj.WriteMem32(0x003807c8,0x34420000)
eeObj.WriteMem32(0x003807cc,0xaca20010)
eeObj.WriteMem32(0x003807d0,0xaca20014)
eeObj.WriteMem32(0x003807d4,0xaca20018)
eeObj.WriteMem32(0x003807d8,0x3c033f80)
eeObj.WriteMem32(0x003807dc,0xaca3001c)
eeObj.WriteMem32(0x00380698,0x3c023D00)
eeObj.WriteMem32(0x0038069c,0x34420000)
eeObj.WriteMem32(0x003806a0,0xaca20020)
eeObj.WriteMem32(0x003806a4,0xaca20024)
eeObj.WriteMem32(0x003806a8,0xaca20028)
eeObj.WriteMem32(0x003806ac,0x3c033f80)
eeObj.WriteMem32(0x003806b0,0x44830800)
eeObj.WriteMem32(0x003806b8,0xe4a1002c)
eeObj.WriteMem32(0x00259c9c,0x3C0E4340)
eeObj.WriteMem32(0x00259ca0,0x3C0F3F80)
eeObj.WriteMem32(0x00259ca4,0x448E0000)
eeObj.WriteMem32(0x00259ca8,0x448F0800)
eeObj.WriteMem32(0x00259cac,0xE4800000)
eeObj.WriteMem32(0x00259cb0,0xE4800004)
eeObj.WriteMem32(0x00259cb4,0xE4800008)
eeObj.WriteMem32(0x00259cb8,0xE481000C)
end

emuObj.AddVsyncHook(patcher)

Baroque SLPM_667.47

TXT

Code:
--vu1=jit-sync

LUA
Code:
apiRequest(1.0)
local eeObj = getEEObject()
local emuObj = getEmuObject()

local patcher = function()

--Thanks to the Maori for reversing the game
eeObj.WriteMem32(0x001719f8,0x64030001)
eeObj.WriteMem32(0x0010f61c,0x64030000)
eeObj.WriteMem32(0x0010e898,0x64030000)
eeObj.WriteMem32(0x0010db60,0x64030000)
eeObj.WriteMem32(0x00111150,0x3c030000)
eeObj.WriteMem32(0x0025456c,0xaea0000c)
eeObj.WriteMem32(0x00254578,0xaea00010)
eeObj.WriteMem32(0x00254584,0xaea00014)
eeObj.WriteMem32(0x0025433c,0x7ea00000)
eeObj.WriteMem32(0x002538f4,0x64150001)
eeObj.WriteMem32(0x0037b128,0x34023f78)
eeObj.WriteMem32(0x0037b130,0x0002143c)
eeObj.WriteMem32(0x0037b134,0x0002103e)
eeObj.WriteMem32(0x0037b138,0x34420000)
eeObj.WriteMem32(0x0037b13C,0xaca20010)
eeObj.WriteMem32(0x0037b140,0xaca20014)
eeObj.WriteMem32(0x0037b144,0xaca20018)
eeObj.WriteMem32(0x0037b148,0x3c033f80)
eeObj.WriteMem32(0x0037b14C,0xaca3001c)
eeObj.WriteMem32(0x0037b008,0x3c023d00)
eeObj.WriteMem32(0x0037b00C,0x34420000)
eeObj.WriteMem32(0x0037b010,0xaca20020)
eeObj.WriteMem32(0x0037b014,0xaca20024)
eeObj.WriteMem32(0x0037b018,0xaca20028)
eeObj.WriteMem32(0x0037b01C,0x3c033f80)
eeObj.WriteMem32(0x0037b020,0x44830800)
eeObj.WriteMem32(0x0037b028,0xe4a1002c)
eeObj.WriteMem32(0x0025425c,0x3c0e4340)
eeObj.WriteMem32(0x00254260,0x3C0F3F80)
eeObj.WriteMem32(0x00254264,0x448E0000)
eeObj.WriteMem32(0x00254268,0x448F0800)
eeObj.WriteMem32(0x0025426C,0xE4800000)
eeObj.WriteMem32(0x00254270,0xE4800004)
eeObj.WriteMem32(0x00254274,0xE4800008)
eeObj.WriteMem32(0x00254278,0xE481000C)
end

emuObj.AddVsyncHook(patcher)

Baroque SLES_552.16

TXT

Code:
--vu1=jit-sync

LUA
Code:
apiRequest(1.0)
local eeObj = getEEObject()
local emuObj = getEmuObject()

local patcher = function()

--Thanks to the Maori for reversing the game
eeObj.WriteMem32(0x00174438,0x64030001)
eeObj.WriteMem32(0x0010fb9c,0x64030000)
eeObj.WriteMem32(0x0010ee18,0x64030000)
eeObj.WriteMem32(0x0010e0e0,0x64030000)
eeObj.WriteMem32(0x001116d0,0x3c030000)
eeObj.WriteMem32(0x0025ad6c,0xaea0000c)
eeObj.WriteMem32(0x0025ad78,0xaea00010)
eeObj.WriteMem32(0x0025ad84,0xaea00014)
eeObj.WriteMem32(0x0025ab3c,0x7ea00000)
eeObj.WriteMem32(0x0025a0f4,0x64150001)
eeObj.WriteMem32(0x00381578,0x34023f78)
eeObj.WriteMem32(0x00381580,0x0002143c)
eeObj.WriteMem32(0x00381584,0x0002103e)
eeObj.WriteMem32(0x00381588,0x34420000)
eeObj.WriteMem32(0x0038158C,0xaca20010)
eeObj.WriteMem32(0x00381590,0xaca20014)
eeObj.WriteMem32(0x00381594,0xaca20018)
eeObj.WriteMem32(0x00381598,0x3c033f80)
eeObj.WriteMem32(0x0038159C,0xaca3001c)
eeObj.WriteMem32(0x00381458,0x3c023d00)
eeObj.WriteMem32(0x0038145C,0x34420000)
eeObj.WriteMem32(0x00381460,0xaca20020)
eeObj.WriteMem32(0x00381464,0xaca20024)
eeObj.WriteMem32(0x00381468,0xaca20028)
eeObj.WriteMem32(0x0038146C,0x3c033f80)
eeObj.WriteMem32(0x00381470,0x44830800)
eeObj.WriteMem32(0x00381478,0xe4a1002c)
eeObj.WriteMem32(0x0025aa5c,0x3c0e4340)
eeObj.WriteMem32(0x0025aa60,0x3C0F3F80)
eeObj.WriteMem32(0x0025aa64,0x448E0000)
eeObj.WriteMem32(0x0025aa68,0x448F0800)
eeObj.WriteMem32(0x0025aa6C,0xE4800000)
eeObj.WriteMem32(0x0025aa70,0xE4800004)
eeObj.WriteMem32(0x0025aa74,0xE4800008)
eeObj.WriteMem32(0x0025aa78,0xE481000C)
end

emuObj.AddVsyncHook(patcher)
 
Last edited:
problem for all regions? will u share for us version?
You can check the previous article posted by @kozarovv for the US version, it might help you. I'm porting it to other versions, all with the same problem, which is why I've been looking for a fix for the audio, the frame rate is easy to debug now, but audio repeat play is still a very serious problem, so I can't post a config for now!
 
You can check the previous article posted by @kozarovv for the US version, it might help you. I'm porting it to other versions, all with the same problem, which is why I've been looking for a fix for the audio, the frame rate is easy to debug now, but audio repeat play is still a very serious problem, so I can't post a config for now!
well if it have such serious problem, not reason test it for me then, im have ps3 version of this game!
 
Silent Scope 2: Dark Silhouette (SLUS-20243)
LUA

Code:
apiRequest(1.0)

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

local patcher = function()
eeObj.WriteMem32(0x001195f0,0x00000000)
end

emuObj.AddVsyncHook(patcher)
Fix for black screen after PS2 logo. Untested.
 

Similar threads

Back
Top