PS4 [Research]PS2 emulator configuration on PS4

@nifengyuexia I see! There is a lot more customizable options in this emulator, which could be a blessing and a curse. Anyways, keep up the good work! I will try to help as much as I can from memory patches...only thing I can really do from the outside. :)
Yes, there are too many commands, and now we have to take one step at a time to identify what those commands actually do, and we need to determine and fix each one based on the problems of different games. It's been difficult, but I think it's all moving in a good direction now, and I hope more people get involved! Thanks again to you, @Stayhye and @kozarovv for your great help, I appreciate it!:D
 
Yes, there are too many commands, and now we have to take one step at a time to identify what those commands actually do, and we need to determine and fix each one based on the problems of different games. It's been difficult, but I think it's all moving in a good direction now, and I hope more people get involved! Thanks again to you, @Stayhye and @kozarovv for your great help, I appreciate it!:D

You too. If I recall, you found the "--vu1=jit-sync" was related to MTVU. That fixed many games. Thank you for that as well.
 
THPS4 hard crashes after where the loading screen freeze

This can be "fixed" or better skipped over using
Code:
-- Tony Hawk's Pro Skater 4 v2.01 [SLUS-20504]

apiRequest(1.0)

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

eeInsnReplace(0x156500, 0x1440fffd, 0x00000000) -- fix loading screen hang (gray screen of death / audio only in mm afterwards)
eeInsnReplace(0x2cdda0, 0x53400000, 0xd3400000) -- loi 0x2cdda0 to negative? (thanks @kozarovv)

in combination with --vu-xgkick-delay=4/6/8

But still this is far from playable.
 
This can be "fixed" or better skipped over using
Code:
-- Tony Hawk's Pro Skater 4 v2.01 [SLUS-20504]

apiRequest(1.0)

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

eeInsnReplace(0x156500, 0x1440fffd, 0x00000000) -- fix loading screen hang (gray screen of death / audio only in mm afterwards)
eeInsnReplace(0x2cdda0, 0x53400000, 0xd3400000) -- loi 0x2cdda0 to negative? (thanks @kozarovv)

in combination with --vu-xgkick-delay=4/6/8

But still this is far from playable.

I'm getting hard crash with this...what emu are you using? and is there a CLI?
 
Proper fix for Need for Speed Carbon Collectors Edition NTSC

All thanks go to @mrjaredbeta for fixing the overlay issue causing the game to not uprender, and run like crap.

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

--fpu-accurate-range=0x162800,0x162900

--framelimiter=1
--framelimit-fps=60
--framelimit-scalar=1

--vu1-mpg-cycles=980

--ee-cycle-scalar=1.33
--iop-cycle-scalar=1.43
lua
Code:
--emulator used=fahrenheit v2

apiRequest(1.3)

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


local patcher = function()

eeObj.WriteMem32(0x263AB0, 0x00000000) --overlay/uprender/speed fix

end

emuObj.AddVsyncHook(patcher)

emuObj.SetDisplayAspectWide() -- 16:9

More testing needed. But gameplay is almost perfect.
 
I'm getting hard crash with this...what emu are you using? and is there a CLI?
Hard crash instantly? Then it's probably iso file related. This is based on THPS4 2.01 and I used the eeInsnReplace() function. So the address and opcode must match.
JakX v2 used. Other Jak emus should work.

Only --vu-xgkick-delay=4 (or higher) is needed in CLI. It seems that disabling MTVU (+commands around PCSX2 default behaviour) has no effect.
 
Last edited:
This can be "fixed" or better skipped over using
Code:
-- Tony Hawk's Pro Skater 4 v2.01 [SLUS-20504]

apiRequest(1.0)

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

eeInsnReplace(0x156500, 0x1440fffd, 0x00000000) -- fix loading screen hang (gray screen of death / audio only in mm afterwards)
eeInsnReplace(0x2cdda0, 0x53400000, 0xd3400000) -- loi 0x2cdda0 to negative? (thanks @kozarovv)

in combination with --vu-xgkick-delay=4/6/8

But still this is far from playable.
While this fix loading crash/hang, you are basically make game engine to ignore SIGNAL, so there is no chance to recover graphic with that fix. :( Game will lost sync with VU1 that way, so gray screen/SPS are sadly unrecoverable result of that patch.
 
Okay, I will try that next. I guess skipping MIPS assembler study classes back in the day was not the best decision. ;-)
Thanks @kozarovv
That's for sure :D But issue here is more like game being an ass for emulators. They expect VU1 to run in some kind of sync, but at the same time they don't care that it will run faster. Only thing that need to be done is answer from VU1 at correct time, but since game throw that challenge frequently some answers are hit or miss.
 
Need for Speed Carbon (SLPM_666.17)

txt
Code:
--fpu-accurate-range=0x162800,0x162900
--framelimiter=1
--framelimit-fps=60
--framelimit-scalar=1
--vu1-mpg-cycles=980
--ee-cycle-scalar=1.33
--iop-cycle-scalar=1.43

lua
Code:
apiRequest(1.3)
local eeObj = getEEObject()
local emuObj = getEmuObject()

local widescreen = function()

--overlay/uprender/speed fix
eeObj.WriteMem32(0x00263bb0,0x00000000)
end

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

fahrenheit v2 emu


It seems that every version of --fpu-accurate-range=0x162800,0x162900 will work
 
Last edited:
Proper fix for Need for Speed Carbon Collectors Edition NTSC

All thanks go to @mrjaredbeta for fixing the overlay issue causing the game to not uprender, and run like crap.

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

--fpu-accurate-range=0x162800,0x162900

--framelimiter=1
--framelimit-fps=60
--framelimit-scalar=1

--vu1-mpg-cycles=980

--ee-cycle-scalar=1.33
--iop-cycle-scalar=1.43
lua
Code:
--emulator used=fahrenheit v2

apiRequest(1.3)

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


local patcher = function()

eeObj.WriteMem32(0x263AB0, 0x00000000) --overlay/uprender/speed fix

end

emuObj.AddVsyncHook(patcher)

emuObj.SetDisplayAspectWide() -- 16:9

More testing needed. But gameplay is almost perfect.

KOF2000 is also working alongside Fahrenheit v2 and Kinetica v2. Just in case someone wants to test this with a somewhat limited emu set.
@Stayhye: There is no 60fps patch for Carbon?
 
Last edited:
Kuon
All versions


TXT
Code:
--vif1-ignore-cmd-ints=1
--vif-ignore-invalid-cmd=0
--vif1-instant-xfer=0

Fix the freezing problem in the opening scene of 《阴の章》

(picture location)
九怨_20210313113641.jpg
 
@nifengyuexia Nice work! Sugoroku is bugged in both PCSX2 and netemu, so probably same here with PS4. Here's a video:


You won't be able to test it until you get the board and the pieces for it in both Yin and Yang phase, or if you transfer a save file with it unlocked. Here's the fix for NTSC-U in TXT:
Code:
--fpu-accurate-addsub=0x104124
 
Last edited:

Similar threads

Back
Top