Stayhye
Senior Member
Fix for Scarface - The World is Yours (NTSC)
Total fix! Almost perfect! Probably can still be tweaked to remove remaining stutter. Big Thanks to @kozarovv for final graphics fix.
CLI
LUA
Code:
--gs-uprender=2x2
--gs-upscale=edgesmooth
--gs-kernel-cl-up="up2x2skipinterp" #gfx fix A
--gs-motion-factor=30 #fps smoothing
--gs-optimize-30fps=1 #fps smoothing
--cdvd-sector-read-cycles=2000 # loading speedup
--vu1-di-bits=0 # micro freezing fix
--ee-cycle-scalar=0.75
--iop-cycle-scalar=0.75 # input response increase
--vu1-jr-cache-policy=newprog # stutter fix
--vu1-jalr-cache-policy=newprog # stutter fix
#emu used=star ocean v2
LUA
Code:
-- Scarface - The World is Yours (NTSC)
-- speed fix by Agrippa & Kozarovv
-- graphical issues fix by kozarovv
-- ported to PS4 lua by Stayhye
-- emu used=star ocean v2
apiRequest(0.1)
local cpr = require("ee-cpr0-alias")
local emuObj = getEmuObject()
local eeObj = getEEObject()
emuObj.SetFormattedCard("scarface.card")
emuObj.SetDisplayAspectWide()
--PS3 config(speed up)
eeInsnReplace(0x00643790, 0xc4810020, 0x03e00008) -- pop ins might be more distracting.
eeInsnReplace(0x00643794, 0x3c033f80, 0x00000000)
eeInsnReplace(0x0064292c, 0x45010012, 0x10000012) -- This patch would affect the smaller objects also (e.g. stillages).
eeInsnReplace(0x0050ffa0, 0x3c034320, 0x3c034220)
eeInsnReplace(0x0050ff50, 0x3c033f80, 0x3c033f00)
local gfx_fix = function()
--[[ Kozarovv's Notes:
after some reversing i noticed that Scarface don't use VU1 to draw road terrain. This patch in theory force rendering to be done.
--]]
--graphics fix C
eeObj.WriteMem32(0x004F4D8C,0x10000003)
eeObj.WriteMem32(0x004F4F34,0x00000000)
eeObj.WriteMem32(0x004F4F58,0x10000007)
--60 fps by asasega
--eeObj.WriteMem32(0x20DAFABC,0x00000000) -- breaks uprender and FPS
if eeObj.ReadMem16(0x1B99E0, 0xE614) then
eeObj.WriteMem32(0x001B90DC,0x00000000) -- bloom backbuffer
eeObj.WriteMem32(0x001B8B88,0x00000000) -- MotionBlurEnable
eeObj.WriteMem32(0x001B9318,0x00000000) -- MipMapLevel
end
eeObj.Vu1MpgCycles(375) -- Helps FPS and removes stutter
--emuObj.ThrottleMax() -- not supported by Star Ocean 3 emu
end
emuObj.AddVsyncHook(gfx_fix)
-- Uprender/Upscale fix
emuObj.SetGsTitleFix( "globalSet", "reserved", { waveThreshold = 90000} ) -- removes even more stutter
emuObj.SetGsTitleFix( "ignoreAreaUpdate", 0, { } )
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", {psm=0} )
emuObj.SetGsTitleFix( "fetchFromCurrBuff", "reserved", {psm=0} )
Total fix! Almost perfect! Probably can still be tweaked to remove remaining stutter. Big Thanks to @kozarovv for final graphics fix.
Last edited: