PS4 [Research]PS2 emulator configuration on PS4

Genji Dawn of the Samurai

LUA
NTSC (SCUS-97471)
Emu = War Of The Monsters

Code:
apiRequest(0.1)
local iopObj = getIOPObject()
local emuObj = getEmuObject()
local patcher = function()
--Fix the IOP loop causing a random freeze.
iopObj.WriteMem32(0x0006DCCC, 0x0)
end
emuObj.AddVsyncHook(patcher)
 
Hi, I have tried PS2-FPKG v0.7-Beta on Wakeboarding Unleashed: Featuring Shaun Murray, but I keep getting stuck on the intro splash screen. I noticed there is a fix from ps2 to ps3 emu and I tried to apply it, but it didn't help.

I tried some fixes from same era and same engine games like thps4 but nothing helped. How to debug and find why it is stuck?
 
Merry Christmas Folks!
2024-12-24-094012.png


Christmas|Xmas Collection|MiX SNES|GBAonPS4 Test
 
Hi, I have tried PS2-FPKG v0.7-Beta on Wakeboarding Unleashed: Featuring Shaun Murray, but I keep getting stuck on the intro splash screen. I noticed there is a fix from ps2 to ps3 emu and I tried to apply it, but it didn't help.

I tried some fixes from same era and same engine games like thps4 but nothing helped. How to debug and find why it is stuck?
I believe that's a VU0 timing issue. You need to create a delay patch if it was.

However, try this config:

Code:
--vu-xgkick-delay=0
--vu-custom-min-max=0
--vu1=jit-sync
--vu1-mpg-cycles=6000
--vif1-instant-xfer=0
 
Last edited:
I believe that's a VU0 timing issue. You need to create a delay patch if it was.

However, try this config:

Code:
--vu-xgkick-delay=0
--vu-custom-min-max=0
--vu1=jit-sync
--vu1-mpg-cycles=6000
--vif1-instant-xfer=0
Sadly didn't work :( both with and without ps3 fix

BTW where is this fix from? I researched a bit how each thps game has unique value placement that needs to be set to zeros 0x00... Could you elaborate a bit more?
 
Thank you for taking your time at this game, i appreciate that :encouragement:

Did you tested the game Stuntman right ? this game has an issue that the car we are supposed to chase crashes on the walls and stuff during the Career mode, this issue is present on the PS3 netemu and PCSX2 so unfortunately the only way to complete it is on real ps2 hardware console, maybe if it can be completable on ps4's emulators would be fantastic !! i can send a video showcasing the problem

There was some testing done with the same results. I believe the problem lies in bad rounding causing even more errors and yes also the same where you shown objective car stuck: https://www.reddit.com/r/hacking/comments/oe8rhj/ammm_thats_ps4_emulating_ps2/
 
Sadly didn't work :( both with and without ps3 fix

BTW where is this fix from? I researched a bit how each thps game has unique value placement that needs to be set to zeros 0x00... Could you elaborate a bit more?
vu1 mpg cycles changes the speed of Vector Unit 1. Go lower than 100 and you overclock it, and vice versa is true.
 
SSX 3
SLUS 207.72


Briefly tested, works fine.

CLI

Code:
#Speedhacks
--vu1-mpg-cycles=1500
--vu1-di-bits=0
#Gs graphics fixes
--gs-upscale=none
--gs-uprender=none

#Use WOTM emu

LUA
Code:
apiRequest(0.1)

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

local patcher = function()
--Freeze fix
eeObj.WriteMem32(0x002EC824, 0x0)
eeObj.WriteMem32(0x002EC68C, 0x0)
end
emuObj.AddVsyncHook(patcher)
 
SSX 3 - [SLES-51697]
emu=war of the monsters [wotm]

Code:
#Speedhacks
--vu1-mpg-cycles=1500
--vu1-di-bits=0
#Gs graphics fixes
--gs-upscale=none
--gs-uprender=none

Lua:

Code:
apiRequest(0.1)

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

local patcher = function()
--freeze fix by Scalerize
eeObj.WriteMem32(0x002EC594, 0x0)
eeObj.WriteMem32(0x002EC5E4, 0x0)
end
emuObj.AddVsyncHook(patcher)
 
Metal Gear Solid 3 Subsistence BIG PS2toPS4 Review

Just wish remind some old config with small update

Micro freezes while gameplay and cutscenes - FiXed!

FiX

Code:
--ee-context-switch-cycles=2700 #*
--ee-cycle-scalar=0.1

--iop-cycle-scalar=0.1

--vu1-mpg-cycles=700

--framelimiter=1
--framelimit-fps=15.0
--framelimit-scalar=2.1

in txt.

Code:
-- Metal Gear Solid 3 - Subsistence (SLUS_21359)
-- Widescreen hack by No.47
-- 30 FPS/Speed Fix by applepiejr @PCSX2 Forums
-- ported to PS4 LUA
-- emu used=star ocean v2

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

apiRequest(1.3)

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

