PS4 [Research]PS2 emulator configuration on PS4

Resident Evil 4 Winter Season (Mod)

TXT.
Code:
--host-display-mode=16:9
--host-vsync=1

LUA.
Code:
-- Resident Evil 4 Winter Season [MOD] [SLES-53702] (E)
-- emu used=KOF 2000

apiRequest(1.0)   

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

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

local CheckInputs = function()

local pad_bits = emuObj.GetPad()

local UP    = pad_bits &  0x0010
local DOWN    = pad_bits &  0x0040
local LEFT    = pad_bits &  0x0080
local RIGHT    = pad_bits &  0x0020
local Triangle  = pad_bits &  0x1000
local Cross    = pad_bits &  0x4000
local Square    = pad_bits &  0x8000
local Circle  = pad_bits &  0x2000
local L1    = pad_bits &  0x0400
local L2    = pad_bits &  0x0100
local L3    = pad_bits &  0x0002
local R1    = pad_bits &  0x0800
local R2    = pad_bits &  0x0200
local R3    = pad_bits &  0x0004
local Select  = pad_bits &  0x0001
local Start    = pad_bits &  0x0008

if (L3 ~= 0) then
-- True Widescreen
eeObj.WriteMem32(0x2031E674,0x42820000)
eeObj.WriteMem32(0x2031DEF4,0x42820000)
eeObj.WriteMem32(0x2031C574,0x42700000)
eeObj.WriteMem32(0x2031C6F4,0x42700000)
end
if (R3 ~= 0) then
-- Infinite Health & Unlimited Ammo
eeObj.WriteMem16(0x2042DCF6,0x0960)
eeObj.WriteMem32(0x2012020C,0x24020318)
eeObj.WriteMem32(0x2011F0A0,0x00000000)
eeObj.WriteMem16(0x2011F0AE,0x1000)
end

end

emuObj.AddVsyncHook(CheckInputs)

local patcher = function()

--Progressive Scan ON
eeObj.WriteMem32(0x20F98820,0x00010100)

--Unlock Modes
eeObj.WriteMem16(0x204311E6,0xFFFF)
 
--Unlock All Doors
eeObj.WriteMem32(0x0042E028,0x0000FFFF)
eeObj.WriteMem32(0x0042E040,0xFFFFFFFF)
eeObj.WriteMem32(0x0042E044,0xFFFFFFFF)
eeObj.WriteMem32(0x0042E048,0xFFFFFFFF)
eeObj.WriteMem32(0x0042E04C,0xFFFFFFFF)
eeObj.WriteMem32(0x0042E050,0xFFFFFFFF)
 
--Have All Ada's Reports
eeObj.WriteMem8(0x004311ED,0x04)

-- No Body Shadow of the Characters on the Ground
eeObj.WriteMem32(0x00258148,0x34020100)

-- Disable Fog
eeObj.WriteMem32(0x00229b5c,0x3C020010)

-- Disable moving Fog Clouds
eeObj.WriteMem32(0x0028f184,0x64020000)

-- Characters and World Brighter and disable all kind of their additional Lights
-- and correct Brightness and individual Color Adjust for Item Indicators
-- Stack-Pointer controlled for special Brigthness Adjust of
-- 1/3) Laboratory of Plaga Sample ("Assignment Ada")
-- 2/3) Cannons in Shipyard ("Separate Ways")
-- 3/3) Giant Salazar-Statue ("Main Game")

