PS4 [Research]PS2 emulator configuration on PS4

@Agrippa did the majority of that config. I only found what was causing the slowdown.

Also, did anyone test Shadow of Rome to this area?:
Massive slowdown happens starting here on PS3. If it is the same on PS4, the fix I just published should work fine.

This video is too long to find a place to describe it, maybe someone who really knows the game can test it. Porting the configuration shouldn't have any side effects either.

I've also tested this game before and it's very blurry on the display image, it seems to be accompanied by some ghosting and white line errors, which should be caused by the image upgrade.

The white line error can be fixed without degrading the image quality
Code:
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=1 } )
 
--gs-uprender=2x2
--gs-upscale=edgesmooth
--gs-use-clut-merge=1
--gs-kernel-cl="clutmerge"
--gs-kernel-cl-up="clutmerge2x2"

--vu0=trans
--vu1-mpg-cycles=500
--vu1-di-bits=0

--vu1-jr-cache-policy=newprog

--iop-cycle-scalar=2.0
--ee-cycle-scalar=1.5

#--vu0-no-clamping=0
#--vu0-clamp-range=0x130,0x140
#--vu0-accurate-addsub-range=0x130,0x16a

#--vu0-mul0fix-range=0x010,0x03f

-- Scarface NTSC SLUS-21111
-- emu used=jakx v2

apiRequest(2.3)

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()

emuObj.ForceRefreshRate(0)
emuObj.SetFormattedCard("scarface.card")
emuObj.SetDisplayAspectWide(1)
gsObj.SetDeinterlaceShift(1)
local FIX = function()

eeObj.WriteMem32(0x00643790,0x03e00080) -- But it is more aggressive and the pop ins might be more distracting.
eeObj.WriteMem32(0x00643794,0x00000000)
eeObj.WriteMem32(0x0064292c,0x10000012) -- This patch would affect the smaller objects also (e.g. stillages).
eeObj.WriteMem32(0x0050ffa0,0x3c034220)
eeObj.WriteMem32(0x0050ff50,0x3c033f00)

--eeObj.WriteMem32(0x004f8048,0x00000000) -- everything but trees
--eeObj.WriteMem32(0x001b99e0,0x00000000) -- nighht
--eeObj.WriteMem32(0x20DAFABC,0x00000000) --60fps

eeObj.SchedulerDelayEvent("vif1.dma", 0x6500)

emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(FIX)

emuObj.SetGsTitleFix( "trianglesAsParticles", "reserved", { hasClut=1,zmsk=1 } )

this settings you was add?
these are the files that i use. I have to rename the extension because it dont let me to upload. The emu that i use is the Star ocean, but ill try your config, maybe it works.
PD: with the codes that you send me it dont crash anymore, but it have some lags
 

Attachments

@anyone

how would I convert this to eeInsReplace?
Code:
--eeObj.WriteMem32(0x20DAFABC,0x00000000) -- 60fps

I know I have to find the original address, but how would I do that?
Good question. I always thought 0x2xxxxxxx is just a representation of a 32bit write. So the actual address/offset is 0x00DAFABC. But this address makes no sense in the Scarface ELF.
 
these are the files that i use. I have to rename the extension because it dont let me to upload. The emu that i use is the Star ocean, but ill try your config, maybe it works.
PD: with the codes that you send me it dont crash anymore, but it have some lags

It literally says in the config what emu to use! COMMANDS DON"T WORK WITH ALL EMUS!! It is crashing because you used star ocean and not jakx v2.
 
Good question. I always thought 0x2xxxxxxx is just a representation of a 32bit write. So the actual address/offset is 0x00DAFABC. But this address makes no sense in the Scarface ELF.

You have to load the game in the PCSX2 and open its debugger to check the value there.
 
This video is too long to find a place to describe it, maybe someone who really knows the game can test it. Porting the configuration shouldn't have any side effects either.
It's the area starting from the 17:00 mark on the video. The slowdown should be instantly noticeable if it exists!

But you're right, @Stayhye ported it to the already working config.
 
Open the debugger, right click inside the memory viewer and select "Go to address". Right click on the highlighted value and select "Copy Value (32 bit)". It is the original value you have to enter in the eeInsnReplace command.
 
It literally says in the config what emu to use! COMMANDS DON"T WORK WITH ALL EMUS!! It is crashing because you used star ocean and not jakx v2.
the LUA it works for me and improves the performance. It crashes with the CLI codes, but i dont know what codes i have to use with the star ocean emu. If someone can send me a CONF for Scarface in Star ocean emu i will appreciate it
 
Open the debugger, right click inside the memory viewer and select "Go to address". Right click on the highlighted value and select "Copy Value (32 bit)". It is the original value you have to enter in the eeInsnReplace command.
But according to the wiki the correct memory range for eeInsnReplace() is 0x0 to 0x1FFFFFFF. So is writing to memory (0x2xxxxxxx) even possible? Most of the configs I've seen here (+official) seem to only modify instructions in the ELF file...
 
But according to the wiki the correct memory range for eeInsnReplace() is 0x0 to 0x1FFFFFFF. So is writing to memory (0x2xxxxxxx) even possible? Most of the configs I've seen here (+official) seem to only modify instructions in the ELF file...

2xxxxxxx is a virtual memory mirror of the physical 0xxxxxxx. If you mean the pnach codes, here is the explanation:
https://forums.pcsx2.net/Thread-Word-or-Extended?pid=216106#pid216106

I do not like using the extended format, but the conditional codes (D and E) are working with that format only.
 

Similar threads

Back
Top