local patcher = function()
-- Force 30 FPS
eeObj.WriteMem32(0x001D5AD8,0x00000040) -- 40=30fps / 00=60fps / 20=15 or20fps? <camera>
eeObj.WriteMem32(0x001D6DB8,0x00000002) -- 01=60fps / 02=30fps / 3=20fps / 4=16.67fps? <cut-scenes/fmv>
eeObj.WriteMem32(0x001D6DBC,0x00000001) -- 0=double speed / 1=normal speed <gameplay>
-- 480p 512x448
eeObj.WriteMem32(0x201741F4,0x3C050000)
eeObj.WriteMem32(0x201741F8,0xFFB20020)
eeObj.WriteMem32(0x201741FC,0x3C060050)
eeObj.WriteMem32(0x20174200,0xFFB10010)
eeObj.WriteMem32(0x20174204,0x3C070001)
-- REMOVES MOST OF THEM, BUT SOME ARE NOW RED?
-- Remove Black Bars
local code_check = eeObj.ReadMem16(0x25E1CC)
if code_check == 0x0000 then
eeObj.WriteMem32(0x2025E6A4,0x00000000)
end
local code_check = eeObj.ReadMem16(0x20B3FC)
if code_check == 0x0001 then
eeObj.WriteMem32(0x2025E6A4,0x00000000)
end
local code_check = eeObj.ReadMem16(0x214D80)
if code_check == 0x0001 then
eeObj.WriteMem32(0x2025E6A4,0x00000000)
end
local code_check = eeObj.ReadMem16(0x214D70)
if code_check == 0x0001 then
eeObj.WriteMem32(0x2025E6A4,0x00000000)
end
----16:9---//Widescreen water fix
eeObj.WriteMem32(0x202050AC,0x3F400000)

local code_check = eeObj.ReadMem16(0x4CCD42)
if code_check == 0x3F80 then
eeObj.WriteMem32(0x204CCD40,0x3FAB0000)
eeObj.WriteMem32(0x204CCD44,0x3F400000)
eeObj.WriteMem32(0x204CCD4C,0xBFAB0000)
end
local code_check = eeObj.ReadMem16(0x580CE2)
if code_check == 0x3F80 then
eeObj.WriteMem32(0x20580CE0,0x3FAB0000)
eeObj.WriteMem32(0x20580CE4,0x3F400000)
eeObj.WriteMem32(0x20580CEC,0xBFAB0000)
end
local code_check = eeObj.ReadMem16(0x591C72)
if code_check == 0x3F80 then
eeObj.WriteMem32(0x20591C70,0x3FAB0000)
eeObj.WriteMem32(0x20591C74,0x3F400000)
eeObj.WriteMem32(0x20591C7C,0xBFAB0000)
end
local code_check = eeObj.ReadMem16(0x599C12)
if code_check == 0x3F80 then
eeObj.WriteMem32(0x20599C10,0x3FAB0000)
eeObj.WriteMem32(0x20599C14,0x3F400000)
eeObj.WriteMem32(0x20599C1C,0xBFAB0000)
end
local code_check = eeObj.ReadMem16(0x4A14D2)
if code_check == 0x3F80 then
eeObj.WriteMem32(0x204A14D0,0x3FAB0000)
eeObj.WriteMem32(0x204A14D4,0x3F400000)
eeObj.WriteMem32(0x204A14DC,0xBFAB0000)
end
local code_check = eeObj.ReadMem16(0x557CFA)
if code_check == 0x3F80 then
eeObj.WriteMem32(0x20557CF8,0x3FAB0000)
eeObj.WriteMem32(0x20557CFC,0x3F400000)
eeObj.WriteMem32(0x20557D04,0xBFAB0000)
end
local code_check = eeObj.ReadMem16(0x4B7082)
if code_check == 0x3F80 then
eeObj.WriteMem32(0x204B7080,0x3FAB0000)
eeObj.WriteMem32(0x204B7084,0x3F400000)
eeObj.WriteMem32(0x204B708C,0xBFAB0000)
end

end

emuObj.AddVsyncHook(patcher)

emuObj.SetDisplayAspectWide()

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

in lua.
i have a code to remove the filter,but only work in-game:
Code:
local pad_bits  = emuObj.GetPad()
local L3      = pad_bits &  0x0002
if (L3 ~= 0) then
--remove filter
eeObj.WriteMem32(0x002050C8,0x447f0000) --437f0000
end
 
Tales of Rebirth (NTSC-J)(SLPS-25450) (v0.9 Full English Beta) (Widescreen)
Emu=Jak v2

CLI (Reused from my custom Tales of Destiny - Director's Cut (English v1.5) config)
Code:
--host-vsync=1
--fpu-accurate-mul-fast=1
--ee-cycle-scalar=1.74  #apparently to fix all slowdowns
--gs-use-clut-merge=1
--gs-kernel-cl="clutmerge"
--gs-kernel-cl-up="clutmerge2x2"
--force-frame-blend=1 #fix for shaking menu ui

LUA
Code:
-- Tales of Rebirth (NTSC-J)(SLPS-25450)(v0.9 Full English Beta)
-- Widescreen hack
-- emu used=Jak v2

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

apiRequest(0.1)

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

local patcher = function()
--16:9 gameplay
eeObj.WriteMem32(0x0015c8e8,0x00000000)
eeObj.WriteMem32(0x0015c8f0,0x3c013f40)
eeObj.WriteMem32(0x0015c8f4,0x4481c800)
eeObj.WriteMem32(0x0015c8fc,0x46196b42)
eeObj.WriteMem32(0x0015c900,0xe7ad0040)
--sprite fix
eeObj.WriteMem32(0x001574a4,0x3c013f20)
eeObj.WriteMem32(0x001574a8,0x34216d3a)
--render fix
eeObj.WriteMem32(0x0015c964,0x3c0143d6)
end

emuObj.AddVsyncHook(patcher)

Didn't play far, but no issues noticed.
 

Similar threads

Back
Top