eeObj.WriteMem32(0x002581ac,0x0c7fac40)
eeObj.WriteMem32(0x00258c84,0x0c7fac40)
eeObj.WriteMem32(0x01FEB100,0x3c070025)
eeObj.WriteMem32(0x01FEB104,0x34e78c8c)
eeObj.WriteMem32(0x01FEB108,0x17e70012)
eeObj.WriteMem32(0x01FEB10C,0x00000000)
eeObj.WriteMem32(0x01FEB110,0x3c0242b0)
eeObj.WriteMem32(0x01FEB114,0x3c033f80)
eeObj.WriteMem32(0x01FEB118,0x0002383c)
eeObj.WriteMem32(0x01FEB11C,0x00e23825)
eeObj.WriteMem32(0x01FEB120,0x0003183c)
eeObj.WriteMem32(0x01FEB124,0x00621825)
eeObj.WriteMem32(0x01FEB128,0x70675c88)
eeObj.WriteMem32(0x01FEB12C,0x7c8b0000)
eeObj.WriteMem32(0x01FEB130,0x3c023f00)
eeObj.WriteMem32(0x01FEB134,0x3c033f80)
eeObj.WriteMem32(0x01FEB138,0x0002383c)
eeObj.WriteMem32(0x01FEB13C,0x00e23825)
eeObj.WriteMem32(0x01FEB140,0x0003183c)
eeObj.WriteMem32(0x01FEB144,0x00621825)
eeObj.WriteMem32(0x01FEB148,0x70675c88)
eeObj.WriteMem32(0x01FEB14C,0x7cab0000)
eeObj.WriteMem32(0x01FEB150,0x00000000)
eeObj.WriteMem32(0x01FEB154,0x3c070025)
eeObj.WriteMem32(0x01FEB158,0x34e781b4)
eeObj.WriteMem32(0x01FEB15C,0x17e700ae)
eeObj.WriteMem32(0x01FEB160,0x00000000)
eeObj.WriteMem32(0x01FEB164,0x3c024308)
eeObj.WriteMem32(0x01FEB168,0x3c033f80)
eeObj.WriteMem32(0x01FEB16C,0x0002383c)
eeObj.WriteMem32(0x01FEB170,0x00e23825)
eeObj.WriteMem32(0x01FEB174,0x0003183c)
eeObj.WriteMem32(0x01FEB178,0x00621825)
eeObj.WriteMem32(0x01FEB17C,0x70675c88)
eeObj.WriteMem32(0x01FEB180,0x7c8b0000)
eeObj.WriteMem32(0x01FEB184,0x3c023f80)
eeObj.WriteMem32(0x01FEB188,0x3c033f80)
eeObj.WriteMem32(0x01FEB18C,0x0002383c)
eeObj.WriteMem32(0x01FEB190,0x00e23825)
eeObj.WriteMem32(0x01FEB194,0x0003183c)
eeObj.WriteMem32(0x01FEB198,0x00621825)
eeObj.WriteMem32(0x01FEB19C,0x70675c88)
eeObj.WriteMem32(0x01FEB1A0,0x7cab0000)
eeObj.WriteMem32(0x01FEB1A4,0x00000000)
eeObj.WriteMem32(0x01FEB1A8,0x3c030002)
eeObj.WriteMem32(0x01FEB1AC,0x8cc20000)
eeObj.WriteMem32(0x01FEB1B0,0x00431024)
eeObj.WriteMem32(0x01FEB1B4,0x10400052)
eeObj.WriteMem32(0x01FEB1B8,0x00000000)
eeObj.WriteMem32(0x01FEB1BC,0x3c020032)
eeObj.WriteMem32(0x01FEB1C0,0x8c425588)
eeObj.WriteMem32(0x01FEB1C4,0x94437eb8)
eeObj.WriteMem32(0x01FEB1C8,0x2c690100)
eeObj.WriteMem32(0x01FEB1CC,0x39290001)
eeObj.WriteMem32(0x01FEB1D0,0x340a03ff)
eeObj.WriteMem32(0x01FEB1D4,0x0143502b)
eeObj.WriteMem32(0x01FEB1D8,0x394a0001)
eeObj.WriteMem32(0x01FEB1DC,0x3c080118)
eeObj.WriteMem32(0x01FEB1E0,0x112a0022)
eeObj.WriteMem32(0x01FEB1E4,0x3508100e)
eeObj.WriteMem32(0x01FEB1E8,0x340a0400)
eeObj.WriteMem32(0x01FEB1EC,0x3c08010c)
eeObj.WriteMem32(0x01FEB1F0,0x106a001e)
eeObj.WriteMem32(0x01FEB1F4,0x35081018)
eeObj.WriteMem32(0x01FEB1F8,0x340a0402)
eeObj.WriteMem32(0x01FEB1FC,0x3c080104)
eeObj.WriteMem32(0x01FEB200,0x106a001a)
eeObj.WriteMem32(0x01FEB204,0x35080c18)
eeObj.WriteMem32(0x01FEB208,0x340a0403)
eeObj.WriteMem32(0x01FEB20C,0x3c080102)
eeObj.WriteMem32(0x01FEB210,0x106a0016)
eeObj.WriteMem32(0x01FEB214,0x35080618)
eeObj.WriteMem32(0x01FEB218,0x340a0404)
eeObj.WriteMem32(0x01FEB21C,0x3c080108)
eeObj.WriteMem32(0x01FEB220,0x106a0012)
eeObj.WriteMem32(0x01FEB224,0x35080e18)
eeObj.WriteMem32(0x01FEB228,0x2c690405)
eeObj.WriteMem32(0x01FEB22C,0x39290001)
eeObj.WriteMem32(0x01FEB230,0x340a04ff)
eeObj.WriteMem32(0x01FEB234,0x0143502b)
eeObj.WriteMem32(0x01FEB238,0x394a0001)
eeObj.WriteMem32(0x01FEB23C,0x3c080118)
eeObj.WriteMem32(0x01FEB240,0x112a000a)
eeObj.WriteMem32(0x01FEB244,0x3508000c)
eeObj.WriteMem32(0x01FEB248,0x2c690500)
eeObj.WriteMem32(0x01FEB24C,0x39290001)
eeObj.WriteMem32(0x01FEB250,0x340a05ff)
eeObj.WriteMem32(0x01FEB254,0x0143502b)
eeObj.WriteMem32(0x01FEB258,0x394a0001)
eeObj.WriteMem32(0x01FEB25C,0x3c080104)
eeObj.WriteMem32(0x01FEB260,0x112a0002)
eeObj.WriteMem32(0x01FEB264,0x35080118)
eeObj.WriteMem32(0x01FEB268,0x00000000)
eeObj.WriteMem32(0x01FEB26C,0x00084e3c)
eeObj.WriteMem32(0x01FEB270,0x00094e3e)
eeObj.WriteMem32(0x01FEB274,0x44890800)
eeObj.WriteMem32(0x01FEB278,0x46800860)
eeObj.WriteMem32(0x01FEB27C,0x44090800)
eeObj.WriteMem32(0x01FEB280,0x00085a3c)
eeObj.WriteMem32(0x01FEB284,0x000b5e3e)
eeObj.WriteMem32(0x01FEB288,0x448b1800)
eeObj.WriteMem32(0x01FEB28C,0x468018e0)
eeObj.WriteMem32(0x01FEB290,0x440b1800)
eeObj.WriteMem32(0x01FEB294,0x000b583c)
eeObj.WriteMem32(0x01FEB298,0x01694825)
eeObj.WriteMem32(0x01FEB29C,0x0008543c)
eeObj.WriteMem32(0x01FEB2A0,0x000a563e)
eeObj.WriteMem32(0x01FEB2A4,0x448a1000)
eeObj.WriteMem32(0x01FEB2A8,0x468010a0)
eeObj.WriteMem32(0x01FEB2AC,0x440a1000)
eeObj.WriteMem32(0x01FEB2B0,0x0008603c)
eeObj.WriteMem32(0x01FEB2B4,0x000c663e)
eeObj.WriteMem32(0x01FEB2B8,0x448c2000)
eeObj.WriteMem32(0x01FEB2BC,0x46802120)
eeObj.WriteMem32(0x01FEB2C0,0x440c2000)
eeObj.WriteMem32(0x01FEB2C4,0x000c603c)
eeObj.WriteMem32(0x01FEB2C8,0x018a5025)
eeObj.WriteMem32(0x01FEB2CC,0x71494488)
eeObj.WriteMem32(0x01FEB2D0,0x7c880000)
eeObj.WriteMem32(0x01FEB2D4,0x3c023f80)
eeObj.WriteMem32(0x01FEB2D8,0x3c033f80)
eeObj.WriteMem32(0x01FEB2DC,0x0002383c)
eeObj.WriteMem32(0x01FEB2E0,0x00e23825)
eeObj.WriteMem32(0x01FEB2E4,0x0003183c)
eeObj.WriteMem32(0x01FEB2E8,0x00621825)
eeObj.WriteMem32(0x01FEB2EC,0x70675c88)
eeObj.WriteMem32(0x01FEB2F0,0x7cab0000)
eeObj.WriteMem32(0x01FEB2F4,0x00000000)
eeObj.WriteMem32(0x01FEB2F8,0x00000000)
eeObj.WriteMem32(0x01FEB2FC,0x00000000)
eeObj.WriteMem32(0x01FEB300,0x3c030032)
eeObj.WriteMem32(0x01FEB304,0x8c635588)
eeObj.WriteMem32(0x01FEB308,0x94627eb8)
eeObj.WriteMem32(0x01FEB30C,0x00000000)
eeObj.WriteMem32(0x01FEB310,0x34070308)
eeObj.WriteMem32(0x01FEB314,0x10470012)
eeObj.WriteMem32(0x01FEB318,0x00000000)
eeObj.WriteMem32(0x01FEB31C,0x34070309)
eeObj.WriteMem32(0x01FEB320,0x1047000f)
eeObj.WriteMem32(0x01FEB324,0x00000000)
eeObj.WriteMem32(0x01FEB328,0x3407040c)
eeObj.WriteMem32(0x01FEB32C,0x1047000c)
eeObj.WriteMem32(0x01FEB330,0x00000000)
eeObj.WriteMem32(0x01FEB334,0x3407040d)
eeObj.WriteMem32(0x01FEB338,0x10470009)
eeObj.WriteMem32(0x01FEB33C,0x00000000)
eeObj.WriteMem32(0x01FEB340,0x34070513)
eeObj.WriteMem32(0x01FEB344,0x1047000e)
eeObj.WriteMem32(0x01FEB348,0x00000000)
eeObj.WriteMem32(0x01FEB34C,0x34070226)
eeObj.WriteMem32(0x01FEB350,0x10470013)
eeObj.WriteMem32(0x01FEB354,0x00000000)
eeObj.WriteMem32(0x01FEB358,0x1000002f)
eeObj.WriteMem32(0x01FEB35C,0x00000000)
eeObj.WriteMem32(0x01FEB360,0x8fa30088)
eeObj.WriteMem32(0x01FEB364,0x8c6303e4)
eeObj.WriteMem32(0x01FEB368,0x3c020003)
eeObj.WriteMem32(0x01FEB36C,0x00431024)
eeObj.WriteMem32(0x01FEB370,0x10400029)
eeObj.WriteMem32(0x01FEB374,0x00000000)
eeObj.WriteMem32(0x01FEB378,0x10000011)
eeObj.WriteMem32(0x01FEB37C,0x00000000)
eeObj.WriteMem32(0x01FEB380,0x8fa30088)
eeObj.WriteMem32(0x01FEB384,0x8c630334)
eeObj.WriteMem32(0x01FEB388,0x3c020400)
eeObj.WriteMem32(0x01FEB38C,0x00431024)
eeObj.WriteMem32(0x01FEB390,0x10400021)
eeObj.WriteMem32(0x01FEB394,0x00000000)
eeObj.WriteMem32(0x01FEB398,0x1000000b)
eeObj.WriteMem32(0x01FEB39C,0x00000000)
eeObj.WriteMem32(0x01FEB3A0,0x8fa30088)
eeObj.WriteMem32(0x01FEB3A4,0x8C630214)
eeObj.WriteMem32(0x01FEB3A8,0x34022000)
eeObj.WriteMem32(0x01FEB3AC,0x00431024)
eeObj.WriteMem32(0x01FEB3B0,0x10400019)
eeObj.WriteMem32(0x01FEB3B4,0x00000000)
eeObj.WriteMem32(0x01FEB3B8,0x10000005)
eeObj.WriteMem32(0x01FEB3BC,0x00000000)
eeObj.WriteMem32(0x01FEB3C0,0x10000005)
eeObj.WriteMem32(0x01FEB3C4,0x3c0241d0)
eeObj.WriteMem32(0x01FEB3C8,0x10000003)
eeObj.WriteMem32(0x01FEB3CC,0x3c0242d0)
eeObj.WriteMem32(0x01FEB3D0,0x10000001)
eeObj.WriteMem32(0x01FEB3D4,0x3c0242c8)
eeObj.WriteMem32(0x01FEB3D8,0x3c033f80)
eeObj.WriteMem32(0x01FEB3DC,0x0002383c)
eeObj.WriteMem32(0x01FEB3E0,0x00e23825)
eeObj.WriteMem32(0x01FEB3E4,0x0003183c)
eeObj.WriteMem32(0x01FEB3E8,0x00621825)
eeObj.WriteMem32(0x01FEB3EC,0x70675b89)
eeObj.WriteMem32(0x01FEB3F0,0x7c8b0000)
eeObj.WriteMem32(0x01FEB3F4,0x3c023f80)
eeObj.WriteMem32(0x01FEB3F8,0x3c033f80)
eeObj.WriteMem32(0x01FEB3FC,0x0002383c)
eeObj.WriteMem32(0x01FEB400,0x00e23825)
eeObj.WriteMem32(0x01FEB404,0x0003183c)
eeObj.WriteMem32(0x01FEB408,0x00621825)
eeObj.WriteMem32(0x01FEB40C,0x70675b89)
eeObj.WriteMem32(0x01feb410,0x7cab0000)
eeObj.WriteMem32(0x01feb414,0x00000000)
eeObj.WriteMem32(0x01feb418,0x3c073f80)
eeObj.WriteMem32(0x01feb41c,0x03e00008)
eeObj.WriteMem32(0x01feb420,0x44870000)
eeObj.WriteMem32(0x00258080,0x24030009)
eeObj.WriteMem32(0x0020d214,0x64020000)

end

emuObj.AddVsyncHook(patcher)

Resident Evil 4 Winter Season. Short GamePlay!
VIDEO

Happy new year folks!:elf3::joyous::tongue new:

2024-12-31-152402.png
 
Devil May Cry (SLES50358) (Graphics Booster)

TXT.
Code:
--host-display-mode=16:9
--force-frame-blend=1
--gs-ignore-rect-correction=1

LUA.
Code:
--gametitle= Devil May Cry (PAL-M5) [SLES-50358] CRC= [7D8F539A]
--emu kof98

apiRequest(0.1)

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

emuObj.SetGsTitleFix( "ignoreSubBuffCov", "reserved", {  } )

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

local code_check1 = 0x00000000
local code_check2 = 0x00000000
local code_check3 = 0x00000000
local code_check4 = 0x00000000

local widescreen = function()

--60hz Gameplay
code_check1 = eeObj.ReadMem32(0x00740698) --Gameplay

if (code_check1 == 0x00000001) then

   code_check2 = eeObj.ReadMem32(0x007411B0) --FMV
   code_check3 = eeObj.ReadMem8(0x00740664)  --Cutscenes 1
   code_check4 = eeObj.ReadMem8(0x00740668)  --Cutscenes 2

   if (code_check2 == 0x01E00000) then

      emuObj.PadSetLightBar(0, 255, 0, 0) --RED

      if (code_check3 ~= 0x00 and code_check4 ~= 0x00) then

          emuObj.PadSetLightBar(0, 0, 255, 0) --GREEN

          emuObj.ForceRefreshRate(50)

      elseif (code_check3 == 0x00 and code_check4 == 0x00) then

          emuObj.PadSetLightBar(0, 0, 255, 255) --CIAN

          emuObj.ForceRefreshRate(60)

          eeObj.WriteMem32(0x00202260,0x34050002) --34050002
          eeObj.WriteMem32(0x00202264,0x24030002) --24030002
          eeObj.WriteMem32(0x00202268,0x0000000C)
          eeObj.WriteMem32(0x0020226C,0x03E00008)

      end

   end

end

code_check1 = eeObj.ReadMem32(0x00740698)
code_check2 = eeObj.ReadMem32(0x007411B0)

if (code_check1 == 0x00000000) or (code_check2== 0x01C25770) then
   emuObj.ForceRefreshRate(50)
end

local code_disable2x2 = eeObj.ReadMem16(0x00753872) --R1+LEFT
local code_enable2x2  = eeObj.ReadMem16(0x00753872) --R1+RIGHT

if (code_disable2x2 == 0x0880) then --R1+LEFT
   gsObj.SetUprenderMode(0) -- 0=none <> 1=2x2
   gsObj.SetUpscaleMode(0)
end

if (code_enable2x2 == 0x0820) then --R1+RIGHT
   gsObj.SetUprenderMode(1) -- 0=none <> 1=2x2
   gsObj.SetUpscaleMode(0)
end

--16x9
eeObj.WriteMem32(0x0010338c,0x3c013f40)
eeObj.WriteMem32(0x00103390,0x44810000)
eeObj.WriteMem32(0x00103398,0x4600c602)

-- No Body Shadow of the Character on the Ground
--eeObj.WriteMem32(0x001da1b4,0x64030000)

-- Disable Blur Effect
eeObj.WriteMem32(0x0015b968,0x0000102D)
eeObj.WriteMem32(0x0015b96c,0x64020040)

-- Disable Distortion Effect
eeObj.WriteMem32(0x00137084,0x3C030000)
eeObj.WriteMem32(0x00137088,0x34630000)

-- No black Borders
eeObj.WriteMem32(0x0015b1f0,0x64030000)

--Disable cinematic black bars (02000000)
eeObj.WriteMem32(0x00742433,0x82)
eeObj.WriteMem32(0x00742433,0x02)


local code_hidehud1 = eeObj.ReadMem16(0x00753872) --L3
local code_showhud1 = eeObj.ReadMem16(0x00753872) --R3

if (code_hidehud1 == 0x0002) then --L3
   eeObj.WriteMem8(0x00740771,0x00)
   eeObj.WriteMem8(0x007407A9,0x00)
end

if (code_showhud1 == 0x0004) then --R3
   eeObj.WriteMem8(0x00740771,0xFF)
   eeObj.WriteMem8(0x007407A9,0xFF)
end

-- Disable World Renderer
eeObj.WriteMem32(0x0016c9a0,0x0000282d)
eeObj.WriteMem32(0x0016c9a4,0x340500ff)
eeObj.WriteMem32(0x0016c9a8,0x44850800)
eeObj.WriteMem32(0x0016c9ac,0x468008a0)
eeObj.WriteMem32(0x0016c9b0,0xe422b3dc)
eeObj.WriteMem32(0x0016c9cc,0x0000282d)
eeObj.WriteMem32(0x0016c9d0,0x34050000)
eeObj.WriteMem32(0x0016c9d4,0x44850800)
eeObj.WriteMem32(0x0016c9d8,0x468008a0)
eeObj.WriteMem32(0x0016c9dc,0xe422b3ec)

--Controller buttons to JAPAN /HD ports Layout
eeObj.WriteMem32(0x2010C184,0x0803F414)
eeObj.WriteMem32(0x200FD050,0x00C0C821)
eeObj.WriteMem32(0x200FD054,0x08043063)
eeObj.WriteMem32(0x200FD058,0x24030070)
eeObj.WriteMem32(0x2010C1F4,0x0803F417)
eeObj.WriteMem32(0x200FD05C,0x87240002)
eeObj.WriteMem32(0x200FD060,0x30858FFF)
eeObj.WriteMem32(0x200FD064,0x9326000C)
eeObj.WriteMem32(0x200FD068,0x9327000E)
eeObj.WriteMem32(0x200FD06C,0x9328000D)
eeObj.WriteMem32(0x200FD070,0x30811000)
eeObj.WriteMem32(0x200FD074,0x34A32000)
eeObj.WriteMem32(0x200FD078,0x0061280B)
eeObj.WriteMem32(0x200FD07C,0xA326000D)
eeObj.WriteMem32(0x200FD080,0x30814000)
eeObj.WriteMem32(0x200FD084,0x34A31000)
eeObj.WriteMem32(0x200FD088,0x0061280B)
eeObj.WriteMem32(0x200FD08C,0xA327000C)
eeObj.WriteMem32(0x200FD090,0x30812000)
eeObj.WriteMem32(0x200FD094,0x34A34000)
eeObj.WriteMem32(0x200FD098,0x0061280B)
eeObj.WriteMem32(0x200FD09C,0xA328000E)
eeObj.WriteMem32(0x200FD0A0,0x03E00008)
eeObj.WriteMem32(0x200FD0A4,0xA7250002)

-- Disable Light Enhancement through the Cathedral Windows
eeObj.WriteMem32(0x0024d01c,0x46000830)
eeObj.WriteMem32(0x0024d024,0x4500003C)

-- Disable whitish foggy Light Bubbles nearby of Light Sources
eeObj.WriteMem32(0x0018315c,0x34020000)

--Unlock all Game Modes
eeObj.WriteMem32(0x20742204,0xFFFFFFFF)

emuObj.ThrottleMax()

end

emuObj.AddVsyncHook(widescreen)

Devil May Cry|Graphics Booster|Graphical FiX|Widescreen|PS2toPS4 Test
 
Fix for Scarface - The World is Yours (NTSC)

CLI
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.

Does anyone know how to code the file?.. basically like a tuturial


Sent from my iPhone using Tapatalk
 
Does anyone know how to code the file?.. basically like a tuturial


Sent from my iPhone using Tapatalk

they are just text files with .txt extension replaced and named with game id.
for cli codes it should be SLUS-21111_cli.conf
for lua codes it should be SLUS-21111_config.lua

if its your first time and the above manual method is too complicated than simply use an app called "PS2-FPKG v0.6". just put your iso, .txt file with cli codes, .lua file with lua codes, select the required emulator and it will automatically rename everything and make a ps2 fpkg for you.
 
they are just text files with .txt extension replaced and named with game id.
for cli codes it should be SLUS-21111_cli.conf
for lua codes it should be SLUS-21111_config.lua

if its your first time and the above manual method is too complicated than simply use an app called "PS2-FPKG v0.6". just put your iso, .txt file with cli codes, .lua file with lua codes, select the required emulator and it will automatically rename everything and make a ps2 fpkg for you.

Sheesh brother I'm not gonna lie it's kinda complicated especially with this specific game [emoji24] Scarface is a hard game to play on a modern console[emoji24] I'm so lost rn, but I do know I tried the ps2 fkpg emu and it doesn't work for this game, meaning it doesn't go past the ps2 start up boot, it does that and goes straight to a black screen


Sent from my iPhone using Tapatalk
 
Sheesh brother I'm not gonna lie it's kinda complicated especially with this specific game [emoji24] Scarface is a hard game to play on a modern console[emoji24] I'm so lost rn, but I do know I tried the ps2 fkpg emu and it doesn't work for this game, meaning it doesn't go past the ps2 start up boot, it does that and goes straight to a black screen


Sent from my iPhone using Tapatalk

the app is very easy to use, its self explanatory. the scarface patch says star ocean v2 emulator used so you need that.
 
Devil May Cry (SLUS20216) (Graphics Booster)

TXT.
Code:
--host-display-mode=16:9
--force-frame-blend=1
--gs-ignore-rect-correction=1

LUA.
Code:
--gametitle=Devil May Cry (USA) SLUS_202.16;1) Game CRC = 0x79B8A95F
--emu kof98

apiRequest(0.1)

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

emuObj.SetGsTitleFix( "ignoreSubBuffCov", "reserved", {  } )

--emuObj.SetGsTitleFix( "globalSet",  "reserved", { workLoadThreshold = 125000} )

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

local widescreen = function()

--16x9
eeObj.WriteMem32(0x2010338C,0x3C013F40)
eeObj.WriteMem32(0x20103390,0x44810000)
eeObj.WriteMem32(0x20103398,0x4600C602)

local code_disable2x2 = eeObj.ReadMem16(0x00765572) --R1+LEFT
local code_enable2x2  = eeObj.ReadMem16(0x00765572) --R1+RIGHT

if (code_disable2x2 == 0x0880) then --R1+LEFT
   gsObj.SetUprenderMode(0) -- 0=none <> 1=2x2
   gsObj.SetUpscaleMode(0)
end

if (code_enable2x2 == 0x0820) then --R1+RIGHT
   gsObj.SetUprenderMode(1) -- 0=none <> 1=2x2
   gsObj.SetUpscaleMode(0)
end

--Deinterlacing hack by asasega
--eeObj.WriteMem32(0x201018c4,0x00000000)
--eeObj.WriteMem32(0x20101b2c,0x00000000)
--eeObj.WriteMem32(0x20149490,0x03e00008)
--eeObj.WriteMem32(0x20149494,0x00000000)

--patch=1,EE,D0765572,extended,01
--patch=1,EE,2015B504,extended,30420001
--patch=1,EE,D0765572,extended,00
--patch=1,EE,2015B504,extended,30420000

-- Disable Blur Effect
eeObj.WriteMem32(0x0015b82c,0x0000102D)
eeObj.WriteMem32(0x0015b830,0x64020040)

--patch=1,EE,0015b82c,word,0000102D
--patch=1,EE,0015b830,word,64020040

-- Disable Distortion Effect
eeObj.WriteMem32(0x00136fa4,0x3C030000)
eeObj.WriteMem32(0x00136fa8,0x34630000)

--patch=1,EE,00136fa4,word,3C030000
--patch=1,EE,00136fa8,word,34630000

-- No black Borders
eeObj.WriteMem32(0x0015b110,0x64030000)

--Disable cinematic black bars (02000000)
eeObj.WriteMem32(0x00754133,0x82)
eeObj.WriteMem32(0x00754133,0x02)

local code_hidehud1 = eeObj.ReadMem16(0x00765572) --L3
local code_showhud1 = eeObj.ReadMem16(0x00765572) --R3

if (code_hidehud1 == 0x0002) then --L3
   eeObj.WriteMem8(0x00752471,0x00)
   eeObj.WriteMem8(0x007524A9,0x00)
end

if (code_showhud1 == 0x0004) then --R3
   eeObj.WriteMem8(0x00752471,0xFF)
   eeObj.WriteMem8(0x007524A9,0xFF)
end

--Controller buttons to JAPAN /HD ports Layout
eeObj.WriteMem32(0x2010C184,0x0803F414)
eeObj.WriteMem32(0x200FD050,0x00C0C821)
eeObj.WriteMem32(0x200FD054,0x08043063)
eeObj.WriteMem32(0x200FD058,0x24030070)
eeObj.WriteMem32(0x2010C1F4,0x0803F417)
eeObj.WriteMem32(0x200FD05C,0x87240002)
eeObj.WriteMem32(0x200FD060,0x30858FFF)
eeObj.WriteMem32(0x200FD064,0x9326000C)
eeObj.WriteMem32(0x200FD068,0x9327000E)
eeObj.WriteMem32(0x200FD06C,0x9328000D)
eeObj.WriteMem32(0x200FD070,0x30811000)
eeObj.WriteMem32(0x200FD074,0x34A32000)
eeObj.WriteMem32(0x200FD078,0x0061280B)
eeObj.WriteMem32(0x200FD07C,0xA326000D)
eeObj.WriteMem32(0x200FD080,0x30814000)
eeObj.WriteMem32(0x200FD084,0x34A31000)
eeObj.WriteMem32(0x200FD088,0x0061280B)
eeObj.WriteMem32(0x200FD08C,0xA327000C)
eeObj.WriteMem32(0x200FD090,0x30812000)
eeObj.WriteMem32(0x200FD094,0x34A34000)
eeObj.WriteMem32(0x200FD098,0x0061280B)
eeObj.WriteMem32(0x200FD09C,0xA328000E)
eeObj.WriteMem32(0x200FD0A0,0x03E00008)
eeObj.WriteMem32(0x200FD0A4,0xA7250002)

-- Disable Light Enhancement through the Cathedral Windows
eeObj.WriteMem32(0x0024ba0c,0x46000830)
eeObj.WriteMem32(0x0024ba14,0x4500003C)

-- Disable whitish foggy Light Bubbles nearby of Light Sources
eeObj.WriteMem32(0x00182bbc,0x34020000)

-- Unlock All Characters
eeObj.WriteMem32(0x20753F06,0x0000FFFF)

emuObj.ThrottleMax()

end

emuObj.AddVsyncHook(widescreen)

Devil May Cry|Debug First Person Mod|Graphics Booster|NTSC PS2toPS4 LONGPLAY
 
Devil May Cry Trial Edition (SLPM65023) (Graphics Booster)

TXT.
Code:
--force-frame-blend=1
--gs-ignore-rect-correction=1

LUA.
Code:
--title=Devil May Cry Trial Edition (SLPM-65023)
--emu kof98

apiRequest(0.1)

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

local patcher = function()

-- No black Borders
eeObj.WriteMem32(0x001655c8,0x64030000)

-- Disable World Renderer
eeObj.WriteMem32(0x001752fc,0x3c02437f)
eeObj.WriteMem32(0x00175308,0x00000000)
eeObj.WriteMem32(0x0017535c,0xac20bd4c)

-- No Body Shadow of the Character on the Ground
--eeObj.WriteMem32(0x001e4cfc,0x64030000)

-- Disable Blur Effect
eeObj.WriteMem32(0x00165a78,0x0000102D)
eeObj.WriteMem32(0x00165a7c,0x64020040)

-- Disable Light Enhancement through the Cathedral Windows
eeObj.WriteMem32(0x002528a4,0x46000830)
eeObj.WriteMem32(0x002528ac,0x4500000a)

end

emuObj.AddVsyncHook(patcher)

Devil May Cry Trial Edition. Short GamePlay!
VIDEO
 
My final Ratchet series patches (only slowdowns left)

Ratchet 4 - Deadlocked
CLI
Emu = '''War of the Monsters'''
SCUS-97465

Code:
#Fix graphics
--gs-use-mipmap=1
--gs-kernel-cl="mipmap"
--gs-kernel-cl-up="mipmap2x2"
#Upscaling fix
--gs-upscale=none
--gs-uprender=none
#Looping music partial fix
--iop-cycle-scalar=0.31
#Fix gravity and other physics
--cop2-opt-flags=0
#Fix passage not showing up and glitchy ledge-hanging
--cop2-accurate-mul=1
#Fix VU0 sync (raise or lower it as convenient. It is the fix that causes the slowdowns)
--ee-hook=0x000FF904,AdvanceClock,,396
LUA
Code:
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
--jmp
eeObj.WriteMem32(0x0012710C, 0x0803FE80)
--Check if patcher's needed
eeObj.WriteMem32(0x000FFA00, 0x3C1B7120)
eeObj.WriteMem32(0x000FFA04, 0x377BCDA8)
eeObj.WriteMem32(0x000FFA08, 0x3C02000F)
eeObj.WriteMem32(0x000FFA10, 0xAC44FFF4)
eeObj.WriteMem32(0x000FFA0C, 0x3442FA00)
eeObj.WriteMem32(0x000FFA14, 0xAC45FFF0)
eeObj.WriteMem32(0x000FFA18, 0x8C44FFFC)
eeObj.WriteMem32(0x000FFA1C, 0x8C840000)
eeObj.WriteMem32(0x000FFA20, 0x149B0003)
eeObj.WriteMem32(0x000FFA28, 0x08049C44)
eeObj.WriteMem32(0x000FFA2C, 0x241B0000)
eeObj.WriteMem32(0x000FFA34, 0xAC43FFF8)
eeObj.WriteMem32(0x000FFA38, 0x3C040010)
eeObj.WriteMem32(0x000FFA3C, 0x24840004)
eeObj.WriteMem32(0x000FFA40, 0x8C830000)
eeObj.WriteMem32(0x000FFA44, 0x107B0003)
eeObj.WriteMem32(0x000FFA4C, 0x1000FFFB)
--Patcher
eeObj.WriteMem32(0x000FFA54, 0xAC44FFFC)
eeObj.WriteMem32(0x000FFA64, 0x3C030C03)
eeObj.WriteMem32(0x000FFA68, 0x3463FE48)
eeObj.WriteMem32(0x000FFA6C, 0xAC8300BC) --First 6 vi01
eeObj.WriteMem32(0x000FFA78, 0xAC8301FC)
eeObj.WriteMem32(0x000FFA84, 0xAC830354)
eeObj.WriteMem32(0x000FFA90, 0xAC830494)
eeObj.WriteMem32(0x000FFA9C, 0xAC8305EC)
eeObj.WriteMem32(0x000FFAA8, 0xAC83072C)
eeObj.WriteMem32(0x000FFAAC, 0x3C030C03)
eeObj.WriteMem32(0x000FFAB0, 0x3463FE4B)
eeObj.WriteMem32(0x000FFAB4, 0xAC83015C) --First 4 vi02
eeObj.WriteMem32(0x000FFAC0, 0xAC8302AC)
eeObj.WriteMem32(0x000FFACC, 0xAC8303F4)
eeObj.WriteMem32(0x000FFAD8, 0xAC830544)
--Ret
eeObj.WriteMem32(0x000FFC0C, 0x8C44FFF4)
eeObj.WriteMem32(0x000FFC10, 0x8C45FFF0)
eeObj.WriteMem32(0x000FFC14, 0x8C43FFF8)
eeObj.WriteMem32(0x000FFC18, 0x08049C44)
--VI01 AND VI02 to burn cycles in (000FF904) using advanceclock
eeObj.WriteMem32(0x000FF914, 0x03E00008)
eeObj.WriteMem32(0x000FF918, 0x241F0000)
eeObj.WriteMem32(0x000FF920, 0x48C00800)
eeObj.WriteMem32(0x000FF924, 0x1000FFF7)
eeObj.WriteMem32(0x000FF92C, 0x48C01000)
eeObj.WriteMem32(0x000FF930, 0x1000FFF4)
end
emuObj.AddVsyncHook(patcher)
Ratchet and Clank 3: Up Your Arsenal
CLI
Emu = '''War of the Monsters'''
SCUS-97353

Code:
#Fix graphics
--gs-use-mipmap=1
--gs-kernel-cl="mipmap"
--gs-kernel-cl-up="mipmap2x2"
#Upscaling fix
--gs-upscale=none
--gs-uprender=none
#Looping music partial fix
--iop-cycle-scalar=0.31
#Fix gravity and other physics
--cop2-opt-flags=0
#Fix VU0 sync (raise or lower it as convenient. It is the fix that causes the slowdowns)
--ee-hook=0x000FF904,AdvanceClock,,395
LUA
Code:
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
--jmp
eeObj.WriteMem32(0x0011F38C, 0x0803FE80)
--Check if patcher's needed
eeObj.WriteMem32(0x000FFA00, 0x3C1B7120)
eeObj.WriteMem32(0x000FFA04, 0x377BCDA8)
eeObj.WriteMem32(0x000FFA08, 0x3C02000F)
eeObj.WriteMem32(0x000FFA10, 0xAC44FFF4)
eeObj.WriteMem32(0x000FFA0C, 0x3442FA00)
eeObj.WriteMem32(0x000FFA14, 0xAC45FFF0)
eeObj.WriteMem32(0x000FFA18, 0x8C44FFFC)
eeObj.WriteMem32(0x000FFA1C, 0x8C840000)
eeObj.WriteMem32(0x000FFA20, 0x149B0003)
eeObj.WriteMem32(0x000FFA28, 0x08047CE4)
eeObj.WriteMem32(0x000FFA2C, 0x241B0000)
eeObj.WriteMem32(0x000FFA34, 0xAC43FFF8)
eeObj.WriteMem32(0x000FFA38, 0x3C040010)
eeObj.WriteMem32(0x000FFA3C, 0x24840004)
eeObj.WriteMem32(0x000FFA40, 0x8C830000)
eeObj.WriteMem32(0x000FFA44, 0x107B0003)
eeObj.WriteMem32(0x000FFA4C, 0x1000FFFB)
--Patcher
eeObj.WriteMem32(0x000FFA54, 0xAC44FFFC)
eeObj.WriteMem32(0x000FFA64, 0x3C030C03)
eeObj.WriteMem32(0x000FFA68, 0x3463FE48)
eeObj.WriteMem32(0x000FFA6C, 0xAC8300BC) --First 6 vi01
eeObj.WriteMem32(0x000FFA78, 0xAC8301FC)
eeObj.WriteMem32(0x000FFA84, 0xAC830354)
eeObj.WriteMem32(0x000FFA90, 0xAC830494)
eeObj.WriteMem32(0x000FFA9C, 0xAC8305EC)
eeObj.WriteMem32(0x000FFAA8, 0xAC83072C)
eeObj.WriteMem32(0x000FFAAC, 0x3C030C03)
eeObj.WriteMem32(0x000FFAB0, 0x3463FE4B)
eeObj.WriteMem32(0x000FFAB4, 0xAC83015C) --First 4 vi02
eeObj.WriteMem32(0x000FFAC0, 0xAC8302AC)
eeObj.WriteMem32(0x000FFACC, 0xAC8303F4)
eeObj.WriteMem32(0x000FFAD8, 0xAC830544)
--Ret
eeObj.WriteMem32(0x000FFC0C, 0x8C44FFF4)
eeObj.WriteMem32(0x000FFC10, 0x8C45FFF0)
eeObj.WriteMem32(0x000FFC14, 0x8C43FFF8)
eeObj.WriteMem32(0x000FFC18, 0x08047CE4)
--VI01 AND VI02 to burn cycles in (000FF904) using advanceclock
eeObj.WriteMem32(0x000FF914, 0x03E00008)
eeObj.WriteMem32(0x000FF918, 0x241F0000)
eeObj.WriteMem32(0x000FF920, 0x48C00800)
eeObj.WriteMem32(0x000FF924, 0x1000FFF7)
eeObj.WriteMem32(0x000FF92C, 0x48C01000)
eeObj.WriteMem32(0x000FF930, 0x1000FFF4)
end
emuObj.AddVsyncHook(patcher)
Ratchet & Clank 2 - Going Commando
CLI
Emu = '''War of the Monsters'''
SCUS-97268

Code:
#Fix graphics
--gs-use-mipmap=1
--gs-kernel-cl="mipmap"
--gs-kernel-cl-up="mipmap2x2"
#Upscaling fix
--gs-upscale=none
--gs-uprender=none
#Looping music partial fix
--iop-cycle-scalar=0.31
#Fix gravity and other physics
--cop2-opt-flags=0
#Fix VU0 sync (raise or lower it as convenient. It is the fix that causes the slowdowns)
--ee-hook=0x000FF904,AdvanceClock,,395
LUA
SCUS-97268
Code:
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
--jmp
eeObj.WriteMem32(0x0011B18C, 0x0803FE80)
--Check if patcher's needed
eeObj.WriteMem32(0x000FFA00, 0x3C1B7120)
eeObj.WriteMem32(0x000FFA04, 0x377BCDA8)
eeObj.WriteMem32(0x000FFA08, 0x3C02000F)
eeObj.WriteMem32(0x000FFA10, 0xAC44FFF4)
eeObj.WriteMem32(0x000FFA0C, 0x3442FA00)
eeObj.WriteMem32(0x000FFA14, 0xAC45FFF0)
eeObj.WriteMem32(0x000FFA18, 0x8C44FFFC)
eeObj.WriteMem32(0x000FFA1C, 0x8C840000)
eeObj.WriteMem32(0x000FFA20, 0x149B0003)
eeObj.WriteMem32(0x000FFA28, 0x08046C64)
eeObj.WriteMem32(0x000FFA2C, 0x241B0000)
eeObj.WriteMem32(0x000FFA34, 0xAC43FFF8)
eeObj.WriteMem32(0x000FFA38, 0x3C040010)
eeObj.WriteMem32(0x000FFA3C, 0x24840004)
eeObj.WriteMem32(0x000FFA40, 0x8C830000)
eeObj.WriteMem32(0x000FFA44, 0x107B0003)
eeObj.WriteMem32(0x000FFA4C, 0x1000FFFB)
--Patcher
eeObj.WriteMem32(0x000FFA54, 0xAC44FFFC)
eeObj.WriteMem32(0x000FFA64, 0x3C030C03)
eeObj.WriteMem32(0x000FFA68, 0x3463FE48)
eeObj.WriteMem32(0x000FFA6C, 0xAC8300BC) --First 6 vi01
eeObj.WriteMem32(0x000FFA78, 0xAC8301FC)
eeObj.WriteMem32(0x000FFA84, 0xAC830354)
eeObj.WriteMem32(0x000FFA90, 0xAC830494)
eeObj.WriteMem32(0x000FFA9C, 0xAC8305EC)
eeObj.WriteMem32(0x000FFAA8, 0xAC83072C)
eeObj.WriteMem32(0x000FFAAC, 0x3C030C03)
eeObj.WriteMem32(0x000FFAB0, 0x3463FE4B)
eeObj.WriteMem32(0x000FFAB4, 0xAC83015C) --First 4 vi02
eeObj.WriteMem32(0x000FFAC0, 0xAC8302AC)
eeObj.WriteMem32(0x000FFACC, 0xAC8303F4)
eeObj.WriteMem32(0x000FFAD8, 0xAC830544)
--Ret
eeObj.WriteMem32(0x000FFC0C, 0x8C44FFF4)
eeObj.WriteMem32(0x000FFC10, 0x8C45FFF0)
eeObj.WriteMem32(0x000FFC14, 0x8C43FFF8)
eeObj.WriteMem32(0x000FFC18, 0x08046C64)
--VI01 AND VI02 to burn cycles in (000FF904) using advanceclock
eeObj.WriteMem32(0x000FF914, 0x03E00008)
eeObj.WriteMem32(0x000FF918, 0x241F0000)
eeObj.WriteMem32(0x000FF920, 0x48C00800)
eeObj.WriteMem32(0x000FF924, 0x1000FFF7)
eeObj.WriteMem32(0x000FF92C, 0x48C01000)
eeObj.WriteMem32(0x000FF930, 0x1000FFF4)
end
emuObj.AddVsyncHook(patcher)
Ratchet & Clank 1
CLI
Emu = '''War of the Monsters'''
SCUS-97199

Code:
#Fix graphics
--gs-use-mipmap=1
--gs-kernel-cl="mipmap"
--gs-kernel-cl-up="mipmap2x2"
#Upscaling fix
--gs-upscale=none
--gs-uprender=none
#Looping music partial fix
--iop-cycle-scalar=0.31
#Fix gravity and other physics
--cop2-opt-flags=0
#Fix VU0 sync (raise or lower it as convenient. It is the fix that causes the slowdowns)
--ee-hook=0x000FF904,AdvanceClock,,385
LUA
Code:
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
--jmp
eeObj.WriteMem32(0x00118CAC, 0x0803FE80)
--Check if patcher's needed
eeObj.WriteMem32(0x000FFA00, 0x3C1B7120)
eeObj.WriteMem32(0x000FFA04, 0x377BCDA8)
eeObj.WriteMem32(0x000FFA08, 0x3C02000F)
eeObj.WriteMem32(0x000FFA10, 0xAC44FFF4)
eeObj.WriteMem32(0x000FFA0C, 0x3442FA00)
eeObj.WriteMem32(0x000FFA14, 0xAC45FFF0)
eeObj.WriteMem32(0x000FFA18, 0x8C44FFFC)
eeObj.WriteMem32(0x000FFA1C, 0x8C840000)
eeObj.WriteMem32(0x000FFA20, 0x149B0003)
eeObj.WriteMem32(0x000FFA28, 0x0804632C)
eeObj.WriteMem32(0x000FFA2C, 0x241B0000)
eeObj.WriteMem32(0x000FFA34, 0xAC43FFF8)
eeObj.WriteMem32(0x000FFA38, 0x3C040010)
eeObj.WriteMem32(0x000FFA3C, 0x24840004)
eeObj.WriteMem32(0x000FFA40, 0x8C830000)
eeObj.WriteMem32(0x000FFA44, 0x107B0003)
eeObj.WriteMem32(0x000FFA4C, 0x1000FFFB)
--Patcher
eeObj.WriteMem32(0x000FFA54, 0xAC44FFFC)
eeObj.WriteMem32(0x000FFA64, 0x3C030C03)
eeObj.WriteMem32(0x000FFA68, 0x3463FE48)
eeObj.WriteMem32(0x000FFA6C, 0xAC8300BC) --First 6 vi01
eeObj.WriteMem32(0x000FFA78, 0xAC8301FC)
eeObj.WriteMem32(0x000FFA84, 0xAC830354)
eeObj.WriteMem32(0x000FFA90, 0xAC830494)
eeObj.WriteMem32(0x000FFA9C, 0xAC8305EC)
eeObj.WriteMem32(0x000FFAA8, 0xAC83072C)
eeObj.WriteMem32(0x000FFAAC, 0x3C030C03)
eeObj.WriteMem32(0x000FFAB0, 0x3463FE4B)
eeObj.WriteMem32(0x000FFAB4, 0xAC83015C) --First 4 vi02
eeObj.WriteMem32(0x000FFAC0, 0xAC8302AC)
eeObj.WriteMem32(0x000FFACC, 0xAC8303F4)
eeObj.WriteMem32(0x000FFAD8, 0xAC830544)
--Ret
eeObj.WriteMem32(0x000FFC0C, 0x8C44FFF4)
eeObj.WriteMem32(0x000FFC10, 0x8C45FFF0)
eeObj.WriteMem32(0x000FFC14, 0x8C43FFF8)
eeObj.WriteMem32(0x000FFC18, 0x0804632C)
--VI01 AND VI02 to burn cycles in (000FF904) using advanceclock
eeObj.WriteMem32(0x000FF914, 0x03E00008)
eeObj.WriteMem32(0x000FF918, 0x241F0000)
eeObj.WriteMem32(0x000FF920, 0x48C00800)
eeObj.WriteMem32(0x000FF924, 0x1000FFF7)
eeObj.WriteMem32(0x000FF92C, 0x48C01000)
eeObj.WriteMem32(0x000FF930, 0x1000FFF4)
end
emuObj.AddVsyncHook(patcher)
 
My final Ratchet series patches (only slowdowns left)

Ratchet 4 - Deadlocked
CLI
Emu = '''War of the Monsters'''
SCUS-97465

Code:
#Fix graphics
--gs-use-mipmap=1
--gs-kernel-cl="mipmap"
--gs-kernel-cl-up="mipmap2x2"
#Upscaling fix
--gs-upscale=none
--gs-uprender=none
#Looping music partial fix
--iop-cycle-scalar=0.31
#Fix gravity and other physics
--cop2-opt-flags=0
#Fix passage not showing up and glitchy ledge-hanging
--cop2-accurate-mul=1
#Fix VU0 sync (raise or lower it as convenient. It is the fix that causes the slowdowns)
--ee-hook=0x000FF904,AdvanceClock,,396
LUA
Code:
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
--jmp
eeObj.WriteMem32(0x0012710C, 0x0803FE80)
--Check if patcher's needed
eeObj.WriteMem32(0x000FFA00, 0x3C1B7120)
eeObj.WriteMem32(0x000FFA04, 0x377BCDA8)
eeObj.WriteMem32(0x000FFA08, 0x3C02000F)
eeObj.WriteMem32(0x000FFA10, 0xAC44FFF4)
eeObj.WriteMem32(0x000FFA0C, 0x3442FA00)
eeObj.WriteMem32(0x000FFA14, 0xAC45FFF0)
eeObj.WriteMem32(0x000FFA18, 0x8C44FFFC)
eeObj.WriteMem32(0x000FFA1C, 0x8C840000)
eeObj.WriteMem32(0x000FFA20, 0x149B0003)
eeObj.WriteMem32(0x000FFA28, 0x08049C44)
eeObj.WriteMem32(0x000FFA2C, 0x241B0000)
eeObj.WriteMem32(0x000FFA34, 0xAC43FFF8)
eeObj.WriteMem32(0x000FFA38, 0x3C040010)
eeObj.WriteMem32(0x000FFA3C, 0x24840004)
eeObj.WriteMem32(0x000FFA40, 0x8C830000)
eeObj.WriteMem32(0x000FFA44, 0x107B0003)
eeObj.WriteMem32(0x000FFA4C, 0x1000FFFB)
--Patcher
eeObj.WriteMem32(0x000FFA54, 0xAC44FFFC)
eeObj.WriteMem32(0x000FFA64, 0x3C030C03)
eeObj.WriteMem32(0x000FFA68, 0x3463FE48)
eeObj.WriteMem32(0x000FFA6C, 0xAC8300BC) --First 6 vi01
eeObj.WriteMem32(0x000FFA78, 0xAC8301FC)
eeObj.WriteMem32(0x000FFA84, 0xAC830354)
eeObj.WriteMem32(0x000FFA90, 0xAC830494)
eeObj.WriteMem32(0x000FFA9C, 0xAC8305EC)
eeObj.WriteMem32(0x000FFAA8, 0xAC83072C)
eeObj.WriteMem32(0x000FFAAC, 0x3C030C03)
eeObj.WriteMem32(0x000FFAB0, 0x3463FE4B)
eeObj.WriteMem32(0x000FFAB4, 0xAC83015C) --First 4 vi02
eeObj.WriteMem32(0x000FFAC0, 0xAC8302AC)
eeObj.WriteMem32(0x000FFACC, 0xAC8303F4)
eeObj.WriteMem32(0x000FFAD8, 0xAC830544)
--Ret
eeObj.WriteMem32(0x000FFC0C, 0x8C44FFF4)
eeObj.WriteMem32(0x000FFC10, 0x8C45FFF0)
eeObj.WriteMem32(0x000FFC14, 0x8C43FFF8)
eeObj.WriteMem32(0x000FFC18, 0x08049C44)
--VI01 AND VI02 to burn cycles in (000FF904) using advanceclock
eeObj.WriteMem32(0x000FF914, 0x03E00008)
eeObj.WriteMem32(0x000FF918, 0x241F0000)
eeObj.WriteMem32(0x000FF920, 0x48C00800)
eeObj.WriteMem32(0x000FF924, 0x1000FFF7)
eeObj.WriteMem32(0x000FF92C, 0x48C01000)
eeObj.WriteMem32(0x000FF930, 0x1000FFF4)
end
emuObj.AddVsyncHook(patcher)
Ratchet and Clank 3: Up Your Arsenal
CLI
Emu = '''War of the Monsters'''
SCUS-97353

Code:
#Fix graphics
--gs-use-mipmap=1
--gs-kernel-cl="mipmap"
--gs-kernel-cl-up="mipmap2x2"
#Upscaling fix
--gs-upscale=none
--gs-uprender=none
#Looping music partial fix
--iop-cycle-scalar=0.31
#Fix gravity and other physics
--cop2-opt-flags=0
#Fix VU0 sync (raise or lower it as convenient. It is the fix that causes the slowdowns)
--ee-hook=0x000FF904,AdvanceClock,,395
LUA
Code:
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
--jmp
eeObj.WriteMem32(0x0011F38C, 0x0803FE80)
--Check if patcher's needed
eeObj.WriteMem32(0x000FFA00, 0x3C1B7120)
eeObj.WriteMem32(0x000FFA04, 0x377BCDA8)
eeObj.WriteMem32(0x000FFA08, 0x3C02000F)
eeObj.WriteMem32(0x000FFA10, 0xAC44FFF4)
eeObj.WriteMem32(0x000FFA0C, 0x3442FA00)
eeObj.WriteMem32(0x000FFA14, 0xAC45FFF0)
eeObj.WriteMem32(0x000FFA18, 0x8C44FFFC)
eeObj.WriteMem32(0x000FFA1C, 0x8C840000)
eeObj.WriteMem32(0x000FFA20, 0x149B0003)
eeObj.WriteMem32(0x000FFA28, 0x08047CE4)
eeObj.WriteMem32(0x000FFA2C, 0x241B0000)
eeObj.WriteMem32(0x000FFA34, 0xAC43FFF8)
eeObj.WriteMem32(0x000FFA38, 0x3C040010)
eeObj.WriteMem32(0x000FFA3C, 0x24840004)
eeObj.WriteMem32(0x000FFA40, 0x8C830000)
eeObj.WriteMem32(0x000FFA44, 0x107B0003)
eeObj.WriteMem32(0x000FFA4C, 0x1000FFFB)
--Patcher
eeObj.WriteMem32(0x000FFA54, 0xAC44FFFC)
eeObj.WriteMem32(0x000FFA64, 0x3C030C03)
eeObj.WriteMem32(0x000FFA68, 0x3463FE48)
eeObj.WriteMem32(0x000FFA6C, 0xAC8300BC) --First 6 vi01
eeObj.WriteMem32(0x000FFA78, 0xAC8301FC)
eeObj.WriteMem32(0x000FFA84, 0xAC830354)
eeObj.WriteMem32(0x000FFA90, 0xAC830494)
eeObj.WriteMem32(0x000FFA9C, 0xAC8305EC)
eeObj.WriteMem32(0x000FFAA8, 0xAC83072C)
eeObj.WriteMem32(0x000FFAAC, 0x3C030C03)
eeObj.WriteMem32(0x000FFAB0, 0x3463FE4B)
eeObj.WriteMem32(0x000FFAB4, 0xAC83015C) --First 4 vi02
eeObj.WriteMem32(0x000FFAC0, 0xAC8302AC)
eeObj.WriteMem32(0x000FFACC, 0xAC8303F4)
eeObj.WriteMem32(0x000FFAD8, 0xAC830544)
--Ret
eeObj.WriteMem32(0x000FFC0C, 0x8C44FFF4)
eeObj.WriteMem32(0x000FFC10, 0x8C45FFF0)
eeObj.WriteMem32(0x000FFC14, 0x8C43FFF8)
eeObj.WriteMem32(0x000FFC18, 0x08047CE4)
--VI01 AND VI02 to burn cycles in (000FF904) using advanceclock
eeObj.WriteMem32(0x000FF914, 0x03E00008)
eeObj.WriteMem32(0x000FF918, 0x241F0000)
eeObj.WriteMem32(0x000FF920, 0x48C00800)
eeObj.WriteMem32(0x000FF924, 0x1000FFF7)
eeObj.WriteMem32(0x000FF92C, 0x48C01000)
eeObj.WriteMem32(0x000FF930, 0x1000FFF4)
end
emuObj.AddVsyncHook(patcher)
Ratchet & Clank 2 - Going Commando
CLI
Emu = '''War of the Monsters'''
SCUS-97268

Code:
#Fix graphics
--gs-use-mipmap=1
--gs-kernel-cl="mipmap"
--gs-kernel-cl-up="mipmap2x2"
#Upscaling fix
--gs-upscale=none
--gs-uprender=none
#Looping music partial fix
--iop-cycle-scalar=0.31
#Fix gravity and other physics
--cop2-opt-flags=0
#Fix VU0 sync (raise or lower it as convenient. It is the fix that causes the slowdowns)
--ee-hook=0x000FF904,AdvanceClock,,395
LUA
SCUS-97268
Code:
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
--jmp
eeObj.WriteMem32(0x0011B18C, 0x0803FE80)
--Check if patcher's needed
eeObj.WriteMem32(0x000FFA00, 0x3C1B7120)
eeObj.WriteMem32(0x000FFA04, 0x377BCDA8)
eeObj.WriteMem32(0x000FFA08, 0x3C02000F)
eeObj.WriteMem32(0x000FFA10, 0xAC44FFF4)
eeObj.WriteMem32(0x000FFA0C, 0x3442FA00)
eeObj.WriteMem32(0x000FFA14, 0xAC45FFF0)
eeObj.WriteMem32(0x000FFA18, 0x8C44FFFC)
eeObj.WriteMem32(0x000FFA1C, 0x8C840000)
eeObj.WriteMem32(0x000FFA20, 0x149B0003)
eeObj.WriteMem32(0x000FFA28, 0x08046C64)
eeObj.WriteMem32(0x000FFA2C, 0x241B0000)
eeObj.WriteMem32(0x000FFA34, 0xAC43FFF8)
eeObj.WriteMem32(0x000FFA38, 0x3C040010)
eeObj.WriteMem32(0x000FFA3C, 0x24840004)
eeObj.WriteMem32(0x000FFA40, 0x8C830000)
eeObj.WriteMem32(0x000FFA44, 0x107B0003)
eeObj.WriteMem32(0x000FFA4C, 0x1000FFFB)
--Patcher
eeObj.WriteMem32(0x000FFA54, 0xAC44FFFC)
eeObj.WriteMem32(0x000FFA64, 0x3C030C03)
eeObj.WriteMem32(0x000FFA68, 0x3463FE48)
eeObj.WriteMem32(0x000FFA6C, 0xAC8300BC) --First 6 vi01
eeObj.WriteMem32(0x000FFA78, 0xAC8301FC)
eeObj.WriteMem32(0x000FFA84, 0xAC830354)
eeObj.WriteMem32(0x000FFA90, 0xAC830494)
eeObj.WriteMem32(0x000FFA9C, 0xAC8305EC)
eeObj.WriteMem32(0x000FFAA8, 0xAC83072C)
eeObj.WriteMem32(0x000FFAAC, 0x3C030C03)
eeObj.WriteMem32(0x000FFAB0, 0x3463FE4B)
eeObj.WriteMem32(0x000FFAB4, 0xAC83015C) --First 4 vi02
eeObj.WriteMem32(0x000FFAC0, 0xAC8302AC)
eeObj.WriteMem32(0x000FFACC, 0xAC8303F4)
eeObj.WriteMem32(0x000FFAD8, 0xAC830544)
--Ret
eeObj.WriteMem32(0x000FFC0C, 0x8C44FFF4)
eeObj.WriteMem32(0x000FFC10, 0x8C45FFF0)
eeObj.WriteMem32(0x000FFC14, 0x8C43FFF8)
eeObj.WriteMem32(0x000FFC18, 0x08046C64)
--VI01 AND VI02 to burn cycles in (000FF904) using advanceclock
eeObj.WriteMem32(0x000FF914, 0x03E00008)
eeObj.WriteMem32(0x000FF918, 0x241F0000)
eeObj.WriteMem32(0x000FF920, 0x48C00800)
eeObj.WriteMem32(0x000FF924, 0x1000FFF7)
eeObj.WriteMem32(0x000FF92C, 0x48C01000)
eeObj.WriteMem32(0x000FF930, 0x1000FFF4)
end
emuObj.AddVsyncHook(patcher)
Ratchet & Clank 1
CLI
Emu = '''War of the Monsters'''
SCUS-97199

Code:
#Fix graphics
--gs-use-mipmap=1
--gs-kernel-cl="mipmap"
--gs-kernel-cl-up="mipmap2x2"
#Upscaling fix
--gs-upscale=none
--gs-uprender=none
#Looping music partial fix
--iop-cycle-scalar=0.31
#Fix gravity and other physics
--cop2-opt-flags=0
#Fix VU0 sync (raise or lower it as convenient. It is the fix that causes the slowdowns)
--ee-hook=0x000FF904,AdvanceClock,,385
LUA
Code:
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
--jmp
eeObj.WriteMem32(0x00118CAC, 0x0803FE80)
--Check if patcher's needed
eeObj.WriteMem32(0x000FFA00, 0x3C1B7120)
eeObj.WriteMem32(0x000FFA04, 0x377BCDA8)
eeObj.WriteMem32(0x000FFA08, 0x3C02000F)
eeObj.WriteMem32(0x000FFA10, 0xAC44FFF4)
eeObj.WriteMem32(0x000FFA0C, 0x3442FA00)
eeObj.WriteMem32(0x000FFA14, 0xAC45FFF0)
eeObj.WriteMem32(0x000FFA18, 0x8C44FFFC)
eeObj.WriteMem32(0x000FFA1C, 0x8C840000)
eeObj.WriteMem32(0x000FFA20, 0x149B0003)
eeObj.WriteMem32(0x000FFA28, 0x0804632C)
eeObj.WriteMem32(0x000FFA2C, 0x241B0000)
eeObj.WriteMem32(0x000FFA34, 0xAC43FFF8)
eeObj.WriteMem32(0x000FFA38, 0x3C040010)
eeObj.WriteMem32(0x000FFA3C, 0x24840004)
eeObj.WriteMem32(0x000FFA40, 0x8C830000)
eeObj.WriteMem32(0x000FFA44, 0x107B0003)
eeObj.WriteMem32(0x000FFA4C, 0x1000FFFB)
--Patcher
eeObj.WriteMem32(0x000FFA54, 0xAC44FFFC)
eeObj.WriteMem32(0x000FFA64, 0x3C030C03)
eeObj.WriteMem32(0x000FFA68, 0x3463FE48)
eeObj.WriteMem32(0x000FFA6C, 0xAC8300BC) --First 6 vi01
eeObj.WriteMem32(0x000FFA78, 0xAC8301FC)
eeObj.WriteMem32(0x000FFA84, 0xAC830354)
eeObj.WriteMem32(0x000FFA90, 0xAC830494)
eeObj.WriteMem32(0x000FFA9C, 0xAC8305EC)
eeObj.WriteMem32(0x000FFAA8, 0xAC83072C)
eeObj.WriteMem32(0x000FFAAC, 0x3C030C03)
eeObj.WriteMem32(0x000FFAB0, 0x3463FE4B)
eeObj.WriteMem32(0x000FFAB4, 0xAC83015C) --First 4 vi02
eeObj.WriteMem32(0x000FFAC0, 0xAC8302AC)
eeObj.WriteMem32(0x000FFACC, 0xAC8303F4)
eeObj.WriteMem32(0x000FFAD8, 0xAC830544)
--Ret
eeObj.WriteMem32(0x000FFC0C, 0x8C44FFF4)
eeObj.WriteMem32(0x000FFC10, 0x8C45FFF0)
eeObj.WriteMem32(0x000FFC14, 0x8C43FFF8)
eeObj.WriteMem32(0x000FFC18, 0x0804632C)
--VI01 AND VI02 to burn cycles in (000FF904) using advanceclock
eeObj.WriteMem32(0x000FF914, 0x03E00008)
eeObj.WriteMem32(0x000FF918, 0x241F0000)
eeObj.WriteMem32(0x000FF920, 0x48C00800)
eeObj.WriteMem32(0x000FF924, 0x1000FFF7)
eeObj.WriteMem32(0x000FF92C, 0x48C01000)
eeObj.WriteMem32(0x000FF930, 0x1000FFF4)
end
emuObj.AddVsyncHook(patcher)
Great
 
they are just text files with .txt extension replaced and named with game id.
for cli codes it should be SLUS-21111_cli.conf
for lua codes it should be SLUS-21111_config.lua

if its your first time and the above manual method is too complicated than simply use an app called "PS2-FPKG v0.6". just put your iso, .txt file with cli codes, .lua file with lua codes, select the required emulator and it will automatically rename everything and make a ps2 fpkg for you.
wich one you would pick v0.6 or v0.7 ?
 
Harry Potter & The Goblet of Fire (SLES53726) (SLES53727) (SLES53728)

TXT.
Code:
--host-display-mode=16:9
--cdvd-sector-read-cycles=5000
--gs-progressive=1
--gs-motion-factor=50
--mtap1=always

LUA.
Code:
-- Harry Potter and the Goblet of Fire PAL
-- emu used=rotk v1

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

apiRequest(0.1)

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

emuObj.SetDisplayAspectWide()

local patcher = function()
--Widescreen hack 16:9
eeObj.WriteMem32(0x0029FD74,0x3C013FE3) --3C013FAA
eeObj.WriteMem32(0x0029FD78,0x34218E39) --3421AAAB

--mipmap fix(ps3 config)
eeObj.WriteMem32(0x002cf158,0x00000000)

emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(patcher)

Harry Potter and The Goblet of Fire. Portuguese Dub Test!
VIDEO
 
Monster Book crashes in Harry Potter & the Prisoner of Azkaban can be solved by using SW Racer Revenge v1 emu. Plus random loading screen crashes are solved by adding command inside patcher function:
eeObj.SchedulerDelayEvent("vif1.dma", 0x2000)
in LUA config instead of --vif1-instant-xfer=0 in CLI config.
 
Last edited:
Thrillville [SLUS-21413]
emu used=primal
Code:
--gs-uprender=2x2
--gs-upscale=edgesmooth
--host-display-mode=full
--vu1-mpg-cycles=750
--gs-kernel-cl="h2lpool"
--gs-kernel-cl-up="h2lpool2x2"
--vu1-jalr-cache-policy=newprog #fix stutter
--safe-area-min=0.9
--gs-optimize=60fps

Lua:
Code:
--ws by Monsterjamp

apiRequest(1.1)

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

local patcher   = function()
--FOV
eeObj.WriteMem32(0x20CC5540, 0x3FE374BC)
--Increases Draw Distance
eeObj.WriteMem32(0x20CC5558, 0x3FC00000)
--HUD Scaling
eeObj.WriteMem32(0x20CC5544, 0x3F666666)
eeObj.WriteMem32(0x20CC5548, 0x3F866666)
eeObj.WriteMem32(0x20CC554C, 0x3F8374BC)
--Disable Bloom,fog,interlace by Juano V
eeObj.WriteMem32(0x006D372C, 0x0)
eeObj.WriteMem32(0x006D3738, 0x0)
eeObj.WriteMem32(0x006D4950, 0x0)
eeObj.WriteMem32(0x006D3758, 0x0)
emuObj.ThrottleMax()
end
emuObj.AddVsyncHook(patcher)

If you use this LUA instead:

Code:
apiRequest(0.1)
local emuObj = getEmuObject()
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=2 } )

It will fix (downscale) the bloom effects only. Preserving all the graphics and 2x2 resolution. Game works and looks flawless now.
 

Similar threads

Back
Top