PS2 Classics Configuration Files (Unofficial)
Configuration files created by users, to improve PS2 emulator compatibility on PS4.
- Describing the purpose of each command in your configuration is recommended.
- On cli you can do it with
#and on a lua you can do it with--
| Editor's note
While there are many sources describing Custom Configuration Files, you are welcome to test these and cross-post them here or elsewhere If doing so, please be aware that there is no "copyright" per se but you are of course welcome to credit yourself or another person if you can confirm your testing results (as describing above, you can do so by the description of what Your configuration is actually doing) Please post only custom configurations which you have actually tested and don't post any based on speculation only because the same code is working on a PS3 |
18 Wheeler - American Pro Trucker[edit | edit source]
NTSC
LUA
-- boot fix by Kozarovv
-- widescreen by Stayhye(ported from PAL version by El_Patas)
-- ported to PS4 lua
-- emu used=psycho v2
local gpr = require("ee-gpr-alias")
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
--16:9
eeObj.WriteMem32(0x001d4c3c, 0x3c013f40) -- 0x3c013f80
-- Skip debugger hook.
eeObj.WriteMem32(0x001EB2A0, 0x00000000)
eeObj.WriteMem32(0x001EB2A8, 0x10000003)
emuObj.ThrottleMax()
end
emuObj.AddVsyncHook(patcher)
--math.random() + math.random(1, 99)
24 The Game[edit | edit source]
CLI
--ee-cycle-scalar=1.9 --safe-area-min=1.0 --vu0-no-clamping=0 --vu1-no-clamping=0 --cop2-no-clamping=0 # Fixed lags issue. # <emu used=psychonauts v2>
LUA
SLUS_212.68
-- 24 The Game NTSC
-- performace fix by kozarovv
-- ported to PS4
-- emu used=psychonauts v2
local gpr = require("ee-gpr-alias")
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
--Widescreen hack 16:9
--Force turn on the native widescreen
eeObj.WriteMem32(0x205FBD2C,0x00000001)
--Zoom Fix
--6000023c 2cbd428c
eeObj.WriteMem32(0x002fbea0,0x3c020000) --3c020060
eeObj.WriteMem32(0x002fbea4,0x34420000)
eeObj.WriteMem32(0x00139e2c,0x3c020000) --3c020060
eeObj.WriteMem32(0x00139e30,0x34420000) --8c42bd2c
--X-Fov (4:3)
--aa3f013c a8aa2134
--2a8e2134 e33f013c
--eeObj.WriteMem32(0x00460364,0x3c013fe3) --3c013faa
--eeObj.WriteMem32(0x00460368,0x34218e2a) --3421aaa8
--Fix slow and choppy gameplay
eeObj.WriteMem32(0x004155a8,0x48a44800)
eeObj.WriteMem32(0x004155ac,0x48c02800)
eeObj.WriteMem32(0x004155b0,0x4a00d839)
eeObj.WriteMem32(0x00415660,0x48a44800)
eeObj.WriteMem32(0x00415664,0x48c02800)
eeObj.WriteMem32(0x00415668,0x4a00d839)
end
emuObj.AddVsyncHook(patcher)
10000 Bullets[edit | edit source]
CLI
--vu1=jit-sync # Fixes Blackscreen after PS2 Logo. # Jak v1 used
Ace Combat 4[edit | edit source]
CLI
--gs-kernel-cl="mipmap" --gs-kernel-cl-up="mipmap2x2" --gs-use-mipmap=1 #Fix for terrain textures
Ace Combat 5[edit | edit source]
CLI
All versions
--gs-kernel-cl="mipmap" --gs-kernel-cl-up="mipmap2x2" --gs-use-mipmap=1 #Same fix for terrain textures
LUA file
SLUS_208.51
apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory. -- Collision detection fix for Stage 3 onwards // Rearranging COP2 instructions that use old results eeInsnReplace(0x1A3B94, 0x4B00682C, 0x48498800) eeInsnReplace(0x1A3B98, 0x4B0C682C, 0x4B00682C) eeInsnReplace(0x1A3BA4, 0x48498800, 0x484A8800) eeInsnReplace(0x1A3BA8, 0x484A8800, 0x4B0C682C)
LUA file
SCES_504.10
apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory.
-- Wrong sky shader
local emuObj = getEmuObject()
-- Fix for wrong sky shader
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=1 } )
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=2 } )
Ace Combat Zero: The Belkan War[edit | edit source]
CLI
All Versions
--gs-kernel-cl="mipmap" --gs-kernel-cl-up="mipmap2x2" --gs-use-mipmap=1 #Once again, same fix for terrain textures.
LUA file
SLUS_213.46
apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory. -- Collision detection fix. eeInsnReplace(0x131EBC, 0x4B00682C, 0x48498800) eeInsnReplace(0x131EC0, 0x4B0C682C, 0x4B00682C) eeInsnReplace(0x131ECC, 0x48498800, 0x484A8800) eeInsnReplace(0x131ED0, 0x484A8800, 0x4B0C682C)
LUA file
SCES_540.41
apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory.
-- Wrong sky shader
local emuObj = getEmuObject()
-- Fix for wrong sky shader
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=1 } )
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=2 } )
-- Collision detection fix.
eeInsnReplace(0x131EB8, 0x4B00682C, 0x48498800)
eeInsnReplace(0x131EC8, 0x4B0C682C, 0x4B00682C)
eeInsnReplace(0x131FB8, 0x48498800, 0x484A8800)
eeInsnReplace(0x131EC4, 0x484A8800, 0x4B0C682C)
AirBlade[edit | edit source]
CLI
All versions
--vu0-no-clamping=0 --vu1-no-clamping=0 #emu used=GTA 3 v1 #Fix for flickering models and textures
Ape Escape 2[edit | edit source]
CLI
All versions
--gs-use-mipmap=1 --gs-kernel-cl="mipmap" --gs-kernel-cl-up="mipmap2x2" #Fix for flickering textures
Ape Escape: Pumped & Primed[edit | edit source]
CLI
All versions
--ee-jit-pagefault-threshold=30 --gs-frontend-opt-mode=1 --gs-use-mipmap=1 --gs-kernel-cl="mipmap" --gs-kernel-cl-up="mipmap2x2" --cop2-no-clamping=1 --vu1-mpg-cycles=250 #Fix for flickering textures
LUA
--emu used=jakx v2 apiRequest(0.1) local eeObj = getEEObject() local emuObj = getEmuObject() local patcher = function() --Fix game frame rate eeObj.WriteMem32(0x3816e0,0x10000025) -- NTSC ONLY!! end emuObj.AddVsyncHook(patcher)
ATV Off-Road Fury 2[edit | edit source]
CLI
--ee-cycle-scalar=4.0 --gs-h2l-list-opt=1 --gs-adaptive-frameskip=1 #speedhack #emu used= jak v2
Avatar The last airbender[edit | edit source]
All Versions
LUA
-- emu used=psychonauts v2, Fix For Freeze when starting new game
local gpr = require("ee-gpr-alias")
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
eeObj.SchedulerDelayEvent("vif1.dma", 0x6500) -- "--vif1-instant-xfer=0" replacement
emuObj.ThrottleMax()
end
emuObj.AddVsyncHook(patcher)
Batman Vengeance[edit | edit source]
#Speedhacks --ee-cycle-scalar=3 #Upscaling fix --gs-upscale=none --gs-uprender=none
Battle Engine Aquila[edit | edit source]
#Graphical corruption fix --vu1-no-clamping=1 #Performance boost --ee-cycle-scalar=1.5 --vu1-mpg-cycles=1000 --vu1-di-bits=0 --vu1-const-prop=1 --gs-adaptive-frameskip=1 #Jakv2
Baldur's Gate: Dark Alliance II[edit | edit source]
CLI
All Versions
--vif1-instant-xfer=0 --vu0-no-clamping=0 --vu1-no-clamping=0
Bard's tale, the[edit | edit source]
CLI All versions War of the monsters v1 fixes the crash.
#Speedhacks --ee-cycle-scalar=1.1 --vu1-di-bits=0 #Missing graphics fix --vif1-instant-xfer=0 --vu1-no-clamping=0
Bloody Roar 4[edit | edit source]
CLI
All Versions
--vu0-no-clamping=0 --vu1-no-clamping=0 --cop2-no-clamping=0 #SPS Fix
Brave - The Search for Spirit Dancer[edit | edit source]
CLI Emu = Samurai Shodown
#Fix gravity --cop2-opt-flags=0 #Fix upscaling lines --gs-kernel-cl-up="fantavision"
Burnout 2: POI[edit | edit source]
LUA file
SLES_510.44 / SLES_529.68
apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory. -- SLES-51044 / SLES-52968 - Fix white parts -- Major thanks to Maori-Jigglypuff for reversing that eeInsnReplace(0x2485B8, 0xC6800D18, 0x3C014316) eeInsnReplace(0x2485CC, 0xE4400000, 0xAC410000) eeInsnReplace(0x262604, 0xC7809780, 0x3C014316) eeInsnReplace(0x262618, 0xE4400000, 0xAC410000) eeInsnReplace(0x2564B8, 0x8F829764, 0x24020000)
LUA file
SLUS_204.97
apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory. -- SLUS_204.97 - Fix white parts -- Major thanks to Maori-Jigglypuff for reversing that eeInsnReplace(0x2485A8, 0xC6800D18, 0x3C014316) eeInsnReplace(0x2485BC, 0xE4400000, 0xAC410000) eeInsnReplace(0x2625F4, 0xC7809780, 0x3C014316) eeInsnReplace(0x262608, 0xE4400000, 0xAC410000) eeInsnReplace(0x2564A8, 0x8F829764, 0x24020000)
Cabela's Dangerous Hunts[edit | edit source]
CLI
All
#Sps fix --vu1-no-clamping=0
Castlevania: Curse of Darkness[edit | edit source]
SLUS-21168
LUA
-- Widescreen hack by nemesis2000
-- new graphics fix by kozarovv
-- emu used=
local gpr = require("ee-gpr-alias")
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
--gameplay
eeObj.WriteMem32(0x00751384,0x3c013f40) --hor value
eeObj.WriteMem32(0x00751388,0x44810000)
eeObj.WriteMem32(0x00751390,0x4600c602)
--FMV's fix
eeObj.WriteMem32(0x00443eb8,0x00000000)
eeObj.WriteMem32(0x00775398,0x24056e40)
eeObj.WriteMem32(0x007753a4,0x24072380)
-- Clamp value manually. Clamping from emulator change value to FLT_MIN
-- While we need correct lower bits + 1 due to x86 rounding...
eeObj.WriteMem32(0x92FD50, 0xFF7F8001)
emuObj.ThrottleMax()
end
emuObj.AddVsyncHook(patcher)
LUA SLES_537.55
-- Widescreen hack by nemesis2000
-- new graphics fix by kozarovv
-- emu used=
local gpr = require("ee-gpr-alias")
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
--Widescreen
--gameplay
eeObj.WriteMem32(0x007526fc,0x3c013f40) --hor value
eeObj.WriteMem32(0x00752700,0x44810000)
eeObj.WriteMem32(0x00752708,0x4600c602)
--FMV's fix
eeObj.WriteMem32(0x004448d0,0x00000000)
eeObj.WriteMem32(0x00776718,0x24056d80)
eeObj.WriteMem32(0x00776724,0x24072380)
-- Clamp value manually. Clamping from emulator change value to FLT_MIN
-- While we need correct lower bits + 1 due to x86 rounding...
eeObj.WriteMem32(0x00931280, 0xFF7F8001)
emuObj.ThrottleMax()
end
emuObj.AddVsyncHook(patcher)
Call of Duty: World at War - Final Fronts[edit | edit source]
--ee-cycle-scalar=1.9 --safe-area-min=1.0 --vu0-no-clamping=0 --vu1-no-clamping=0 --cop2-no-clamping=0 # Fixed low framrate issue, !!!JAK EMULATOR Used!!!
Cold Winter[edit | edit source]
CLI
All Versions
--vu0-no-clamping=0 --vu1-no-clamping=0 # fix graphic and physics, there are still issue with fmv, and minor stering issue.
Coraline[edit | edit source]
CLI
All versions
--gs-use-mipmap=1 --gs-kernel-cl-up="mipmap2x2" --gs-scanout-offsetx=27 --gs-scanout-offsety=27 --safe-area-min=0.9 --cdvd-sector-read-cycles=2000
LUA PAL
-- Coraline
-- emu used=KOF 98
apiRequest(0.1)
local gpr = require("ee-gpr-alias")
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
--Widescreen hack
--Gameplay 16:9
--eeObj.WriteMem32(0x0026432C,0x3C014440) --3C014480 (Increases hor. axis)
--Render fix
eeObj.WriteMem32(0x001A6548,0x3C013C2E) --3C013C0E
--Get rid of black bar
eeObj.WriteMem32(0x00225ea8,0x3c014000) --3c014299
eeObj.WriteMem32(0x00225eac,0x00000000) --3421999a
eeObj.WriteMem32(0x002644ec,0x3c014440) -- hor fov
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 (R1 ~= 0 and LEFT ~= 0) then --L3 Normal Screen
eeObj.WriteMem32(0x0026432C,0x3C014480) -- original value
end
if (R1 ~= 0 and RIGHT ~= 0) then --R3 Widescreen Screen
eeObj.WriteMem32(0x0026432C,0x3C014440) --3C014480 (Increases hor. axis)
end
emuObj.ThrottleMax()
end
emuObj.AddVsyncHook(patcher)
Crash Bandicoot - Wrath of Cortex[edit | edit source]
CLI SLUS20238 SLUS-20238_cli.conf
--host-display-mode=16:9 --force-frame-blend=1 --gs-kernel-cl="h2lpool" --gs-kernel-cl-up="h2lpool2x2" #Speedhacks --vu1-di-bits=0
SLUS-20238_config.lua
-- Crash Bandicoot The Wrath of Cortex [SLUS-20238] (U)
-- emu used=KOF 98
apiRequest(0.1)
local gpr = require("ee-gpr-alias")
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
--16:9 hack
eeObj.WriteMem32(0x001138B8,0x3c013f11) --vertical fov
eeObj.WriteMem32(0x001127A0,0x3c013f2a) --zoom value
eeObj.WriteMem32(0x0011287C,0x3c013f2a) --render value
--No interlace
eeObj.WriteMem32(0x2016A048,0xAF80E750)
eeObj.WriteMem32(0x2016A054,0xAF80E750)
--Underwater FX Fix
eeObj.WriteMem32(0x202438AC,0x0000182D)
--Mech FX Fix
eeObj.WriteMem32(0x20257CF0,0x0000182D)
--Cortex Vortex FX Fix
eeObj.WriteMem32(0x20242894,0x100000BC)
--Disable Dark Effect
eeObj.WriteMem32(0x20258588,0x44801000)
emuObj.ThrottleMax()
end
emuObj.AddVsyncHook(patcher)
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=1 } ) --texMode=1
SLES50386 SLES-50386_cli.conf
--host-display-mode=16:9 --gs-progressive=1
SLES-50386_config.lua
-- Crash Bandicoot The Wrath of Cortex [SLES-50386] (E)
-- emu used=KOF 2000
apiRequest(0.1)
local gpr = require("ee-gpr-alias")
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
--16:9 hack
eeObj.WriteMem32(0x21D43044,0x3F100000) --3F400000
emuObj.ThrottleMax()
end
emuObj.AddVsyncHook(patcher)
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=1 } ) --texMode=1
Crash Bandicoot 4: Sakuretsu! Majin Power クラッシュ・バンディクー4 ~さくれつ!魔神・パワー~ SLPM62114 SLPM-62114_cli.conf
--force-frame-blend=1 --gs-kernel-cl="h2lpool" --gs-kernel-cl-up="h2lpool2x2" #Speedhacks --vu1-di-bits=0 #emu used=KOF 98
SLPM-62114_config.lua
-- Crash Bandicoot 4: Sakuretsu! Majin Power [SLPM-62114] (NTSC-J)
-- emu used=KOF 98
apiRequest(0.1)
local gpr = require("ee-gpr-alias")
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
--16:9 hack
eeObj.WriteMem32(0x00113990,0x3C013F11) --vertical fov
eeObj.WriteMem32(0x0011250C,0x3C013F2A) --zoom value
eeObj.WriteMem32(0x00112958,0x3C013F2A) --render value
--No interlace
eeObj.WriteMem32(0x2016A2F8,0xAF80E750)
eeObj.WriteMem32(0x2016A304,0xAF80E750)
--Underwater FX Fix
eeObj.WriteMem32(0x2024D534,0x0000182D)
--Mech FX Fix
eeObj.WriteMem32(0x20261D78,0x0000182D)
--Cortex Vortex FX Fix
eeObj.WriteMem32(0x2024CBA4,0x100000BC)
--Disable Dark Effect
eeObj.WriteMem32(0x20262658,0x44801000)
emuObj.ThrottleMax()
end
emuObj.AddVsyncHook(patcher)
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=1 } ) --texMode=1
Crash Tag Team Racing[edit | edit source]
CLI Pal
#Fix For Extreme slowdowns, #This game is known for being EXTREMELY VU1 hungry. --vu1-mpg-cycles=1200 --vu1-di-bits=0 --vu1-const-prop=1 --ee-cycle-scalar=1.3
CLI SLUS_211.91 only
--vu1-di-bits=0 --vu1-mpg-cycles=250 --ee-cycle-scalar=1.2 --ee-hook=0x0034C098,AdvanceClock,,500 #This will cause stuttering during car transformation animation #But it is better than having slowdowns --ee-hook=0x003547C8,AdvanceClock,,9000
LUA SLUS_211.91 only
apiRequest(0.1) local eeObj = getEEObject() local emuObj = getEmuObject() local patcher = function() --Author: MrJaredBeta --Fixes: Stuttering during coin animations eeObj.WriteMem32(0x0022e3e4, 0x1000000c) end emuObj.AddVsyncHook(patcher)
Crash Twinsanity[edit | edit source]
CLI
KOF2000 EMU USED All Versions
#Speedhacks --ee-cycle-scalar=1.6 --vu1-mpg-cycles=400 --vu1-di-bits=0 #Graphical glitches fixes --vu-xgkick-delay=5 --gs-use-clut-merge=1 --gs-kernel-cl="clutmerge" --gs-kernel-cl-up="clutmerge2x2"
LUA SLES-52568
apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory.
-- Fix random crashes
eeInsnReplace(0x1923E8,0x5440FFFB,0x00000000)
eeInsnReplace(0x1923EC,0x0071182F,0x00000000)
eeInsnReplace(0x1923F0,0x0223102F,0x00000000)
-- Eliminate color scan lines
local emuObj = getEmuObject()
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=1 } )
LUA SLUS-20909
apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory.
-- Fix random crashes
eeInsnReplace(0x191C58,0x5440FFFB,0x00000000)
eeInsnReplace(0x191C5C,0x0071182F,0x00000000)
eeInsnReplace(0x191C60,0x0223102F,0x00000000)
-- Eliminate color scan lines
local emuObj = getEmuObject()
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=1 } )
Crash Nitro Kart[edit | edit source]
All Versions CLI
--gs-adaptive-frameskip=1 --force-frame-blend=1 --vu0-no-clamping=0 --vu1-no-clamping=0 --vu1-di-bits=0 --vu1=jit-sync --vu1-mpg-cycles=2200 --vu1-jalr-cache-policy=newprog --vu0-jr-cache-policy=sameprog --ee-hook=0x005dbc38,AdvanceClock,,21000
LUA (NTSC ONLY!)
-- Crash Nitro Kart NTSC
-- Widescreen by Stayhye
-- ported to PS4 by Stayhye
-- emu used=jakx v2
local gpr = require("ee-gpr-alias")
apiRequest(0.1)
local emuObj = getEmuObject()
local eeObj = getEEObject()
local gsObj = getGsObject()
local eeOverlay = eeObj.getOverlayObject()
local iopObj = getIOPObject()
emuObj.PadSetLightBar(0, 255,0,255)
emuObj.SetDisplayAspectWide()
gsObj.SetDeinterlaceShift(1)
gsObj.SetUprenderMode(1) -- 0=none <> 1=2x2
emuObj.SetDeinterlace(true)
local patcher = function()
--freeze fix
eeObj.WriteMem32(0x003e8170,0)
--16:9
eeObj.WriteMem32(0x0058bcf8,0x3c023f40) -- 0x3c023f00 - hor. axis
eeObj.WriteMem32(0x0058bd0c,0x3c023f40) -- 0x3c023f00 -- zoom
--eeObj.WriteMem32(0x005dbc18,0x24030001)
eeObj.SchedulerDelayEvent("vif1.dma",0x5000)
emuObj.ThrottleMax() -- No negative.
end
emuObj.AddVsyncHook(patcher)
Dark Summit[edit | edit source]
CLI
All versions
--host-display-mode=16:9 --force-pal-60hz=1 # Fahrenheit Emu used
LUA
PAL - SLES50575
-- Dark Summit (PAL) -- emu used=Fahrenheit apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory. local emuObj = getEmuObject() local eeObj = getEEObject() local WS = function() --Widescreen hack 16:9 --X-Fov --02000446 280100ae 42080546 eeObj.WriteMem32(0x003d37d0,0x08030000) eeObj.WriteMem32(0x000c0000,0x46040002) eeObj.WriteMem32(0x000c0004,0x3c013f40) eeObj.WriteMem32(0x000c0008,0x00000000) eeObj.WriteMem32(0x000c000c,0x4481f000) eeObj.WriteMem32(0x000c0010,0x461e0002) eeObj.WriteMem32(0x000c0014,0x080f4df5) --Render fix --003f013c 00a88144 0000b07f eeObj.WriteMem32(0x0036444c,0x3c013f2b) --3c013f00 emuObj.ThrottleMax() end emuObj.AddVsyncHook(WS)
Dead or Alive 2: Hardcore[edit | edit source]
LUA file
SLUS_200.71
apiRequest(0.1)
-- Fix hang, fix music, and sounds effects
emuMediaPatch(0x186A71, 12 + 0x7e4, { 0x2404002b }, { 0x27c40010 })
emuMediaPatch(0x186A71, 12 + 0x7e8, { 0x0c0032b3 }, { 0x0c0032b7 })
emuMediaPatch(0x186A71, 12 + 0x7ec, { 0x27c50010 }, { 0x00000000 })
emuMediaPatch(0x186A71, 12 + 0x5e8, { 0x27bdfff0 }, { 0x03e00008 })
emuMediaPatch(0x186A71, 12 + 0x5ec, { 0xafbe0008 }, { 0x00000000 })
emuMediaPatch(0x186A7B, 12 + 0x6fc, { 0x27bdfff0 }, { 0x03e00008 })
emuMediaPatch(0x186A7B, 12 + 0x700, { 0xafbe0008 }, { 0x00000000 })
emuMediaPatch(0x186A85, 12 + 0x164, { 0x27bdfff0 }, { 0x03e00008 })
emuMediaPatch(0x186A85, 12 + 0x168, { 0xafbe0008 }, { 0x00000000 })
emuMediaPatch(0x186A85, 12 + 0x10c, { 0x27bdfff0 }, { 0x03e00008 })
emuMediaPatch(0x186A85, 12 + 0x110, { 0xafbe0008 }, { 0x00000000 })
emuMediaPatch(0x186A85, 12 + 0x1bc, { 0x27bdfff0 }, { 0x03e00008 })
emuMediaPatch(0x186A85, 12 + 0x1c0, { 0xafbe0008 }, { 0x00000000 })
emuMediaPatch(0x186A86, 12 + 0x7f0, { 0x27bdfff0 }, { 0x03e00008 })
emuMediaPatch(0x186A86, 12 + 0x7f4, { 0xafbe0008 }, { 0x00000000 })
emuMediaPatch(0x186C38, 12 + 0x6ec, { 0x24060001 }, { 0x24060000 })
For the Japanese version (SLPS-25026) you can also use config files from PS3's PS2 emu with
--lopnor-config=1
in config.
Place config file named as "SLPS-25026_lopnor.cfgbin" in /patches/SLPS-25026/
*Alternate fix Jak emus
LUA file
--DOA 2 Hardcore NTSC US
apiRequest(0.1)
local gpr = require("ee-gpr-alias")
local emuObj = getEmuObject()
local eeObj = getEEObject()
local gsObj = getGsObject()
local eeOverlay = eeObj.getOverlayObject()
local iopObj = getIOPObject()
local patcher = function()
eeObj.WriteMem32(0x0021b63c,0x3c014534) -- Widescreen
eeObj.WriteMem32(0x002b06ec,0x24060000) -- Fixes game hanging on boot.
iopObj.WriteMem32(0x001D77E4,0x27C40010) --fixes music/sound effects
iopObj.WriteMem32(0x001D77E8,0x0C0032B7) --fixes music/sound effects
iopObj.WriteMem32(0x001D77EC,0x00000000) --fixes music/sound effects
end
emuObj.AddVsyncHook(patcher)
emuObj.PadSetLightBar(0,255,200,250)
emuObj.SetDisplayAspectWide()
Devil Kings[edit | edit source]
All versions CLI
#Fix For Graphical Glitches (SPS) --vu1-no-clamping=0
Dirge of Cerberus - Final Fantasy VII[edit | edit source]
CLI
War of the monsters emu
#Speedhacks --gs-optimize-30fps=1 --vu1-mpg-cycles=2000 --vu1-di-bits=0 #Upscaling glitches fix --gs-kernel-cl-up="up2x2simple"
Disgaea 2: Cursed Memories[edit | edit source]
CLI
SLUS-21397
#Fix for lines in terrain textures and flickering textures --gs-kernel-cl="mipmap" --gs-kernel-cl-up="mipmap2x2" --gs-use-mipmap=1
Digimon Rumble Arena 2[edit | edit source]
CLI
ALL
#Fix for game being stuck with flickering, immovable main menu items. --fpu-no-clamping=1 #Speedhack --vu1-di-bits=0
Digimon World 4[edit | edit source]
CLI
All Versions
#Fixes slowdowns in The game --vu1-di-bits=0 --vu1-mpg-cycles=800 #Fixes black screen caused by MTVU --vu1=jit-sync #Jakv2
Disney Golf[edit | edit source]
CLI
All Versions
#Fixes graphical glitches --gs-use-clut-merge=1 --gs-kernel-cl="clutmerge" --gs-kernel-cl-up="clutmerge2x2" --force-frame-blend=1 #Other --cdvd-sector-read-cycles=5000 #Speedhacks --vu1-mpg-cycles=1000 --vu1-jr-cache-policy=newprog #aofa
Dokapon Kingdom[edit | edit source]
CLI
All Versions
#Fixes black screen freeze. --vu1=jit-sync
Dragon Ball Z: Budokai Tenkaichi 2[edit | edit source]
CLI
All Versions
#Fix for missing life bars and other UI elements. --gs-use-clut-merge=1 --gs-kernel-cl="clutmerge" --gs-kernel-cl-up="clutmerge2x2"
Dragon Ball Z: Budokai Tenkaichi 3[edit | edit source]
CLI
All Versions
#Fix for missing life bars and other UI elements --gs-use-clut-merge=1 #Fix for mis-aligned glow caused by upscaling --gs-kernel-cl-up="up2x2simple" #Fix for Performance --vu1-mpg-cycles=400 --vu1-di-bits=0
Dragon Quest VIII: Journey of the Cursed King[edit | edit source]
CLI
All Versions
--gs-kernel-cl-up="up2x2skipinterp" --gs-optimize-30fps=1 #Fix lines in shadows
Dragon Quest V: Tenkuu no Hanayome[edit | edit source]
CLI
#Speedhacks --ee-cycle-scalar=1.2 --vu1-di-bits=0 #Fix for being stuck in Faerie land. --fpu-accurate-range=0x00693f88,0x00693f88
Drakengard[edit | edit source]
Emu: Eternal Ring v2
'''CLI''' --gs-uprender=2x2 --gs-upscale=edgesmooth --gs-kernel-cl="h2lpool" #removed stutter in FMVs --gs-kernel-cl-up="h2lpool2x2" #removed stutter in FMVs --gs-h2l-list-opt=1 --gs-h2l-accurate-hash=1 --vu1-const-prop=0 --vu1-jr-cache-policy=newprog --ee-cycle-scalar=2.0 --host-display-mode=16:9 #emu used=eternal ring v2
LUA
--Drakengard (NTSC) SLUS_207
--Ported by InfiniteNine from PAL code by ElHecht
--emu used=eternal ring v2
apiRequest(1.5)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
--16:9
eeObj.WriteMem32(0x202FD034,0x3C013F40) -- 00000000 hor fov
eeObj.WriteMem32(0x202FD040,0x4481F000) -- 00000000
eeObj.WriteMem32(0x202FD044,0x461EC602) -- 00000000
eeObj.WriteMem32(0x202640A4,0x3C0143D6) -- 3c0143a0 renderfix1
eeObj.WriteMem32(0x20129FC0,0x3C014456) -- 3c014420 renderfix2
eeObj.Vu1MpgCycles(500)
emuObj.ThrottleMax()
end
emuObj.AddVsyncHook(patcher)
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=1 } )
Drakengard 2[edit | edit source]
CLI Emu: War of the Monsters
#Fix upscaling artifacts (flames and lights) --gs-upscale=none --gs-uprender=none #Use EE clamping --fpu-no-clamping=0 --cop2-no-clamping=0 #Speedhacks --vu1-di-bits=0 --vu1-mpg-cycles=200
Dreamworks: Shrek the third[edit | edit source]
All Versions CLI
#Slowdown fixes --vu1-di-bits=0 --vu1-mpg-cycles=700 #Disable try to fix graphics if creating using ps2fpkg v0.6
DreamWorks Madagascar[edit | edit source]
CLI All versions
#Game hates upscaling, so this will be enough to fix all upscaling problems. --gs-kernel-cl-up="up2x2simple" #Speedhacks --vu1-mpg-cycles=300 --ee-cycle-scalar=1.2 --vu1-di-bits=0
LUA SLES-53225 This patch fixes this issue
apiRequest(0.1) --Fix for graphical problems, Game needs vu1 nearest rounding. --Credit goes to Goatman13, Untested on ps4. --Add one bit in LOI 8388609.0 local eeObj = getEEObject() local emuObj = getEmuObject() local patcher = function() eeobj.writemem8(0x0034BA40,0x01) eeobj.writemem8(0x0034BDE0,0x01) eeobj.writemem8(0x0034C100,0x01) eeobj.writemem8(0x0034C490,0x01) eeobj.writemem8(0x0034C810,0x01) end emuObj.AddVsyncHook(patcher)
DreamWorks Bee Movie Game[edit | edit source]
CLI
All versions
--ee-cycle-scalar=4.0 #fix pass fmv --vu0-di-bits=0 --vu1-di-bits=0 --vu1-jr-cache-policy=newprog #fix random crash? --gs-uprender=1 --gs-upscale=edgesmooth --host-display-mode=full # Emu used = Primal
Driv3r[edit | edit source]
CLI SLUS-20587
#Fix for AI cop car (00422D18 to 00423018 on PCSX2?) --cop2-accurate-addsub-range=0x4b8108,0x4b8408 #Speedhacks --vu1-di-bits=0 --vu1-mpg-cycles=2700 --ee-cycle-scalar=1.1 #Graphical fixes --gs-flush-ad-xyz=always --gs-use-mipmap=1 --gs-use-clut-merge=1 --gs-kernel-cl-up="up2x2simple"
Ephemeral Fantasia™[edit | edit source]
CLI
All Versions
--framelimit-mode=normal #Fix for missing character/world parts --vu1-no-clamping=0
Everblue 2[edit | edit source]
LUA file
SLES_513.81
apiRequest(0.1) eeInsnReplace(0x230b68, 0x4be503bc, 0x4b0c211c) eeInsnReplace(0x230b6c, 0x4b0c211c, 0x4be503bc) eeInsnReplace(0x230b84, 0x4be603bc, 0x4bc0295c) eeInsnReplace(0x230b88, 0x4bc0295c, 0x4be603bc) eeInsnReplace(0x230ba0, 0x4be703bc, 0x4bc0319c) eeInsnReplace(0x230ba4, 0x4bc0319c, 0x4be703bc) eeInsnReplace(0x230bbc, 0x4be803bc, 0x4bc039dc) eeInsnReplace(0x230bc0, 0x4bc039dc, 0x4be803bc) eeInsnReplace(0x230bd8, 0x4be903bc, 0x4bc0421c) eeInsnReplace(0x230bdc, 0x4bc0421c, 0x4be903bc) eeInsnReplace(0x230bf4, 0x4bea03bc, 0x4bc04a5c) eeInsnReplace(0x230bf8, 0x4bc04a5c, 0x4bea03bc) eeInsnReplace(0x230c10, 0x4beb03bc, 0x4bc0529c) eeInsnReplace(0x230c14, 0x4bc0529c, 0x4beb03bc) #Missing textures fix
Fifa 2011[edit | edit source]
CLI
PAL
#Performance & crash fix --ee-cycle-scalar=2.5 #More performance --vu1-mpg-cycles=6000 --vu1-di-bits=0 #Screen roughness fix --gs-fieldswap-delay=254 #Vertical bars upscaling graphical glitch fix --gs-kernel-cl-up="fantavision" #RECVX emu was used.
Fifa Street 2[edit | edit source]
CLI
#Speedhacks --ee-cycle-scalar=3 --vu1-mpg-cycles=2250 --vu1-di-bits=0
NTSC LUA SLUS-21369
apiRequest(0.1) local eeObj = getEEObject() local emuObj = getEmuObject() local patcher = function() --Fix textures. eeObj.WriteMem32(0x00331B64, 0x00000000) eeObj.WriteMem32(0x00337760, 0x00000000) end emuObj.AddVsyncHook(patcher)
Fifa Soccer 2005[edit | edit source]
CLI
#Speedhacks --vu1-mpg-cycles=1250 --vu1-di-bits=0
NTSC LUA SLUS-21051
apiRequest(0.1) local eeObj = getEEObject() local emuObj = getEmuObject() local patcher = function() --Fix textures. eeObj.WriteMem32(0x0041DF48, 0x00000000) eeObj.WriteMem32(0x00414F54, 0x00000000) end emuObj.AddVsyncHook(patcher)
Fire Pro Wrestling Z™®[edit | edit source]
LUA
-- Fire Pro Wrestling Z™® (English v0.5b)
-- boot fix
-- needs graphics fix
-- emu used=aofa
local gpr = require("ee-gpr-alias")
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
-- black screen after spike logo fix
eeObj.WriteMem32(0x001eaa14,0x0) --0x1440fffa >> bne v0, zero, $001eaa00
emuObj.ThrottleMax()
end
emuObj.AddVsyncHook(patcher)
Flatout 2[edit | edit source]
LUA SLUS212.51
apiRequest(0.1) local eeObj = getEEObject() local emuObj = getEmuObject() local patcher = function() ----Disable graphics overlay to fix all slowdown + widescreen code eeObj.WriteMem32(0x3a0498,0x3c013f14) eeObj.WriteMem32(0x2d4b40,0x3c014010) eeObj.WriteMem32(0x22e768,0x3C013F8A) eeObj.WriteMem32(0x2d5B30,0x00000000) end emuObj.AddVsyncHook(patcher)
LUA
SLES540.02
apiRequest(0.1) local eeObj = getEEObject() local emuObj = getEmuObject() local patcher = function() --Disable graphics overlay to fix all slowdown + widescreen code eeObj.WriteMem32(0x3A1F28,0x3c013f14) eeObj.WriteMem32(0x2D6650,0x3c014010) eeObj.WriteMem32(0x234F18,0x3C013F8A) eeObj.WriteMem32(0x2d7640,0x00000000) end emuObj.AddVsyncHook(patcher)
Frogger: Ancient Shadow[edit | edit source]
CLI
SLUS_210.98
#This one might be the only one you need --vu1-no-clamping=0 #use the rest just in case --vu0-no-clamping=0 --cop2-no-clamping=0 #Fixes disappearing models during cutscenes and during gameplay
Galactic Wrestling Featuring Ultimate Muscle[edit | edit source]
NTSC/U CLI
--fpu-no-clamping=0 --vu0-no-clamping=0 --vu1-no-clamping=0 --cop2-no-clamping=0 #fix for missing character models --vu-xgkick-delay=0 #KOF98Emu used
Galarians: Ash[edit | edit source]
CLI
--gs-adaptive-frameskip=1 --vif-ignore-invalid-cmd=0 --vif1-ignore-cmd-ints=1 --vif1-instant-xfer=0 --ee-jit-pagefault-threshold=30 --lopnor-config=1 #found here http://ps3.aldostools.org/ps2config.html --ee-cycle-scalar=2.0
LUA file
-- Galarians Ash NTSC
-- emu used=jakx v2
local gpr = require("ee-gpr-alias")
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
eeObj.WriteMem32(0x001e0100,0x3c013f40) -- 16:9
emuObj.ThrottleMax() -- Drastically reduces loading screens duration on most games
end
emuObj.AddVsyncHook(patcher)
Genji Dawn of the Samurai[edit | edit source]
LUA NTSC (SCUS-97471) Emu = War Of The Monsters
apiRequest(0.1) local iopObj = getIOPObject() local emuObj = getEmuObject() local patcher = function() --Fix the IOP loop (1455FF27) causing a random freeze. iopObj.WriteMem32(0x0006DCCC, 0x0) end emuObj.AddVsyncHook(patcher)
Ghost in the Shell: Stand Alone Complex[edit | edit source]
LUA file
SLES_530.20
apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory. eeInsnReplace(0x10BC88, 0x4BEC682C, 0x48468800) eeInsnReplace(0x10BC8C, 0x4B8D617D, 0x4bec682c) eeInsnReplace(0x10BC90, 0x4A6D617C, 0x4b8d617d) eeInsnReplace(0x10BC98, 0x48468800, 0x4a6d617c) eeInsnReplace(0x12B2CC, 0x4BEC682C, 0x48468800) eeInsnReplace(0x12B2D0, 0x4B8D617D, 0x4bec682c) eeInsnReplace(0x12B2D4, 0x4A6D617C, 0x4b8d617d) eeInsnReplace(0x12B2DC, 0x48468800, 0x4a6d617c) eeInsnReplace(0x12B5F4, 0x4BEC682C, 0x48468800) eeInsnReplace(0x12B5F8, 0x4B8D617D, 0x4bec682c) eeInsnReplace(0x12B5FC, 0x4A6D617C, 0x4b8d617d) eeInsnReplace(0x12B604, 0x48468800, 0x4a6d617c) eeInsnReplace(0x1B0B58, 0x4BEC682C, 0x48468800) eeInsnReplace(0x1B0B5C, 0x4BED617D, 0x4bec682c) eeInsnReplace(0x1B0B68, 0x48468800, 0x4b8d617d) eeInsnReplace(0x1BF5FC, 0x4A0002FF, 0x48588800) eeInsnReplace(0x1BF60C, 0x48588800, 0x4a0002ff) eeInsnReplace(0x1BFBB8, 0x4A0002FF, 0x48588800) eeInsnReplace(0x1BFBC8, 0x48588800, 0x4a0002ff) eeInsnReplace(0x1BF818, 0x4A0002FF, 0x48588800) eeInsnReplace(0x1BF828, 0x48588800, 0x4a0002ff) eeInsnReplace(0x1C017C, 0x4A0002FF, 0x48588800) eeInsnReplace(0x1C018C, 0x48588800, 0x4a0002ff) -- Potential fix for broken interactive door // Rearranging COP2 ops so as to avoid macflag bad stuff
Gran turismo 4[edit | edit source]
CLI
All
Forbidden siren v2 emu only
#Fix incomplete letters in menu --vu0-no-clamping=0 --vu1-no-clamping=0 #Speedhacks --ee-cycle-scalar=1.2 --vu1-di-bits=0 --vu1-mpg-cycles=700 #Fix video anticipated race license --fpu-accurate-muldiv-range=0x00579EB8,0x00579EB8 --fpu-accurate-muldiv-range=0x00579EDC,0x00579EDC --fpu-accurate-muldiv-range=0x0057A008,0x0057A008 --fpu-accurate-muldiv-range=0x0057A030,0x0057A030 #Gfx fix --vif1-instant-xfer=0 --gs-use-mipmap=1 --gs-kernel-cl="mipmap" --gs-kernel-cl-up="mipmap2x2"
CLI
SCPS-17001
Forbidden siren v2 emu only
#Fix incomplete letters in menu --vu0-no-clamping=0 --vu1-no-clamping=0 #Speedhacks --ee-cycle-scalar=1.2 --vu1-di-bits=0 --vu1-mpg-cycles=700 #Fix video anticipated race license --fpu-accurate-muldiv-range=0x00571A92,0x00571A92 --fpu-accurate-muldiv-range=0x00571AB4,0x00571AB4 --fpu-accurate-muldiv-range=0x00571BE0,0x00571BE0 --fpu-accurate-muldiv-range=0x00571C08,0x00571C08 #Gfx fix --vif1-instant-xfer=0 --gs-use-mipmap=1 --gs-kernel-cl="mipmap" --gs-kernel-cl-up="mipmap2x2"
LUA
SCES-51719 only
--gametitle=Gran Turismo 4 [SCES-51719] (E) --emu=siren v2 apiRequest(0.1) local eeObj = getEEObject() local emuObj = getEmuObject() local gsObj = getGsObject() local widescreen = function() -- force progressive scan eeObj.WriteMem32(0x20A57E70,0x00000001) eeObj.WriteMem32(0x201074A0,0x24050003) --8E050004 eeObj.WriteMem32(0x2061868C,0x00000001) --00000000 eeObj.WriteMem32(0x20618694,0x00000000) --00000001 -- Autoboot in 480p eeObj.WriteMem32(0x20436820,0xAE0516B0) --AE0010E8 eeObj.WriteMem16(0x20436910,0x10E8) -- --Field of View -- Screen Width (mm) eeObj.WriteMem32(0x20A567F0,0x446E0000) -- 952mm in my case -- Screen Height (mm) eeObj.WriteMem32(0x20A567F4,0x4405C000) -- 535mm in my case -- Eye Distance to Screen (mm) eeObj.WriteMem32(0x20A567EC,0x44610000) -- 900mm in my case -- Zoom Level (-2.0 to 2.0) eeObj.WriteMem32(0x20A567E8,0x3f800000) -- 1.0, we already have the right FoV Better don't touch this --Aspect Ratio -- Single Screen Aspect Ratios -- 1 x 16:9 3f800000 -- 1 x 21:9 3FAAAAAB -- 1 x 32:9 40000000 -- Triple Screen Aspect Ratios -- 3 x 16:9 40400000 eeObj.WriteMem32(0x20A567F8,0x3f800000) -- 16:9 in my case -- disable colour correction channel shuffle effect eeObj.WriteMem32(0x0033F8B8,0x1000000B) --5440000B -- disable rendering of light sources eeObj.WriteMem32(0x0033F6B0,0x10000031) --10400031 -- Fix shadows eeObj.WriteMem32(0x001D6598,0x00000000) --0C075A6A -- Added GT4 First Preview camera mode (far chase camera) eeObj.WriteMem32(0x2037AFAC,0x84E30000) eeObj.WriteMem16(0x2037AFB0,0x0002) eeObj.WriteMem16(0x2037AFC0,0x0004) eeObj.WriteMem32(0x2037AFD0,0x84E30000) eeObj.WriteMem16(0x2037AFE0,0x0004) eeObj.WriteMem8(0x0037AFF8,0x40) eeObj.WriteMem16(0x2037B00A,0x8442) eeObj.WriteMem32(0x206211E8,0x00010000) eeObj.WriteMem32(0x206211EC,0x00060014) end emuObj.AddVsyncHook(widescreen)
Gran Turismo 4 - Prologue[edit | edit source]
PBPX-95524
LUA
local gpr = require("ee-gpr-alias")
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
--fix IPU DMA
eeObj.WriteMem32(0x166814,0x0)
eeObj.WriteMem32(0x3a36b8,0x0)
eeObj.WriteMem32(0x3a36f4,0x0)
emuObj.ThrottleMax()
end
emuObj.AddVsyncHook(patcher)
Grand Theft Auto: Vice City Stories[edit | edit source]
SLUS_215.90
CLI
--gs-kernel-cl="h2lpool" --gs-kernel-cl-up="h2lpool2x2" #emu used=psychonauts v2
LUA
-- emu used=psychonauts v2
local gpr = require("ee-gpr-alias")
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
--widescreen fix
eeObj.WriteMem32(0x002653d8,0x3c013f9d)
eeObj.WriteMem32(0x002653dc,0x44810000)
eeObj.WriteMem32(0x002653e0,0x46006302)
eeObj.WriteMem32(0x002653e4,0x3c020048)
eeObj.WriteMem32(0x002653e8,0x03e00008)
eeObj.WriteMem32(0x002653ec,0xe44c7484)
eeObj.WriteMem32(0x0037add4,0x0c0994f6)
eeObj.WriteMem32(0x003b9d14,0x0c0994f9)
eeObj.WriteMem32(0x003ba1b0,0x0c0994f9)
eeObj.WriteMem32(0x20370314,0x10820019)--60fps
--eeObj.WriteMem32(0x20447EDC,0x00000000)--no interlace
end
emuObj.AddVsyncHook(patcher)
-- Bug#9174 -
emuObj.SetGsTitleFix( "ignoreSubBuffCov", "reserved", { } )
-- Bug#9240 (Light maps uprender)
-- Copy z-buffer for future use with light maps. psm = SCE_GS_PSMZ24 (49)
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", {tw=9, th=9, psm=49, zmsk=1 } )
-- Apply light maps texMode=2 (bilinear) psm= SCE_GS_PSMCT32 (0)
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", {tw=8, th=8, psm=0, ztst=1, texMode=2 } )
Grand Theft Auto: Liberty City Stories[edit | edit source]
SLUS_214.23 CLI
--gs-kernel-cl="h2lpool" --gs-kernel-cl-up="h2lpool2x2" --gs-h2l-list-opt=1 --gs-h2l-accurate-hash=1 --gs-adaptive-frameskip=1 --vu0-mpg-cycles=600 --vu1-mpg-cycles=600 --ee-cycle-scalar=1.3
Goblin Commander[edit | edit source]
CLI
#Speedhacks --vu1-mpg-cycles=800 --vu1-di-bits=0 #Crash fix --vif1-instant-xfer=0
God Hand[edit | edit source]
CLI
--vu0-no-clamping=0 --vu1-no-clamping=0 --cop2-no-clamping=0 #fix for graphical glitches, specially the missing ground.
God Of War[edit | edit source]
EU CLI
--vu1-di-bits=0 --vu1-mpg-cycles=800 --vu1-jr-cache-policy=newprog --vu1-jalr-cache-policy=newprog --ee-block-validation=PageProt --ee-cycle-scalar=1.2 --ee-hook=0x0017A2DC,AdvanceClock,,45 #Fix for upscaling glitches --gs-kernel-cl-up="up2x2simple" #Fix for audio re-starting --iop-cycle-scalar=0.1 --cdvd-sector-seek-cycles=0.1 --cdvd-sector-read-cycles=4500
US
--gs-adaptive-frameskip=1 --gs-kernel-cl="h2lpool" --gs-kernel-cl-up="h2lpool2x2" --gs-progressive=1 --ee-cycle-scalar=2.0 --vu1-mpg-cycles=2000 --vu1-di-bits=0 #Cdvd timing --iop-cycle-scalar=0.20 --cdvd-sector-read-cycles=4000
LUA file
-- God Of War EU & US
-- 01 Music sound problem: music restarts every time there are many sounds to play
-- 02 Latest emu removes a lot of game lag, anyway the game still suffer of shuttering in the next levels
-- 03 Corrupted green lines around the objects, uprendering problem
-- Slowdowns and performances patched in cli.conf file
apiRequest(0.1)
local emuObj = getEmuObject()
local gsObj = getGsObject()
-- 03 removes corrupted lines around the objects when use --gs-uprender
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=1 } )
-- Disable internal field shift compensation, part of post-process removal feature.
gsObj.SetDeinterlaceShift(0)
God of War 2[edit | edit source]
CLI
*Jakx Emu used* --gs-uprender=2x2 --gs-upscale=edgesmooth --gs-adaptive-frameskip=1 --ee-cycle-scalar=0.62 --iop-cycle-scalar=0.10 --vu1-mpg-cycles=1985 --vu1-jr-cache-policy=newprog --vu1-jalr-cache-policy=newprog --cdvd-sector-read-cycles=4000 --host-audio-latency=1.6 --host-display-mode=16:9
LUA File
-- God of War II
-- ported to PS4
apiRequest(0.1)
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.SetDisplayAspectWide()
gsObj.SetDeinterlaceShift(1)
local patcher = function()
--skip renShadowClient::Prep
--eeObj.WriteMem32(0x001706E0,0x03e00008)
--eeObj.WriteMem32(0x001706E4,0x00000000)
--skip renPrimMaster::RenderStencilLayer
eeObj.WriteMem32(0x0016E720,0x03e00008)
eeObj.WriteMem32(0x0016E724,0x00000000)
--skip fxBloom::Client::Run
eeObj.WriteMem32(0x00126EB0,0x03e00008)
eeObj.WriteMem32(0x00126EB4,0x00000000)
--default to progressive at first run
eeObj.WriteMem32(0x0025a608,0xa04986dc)
eeObj.WriteMem32(0x001E45D4,0x24020001)
--default to ws at first run
eeObj.WriteMem32(0x001E45B4,0x24040001)
eeObj.WriteMem32(0x001E45B8,0x00000000)
eeObj.WriteMem32(0x0027894C,0x3c013fe3)
eeObj.WriteMem32(0x00278950,0x34218e39)
--allow mpeg skip by pressing x
eeObj.WriteMem32(0x001DD8C8,0x00000000)
emuObj.ThrottleMax()
end
emuObj.AddVsyncHook(patcher)
emuObj.SetGsTitleFix( "SetSelfRender", "reserved", { fbmask= 0x00FFFFFF , renderSelf=1 , zmsk=1 , alpha=0 , texMode=1 } )
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=1 } )
Gradius V[edit | edit source]
CLI
--vu1=jit-sync #fix for blackscreen after PS2 Logo.
Grandia III[edit | edit source]
LUA NTSC
apiRequest(0.1) local eeObj = getEEObject() local emuObj = getEmuObject() local patcher = function() eeObj.WriteMem32(0x0014586C, 0x0) end emuObj.AddVsyncHook(patcher)
Harry Potter and The Prisoner of Azkaban[edit | edit source]
CLI Emu: Jakv2
#Fix for graphical issues --gs-use-mipmap=1 --gs-kernel-cl="mipmap" --gs-kernel-cl-up="mipmap2x2" #Fix for random freezing even after the EE memory patch --vif1-instant-xfer=0
LUA SLUS20926
apiRequest(0.1) -- Full credits to Kozarovv local eeObj = getEEObject() local emuObj = getEmuObject() local patcher = function() --clear interrupts in handler eeObj.WriteMem32(0x000fff00, 0x3c191000) eeObj.WriteMem32(0x000fff04, 0x24180c00) eeObj.WriteMem32(0x000fff08, 0x081137e0) eeObj.WriteMem32(0x000fff0c, 0xaf380010) eeObj.WriteMem32(0x0016fb7c, 0x0c03ffc0) end emuObj.AddVsyncHook(patcher)
Haunting Ground[edit | edit source]
CLI
--gs-use-mipmap=1
--gs-kernel-cl-up="mipmap2x2"
--gs-flush-ad-xyz=safeZwrite
LUA
<pre>--Haunting Ground [SLES-52877] (E) --Patches/Codes Hacked By Maori-Jigglypuff [Savas Guercebe]
apiRequest(2.3) local eeObj = getEEObject() local emuObj = getEmuObject() local gpr = require("ee-gpr-alias") local patcher = function()
--Thanks to Maori-Jigglypuff for reversing this game, it looks like another new game
-- Maximum Graphics Booster Control Unit -- [Disable vivid Light Intensity and max out Game Sharpness] eeObj.WriteMem32(0x002392d0,0x27bdffC0) eeObj.WriteMem32(0x002392d4,0x3c050047) eeObj.WriteMem32(0x002392d8,0xFFBF0010) eeObj.WriteMem32(0x002392dc,0x2403ffff) eeObj.WriteMem32(0x002392e0,0x7FB00000) eeObj.WriteMem32(0x002392e4,0x24A5E8C0) eeObj.WriteMem32(0x002392e8,0xAFA30024) eeObj.WriteMem32(0x002392ec,0xAFA50020) eeObj.WriteMem32(0x002392f0,0x3C04017F) eeObj.WriteMem32(0x002392f4,0x24907670) eeObj.WriteMem32(0x002392f8,0x8E050014) eeObj.WriteMem32(0x002392fc,0x8E070018) eeObj.WriteMem32(0x00239300,0x27A40020) eeObj.WriteMem32(0x00239304,0x3C0EFFFF) eeObj.WriteMem32(0x00239308,0x35CFFFFF) eeObj.WriteMem32(0x0023930c,0x10AF0008) eeObj.WriteMem32(0x00239310,0x24020001) eeObj.WriteMem32(0x00239314,0x2C430001) eeObj.WriteMem32(0x00239318,0x3C188024) eeObj.WriteMem32(0x0023931c,0x37182424) eeObj.WriteMem32(0x00239320,0x0303280B) eeObj.WriteMem32(0x00239324,0x3C19C024) eeObj.WriteMem32(0x00239328,0x37392424) eeObj.WriteMem32(0x0023932c,0x0323280A) eeObj.WriteMem32(0x00239330,0x0C08EE0C) eeObj.WriteMem32(0x00239334,0x24060001) eeObj.WriteMem32(0x00239338,0x00000000) eeObj.WriteMem32(0x0023933c,0x00000000) eeObj.WriteMem32(0x00239340,0x00000000) eeObj.WriteMem32(0x00239344,0x00000000) eeObj.WriteMem32(0x00239348,0x00000000) eeObj.WriteMem32(0x0023934c,0x00000000) eeObj.WriteMem32(0x00239350,0x00000000) eeObj.WriteMem32(0x00239354,0x00000000) eeObj.WriteMem32(0x00239358,0xDFBF0010) eeObj.WriteMem32(0x0023935c,0x7BB00000) eeObj.WriteMem32(0x00239360,0x03e00008) eeObj.WriteMem32(0x00239364,0x27BD0040)
-- Disable Blur-Effect eeObj.WriteMem32(0x0019f080,0x100000A8) eeObj.WriteMem32(0x0019f324,0x24043f80) eeObj.WriteMem32(0x0019f328,0x00042c00) eeObj.WriteMem32(0x0019f32c,0x34a60000) eeObj.WriteMem32(0x0019f330,0x44860000) eeObj.WriteMem32(0x0019f334,0x46000064) eeObj.WriteMem32(0x0019f338,0x44070800) eeObj.WriteMem32(0x0019f33c,0x00e01821) eeObj.WriteMem32(0x0019f340,0x03E00008) eeObj.WriteMem32(0x0019f344,0x0003100B)
-- Disable briefly emerging Blur-Effects and the -- constant Blur-Effects on some foreground Objects eeObj.WriteMem32(0x002935f0,0x3c043f80) eeObj.WriteMem32(0x002935f8,0x44840000) eeObj.WriteMem32(0x002935fc,0x46000064) eeObj.WriteMem32(0x00293600,0x44020800) eeObj.WriteMem32(0x00293608,0x0002880b)
-- All Characters real Light enhanced -- and all kind of extra Light disabled eeObj.WriteMem32(0x001dcd94,0x3c024240) eeObj.WriteMem32(0x001dcd98,0x44820000) eeObj.WriteMem32(0x001dcd9c,0x3c033f80) eeObj.WriteMem32(0x001dcda0,0x34630000) eeObj.WriteMem32(0x001dcda4,0xe7c00030) eeObj.WriteMem32(0x001dcda8,0xe7c00034) eeObj.WriteMem32(0x001dcdac,0xe7c00038) eeObj.WriteMem32(0x001dcdb0,0xafc3003c) eeObj.WriteMem32(0x001dc6ac,0x00000000) eeObj.WriteMem32(0x001dc6b0,0x00000000) eeObj.WriteMem32(0x001dc6b4,0x00000000) eeObj.WriteMem32(0x001dc6b8,0x3C024240) eeObj.WriteMem32(0x001dc6bc,0x34420000) eeObj.WriteMem32(0x001dc6c0,0x44820000) eeObj.WriteMem32(0x001dc6c4,0xE6200030) eeObj.WriteMem32(0x001dc6c8,0xE6200034) eeObj.WriteMem32(0x001dc6cc,0xE6200038) eeObj.WriteMem32(0x001dc6d0,0x00000000) eeObj.WriteMem32(0x001dc6d4,0x00000000) eeObj.WriteMem32(0x001dc6d8,0x00000000) eeObj.WriteMem32(0x001dc7f0,0x00000000) eeObj.WriteMem32(0x001dc7f4,0x00000000) eeObj.WriteMem32(0x001dc7f8,0x3C030000) eeObj.WriteMem32(0x001dc7fc,0x34630000) eeObj.WriteMem32(0x001dc800,0x44830000) eeObj.WriteMem32(0x001dc804,0xE6600000) eeObj.WriteMem32(0x001dc808,0xE6600010) eeObj.WriteMem32(0x001dc80c,0xE6600020) eeObj.WriteMem32(0x001dc810,0xe6400000) eeObj.WriteMem32(0x001dc814,0xe6400004) eeObj.WriteMem32(0x001dc818,0xe6400008) eeObj.WriteMem32(0x001dc81c,0x00000000) eeObj.WriteMem32(0x001dc820,0x00000000) eeObj.WriteMem32(0x001dc828,0x00000000) eeObj.WriteMem32(0x001dcb1c,0x3c024240) eeObj.WriteMem32(0x001dcb20,0x44820000) eeObj.WriteMem32(0x001dcb24,0xe7c00030) eeObj.WriteMem32(0x001dcb28,0xe7c00034) eeObj.WriteMem32(0x001dcb2c,0xe7c00038) eeObj.WriteMem32(0x001dca48,0xAE000000) eeObj.WriteMem32(0x001dca60,0xAE000004) eeObj.WriteMem32(0x001dca78,0xAE000008) eeObj.WriteMem32(0x001DC990,0xAC400000) eeObj.WriteMem32(0x001DC994,0xAC400004) eeObj.WriteMem32(0x001DC998,0xAC400008)
-- Fiona never gets into Panic eeObj.WriteMem32(0x00384888,0x3C043F80) eeObj.WriteMem32(0x0038488c,0x34850000) eeObj.WriteMem32(0x00384890,0x44850000) eeObj.WriteMem32(0x00384894,0x46000064) eeObj.WriteMem32(0x00384898,0x44030800) eeObj.WriteMem32(0x0038489c,0x0060100A)
-- No Lantern Light and no vivid Windows eeObj.WriteMem32(0x0023D024,0x24020000)
-- No foggy black Door Shadows and -- no Shadow of Fiona's Body on the Ground eeObj.WriteMem32(0x001db8e8,0x24030000) eeObj.WriteMem32(0x001db8ec,0x2C620001) eeObj.WriteMem32(0x001db8f0,0x0002180B) eeObj.WriteMem32(0x001db8f4,0x14600017)
-- Triangles Brightness on the four Screen Corners Fix eeObj.WriteMem32(0x001EEFB8,0x24020000)
-- No black Borders eeObj.WriteMem32(0x0035e628,0x24030001)
-- LANGUAGE-, Select your language.- and Language-Selector -- Letters correct Brightness Adjustment eeObj.WriteMem32(0x003426D0,0x24020060) eeObj.WriteMem32(0x00342700,0x24020060) eeObj.WriteMem32(0x00342748,0x24020060)
-- Haunting Ground Letter at "Press Start Button"-Screen -- Brightness and Color (Intensifier/Modifier) Adjust eeObj.WriteMem32(0x00340a68,0x3C034300) eeObj.WriteMem32(0x00340ac0,0x3c030044) eeObj.WriteMem32(0x00340ac8,0x34634444)
-- Snake Image at "Press Start Button"-Screen Brightness Adjust eeObj.WriteMem32(0x00340d10,0x3C034284)
-- Capcom Co. , LTD. 2005 ALL RIGHTS RESERVED. and -- "Press Start Button" Letters correct Brightness Adjust eeObj.WriteMem32(0x0038B42c,0x3C034280)
-- Art Gallery correct Brightness Adjust eeObj.WriteMem32(0x0034a708,0x34038050) eeObj.WriteMem32(0x0034a718,0x34675050)
-- Remove translucent black Borders in Art Gallery --eeObj.WriteMem32(0x00349f7c,0x24030000)
-- Entire Game-System RGB highly enhanced -- [Side Effect: Fiona and Hewie not visible on Capcom Logo] eeObj.WriteMem32(0x0019db14,0x3C1880F8) eeObj.WriteMem32(0x0019db34,0x3719F8F8) eeObj.WriteMem32(0x0019db38,0xFC790098)
-- Fix shadow
emuObj.SetGsTitleFix( "ignoreUpShiftTri", "reserved", { fbmask = 0x00FFFFFF } ) end
emuObj.AddVsyncHook(patcher)</pre>
PAL Emu: JakX v2 (PS2 FPKG 0.6)
Hunter the Reckoning Wayward[edit | edit source]
CLI
All Versions
--vu1-no-clamping=0 #fix for graphical glitches.
Ice Age 2 Meltdown[edit | edit source]
LUA file Company logo freeze Fix Use Forbidden Siren v2 Emu
SLUS_213.07
apiRequest(0.1) eeInsnReplace(0x2feb80, 0x27bdff70, 0x27bdfee0) eeInsnReplace(0x2febbc, 0x27bd0090, 0x27bd0120)
SLES_539.84
apiRequest(0.1) eeInsnReplace(0x2ff3f0, 0x27bdff70, 0x27bdfee0) eeInsnReplace(0x2ff42c, 0x27bd0090, 0x27bd0120)
SLPM_664.97
apiRequest(0.1) eeInsnReplace(0x2e91e8, 0x27bdff70, 0x27bdfee0) eeInsnReplace(0x2e9224, 0x27bd0090, 0x27bd0120)
Jackie Chan Adventures[edit | edit source]
CLI
SCES_524.12
#Fix For Jackie chan falling forever near The Ox Talisman Glitch --fpu-accurate-addsub-range=0x22F2B0,0x22F468 #Fixes For Slowdowns --vu1-di-bits=0 --vu1-const-prop=1 --ee-cycle-scalar=1.2 #RECVX
Jaws Unleashed[edit | edit source]
Config #1
#Forbidden siren V2 emu used.
CLI
#Crash fix --vu-xgkick-delay=2 #Speedhacks --vu1-di-bits=0 --ee-cycle-scalar=1.2 --vu1-mpg-cycles=200
Config #2
LUA file
apiRequest(0.1) local eeObj = getEEObject() local emuObj = getEmuObject() local patcher = function() eeObj.WriteMem32(0x006758a8,0x03e42000) eeObj.WriteMem32(0x006758b8,0x800026fc) end emuObj.AddVsyncHook(patcher) #fix for loading screen hang.
Juiced[edit | edit source]
CLI All versions
#Fix for graphical glitches --gs-kernel-cl-up="up2x2simple" #Speedhacks --vu1-di-bits=0 --vu1-mpg-cycles=800 --ee-cycle-scalar=1.2
Jurassic Park - Operation Genesis[edit | edit source]
CLI
#Fix some graphical corruptions --gs-kernel-cl="mipmap" --gs-kernel-cl-up="mipmap2x2" --gs-use-mipmap=1
Killer7[edit | edit source]
CLI
All versions
--vu0-no-clamping=0 --vu1-no-clamping=0 #fix for flickering polygons.
Kim Possible: What's the Switch[edit | edit source]
CLI
PAL
--vu1-mpg-cycles=950 #fix lag during cutscenes
Klonoa 2[edit | edit source]
CLI
All versions
#Fix for Misplaced objects --fpu-no-clamping=1 #Potential fix for Graphics --vu1-no-clamping=0 --vu0-no-clamping=0 #still require fix for texturing problems. Require Rogue Galaxy emu
Kuon[edit | edit source]
CLI
All Versions
--vif1-ignore-cmd-ints=1 --vif-ignore-invalid-cmd=0 --vif1-instant-xfer=0 #Fix the freezing problem in the opening scene of 《阴の章》
NTSC Version ONLY CLI
--vif1-ignore-cmd-ints=1 --vif-ignore-invalid-cmd=0 --vif1-instant-xfer=0 #Sugoroku Fix --fpu-accurate-addsub=0x104124
Time Crisis 2[edit | edit source]
LUA SLUS_202.19
-- Time Crisis 2 SLUS_202.19 -- Widescreen Hack -- fix by Kozarovv -- emu used=jakx v2 apiRequest(0.1) local iopObj = getIOPObject() local emuObj = getEmuObject() local eeObj = getEEObject() local FireWithoutWire = function() --16:9 eeObj.WriteMem32(0x003cd7fc,0x3f400000) --Infinite Credits by InterAct --eeObj.WriteMem32(0x00482410,0x00090009) -- Fix cdvd issue which cause ieee1394 error iopObj.WriteMem32(0xACD40,0) -- Audio desync fix (probably useless, or even harmful on ps4 due to different "cyclerate") -- eeObj.WriteMem32(0x154954,0x10000009) emuObj.ThrottleMax() end emuObj.AddVsyncHook(FireWithoutWire)
Time Crisis 3[edit | edit source]
LUA SLUS_206.45
-- Time Crisis 3 SLUS_206.45 -- Widescreen Hack -- Fix by Kozarovv -- emu used=aofa apiRequest(0.1) local iopObj = getIOPObject() local emuObj = getEmuObject() local eeObj = getEEObject() local FireWithoutWire = function() --16:9 eeObj.WriteMem32(0x0033976c,0x3f400000) --Infinite Credits by InterAct --eeObj.WriteMem32(0x00482410,0x00090009) -- Fix cdvd issue which cause ieee1394 error iopObj.WriteMem32(0xA0840,0) -- Audio desync fix (probably useless, or even harmful on ps4 due to different "cyclerate") -- eeObj.WriteMem32(0x154954,0x10000009) emuObj.ThrottleMax() end emuObj.AddVsyncHook(FireWithoutWire)
Tomb Raider: The Angel of Darkness[edit | edit source]
SLUS20467 Skip the first fmv to prevent freezing! LUA
local gpr = require("ee-gpr-alias")
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
-- Black screen fix
eeObj.WriteMem32(0x00207B24, 0x0) -- 1040FFFA
eeObj.WriteMem32(0x00207B4C, 0x0) -- 1040FFFA
end
emuObj.AddVsyncHook(patcher)
SLES51227
Skip the first fmv to prevent freezing!
LUA
local gpr = require("ee-gpr-alias")
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
-- Black screen fix
eeObj.WriteMem32(0x00209D9C, 0x0) -- 1040FFFA
eeObj.WriteMem32(0x00209DC4, 0x0) -- 1040FFFA
end
emuObj.AddVsyncHook(patcher)
Largo Winch - Empire Under Threat[edit | edit source]
SLES-51093 CLI
--cdvd-sector-read-cycles=5000 #emu used=rotk v1
LUA file
-- Largo Winch - Empire Under Threat (E)(SLES-51093)
-- Widescreen hack by Arapapa
-- Fix by Kozarovv
-- ported to PS4 lua by Stayhye
-- emu used=rotk v1
local gpr = require("ee-gpr-alias")
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local WS2 = function()
--16:9
--Zoom
eeObj.WriteMem32(0x0028029c,0x3c013f2f) --3c013f80
--Y-Fov
eeObj.WriteMem32(0x001abc40,0x08030000)
eeObj.WriteMem32(0x000c0000,0x46070a02)
eeObj.WriteMem32(0x000c0004,0x3c013fa6)
eeObj.WriteMem32(0x000c0008,0x4481f000)
eeObj.WriteMem32(0x000c000c,0x461e4202)
eeObj.WriteMem32(0x000c0010,0x0806af11)
----------------------------
--X-Fov (Needs render fix)
--eeObj.WriteMem32(0x001abb98,0x08030000)
--eeObj.WriteMem32(0x000c0000,0x24420050)
--eeObj.WriteMem32(0x000c0004,0x3c013f40)
--eeObj.WriteMem32(0x000c0008,0x4481f000)
--eeObj.WriteMem32(0x000c000c,0x461e4202)
--eeObj.WriteMem32(0x000c0010,0x0806aee7)
--Start microprograms manually instead of rely on timings.
--0x48c83000 >> ctc2 t0, $vi6
--eeObj.WriteMem32(0x00116d4c,0x4a0000b8)
eeObj.WriteMem32(0x00116e04,0x4a0000b8)
eeObj.WriteMem32(0x00116fe0,0x4a0000b8)
eeObj.WriteMem32(0x00117054,0x4a000938)
eeObj.WriteMem32(0x001170a4,0x4a000938)
eeObj.WriteMem32(0x001172ac,0x4a000938)
eeObj.WriteMem32(0x001172e4,0x4a000938)
eeObj.WriteMem32(0x00117470,0x4a000938)
eeObj.WriteMem32(0x001174ac,0x4a000938)
eeObj.WriteMem32(0x00117540,0x4a000938)
-- No need to loop here, just e-bit and wait for vcallms from EE.
eeObj.WriteMem32(0x00298f70,0x8000033c) -- 500607ff
eeObj.WriteMem32(0x00298f74,0x400002ff)
eeObj.WriteMem32(0x002990a0,0x8000033c)
eeObj.WriteMem32(0x002990a4,0x400002ff)
--Remove xgkick responsible for shadow packet.
eeObj.WriteMem32(0x2B1810,0x8000033c)
--pros. Fix bug, allow upscalling cons. No shadow.
emuObj.ThrottleMax()
end
emuObj.AddVsyncHook(WS2)
The Legacy of Kain - Blood Omen 2[edit | edit source]
LUA
-- Boot fix by Kozarovv --
-- ported to PS4 lua by JSimesen --
-- PS3 mipmapping fix converted --
-- Specal Thanks to: Kozarovv, Stayhye, Scalerize --
-- emu used=KOF2000 --
apiRequest(0.1)
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 (R2 ~= 0 and UP ~= 0) then
emuObj.SetFormattedCard("blood.card")
end
end
emuObj.AddVsyncHook(CheckInputs)
emuObj.SetDisplayAspectWide()
local patcher = function()
eeObj.WriteMem32(0x002f4350,0x10000006)
-- No Widescreen
-- eeObj.WriteMem32(0x00312b08,0x3C013FE3)
-- eeObj.WriteMem32(0x00312b0c,0x34218E38)
-- No Black Borders Fix
-- eeObj.WriteMem32(0x002d443c,0x00000000) -- causes kain to not re-appear after dying/loading
-- No Fix FMV
-- eeObj.WriteMem32(0x002eb280,0x240575e0) --y-position
-- eeObj.WriteMem32(0x002eb298,0x240a1440) --y-scaling
end
emuObj.AddVsyncHook(patcher)
local fix = function()
-- Completely skip ridiculous debugger hook.
eeObj.WriteMem32(0x297DA8, 0x10000006)
eeObj.WriteMem32(0x297DA0, 0x00000000)
end
emuObj.AddEntryPointHook(fix)
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", {psm=0} )
emuObj.SetGsTitleFix( "fetchFromCurrBuff", "reserved", {psm=0} )
Legacy of Kain: Defiance[edit | edit source]
SLUS_207.73 LUA
apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory. -- Texture Flickering fix eeInsnReplace(0x188F50, 0x10600020, 0x10000020)
SLES_521.50
LUA
apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory. -- Texture Flickering fix eeInsnReplace(0x189340, 0x10600020, 0x10000020)
Legacy of Kain: Soul Reaver 2[edit | edit source]
SLES_501.96 Lua
apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory. -- Turn off mipmapping in game engine. Completely fix flickering, and bad texturing. Don't require "gs-kernel-cl=mipmap" -- SLES_501.96 only! eeInsnReplace(0x2A1F80, 0x00000001, 0x00000000)
Mafia[edit | edit source]
CLI
All versions
--host-display-mode=16:9 --framelimit-mode=normal --cdvd-sector-read-cycles=6000 --ee-cycle-scalar=2.1 --vif1-instant-xfer=0 #Fix.
LUA file
SLUS-20671 (NTSC)
-- emu used=kinetica v2
apiRequest(0.1)
local gpr = require("ee-gpr-alias")
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
-- Widescreen + Render fix
eeObj.WriteMem32(0x20FF8D60,0x3f3fffff)
--Rendering distance (Optional)
--eeObj.WriteMem32(0x20FF8DB8,0x44000000)
--avoid hang before molotov party
eeObj.WriteMem32(0x003E2BB4,0x00000000) --00000000
--fix crash in The priest mission
eeObj.WriteMem32(0x0016F04C,0x1000000D) --1000000D
emuObj.ThrottleMax()
end
emuObj.AddVsyncHook(patcher)
Manhunt 2[edit | edit source]
CLI
--ee-block-validation=PageProt --vu1-opt-flags=2 --vu1-jr-cache-policy=newprog --vu1-jalr-cache-policy=newprog --vu1-mpg-cycles=900 --gs-frontend-opt-mode=2 --gs-adaptive-frameskip=1 --gs-optimize-30fps=1 --framelimit-fps=2.0 --ee-cycle-scalar=0.8 --gs-uprender=none # Fixed framerate dip issue using Jak v2 emulator (NOTE: disabling uprender fixes fps drop to some extent and corrupted lines on shadows, however in NTSC Version, there will be a black screen glitch in cutscenes only!!).
LUA file
apiRequest(0.1) -- Fix lags and slowdowns eeInsnReplace(0x370DA8, 0x00000000, 0x24020001) # Minor framerate issue exists in NTSC version. PAL version works fine with no pain.
Max Payne 2[edit | edit source]
CLI
--vu0-no-clamping=0 --vu1-no-clamping=0 --cop2-no-clamping=0 # Fixed green, blue and red graphical issues. The game works better.
Metal Gear Solid 2 - Sons of Liberty[edit | edit source]
CLI All versions Jakv2 used
#Speedhacks --vu1-di-bits=0 #Gamefixes for freeze, Not tested much but once i used it. the freezes were gone --vif-ignore-invalid-cmd=1 --vif1-ignore-cmd-ints=1
Metal Gear Solid 2: Substance[edit | edit source]
CLI All versions Use jakv2. Untested.
#Speedhacks --vu1-di-bits=0 --vu1-mpg-cycles=700 #Gamefixes for freeze, Not tested much but once i used it. the freezes were gone --vif-ignore-invalid-cmd=1 --vif1-ignore-cmd-ints=1
Mojib-Ribbon[edit | edit source]
CLI Works on kof98
--vif-ignore-invalid-cmd=1 --vif1-ignore-cmd-ints=1 --vif1-instant-xfer=0 --vu1=jit-sync
Midnight Club 3: DUB Edition / Remix[edit | edit source]
CLI All versions Note: VU1 clamping will cause the cars to not load properly, please don't use it on this game.
#Speedhacks --ee-cycle-scalar=1.2 --vu1-mpg-cycles=350 --vu1-injection=1 --vu1-di-bits=0 --vu1-const-prop=1
Mortal Kombat - Shaolin Monks[edit | edit source]
Only For NTSC version "SLUS-21087" CLI
--gs-uprender=2x2 --gs-upscale=edgesmooth --gs-adaptive-frameskip=1 --vif1-instant-xfer=0 --ee-cycle-scalar=1.62 --iop-cycle-scalar=0.78 --vu1-di-bits=0 --cdvd-sector-read-cycles=3000 --host-vsync=1 #emu used=jak xv2
LUA
-- Mortal Kombat - Shaolin Monks (SLUS-21087)
-- Widescreen, no interlace + Cheats
-- speed fix alt by mrjaredbeta
-- speed fix combo by Raigho @PCSX2 forums
-- ported to PS4 LUA
-- 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()
local thresholdArea = 600
emuObj.SetDisplayAspectWide()
gsObj.SetDeinterlaceShift(1)
eeInsnReplace(0x23e188, 0x14440011, 0x10000011) -- speed fix alt
local WS = function()
eeObj.Vu1MpgCycles(777)
eeObj.WriteMem32(0x004f4b38,0x3f400000) -- 16:9
eeObj.WriteMem32(0x00322f2c,0x3c013f80) -- black border fix
eeObj.WriteMem32(0x00272210,0x24030256) -- FMV's fix
eeObj.WriteMem32(0x00272498,0x240B0256) -- ||
-- no interlace
local code_check1 = eeObj.ReadMem16(0x67B7C8)
if code_check1 == 0x0001 then
eeObj.WriteMem32(0x2038334C,0xDE020010)
end
local code_check2 = eeObj.ReadMem16(0x67B7C8)
if code_check2 == 0x0003 then
eeObj.WriteMem32(0x2038334C,0x34021400)
end
-----------speed fix combo---------------
--Disable Bloom
eeObj.WriteMem32(0x004F4B68,0x0)
--Disable Fog
eeObj.WriteMem32(0x004F4C08,0x0)
--Disable Light on Characters Skills
eeObj.WriteMem32(0x004F4C98,0x0)
--Disable Characters Skinning
eeObj.WriteMem32(0x004F4C44,0x0)
----------CHEATS-----------------------
--Unlock All Characters in vs. Mode
eeObj.WriteMem32(0x205D8288,0xFFFFFFFF)
--Single PLayer Chars
eeObj.WriteMem32(0x205D82B4,0x00000001)
eeObj.WriteMem32(0x205D82B8,0x00000001)
--Boss Fix code
--eeObj.WriteMem32(0x20298DA8,0x00000000)
--Unlock Mortal Kombat II by MadCatz
eeObj.WriteMem32(0x205D82B0,0x00000001)
--Replace Options With Debug Menu In Game by Combusto Dragon
eeObj.WriteMem32(0x204C6FE0,0x0000019F)
eeObj.WriteMem32(0x204C6FE4,0x001AAE80)
--View Movies To Unlock Them by Code Master
eeObj.WriteMem32(0x201C1DD4,0x00431025)
eeObj.WriteMem32(0x201C1DD8,0xAC820000)
eeObj.WriteMem32(0x201C1DE0,0x24020001)
--View Arena Art To Unlock Them by Code Master
eeObj.WriteMem32(0x201C1E2C,0x00431025)
eeObj.WriteMem32(0x201C1E30,0xAC820000)
eeObj.WriteMem32(0x201C1E38,0x24020001)
--View Concept Art To Unlock Them by Code Master
eeObj.WriteMem32(0x201C1E84,0x00431025)
eeObj.WriteMem32(0x201C1E88,0xAC820000)
eeObj.WriteMem32(0x201C1E90,0x24020001)
--View Photos To Unlock Them by Code Master
eeObj.WriteMem32(0x201C1EDC,0x00431025)
eeObj.WriteMem32(0x201C1EE0,0xAC820000)
eeObj.WriteMem32(0x201C1EE8,0x24020001)
----------------------
emuObj.ThrottleMax()
end
emuObj.AddVsyncHook(WS)
MTV's Celebrity Deathmatch[edit | edit source]
CLI
All versions
#Disables MTVU --vu1=jit-sync #Fix for black-screen after ps2 logo.
Musashi Samurai Legend[edit | edit source]
LUA
NTSC
apiRequest(0.1)
local gpr = require("ee-gpr-alias")
local emuObj = getEmuObject()
local eeObj = getEEObject()
local patcher = function()
eeObj.WriteMem32(0x203DD108,0x3F19999A) --3F4CCCCD
--SPS FiX
eeObj.WriteMem32(0x001476A4,0x10000047) --10600047
eeObj.WriteMem32(0x002E8D78,0x8000033C) --80005EFC
end
emuObj.AddVsyncHook(patcher)
Need for Speed Carbon[edit | edit source]
CLI
SLES_543.22
#Fix loading freeze --fpu-accurate-range=0x162800,0x162900 --ee-cycle-scalar=1.35 --vu1-mpg-cycles=900 --vu1-const-prop=1 --vu1-di-bits=0
Need For Speed: Carbon Collector Edition[edit | edit source]
CLI "SLUS-21494_cli.conf"
--fpu-accurate-range=0x162800,0x162900
--vu1-mpg-cycles=500LUA
-- Need for Speed - Carbon (SLUS-21494)
-- -> use KOF2000 emu // PS4 Pro optimized (boost mode enabled)
-- MD5: 4F325C12F0D07E5C138CD779E0EF2F94
local gpr = require("ee-gpr-alias")
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
eeObj.WriteMem32(0x00263ab0,0x00000000) --overlay/uprender/speed fix
-- force 480p/progressive
eeObj.WriteMem32(0x005408bc,0x3c050000)
eeObj.WriteMem32(0x005408c4,0x3c060050)
eeObj.WriteMem32(0x005408cc,0x3c070001)
end
emuObj.AddVsyncHook(patcher)
emuObj.SetDisplayAspectWide() -- 16:9
-- Graphic improvement: removes corrupted lines on screen with uprender on for PAL/NTSC-U/NTSC-J version
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=1 } ) --texMode=1Need for Speed Underground 2[edit | edit source]
LUA
SLUS-21065
apiRequest(0.1) local eeObj = getEEObject() local emuObj = getEmuObject() local patcher = function() --Speed Fix eeObj.WriteMem32(0x001D77C8,0x100000B4) end emuObj.AddVsyncHook(patcher)
NBA Street Vol.2[edit | edit source]
CLI
All versions
#Fix for Graphical glitches --vu1-no-clamping=0 #Jakv2 emu Used
Okami[edit | edit source]
CLI
All versions
#Fix graphical glitches --gs-force-bilinear=1 --gs-kernel-cl-up="up2x2simple" #Fixes for slowdowns --vu1-di-bits=0 --vu1-mpg-cycles=230 #RECVX EMU Fixes Crash Near Orochi boss fight
Oni[edit | edit source]
LUA
SLES_501.34 SLES_501.76 SLES_501.77 SLES_501.78 SLES_501.79
apiRequest(0.1) -- Fix for hang at loading screen eeInsnReplace(0x1CEF7C, 0x4100FFFF, 0x00000000)
LUA
SLUS_200.64
apiRequest(0.1) -- Fix for hang at loading screen eeInsnReplace(0x1CF3CC, 0x4100FFFF, 0x00000000)
Pac Man World 3[edit | edit source]
CLI
SLES-53959
--cdvd-sector-read-cycles=2000 #Fix for fmvs showing black screen with subtitles --fpu-accurate-range=0x3f3068,0x3f32bc #emu used=fatal fury battle archives vol2
LUA
SLES-53959
-- Pac-Man World 3 (PAL-M5)(SLES-53959)
-- Widescreen Hack by ICUP321
-- emu used=fatal fury battle archives vol2
-- Ported to ps4 by Stayhye
local gpr = require("ee-gpr-alias")
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
--Widescreen hack 16:9
eeObj.WriteMem32(0x003f30c4,0x3c013f40)
eeObj.WriteMem32(0x003f30c8,0x4481f000)
eeObj.WriteMem32(0x003f30d0,0x461eb582)
--Render fix
eeObj.WriteMem32(0x00439184,0x3c013f2b)
emuObj.ThrottleMax()
end
emuObj.AddVsyncHook(patcher)
Pac-Man World Rally[edit | edit source]
CLI
SLUS-21328
Emu = Jakv2
#Fix moving text --gs-force-bilinear=1 #Fix missing graphics --vu1-no-clamping=0 #Fix crashes --vu1-jr-cache-policy=newprog
Phantasy Star Universe[edit | edit source]
CLI
All Versions
#Fix for flickering textures and geometry --gs-use-clut-merge=1 --gs-kernel-cl="clutmerge" --gs-kernel-cl-up="clutmerge2x2" --gs-adaptive-frameskip=1 --cdvd-sector-read-cycles=4000 #fix for Enemies dont move bug --fpu-accurate-mul-fast=1 --fpu-accurate-range=0x48cce0,0x49cce0 #emu used=jakx v2
PK - Out of the Shadows[edit | edit source]
NTSC LUA
-- Disney's PK - Out of the Shadows
-- boot fix by kozarovv
-- Widescreen Hack by Arapapa
-- emu used=rotk v1
local gpr = require("ee-gpr-alias")
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local WS2 = function()
--16:9
eeObj.WriteMem32(0x003324b0,0xbf400000) --0x3f800000
--0x48c83000 >> ctc2 t0, $vi6
eeObj.WriteMem32(0x001dfa8c,0x4a0000b8)
eeObj.WriteMem32(0x001dfc24,0x4a0000b8)
eeObj.WriteMem32(0x001dfcac,0x4a0000b8)
eeObj.WriteMem32(0x001dfd00,0x4a000938)
eeObj.WriteMem32(0x001dffdc,0x4a000938)
eeObj.WriteMem32(0x001e003c,0x4a000938)
eeObj.WriteMem32(0x001e022c,0x4a000938)
eeObj.WriteMem32(0x001e028c,0x4a000938)
eeObj.WriteMem32(0x001e0348,0x4a000938)
-- No need to loop here, just e-bit and wait for vcallms from EE.
eeObj.WriteMem32(0x00324a90,0x8000033c) -- 500607ff
eeObj.WriteMem32(0x00324a94,0x400002ff)
eeObj.WriteMem32(0x00324bc0,0x8000033c)
eeObj.WriteMem32(0x00324bc4,0x400002ff)
-- skip videos
--eeObj.WriteMem32(0x0010ae80,0x24020001)
emuObj.ThrottleMax()
end
emuObj.AddVsyncHook(WS2)
-- Fix vertical lines
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=1 } )
Powerpuff Girls - Relish Rampage[edit | edit source]
All versions
CLI
#Fixes hangs in certain locations like building under construction. --fpu-no-clamping=1
Psi-Ops: The Mindgate Conspiracy[edit | edit source]
CLI
--ee-cycle-scalar=1.6 --vu1-mpg-cycles=1000 # Fixed low framerate. Jakv2
Ratchet 4 - Deadlocked[edit | edit source]
CLI
Emu = War of the Monsters
SCUS-97465
#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.38 #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,,397
LUA
SCUS-97465
Author:Scalerize
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[edit | edit source]
CLI
Emu = War of the Monsters
Author: Scalerize
SCUS-97353
#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.38 #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
Author: Scalerize LUA
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[edit | edit source]
CLI Emu = War of the Monsters SCUS-97268
#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.38 #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
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)
CLI
Emu = War of the Monsters
SCES-51607
#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.38 #Fix VU0 sync (raise or lower it as convenient. It is the fix that causes the slowdowns) --ee-hook=0x000FF918,AdvanceClock,,386
LUA
SCES-51607
apiRequest(0.1) local eeObj = getEEObject() local emuObj = getEmuObject() local patcher = function() --Initial jmp eeObj.WriteMem32(0x0011B1AC, 0x0C03FE80) --Check if patcher's needed eeObj.WriteMem32(0x000FFA00, 0x3C1B000F) eeObj.WriteMem32(0x000FFA04, 0x377BFA00) eeObj.WriteMem32(0x000FFA08, 0xAF62FFFC) eeObj.WriteMem32(0x000FFA0C, 0xAF63FFF8) eeObj.WriteMem32(0x000FFA10, 0xAF64FFF4) eeObj.WriteMem32(0x000FFA14, 0x3C020C03) eeObj.WriteMem32(0x000FFA18, 0x3442FE53) eeObj.WriteMem32(0x000FFA1C, 0x8F63FFE8) eeObj.WriteMem32(0x000FFA20, 0x246305E0) eeObj.WriteMem32(0x000FFA24, 0x8C630000) eeObj.WriteMem32(0x000FFA28, 0x1062FFDF) --Create variable and start the patcher eeObj.WriteMem32(0x000FFA2C, 0x3C027829) eeObj.WriteMem32(0x000FFA30, 0x34420010) eeObj.WriteMem32(0x000FFA34, 0x3C030010) eeObj.WriteMem32(0x000FFA38, 0x8C640000) eeObj.WriteMem32(0x000FFA3C, 0x10820003) eeObj.WriteMem32(0x000FFA44, 0x24630004) eeObj.WriteMem32(0x000FFA48, 0x1000FFFB) eeObj.WriteMem32(0x000FFA50, 0xAF63FFE8) --VI01 patcher eeObj.WriteMem32(0x000FFA54, 0x3C020C03) eeObj.WriteMem32(0x000FFA58, 0x3442FE50) eeObj.WriteMem32(0x000FFA5C, 0xAC620158) eeObj.WriteMem32(0x000FFA60, 0xAC620298) eeObj.WriteMem32(0x000FFA64, 0xAC6203F0) eeObj.WriteMem32(0x000FFA68, 0xAC620530) eeObj.WriteMem32(0x000FFA6C, 0xAC620688) eeObj.WriteMem32(0x000FFA70, 0xAC6207C8) --VI02 patcher eeObj.WriteMem32(0x000FFA74, 0x3C020C03) eeObj.WriteMem32(0x000FFA78, 0x3442FE53) eeObj.WriteMem32(0x000FFA7C, 0xAC6201F8) eeObj.WriteMem32(0x000FFA80, 0xAC620348) eeObj.WriteMem32(0x000FFA84, 0xAC620490) eeObj.WriteMem32(0x000FFA88, 0xAC6205E0) --Ret eeObj.WriteMem32(0x000FF9A8, 0x8F62FFFC) eeObj.WriteMem32(0x000FF9AC, 0x8F63FFF8) eeObj.WriteMem32(0x000FF9B0, 0x8F64FFF4) eeObj.WriteMem32(0x000FF9BC, 0x241B0000) eeObj.WriteMem32(0x000FF9C0, 0x08047D78) --B to ret eeObj.WriteMem32(0x000FFABC, 0x1000FFBA) -- CTC2 cmnds eeObj.WriteMem32(0x000FF928, 0x03E00008) eeObj.WriteMem32(0x000FF92C, 0x241F0000) eeObj.WriteMem32(0x000FF940, 0x48C00800) eeObj.WriteMem32(0x000FF944, 0x1000FFF4) eeObj.WriteMem32(0x000FF94C, 0x48C01000) eeObj.WriteMem32(0x000FF950, 0x1000FFF1) end emuObj.AddVsyncHook(patcher)
Ratchet & Clank 1[edit | edit source]
CLI Emu = War of the Monsters SCUS-97199
#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.38 #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
SCUS-97199
Author:Scalerize
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)
Ratchet And Clank Size Matters[edit | edit source]
CLI
All versions
#Partial fix for audio looping at first level --iop-cycle-scalar=0.38
Rayman 3: Hoodlum havoc[edit | edit source]
CLI
SLUS_206.01
Note: Use Kof2000 to prevent missing 3d models
#Gamefix, change 1000 into 500 if you encounter gfx bugs --ee-hook=0x0028A578,AdvanceClock,,1000 #Necessary clamping for better timing --vu1-no-clamping=0 --vu0-no-clamping=0 #Animation timing fix --ee-hook=0x0028A278,AdvanceClock,,500 --ee-hook=0x0028A5D4,AdvanceClock,,500
LUA
-- Rayman 3 Hoodlum Havoc (NTSC)
-- emu used=KOF 2000
apiRequest(0.1)
local gpr = require("ee-gpr-alias")
local eeObj = getEEObject()
local emuObj = getEmuObject()
-- Fix for thin vertical lines that separate screen picture, misallignment/tearing of screen during upscaling
-- psm= SCE_GS_PSMCT32 (0)
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", {psm=0} )
emuObj.SetGsTitleFix( "fetchFromCurrBuff", "reserved", {psm=0} )
local patcher = function()
--Max Score/Unlock Bonuses
eeObj.WriteMem32(0x211E7744,0x000F423F)
end
emuObj.AddVsyncHook(patcher)
SLES-51222 CLI
--gs-kernel-cl-up="up2x2skipinterp" --vu0-no-clamping=0 --vu1-no-clamping=0 --ee-hook=0x0028A408,AdvanceClock,,500 --ee-hook=0x0028A588,AdvanceClock,,500 --ee-hook=0x0028A584,AdvanceClock,,500 --ee-hook=0x0028A57C,AdvanceClock,,500 --ee-hook=0x0028A558,AdvanceClock,,500 --ee-hook=0x0028A554,AdvanceClock,,500 --ee-hook=0x0028A54C,AdvanceClock,,500 --ee-hook=0x0028A528,AdvanceClock,,500 --ee-hook=0x0028A524,AdvanceClock,,500 --ee-hook=0x0028A51C,AdvanceClock,,500 --ee-hook=0x0028A4F8,AdvanceClock,,500 --ee-hook=0x0028A4F4,AdvanceClock,,500 --ee-hook=0x0028A4EC,AdvanceClock,,500 --ee-hook=0x0028A4A8,AdvanceClock,,500 --ee-hook=0x0028A49C,AdvanceClock,,500 --ee-hook=0x0028A494,AdvanceClock,,500 --ee-hook=0x0028A48C,AdvanceClock,,500 --ee-hook=0x0028A47C,AdvanceClock,,500 --ee-hook=0x0028A478,AdvanceClock,,500 --ee-hook=0x0028A474,AdvanceClock,,500 --ee-hook=0x0028A230,AdvanceClock,,500 --ee-hook=0x0028A228,AdvanceClock,,500 --ee-hook=0x0028A220,AdvanceClock,,500 --ee-hook=0x0028A218,AdvanceClock,,500 --ee-hook=0x0028A210,AdvanceClock,,500 --ee-hook=0x0028A20C,AdvanceClock,,500 --ee-hook=0x0028A208,AdvanceClock,,500 --ee-hook=0x0028A1FC,AdvanceClock,,500 --ee-hook=0x0028A194,AdvanceClock,,500 --ee-hook=0x0028A160,AdvanceClock,,500 --ee-hook=0x0028A130,AdvanceClock,,500 --ee-hook=0x0028A124,AdvanceClock,,500 --ee-hook=0x0028A120,AdvanceClock,,500 --ee-hook=0x0028A118,AdvanceClock,,500 --ee-hook=0x0028A108,AdvanceClock,,500 --ee-hook=0x0028A0AC,AdvanceClock,,500 --ee-hook=0x0028A098,AdvanceClock,,500 --ee-hook=0x0028A084,AdvanceClock,,500 --ee-hook=0x0028A080,AdvanceClock,,500 --ee-hook=0x0028A078,AdvanceClock,,500 --ee-hook=0x00289F6C,AdvanceClock,,500 --ee-hook=0x00289F68,AdvanceClock,,500 --ee-hook=0x00289F64,AdvanceClock,,500 --ee-hook=0x00289F54,AdvanceClock,,500 --ee-hook=0x00289F4C,AdvanceClock,,500 --ee-hook=0x00289F30,AdvanceClock,,500
Rayman M (Arena)[edit | edit source]
CLI
SLUS-20272
#Fix sps --vu0-no-clamping=0 --vu1-no-clamping=0
LUA SLUS-20272
apiRequest(0.1) local eeObj = getEEObject() local emuObj = getEmuObject() local patcher = function() --Fix VU0 timing. eeObj.WriteMem32(0x000FFA04, 0x240801B0) eeObj.WriteMem32(0x000FFA24, 0x240801B0) eeObj.WriteMem32(0x000FFA44, 0x240801B0) eeObj.WriteMem32(0x000FFA64, 0x240801B0) eeObj.WriteMem32(0x001DEB94, 0x0803FE80) eeObj.WriteMem32(0x001DEC54, 0x0803FE88) eeObj.WriteMem32(0x001DF078, 0x0803FE90) eeObj.WriteMem32(0x001DF07C, 0x00000000) eeObj.WriteMem32(0x001DF0B4, 0x0803FE98) eeObj.WriteMem32(0x000FFA00, 0x48C83000) eeObj.WriteMem32(0x000FFA08, 0x2508FFFF) eeObj.WriteMem32(0x000FFA0C, 0x1500FFFE) eeObj.WriteMem32(0x000FFA14, 0x08077AE7) eeObj.WriteMem32(0x000FFA20, 0x48C83000) eeObj.WriteMem32(0x000FFA28, 0x2508FFFF) eeObj.WriteMem32(0x000FFA2C, 0x1500FFFE) eeObj.WriteMem32(0x000FFA34, 0x08077B16) eeObj.WriteMem32(0x000FFA40, 0x48C83000) eeObj.WriteMem32(0x000FFA48, 0x2508FFFF) eeObj.WriteMem32(0x000FFA4C, 0x1500FFFE) eeObj.WriteMem32(0x000FFA54, 0x08077C20) eeObj.WriteMem32(0x000FFA58, 0x0000000F) eeObj.WriteMem32(0x000FFA60, 0x48C83000) eeObj.WriteMem32(0x000FFA68, 0x2508FFFF) eeObj.WriteMem32(0x000FFA6C, 0x1500FFFE) eeObj.WriteMem32(0x000FFA74, 0x08077C2F) end emuObj.AddVsyncHook(patcher)
SLES-50457 CLI
--vu1-no-clamping=0 --vu0-no-clamping=0 --vif1-instant-xfer=0 --mtap1=always
LUA
SLES-50457
-- Rayman M (SLES-50457)
-- Fix by Kozarovv
-- ported to PS4 lua by Stayhye
-- emu used=rotk v1
--[[ useful information
This fix should work for other games using this engine. Like Largo Winch, and Disney's PK - Out of the Shadows.
....and what's more important that patch is by kozarovv
--]]
local gpr = require("ee-gpr-alias")
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local Fix = function()
--Start microprograms manually instead of rely on timings.
eeObj.WriteMem32(0x001c997c,0x4a0000b8)
eeObj.WriteMem32(0x001c9b64,0x4a0000b8)
eeObj.WriteMem32(0x001c9bd4,0x4a0000b8)
eeObj.WriteMem32(0x001c9c24,0x4a000938)
eeObj.WriteMem32(0x001c9e7c,0x4a000938)
eeObj.WriteMem32(0x001c9ec4,0x4a000938)
eeObj.WriteMem32(0x001ca044,0x4a000938)
eeObj.WriteMem32(0x001ca08c,0x4a000938)
-- No need to loop here, just e-bit and wait for vcallms from EE.
eeObj.WriteMem32(0x002fc910,0x8000033c)
eeObj.WriteMem32(0x002fc914,0x400002ff)
eeObj.WriteMem32(0x002fca40,0x8000033c)
eeObj.WriteMem32(0x002fca44,0x400002ff)
end
emuObj.AddVsyncHook(Fix)
NTSC (Arena)
-- Rayman Arena
-- fix method for game engine by kozarovv
-- ported to PS4
-- emu used=jakx v2
local gpr = require("ee-gpr-alias")
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
--Start microprograms manually instead of rely on timings.
--0x48c83000 >> ctc2 t0, $vi6
--eeObj.WriteMem32(0x001de8e4,0x4a0000b8)
eeObj.WriteMem32(0x001de9b0,0x4a0000b8)
eeObj.WriteMem32(0x001deb94,0x4a0000b8)
eeObj.WriteMem32(0x001dec00,0x4a000938)
eeObj.WriteMem32(0x001dec54,0x4a000938)
eeObj.WriteMem32(0x001deea0,0x4a000938)
eeObj.WriteMem32(0x001deedc,0x4a000938)
eeObj.WriteMem32(0x001df078,0x4a000938)
eeObj.WriteMem32(0x001df0b4,0x4a000938)
eeObj.WriteMem32(0x001df154,0x4a000938)
-- No need to loop here, just e-bit and wait for vcallms from EE.
eeObj.WriteMem32(0x0031ba90,0x8000033c) -- 500607ff
eeObj.WriteMem32(0x0031ba94,0x400002ff)
eeObj.WriteMem32(0x0031bbc0,0x8000033c)
eeObj.WriteMem32(0x0031bbc4,0x400002ff)
emuObj.ThrottleMax()
end
emuObj.AddVsyncHook(patcher)
R-Racing Revolution[edit | edit source]
LUA
SLUS_207.21
apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory. -- Divide $v0 value by 8 before copying it to CMSAR0 -- sra $v0, 3, this time we are losing one nop on cop2. Can be important. eeInsnReplace(0x2DDB4C, 0x48C2D801, 0x000210C3) eeInsnReplace(0x2DDB50, 0x4A0002FF, 0x48C2D801) eeInsnReplace(0x2DDBC4, 0x48C2D801, 0x000210C3) eeInsnReplace(0x2DDBC8, 0x4A0002FF, 0x48C2D801) eeInsnReplace(0x313C30, 0x48C2D801, 0x000210C3) eeInsnReplace(0x313C34, 0x4A0002FF, 0x48C2D801) eeInsnReplace(0x3144FC, 0x48C2D801, 0x000210C3) eeInsnReplace(0x314500, 0x4A0002FF, 0x48C2D801) eeInsnReplace(0x314E04, 0x48C2D801, 0x000210C3) eeInsnReplace(0x314E08, 0x4A0002FF, 0x48C2D801) eeInsnReplace(0x31570C, 0x48C2D801, 0x000210C3) eeInsnReplace(0x315710, 0x4A0002FF, 0x48C2D801) eeInsnReplace(0x315FFC, 0x48C2D801, 0x000210C3) eeInsnReplace(0x316000, 0x4A0002FF, 0x48C2D801) eeInsnReplace(0x3168EC, 0x48C2D801, 0x000210C3) eeInsnReplace(0x3168F0, 0x4A0002FF, 0x48C2D801) eeInsnReplace(0x31724C, 0x48C2D801, 0x000210C3) eeInsnReplace(0x317250, 0x4A0002FF, 0x48C2D801) eeInsnReplace(0x317B74, 0x48C2D801, 0x000210C3) eeInsnReplace(0x317B78, 0x4A0002FF, 0x48C2D801) eeInsnReplace(0x318430, 0x48C2D801, 0x000210C3) eeInsnReplace(0x318434, 0x4A0002FF, 0x48C2D801) eeInsnReplace(0x318D54, 0x48C2D801, 0x000210C3) eeInsnReplace(0x318D58, 0x4A0002FF, 0x48C2D801) eeInsnReplace(0x319AA0, 0x48C2D801, 0x000210C3) eeInsnReplace(0x319AA4, 0x4A0002FF, 0x48C2D801) eeInsnReplace(0x31A8D4, 0x48C2D801, 0x000210C3) eeInsnReplace(0x31A8D8, 0x4A0002FF, 0x48C2D801) eeInsnReplace(0x31B7A4, 0x48C2D801, 0x000210C3) eeInsnReplace(0x31B7A8, 0x4A0002FF, 0x48C2D801) -- fix graphical issues
Radiata Stories[edit | edit source]
CLI
All versions
--vu-hack-triace=1 --gs-use-mipmap=1 --gs-kernel-cl="mipmap" --gs-kernel-cl-up="mipmap2x2" #Mandatory triace fix for boot crash and fix for uncommon glitches like outlines in Jack's face during specific cutscenes.
Raw Danger! / Zettai Zetsumei Toshi 2 - Itetsuita Kiokutachi[edit | edit source]
SLUS_215.01 LUA
apiRequest(0.1) -- SLUS-21501 speedhack eeInsnReplace(0x11e104, 0x0c066a5c, 0x00000000) eeInsnReplace(0x11e10c, 0x0c08a8ec, 0x00000000)
SLES_545.87
LUA
apiRequest(0.1) -- SLES-54587 speedhack eeInsnReplace(0x11e0f4, 0x0c066a40, 0x00000000) eeInsnReplace(0x11e0fc, 0x0c08a8d0, 0x00000000)
SLPS_256.06 LUA
apiRequest(0.1) -- SLPS-25606 speedhack eeInsnReplace(0x11e094, 0x0c066804, 0x00000000) eeInsnReplace(0x11e09c, 0x0c08a654, 0x00000000)
Rygar: The Legendary Adventure[edit | edit source]
CLI
SLUS_204.71
--fpu-accurate-range=0x147CC0,0x147EA0 #Fix for freeze after leaving the first area.
SCAJ_200.16
--fpu-accurate-range=0x1485C4,0x148724 #Fix
Samurai Shodown VI[edit | edit source]
CLI
All versions
--gs-upscale=point --gs-ignore-dirty-page-border=1 --gs-kernel-cl="h2lpool" --gs-kernel-cl-up="h2lpool2x2" --gs-h2l-list-opt=1 --gs-h2l-accurate-hash=1 #same as Anthology, which VI is a patched-out section of; substantial slowdown during combat has been mitigated.
Samurai Warriors 2 Xtreme Legends[edit | edit source]
CLI Jakv2 All versions
--mtap1=always
LUA
Jakv2
NTSC
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
--Load merge menus
eeObj.WriteMem32(0x00397E80, 0x00000001)
--Merge's Data
eeObj.WriteMem32(0x005C1E28, 0x65300000)
eeObj.WriteMem32(0x005C1E58, 0x65300000)
eeObj.WriteMem32(0x005EC270, 0x05030100)
eeObj.WriteMem32(0x005EC2A0, 0x04030100)
eeObj.WriteMem32(0x005EC2D0, 0x04030100)
eeObj.WriteMem32(0x005EC300, 0x05030100)
eeObj.WriteMem32(0x00614320, 0x05030100)
eeObj.WriteMem32(0x00614350, 0x05030100)
eeObj.WriteMem32(0x00614380, 0x05030100)
eeObj.WriteMem32(0x006143B0, 0x04030100)
eeObj.WriteMem32(0x00584DB0, 0x00000010)
eeObj.WriteMem32(0x00584DB4, 0x06010000)
eeObj.WriteMem32(0x00584DC0, 0x00000010)
eeObj.WriteMem32(0x00584DC4, 0x06010000)
eeObj.WriteMem32(0x00584DD0, 0x00000010)
eeObj.WriteMem32(0x00584DD4, 0x06010000)
eeObj.WriteMem32(0x00584DD8, 0x00000010)
eeObj.WriteMem32(0x00584DDC, 0x06010000)
eeObj.WriteMem32(0x00584DE0, 0x00000010)
eeObj.WriteMem32(0x00584DE4, 0x06010000)
eeObj.WriteMem32(0x00584DE8, 0x00000010)
eeObj.WriteMem32(0x00584DEC, 0x06010000)
eeObj.WriteMem32(0x00584DF0, 0x00000010)
eeObj.WriteMem32(0x00584DF4, 0x06010000)
eeObj.WriteMem32(0x00584E00, 0x00000010)
eeObj.WriteMem32(0x00584E04, 0x06010000)
eeObj.WriteMem32(0x00584E10, 0x00000010)
eeObj.WriteMem32(0x00584E14, 0x06010000)
eeObj.WriteMem32(0x00584E20, 0x00000010)
eeObj.WriteMem32(0x00584E24, 0x06010000)
eeObj.WriteMem32(0x00584E28, 0x00000010)
eeObj.WriteMem32(0x00584E2C, 0x06010000)
eeObj.WriteMem32(0x00584E30, 0x00000010)
eeObj.WriteMem32(0x00584E34, 0x06010000)
eeObj.WriteMem32(0x00584E38, 0x00000010)
eeObj.WriteMem32(0x00584E3C, 0x06010000)
eeObj.WriteMem32(0x00584E40, 0x00000010)
eeObj.WriteMem32(0x00584E44, 0x06010000)
eeObj.WriteMem32(0x00584E50, 0x00000010)
eeObj.WriteMem32(0x00584E54, 0x06010000)
eeObj.WriteMem32(0x00584E60, 0x00000010)
eeObj.WriteMem32(0x00584E64, 0x06010000)
eeObj.WriteMem32(0x00584E70, 0x00000010)
eeObj.WriteMem32(0x00584E74, 0x06010000)
eeObj.WriteMem32(0x00584E80, 0x00000010)
eeObj.WriteMem32(0x00584E84, 0x06010000)
eeObj.WriteMem32(0x00584E90, 0x00000010)
eeObj.WriteMem32(0x00584E94, 0x06010000)
eeObj.WriteMem32(0x00584Ea0, 0x00000010)
eeObj.WriteMem32(0x00584Ea4, 0x06010000)
eeObj.WriteMem32(0x00584Ea8, 0x00000010)
eeObj.WriteMem32(0x00584Eac, 0x06010000)
eeObj.WriteMem32(0x00584Eb0, 0x00000010)
eeObj.WriteMem32(0x00584Eb4, 0x06010000)
eeObj.WriteMem32(0x00584Eb8, 0x00000010)
eeObj.WriteMem32(0x00584Ebc, 0x06010000)
eeObj.WriteMem32(0x00584EC0, 0x00000010)
eeObj.WriteMem32(0x00584EC4, 0x06010000)
eeObj.WriteMem32(0x00584EC8, 0x00000010)
eeObj.WriteMem32(0x00584ECC, 0x06010000)
eeObj.WriteMem32(0x00584ED0, 0x00000010)
eeObj.WriteMem32(0x00584ED4, 0x06010000)
eeObj.WriteMem32(0x00584EE0, 0x00000010)
eeObj.WriteMem32(0x00584EE4, 0x06010000)
eeObj.WriteMem32(0x00584EF0, 0x00000010)
eeObj.WriteMem32(0x00584EF4, 0x06010000)
eeObj.WriteMem32(0x00584EF8, 0x00000010)
eeObj.WriteMem32(0x00584EFC, 0x06010000)
--Sugoroku glitch patch
eeObj.WriteMem32(0x00102230,0x00000000)
--No interlacing
eeObj.WriteMem32(0x00102298,0x30420000)
--Widescreen patch
eeObj.WriteMem32(0x00181BF8, 0x3C023F19)
eeObj.WriteMem32(0x00181C00, 0x3442FFFF)
eeObj.WriteMem32(0x000FFA00, 0x3C023EB3)
eeObj.WriteMem32(0x000FFA04, 0x34423333)
eeObj.WriteMem32(0x000FFA08, 0x44820000)
eeObj.WriteMem32(0x000FFA0C, 0x08060708)
eeObj.WriteMem32(0x00181C1C, 0x0803FE80)
eeObj.WriteMem32(0x00181DB8, 0x3C033F19)
eeObj.WriteMem32(0x00181DC0, 0x3463999A)
eeObj.WriteMem32(0x00181DBC, 0x3C023EB3)
eeObj.WriteMem32(0x00181DC4, 0x34423333)
--Widescreen patch
eeObj.WriteMem32(0x00181BF8, 0x3C023F19)
eeObj.WriteMem32(0x00181C00, 0x3442FFFF)
eeObj.WriteMem32(0x000FFA00, 0x3C023EB3)
eeObj.WriteMem32(0x000FFA04, 0x34423333)
eeObj.WriteMem32(0x000FFA08, 0x44820000)
eeObj.WriteMem32(0x000FFA0C, 0x08060708)
eeObj.WriteMem32(0x00181C1C, 0x0803FE80)
--Bonus optional stuff (remove the '--' from them)
--Start + select does not exit the game
--eeObj.WriteMem32(0x00103C78, 0x10000009)
end
--Fix for upscaling glitches
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", {psm=0} )
emuObj.SetGsTitleFix( "fetchFromCurrBuff", "reserved", {psm=0} )
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=1 } )
emuObj.AddVsyncHook(patcher)
-- WS patch continuation
eeInsnReplace(0x00181DB8, 0x3C033F4C, 0x3C033F19)
eeInsnReplace(0x00181DC0, 0x3463CCCD, 0x3463999A)
eeInsnReplace(0x00181DBC, 0x3C023EEE, 0x3C023EB3)
eeInsnReplace(0x00181DC4, 0x3442EEEF, 0x34423333)
Scaler[edit | edit source]
CLI
JAKv2
All Versions
#Upscaling fix --gs-kernel-cl-up="up2x2simple" #Speedhacks --vu1-jr-cache-policy=sameprog --vu1-jalr-cache-policy=sameprog --vu1-mpg-cycles=600 --vu1-di-bits=0 --ee-cycle-scalar=1.1
LUA JAKv2 PAL
apiRequest(0.1) local eeObj = getEEObject() local emuObj = getEmuObject() local patcher = function() eeObj.WriteMem32(0x0021E5AC, 0x8F8288C0) eeObj.WriteMem32(0x0021E218, 0x8F8288C0) eeObj.WriteMem32(0x0021E598, 0x8F8288C0) eeObj.WriteMem32(0x0021DDA4, 0x8F8288C0) eeObj.WriteMem32(0x0021DDC8, 0x0) eeObj.WriteMem32(0x001DDC3C, 0x0) end emuObj.AddVsyncHook(patcher)
Scooby-Doo! First Frights™[edit | edit source]
SLES_554.76 Only! CLI
--ee-hook=0x00163984,FastForwardClock --ee-hook=0x00163998,FastForwardClock #Fix for distorted audio
Scooby-Doo! and the Spooky Swamp™[edit | edit source]
SLES_556.09 Only! CLI
--ee-hook=0x001480F4,FastForwardClock --ee-hook=0x00148108,FastForwardClock #Fix for distorted audio
SEGA Sports Tennis/ Virtua Tennis 2[edit | edit source]
SLUS-20480
-- fix by kozarovv
-- emu used=psychonauts v2
local gpr = require("ee-gpr-alias")
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
-- First unpack, then run program you silly.
eeObj.WriteMem8(0x283774, 0x30)
eeObj.WriteMem8(0x283780, 0x20)
end
emuObj.AddVsyncHook(patcher)
SLES-51232
local gpr = require("ee-gpr-alias")
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
-- First unpack, then run program you silly.
eeObj.WriteMem8(0x289914, 0x30)
eeObj.WriteMem8(0x289920, 0x20)
end
emuObj.AddVsyncHook(patcher)
Shadow Hearts[edit | edit source]
CLI
All versions
--gs-kernel-cl="h2lpool" #Completely fixed game frame rate --gs-kernel-cl-up="h2lpool2x2" #Completely fixed game frame rate --fpu-accurate-mul-fast=1 #Stable frame rate for layered error commands --fpu-accurate-muldiv=1 #Fix layering bug in game# --fpu-accurate-addsub-range=0x21c63c,0x21c63c #PS3 configuration from our good friend @mrjaredbeta, fixing soft lock issue after lottery --gs-ignore-rect-correction=1 #Fix the flickering white lines in the distant view
LUA
SLPS-25041
-- Shadow Hearts (SLPS-25041) -- Total Repair by nifengyuexia -- emu used=RECVX v1 apiRequest(1.0) local eeObj = getEEObject() local emuObj = getEmuObject() local patcher = function() --Fixed random missing graphics on characters eeObj.WriteMem32(0x24e7ec,0x00000000) end emuObj.AddVsyncHook(patcher)
SLPS-73418
-- Shadow Hearts [the best](SLPS-73418) -- Total Repair by nifengyuexia -- emu used=RECVX v1
apiRequest(1.0)
local eeObj = getEEObject() local emuObj = getEmuObject() local patcher = function()
--Fixed random missing graphics on characters eeObj.WriteMem32(0x24e47c,0x00000000) end emuObj.AddVsyncHook(patcher)
SLUS-20347
-- Shadow Hearts (SLUS-20347) -- Total Repair by nifengyuexia -- emu used=RECVX v1
apiRequest(1.0)
local eeObj = getEEObject() local emuObj = getEmuObject() local patcher = function()
--Fixed random missing graphics on characters eeObj.WriteMem32(0x24e6ec,0x00000000) end emuObj.AddVsyncHook(patcher)
SLES-50822
-- Shadow Hearts (SLES-50822) -- Total Repair by nifengyuexia -- emu used=RECVX v1
apiRequest(1.0)
local eeObj = getEEObject() local emuObj = getEmuObject() local patcher = function()
--Fixed random missing graphics on characters eeObj.WriteMem32(0x24fbdc,0x00000000) end emuObj.AddVsyncHook(patcher)
Shadow of the Colossus[edit | edit source]
CLI
All versions
#Speedhacks for performance --ee-cycle-scalar=1.2 --vu1-di-bits=0 --vu1-mpg-cycles=600
LUA
-- Shadow of the Colossus
-- ported to PS4 by Stayhye
-- emu used=kof98um
apiRequest(0.1)
local gpr = require("ee-gpr-alias")
local emuObj = getEmuObject()
local eeObj = getEEObject()
local gsObj = getGsObject()
emuObj.PadSetLightBar(0, 45,65,55)
emuObj.SetDeinterlace(true)
emuObj.SetDisplayAspectWide()
--stutter fix
eeObj.AddHook(0x00125838,0x00041878,function() -- dsll v1, a0, 1
eeObj.AdvanceClock(8000)
eeObj.Vu1MpgCycles(450)
end)
local WS = function()
--
--eeObj.WriteMem32(0x0012584c,0x1000fffa)
emuObj.ThrottleMax()
end
emuObj.AddVsyncHook(WS)
emuObj.SetGsTitleFix( "globalSet", "reserved", { workLoadThreshold = 100000} )
emuObj.SetGsTitleFix( "globalSet", "reserved", { waveThreshold = 90000} )
emuObj.SetGsTitleFix( "ignoreAreaUpdate", 0, { } )
Shadow Man - 2econd Coming[edit | edit source]
CLI
#Speedhacks and SPS fixes --vu1-mpg-cycles=850 --vu1-di-bits=0 #Fix for the flickering white lines at distant textures --gs-ignore-rect-correction=1
LUA SLUS 20413
apiRequest(0.1) local eeObj = getEEObject() local iopObj = getIOPObject() local emuObj = getEmuObject() local patcher = function() --Nop the teq to avoid crash. eeObj.WriteMem32(0x00231AE8, 0x10000003) --IOP patch to avoid black screen loop. iopObj.WriteMem32(0x00008498, 0x0) end emuObj.AddVsyncHook(patcher)
PAL
apiRequest(0.1) local eeObj = getEEObject() local iopObj = getIOPObject() local emuObj = getEmuObject() local patcher = function() --Nop the teq to avoid crash. eeObj.WriteMem32(0x00231028, 0x10000003) --IOP patch to avoid black screen loop. iopObj.WriteMem32(0x00008498, 0x0) end emuObj.AddVsyncHook(patcher)
Shin Megami Tensei III: Nocturne[edit | edit source]
CLI All Emu: War of the Monsters
#Speedhacks --vu1-di-bits=0 --vu1-mpg-cycles=200 #Fix fpu math --fpu-accurate-muldiv=1 --fpu-accurate-mul-fast=1
Shin Megami Tensei: Persona 3 FES[edit | edit source]
CLI
NTSC
# Fixes interlacing. --force-frame-blend=0 # VU Speedhacks --vu1-di-bits=0 --vu1-mpg-cycles=300 #User Emu = kof98um
Shin Megami Tensei: Persona 4[edit | edit source]
CLI
All Versions
#Graphical glitches fixes, Vu Clamp mode 2 --vu1-no-clamping=0 #Performance fixes --vu1-const-prop=1 --vu1-di-bits=0 --ee-cycle-scalar=1.3 #Jakv2 Emu Used #Fix for Slowdowns in Battles And flickering textures When fusing Personas
LUA
NTSC
-- Persona 4 NTSC Fix for bottom left text not appearing
local gpr = require("ee-gpr-alias")
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
eeObj.WriteMem32(0x00189c60,0x3c023f7f)
end
emuObj.AddVsyncHook(patcher)
Shinobido: Way of the Ninja[edit | edit source]
All versions
# Fixes hang going in to the gardens. --fpu-no-clamping=1
Simpsons Hit and Run[edit | edit source]
NTSC
CLI
--Fixes the slowdowns --ee-cycle-scalar=3.5
LUA
#Fixes the freeze on Jakv2 apiRequest(0.1) local eeObj = getEEObject() local emuObj = getEmuObject() local patcher = function() eeObj.WriteMem32(0x0036CA5C,0x0) end emuObj.AddVsyncHook(patcher)
Sly Cooper 1[edit | edit source]
CLI All versions
#Fix for upscaling corruptions --gs-kernel-cl-up="up2x2simple" #Speedhacks --ee-cycle-scalar=1.2 --vu1-di-bits=0
Second Sight[edit | edit source]
CLI
All Versions
--vu1=jit-sync --vif1-instant-xfer=0 #Fix for black screen after ps2 logo and graphical glitches.
Silent Hill 2[edit | edit source]
CLI (SLUS-20228)
#Fix For Slowdowns --vu1-mpg-cycles=1000 --vu1-di-bits=0 --vu1-const-prop=1
LUA (SLUS-20228)
apiRequest(0.1) local eeObj = getEEObject() local emuObj = getEmuObject() local patcher = function() --Enable custom progressive scan mode and enhanced mode to fix double-layer screen display errors eeObj.WriteMem32(0x1A68e4,0x24050000) eeObj.WriteMem32(0x1A68e8,0x24060050) eeObj.WriteMem32(0x1A68ec,0x24070001) eeObj.WriteMem32(0x2a7968,0x34030002) eeObj.WriteMem32(0x1961f8,0x28670000) eeObj.WriteMem32(0x27fe74,0x00000000) eeObj.WriteMem32(0x27fac4,0x00000000) local code_check1 = eeObj.ReadMem16(0x1221C4E) if code_check1 == 0x001F then eeObj.WriteMem8(0x1221c4e,0x1b) eeObj.WriteMem8(0x1221c76,0x1b) end end emuObj.AddVsyncHook(patcher)
Silent Hill 2: Director's Cut[edit | edit source]
CLI SLES_511.56
#Performance boost. --ee-cycle-scalar=1.8 ## Force PAL game to 30 fps with Progressive scan (but '--force-pal-60hz=1' does the audio and video unsync ) #--force-pal-60hz=1 --gs-progressive=1 ## I need to test more, but it looks good.
SNK vs Capcom: SVC Chaos[edit | edit source]
CLI
All Versions
--gs-use-clut-merge=1 --gs-kernel-cl="clutmerge" --gs-kernel-cl-up="clutmerge2x2" #Fixes missing hud/UI elements.
Soul Calibur 3[edit | edit source]
ALL CLI
--gs-kernel-cl-up="up2x2skipinterp" --vif1-instant-xfer=0 --ee-cycle-scalar=1.82 --ee-regalloc-preserve-scalar=LoadStore --iop-cycle-scalar=2.10 --vu0-mpg-cycles=1 --vu1-mpg-cycles=1 #emu used=jakx v2
LUA
-- Soul Calibur III (SLUS-21216)
-- ported to PS4 lua
-- emu used=jakx v2
apiRequest(0.1)
local gpr = require("ee-gpr-alias")
local emuObj = getEmuObject()
local eeObj = getEEObject()
local gsObj = getGsObject()
emuObj.PadSetLightBar(0, 10,176,4)
emuObj.SetDisplayAspectWide()
local WS = function()
-- 16:9
eeObj.WriteMem32(0x0012a118,0x3c013f40)
eeObj.WriteMem32(0x0012a11c,0x34210000)
eeObj.Vu1MpgCycles(1)
eeObj.SetVifDataCycleScalar(1, 0.80)
emuObj.ThrottleMax()
end
emuObj.AddVsyncHook(WS)
Spartan - Total Warrior[edit | edit source]
ALL CLI
#Speedhacks --ee-cycle-scalar=1.2 # Fix black screen upon starting new game --vu1-mpg-cycles=1 --vu1-no-clamping=0 --vu0-no-clamping=0
Spider-Man: Web of Shadows[edit | edit source]
ALL CLI
# Fix not being able to connect hits, and summon... etc... --fpu-no-clamping=0 --cop2-no-clamping=0
Spider-Man 3[edit | edit source]
ALL CLI
--vu0-di-bits=0 --vu1-di-bits=0 --ee-cycle-scalar=1.7 --iop-cycle-scalar=0.8 --vu1-mpg-cycles=600 #Fix for slowdown and micro-freezes
SpongeBob SquarePants: Battle for Bikini Bottom[edit | edit source]
CLI All versions
#Fix for Graphical issues --vu1-no-clamping=0 #Rest might be unnecessary --vu0-no-clamping=0 --cop2-no-clamping=0
Spyro: Enter The Dragonfly[edit | edit source]
All versions
CLI
#Speedhacks --vu1-di-bits=0 --vu1-mpg-cycles=850 #Fix for flickering Spyro shadow --gs-use-clut-merge=1 #Jakv2 Emu Used
Spy hunter[edit | edit source]
CLI All versions
#Fixes loading hang. --vif1-instant-xfer=0
SSX[edit | edit source]
CLI All versions
--iop-cycle-scalar=1.8 #Use JakX v2 emu
SSX 3[edit | edit source]
CLI
All versions
#Speedhacks --vu1-mpg-cycles=300 --vu1-di-bits=0 #Gs graphics fixes --gs-upscale=none --gs-uprender=none #Use WOTM emu
LUA
SLUS-20772
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) #Use WOTM emu
LUA SLES-51697
apiRequest(0.1) local eeObj = getEEObject() local emuObj = getEmuObject() local patcher = function() --Freeze fix eeObj.WriteMem32(0x002EC594, 0x0) eeObj.WriteMem32(0x002EC5E4, 0x0) end emuObj.AddVsyncHook(patcher) #Use WOTM emu
SSX On Tour[edit | edit source]
LUA SLUS_212.78
apiRequest(0.1) local eeObj = getEEObject() local emuObj = getEmuObject() local patcher = function() --Fix freeze loop eeObj.WriteMem32(0x002CA41C,0x0) end emuObj.AddVsyncHook(patcher)
SSX Tricky[edit | edit source]
CLI
#Fix physics --fpu-accurate-muldiv=1 --fpu-accurate-addsub=1 --fpu-accurate-mul-fast=1 --cop2-accurate-mul=1 --cop2-accurate-addsub=1
Star Wars - Episode 3 - Die Rache der Sith[edit | edit source]
CLI file
#for none PS4 Pro users --ee-cycle-scalar=1.75 --iop-cycle-scalar=1.75 --vu1-mpg-cycles=1480 --vu0-mpg-cycles=1480 --vu0-di-bits=0 --vu1-di-bits=0 #emu used=Star Wars Racer's Revenge v1
LUA file
-- Star Wars - Episode III - Die Rache der Sith (PAL) SLES-53157
-- Widescreen Hack by ElHecht
-- ported to PS4
-- emu used=Star Wars Racer's Revenge v1
apiRequest(0.4)
local gpr = require("ee-gpr-alias")
local emuObj = getEmuObject()
local eeObj = getEEObject()
local widescreen = function()
-- 16:9
eeObj.WriteMem32(0x004dbd44,0x3c023f40)
eeObj.WriteMem32(0x0051bca0,0x3c013f40)
eeObj.WriteMem32(0x0051bcac,0x4481f000)
eeObj.WriteMem32(0x0051bcf0,0x461e4a42)
emuObj.ThrottleMax()
end
emuObj.AddVsyncHook(widescreen)
Street Fighter Alpha Anthology[edit | edit source]
ALL CLI
#Graphical glitches fix --gs-motion-factor=50 --gs-kernel-cl="h2lpool" --gs-kernel-cl-up="h2lpool2x2" --gs-h2l-list-opt=1 --gs-h2l-accurate-hash=1 #Speehacks --vu0-di-bits=0 --vu1-di-bits=0 --ee-cycle-scalar=1.5 --gs-adaptive-frameskip=1 --vu1-injection=1 #PS4 Pro required for full speed
Steambot Chronicles[edit | edit source]
CLI
All Versions
--vu1-no-clamping=0 --gs-kernel-cl-up="up2x2skipinterp" #Fix for graphical glitches.
Superman - Shadow of Apokolips[edit | edit source]
CLI
Emu = Jak X
#Freeze fix --vu0-no-clamping=0 --cop2-opt-vf00=0 #Miscolored cape fix --vu1-no-clamping=0 #Sps fix --gs-vert-precision=8
Sword of ETheria[edit | edit source]
CLI All versions
#Fixes missing graphics and crashes. --vu-custom-min-max=0 #Jakv2 emu used
Syberia[edit | edit source]
CLI All versions
#Fix for graphical glitches --vu1=jit-sync #Speedhacks --vu1-di-bits=0 --vu1-mpg-cycles=400 --ee-cycle-scalar=1.2
Tales of Destiny: Directors Cut[edit | edit source]
SLPS-25842
CLI
#Glitch Fix --fpu-accurate-range=0x1C7B50,0x1C7C00 #unnecessary command --fpu-accurate-mul-fast=1 #Performance Fix --ee-cycle-scalar=1.74 #Graphical Glitches fixes --gs-use-clut-merge=1 --gs-kernel-cl="clutmerge" --gs-kernel-cl-up="clutmerge2x2" #Fix for menu UI interlacing shake --force-frame-blend=1
LUA file
-- Emu used=Jak v2
-- SLPS-25842 FPUMULHACK (fix for getting stuck in the room before Irene in Helraios)
local gpr = require("ee-gpr-alias")
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local goathack = function()
local db_check = eeObj.ReadMem8(0x3EECC4)
if db_check == 0xDB then
eeObj.WriteMem8(0x3EECC4,0xDA)
end
end
emuObj.AddVsyncHook(goathack)
Tales of The Abyss[edit | edit source]
CLI
--fpu-accurate-range=0x27FFFC,0x27FFFF --fpu-accurate-range=0x2921F4,0x2921F8 --vu0-no-clamping=0 --vu1-no-clamping=0 --cop2-no-clamping=0
LUA file
-- Tales Of The Abyss (NTSC-U) (SLUS-21386)
-- emu used=psychonauts v2
local gpr = require("ee-gpr-alias")
apiRequest(0.1)
local emuObj = getEmuObject()
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=1 } )
Tekken 5[edit | edit source]
CLI All versions
#Upscaling glitches fix --gs-kernel-cl-up="up2x2simple" #Game needs progressive scan --gs-progressive=1 #Speedhacks --vu1-di-bits=0 #Side note: game is best played using War of the monsters v1 emu as it removes a graphical glitch from some levels. #side note2: "--gs-kernel-cl-up="up2x2simple" doing this will make graphics look worse than actual ps2
LUA
NTSC only
-- Tekken 5 NTSC
-- Widescreen and No interlace
-- emu used=rogue v1 or wotm v1 or 2
apiRequest(0.1)
local gpr = require("ee-gpr-alias")
local emuObj = getEmuObject()
local eeObj = getEEObject()
local patcher = function()
eeObj.WriteMem32(0x0032b448,0x3c013f40) -- both fov+
--applies both fov+ only for widescreen mode
eeObj.WriteMem32(0x0032b478,0x3c010015)
eeObj.WriteMem32(0x0032b47c,0xc62dd11c)
eeObj.WriteMem32(0x0032b49c,0x46016b42)
eeObj.WriteMem32(0x0032b4a0,0x46010843)
eeObj.WriteMem32(0x0032b4b8,0x460d1083)
eeObj.WriteMem32(0x0032b4bC,0x460d0843)
--effects fix
eeObj.WriteMem32(0x00257434,0x46161083)
eeObj.WriteMem32(0x00257488,0x46160843)
eeObj.WriteMem32(0x002574e0,0x46160843)
eeObj.WriteMem32(0x00257538,0x46160843)
local code_check1 = eeObj.ReadMem16(0x15D11C)
if code_check1 == 0x8e38 then
eeObj.WriteMem32(0x20257764,0x10000008)
end
local code_check2 = eeObj.ReadMem16(0x15D11C)
if code_check2 == 0xaaaa then
eeObj.WriteMem32(0x20257764,0x45020008)
end
--render fix
eeObj.WriteMem32(0x00222484,0x3c013f2b)
eeObj.WriteMem32(0x00222494,0x44810000)
eeObj.WriteMem32(0x00222498,0x46006302)
--Devil Within Mode by Arapapa
local code_check3 = eeObj.ReadMem16(0x100000)
if code_check3 == 0xfff0 then
eeObj.WriteMem32(0x2041E82C,0x3f400000) --Zoom
eeObj.WriteMem32(0x202ACED8,0x3FDDA51A) --Y-Fov
end
--no interlace for starblade
local code_check4 = eeObj.ReadMem16(0x2F5BD0)
if code_check4 == 0x0104 then
eeObj.WriteMem32(0x202F5BD0,0x34070003)
local code_check5 = eeObj.ReadMem16(0x187FB0)
if code_check5 == 0x0008 then
eeObj.WriteMem32(0x20187FB0,0x34030001)
eeObj.WriteMem32(0x20187FC4,0x34021078)
end
end
--[[
--Workaround
eeObj.WriteMem32(0x2010207C,0x3c050000)
eeObj.WriteMem32(0x20102084,0x3c060050)
eeObj.WriteMem32(0x2010208C,0x3c070001)
eeObj.WriteMem32(0x20102EAC,0x3C0701E0)
--]]
--Intro Mini Game
local code_check6 = eeObj.ReadMem16(0xFFECF4)
if code_check6 == 0x0001 then
eeObj.WriteMem32(0x2010230C,0x34029078)
end
--Framebuffer - Progressive - No interleacing - No black lines HW mode
local code_check7 = eeObj.ReadMem16(0xFFEF20)
if code_check7 == 0x8870 then
eeObj.WriteMem32(0x2010230C,0x34029400)
eeObj.WriteMem32(0x203EF450,0x00000001) -- Official Progressive mode
end
-- Devil W. Game
local code_check8 = eeObj.ReadMem16(0xFFEF20)
if code_check8 == 0x2c70 then
eeObj.WriteMem32(0x2026033C,0x34029400)
end
-- Tek 1 sdtv mode 240p
local code_check9 = eeObj.ReadMem16(0xFFEF20)
if code_check9 == 0x3df0 then
eeObj.WriteMem32(0x2014F454,0x3c050000)
eeObj.WriteMem32(0x2014F45C,0x3C060050)
eeObj.WriteMem32(0x2014F464,0x3c070001)
end
-- Tek 2 sdtv mode 240p
local code_check10 = eeObj.ReadMem16(0xFFEF20)
if code_check10 == 0x6570 then
eeObj.WriteMem32(0x2015E494,0x3c050000)
eeObj.WriteMem32(0x2015E49C,0x3C060050)
eeObj.WriteMem32(0x2015E4A4,0x3c070001)
end
-- Tek 3 sdtv mode 480p extended
local code_check11 = eeObj.ReadMem16(0xFFEF20)
if code_check11 == 0xF370 then
eeObj.WriteMem32(0x201E4F54,0x3c050000)
eeObj.WriteMem32(0x201E4F5C,0x3C060050)
eeObj.WriteMem32(0x201E4F64,0x3c070001)
end
end
emuObj.AddVsyncHook(patcher)
--Fix lines appearing in some areas
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=2 } ) -- also makes graphics look terrible
The Godfather[edit | edit source]
CLI
All versions
SW racer revenge v1 emu used
#Fix for upscaling graphical glitches --gs-kernel-cl-up="up2x2simple" #Fix for intro stutter --iop-cycle-scalar=0.80 --cdvd-sector-read-cycles=5000
The Legend of Spyro A New Beginning[edit | edit source]
PAL only! LUA
apiRequest(0.4)
-- The Legend of Spyro: A New Beginning
local eeObj = getEEObject()
local emuObj = getEmuObject()
eeInsnReplace(0x1849b8, 0x44840800, 0x00000000) -- Fixes HUD and menu display.
-- Graphic improvement: removes corrupted lines on screen with uprender enabled, for PAL version
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=1 } ) --texMode=1 ?
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=2 } ) --texMode=2 is BILINEARThe Legend of Spyro: The Eternal Night[edit | edit source]
PAL only! LUA
apiRequest(0.4)
-- The Legend of Spyro: The Eternal Night
local eeObj = getEEObject()
local emuObj = getEmuObject()
eeInsnReplace(0x173c38, 0x44840800, 0x00000000) -- Fixes HUD and menu display.
-- Graphic improvement: removes corrupted lines on screen with uprender enabled, for PAL version
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=1 } ) --texMode=1 ?
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=2 } ) --texMode=2 is BILINEARThe Operative: No One Lives Forever[edit | edit source]
CLI
#Fix for "The Operative - No One Lives Forever" For US version --fpu-accurate-addsub-range=0x104204,0x1042B8 For EU version: --fpu-accurate-addsub-range=0x103F28,0x104074 Use Jak v2 emulator
The Shield[edit | edit source]
CLI
--fpu-accurate-addsub-range=0x100008,0x700000 #Fix for game over error on level '''2354 Casitas Dr'''. #JAK V2 emulator used.
Timesplitters™[edit | edit source]
CLI
All Versions
—vu1=jit-sync
Tomb Raider: Anniversary[edit | edit source]
LUA SLUS_215.55
apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory. -- Texture Flickering fix eeInsnReplace(0x1297C0, 0x10600022, 0x10000022)
SLES_539.08
apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory. -- Texture Flickering fix eeInsnReplace(0x1273E8, 0x10600022, 0x10000022)
Tomb Raider - Legend[edit | edit source]
CLI All Regions
--gs-progressive=1 --gs-kernel-cl-up="up2x2skipinterp" --gs-use-mipmap=1 --gs-kernel-cl="mipmap"
SLUS_212.03 LUA
apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory. -- Texture Flickering fix eeInsnReplace(0x127390, 0x10600022, 0x10000022)
SLES_546.74
LUA
apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory. -- Texture Flickering fix eeInsnReplace(0x129800, 0x10600022, 0x10000022)
Additional LUA fix All Regions
-- Fix for thin vertical lines that separate screen picture, misallignment/tearing of screen during upscaling (was used in official PSN Red Dead Revolver)
apiRequest(0.1)
local emuObj = getEmuObject()
-- psm= SCE_GS_PSMCT32 (0)
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", {psm=0} )
emuObj.SetGsTitleFix( "fetchFromCurrBuff", "reserved", {psm=0} )
Tony Hawk Pro Skater 3[edit | edit source]
CLI
All Versions
--vu0-no-clamping=0 --vu1-no-clamping=0 --fpu-no-clamping=0 --cop2-no-clamping=0 #SPS Fix
Tony Hawk's Underground 2[edit | edit source]
CLI
SLUS20965
Redfaction emu used
#sps fix --vu1-mpg-cycles=1
LUA SLUS20965
apiRequest(0.1) local eeObj = getEEObject() local emuObj = getEmuObject() local patcher = function() --loop skip to prevent freezing eeObj.WriteMem32(0x001958A0, 0x10000086) --rounding to remove sps eeObj.WriteMem32(0x003F0FE8, 0xD3400000) --Giving it the value it wants in order to branch eeObj.WriteMem32(0x001AF5FC, 0x24060000) end emuObj.AddVsyncHook(patcher) --mtvu patch eeInsnReplace(0x00194918, 0x0, 0x0803fff0) eeInsnReplace(0x000fffc4, 0x0, 0x24186000) eeInsnReplace(0x000fffc8, 0x0, 0x3c191200) eeInsnReplace(0x000fffcc, 0x0, 0x37391010) eeInsnReplace(0x000fffd0, 0x0, 0x2718ffff) eeInsnReplace(0x000fffd4, 0x0, 0x1418fffe) eeInsnReplace(0x000fffdc, 0x0, 0x08065248) eeInsnReplace(0x000fffe0, 0x0, 0xaf200000)
True Crime: Streets of LA[edit | edit source]
cli.conf All Versions
--gs-use-mipmap=1 --gs-kernel-cl="mipmap" --gs-kernel-cl-up="mipmap2x2" #Fix for missing enemies in the gyms
cli.conf SLES_517.54 only!
--vu1-mpg-cycles=2350 --vu1-opt-flags=2 --vu1-opt-vf00=2 --gs-optimize-30fps=1 --ee-kernel-hle=1 --ee-block-validation=PageProt --gs-use-mipmap=1 --gs-kernel-cl="mipmap" --gs-kernel-cl-up="mipmap2x2" #Performance fix and fix for missing enemies in the gyms
SLUS_205.50
SLES_517.53
LUA
They use the same offsets.
local gpr = require("ee-gpr-alias")
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
eeObj.WriteMem32(0x480640, 0x10000000) --Fix for title screen freeze
end
emuObj.AddVsyncHook(patcher)
SLES_517.54 LUA
local gpr = require("ee-gpr-alias")
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
eeObj.WriteMem32(0x480DB0, 0x10000000) --Fix for title screen freeze
end
emuObj.AddVsyncHook(patcher)
Twisted Metal: Head-On[edit | edit source]
CLI
All versions
#Speedhacks --vu1-mpg-cycles=400 --ee-cycle-scalar=1.2 --vu1-di-bits=0
Urban Reign[edit | edit source]
CLI
All Versions
--force-frame-blend=1 --vif-ignore-invalid-cmd=0 --vif1-ignore-cmd-ints=1 --vif1-instant-xfer=0 --vu1=jit-sync --mtap1=Always
LUA
NTSC
-- Urban Reign NTSC (SLUS-21209)
-- Multitap fix by Kozarovv
-- ported to PS4 by Stayhye
-- emu used=kof98um
apiRequest(0.1)
local gpr = require("ee-gpr-alias")
local emuObj = getEmuObject()
local eeObj = getEEObject()
local gsObj = getGsObject()
emuObj.PadSetLightBar(0, 45,65,55)
emuObj.SetDeinterlace(true)
emuObj.SetDisplayAspectWide()
local WS = function()
-- Init first mtap
eeObj.WriteMem32(0x12BA88,0x24040000)
-- Read data from 1B port when 2A is requested
eeObj.WriteMem32(0x0ffc00,0x10040005)
eeObj.WriteMem32(0x0ffc04,0x00000000)
eeObj.WriteMem32(0x0ffc08,0x14050003)
eeObj.WriteMem32(0x0ffc10,0x24040000)
eeObj.WriteMem32(0x0ffc14,0x24050001)
eeObj.WriteMem32(0x0ffc18,0x080c5cbd)
eeObj.WriteMem32(0x0ffc1c,0x24030070)
eeObj.WriteMem32(0x3172ec,0x0803ff00)
emuObj.ThrottleMax()
end
emuObj.AddVsyncHook(WS)
emuObj.SetGsTitleFix( "globalSet", "reserved", { workLoadThreshold = 100000} )
emuObj.SetGsTitleFix( "globalSet", "reserved", { waveThreshold = 90000} )
emuObj.SetGsTitleFix( "ignoreAreaUpdate", 0, { } )
Valkyrie Profile 2: Silmeria[edit | edit source]
CLI
All versions
#emu used Star Ocean 3 for black screen upon leaving town and corrupted world map --gs-progressive=1 --vu-hack-triace=1 --gs-use-mipmap=1 --gs-kernel-cl="mipmap" --gs-kernel-cl-up="mipmap2x2"
LUA file SLUS_21452
--Proper Widescreen and No ghosting --Valkyrie Profile 2 - Silmeria (USA) SLUS_214.52 apiRequest(0.1) local eeObj = getEEObject() local emuObj = getEmuObject() local patcher = function() local code_check = eeObj.ReadMem16(0x37984C) if code_check == 0x0800 then eeObj.WriteMem32(0x37984C,0x0803FC00) end eeObj.WriteMem32(0x000FF000, 0x3C043F40) eeObj.WriteMem32(0x000FF004, 0x44840800) eeObj.WriteMem32(0x000FF008, 0x46000802) eeObj.WriteMem32(0x000FF00C, 0x080DE615) eeObj.WriteMem32(0x000FF010, 0xC66100C8) --No ghosting in battle eeObj.WriteMem32(0x0035FA38, 0x46001030) end emuObj.AddVsyncHook(patcher)
Vampire: Darkstalkers Collection[edit | edit source]
ALL CLI
--gs-motion-factor=50 --gs-kernel-cl="h2lpool" --gs-kernel-cl-up="h2lpool2x2" --gs-h2l-list-opt=1 --gs-h2l-accurate-hash=1 #Fix for performance issues. PS4 Pro required for full speed.
Van Helsing[edit | edit source]
ALL CLI
--gs-kernel-cl="h2lpool" --gs-kernel-cl-up="h2lpool2x2" --gs-adaptive-frameskip=1 --cdvd-sector-read-cycles=2000 --gs-progressive=1 #--vu0-di-bits=0 #--vu1-di-bits=0 --vu1-mpg-cycles=358 --ee-cycle-scalar=2.8 --iop-cycle-scalar=0.9 --vif1-instant-xfer=0
LUA
-- Van Helsing (SLUS-20738)
-- Wide screen patch 16:9 by paul_met
-- ported to PS4 Lua by Stayhye
-- emu used=jakx v2
apiRequest(0.1)
local gpr = require("ee-gpr-alias")
local emuObj = getEmuObject()
local eeObj = getEEObject()
local gsObj = getGsObject()
local eeOverlay = eeObj.getOverlayObject()
local iopObj = getIOPObject()
emuObj.SetDisplayAspectWide()
gsObj.SetDeinterlaceShift(1)
local WS = function()
--16:9
eeObj.WriteMem32(0x002E7FA0,0x3FE38E38)
--Access All Cheats by GameMasterZer0
eeObj.WriteMem32(0x2019FFB0,0x24100001)
emuObj.ThrottleMax()
end
emuObj.AddVsyncHook(WS)
Wallace & Gromit in Project Zoo[edit | edit source]
CLI All Versions
--gs-progressive=1 --gs-force-bilinear=1 --cdvd-sector-read-cycles=2000 --force-frame-blend=1 --vif1-instant-xfer=0 --vu0-di-bits=0 --vu1-di-bits=0 --vu1-mpg-cycles=800 --ee-cycle-scalar=1.5
Whiplash[edit | edit source]
All versions CLI
--gs-kernel-cl="mipmap" --gs-kernel-cl-up="mipmap2x2" --gs-use-mipmap=1 #Fix for texture glitches
Wild Arms 4[edit | edit source]
CLI NTSC
#Fatal Fury emu #Gamefixes --vu-hack-triace=1 --iop-hook=0xAD808,AdvanceClock,,3000
Wild Arms 5[edit | edit source]
LUA SLUS-21615
apiRequest(0.1) local iopObj = getIOPObject() local emuObj = getEmuObject() local patcher = function() --Just skip that part. iopObj.WriteMem32(0x000AC2BC, 0x100000DD) end emuObj.AddVsyncHook(patcher)
WinBack: Covert Operations[edit | edit source]
All versions CLI
--vu0-no-clamping=0 --vu1-no-clamping=0 --cop2-no-clamping=0 #Fix for texture glitches
World Series of Poker - Tournament of Champions[edit | edit source]
LUA
SLUS-21491
Emu: War of the monsters
apiRequest(0.1) local eeObj = getEEObject() local emuObj = getEmuObject() local patcher = function() eeObj.WriteMem32(0x0036A180, 0x0) end emuObj.AddVsyncHook(patcher)
X-Files - Resist or Serve[edit | edit source]
CLI
--gs-adaptive-frameskip=1 --vu0-no-clamping=0 --vu1-no-clamping=0 --cdvd-sector-read-cycles=3000 #emu used=jak tpl v1
X-Men Legends[edit | edit source]
CLI All versions
--gs-upscale=motionvector --gs-optimize-30fps=1 --cdvd-sector-read-cycles=2000 --vu-custom-min-max=0 --vu1-di-bits=0 --vu0-di-bits=0 --vu1-opt-vf00=2 --vu0-opt-vf00=2 --vu1-injection=1 --vu1=jit-sync --vu1-jr-cache-policy=newprog --vu1-jalr-cache-policy=newprog --vu0-jr-cache-policy=newprog --vu0-jalr-cache-policy=newprog --ee-cycle-scalar=1.5
LUA NTSC only
-- X-Men™ Legends®
-- ported to PS4 Lua by Stayhye
-- emu used=jakx v2
apiRequest(0.1)
local gpr = require("ee-gpr-alias")
local emuObj = getEmuObject()
local eeObj = getEEObject()
local gsObj = getGsObject()
local eeOverlay = eeObj.getOverlayObject()
local iopObj = getIOPObject()
emuObj.PadSetLightBar(0, 10,50,145)
emuObj.SetDisplayAspectWide()
gsObj.SetDeinterlaceShift(0)
local WS = function()
--eeObj.WriteMem32(0x005cc888,0x3c023f34)
eeObj.WriteMem32(0x20720920,0x3FE147AE) --In-game width widescreen 16:9
eeObj.WriteMem32(0x2072094c,0x3F000000) --Fonts Width
eeObj.WriteMem32(0x20720950,0x3F000000) --Fonts Height
eeObj.WriteMem32(0x20720958,0x3F8CCCCD) --HUD & Menu Height
--eeObj.WriteMem32(0x20720954,0x3FA00000) --HUD & Menu Width
eeObj.WriteMem32(0x20D85448,0x3F666666) --HUD Height
eeObj.WriteMem32(0x20D85430,0x3F59999A) --HUD Width
eeObj.Vu1MpgCycles(3450)
emuObj.ThrottleMax()
end
emuObj.AddVsyncHook(WS)
emuObj.SetGsTitleFix( "globalSet", "reserved", { workLoadThreshold = 100000} )
emuObj.SetGsTitleFix( "globalSet", "reserved", { waveThreshold = 90000} )
emuObj.SetGsTitleFix( "ignoreAreaUpdate", 0, { } )
Yu-Gi-Oh! Duelists of the Roses[edit | edit source]
All CLI
#Speedhacks --vu1-di-bits=0 --vu1-mpg-cycles=250 #Fix for random crashes during fights --ee-ignore-segfault=readwrite #Fix graphics during battle (SLUS-20515) --fpu-accurate-range=0x001FAFB0,0x001FB0A4
Yu-Gi-Oh! Capsule Monsters Colosseum[edit | edit source]
All
CLI
#Fix for freeze. Works on old emus like WOTM AND RECVX. --vu1=jit-sync #Fix for minor lighting flickering in Odion level --gs-use-clut-merge=1
Zatch Bell! Mamodo Battles™[edit | edit source]
NTSC/U CLI
#Graphical glitches fix --gs-kernel-cl="mipmap" --gs-kernel-cl-up="mipmap2x2" --gs-use-mipmap=1 #Clamping, also for graphics --vu0-no-clamping=0 --vu1-no-clamping=0 #likely unnecessary commands --cop2-no-clamping=0 --fpu-no-clamping=0 #Jak Emu used*
Zombie Hunters 2[edit | edit source]
CLI All versions
#Speedhacks --vu1-di-bits=0 --ee-cycle-scalar=1.2 --vu1-mpg-cycles=150 #Graphics clean up --gs-use-clut-merge=1 --gs-kernel-cl="clutmerge" --gs-kernel-cl-up="clutmerge2x2" --vu1-no-clamping=0
Zombie Zone[edit | edit source]
CLI All versions
#Speedhacks --vu1-di-bits=0 --ee-cycle-scalar=1.2 --vu1-mpg-cycles=150 #Graphics clean up --gs-use-clut-merge=1 --gs-kernel-cl="clutmerge" --gs-kernel-cl-up="clutmerge2x2"
Total Overdose[edit | edit source]
CLI All versions
--host-display-mode=16:9 --host-vsync=1 --gs-optimize=60fps --cdvd-sector-read-cycles=2000 --ps2-lang=system --gs-progressive=1 --gs-motion-factor=50 --vu0-no-clamping=0 --vu1-no-clamping=0 --gs-ignore-rect-correction=1 #ADK Damashii Emu used
LUA PAL - SLES53492
-- Total Overdose (E)(SLES-53492)
-- emu used=ADK
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
--Widescreen hack 16:9
--00 00 80 3F 83 F9 22 3F DB 0F C9 3F 00 00 00 BF
eeObj.WriteMem32(0x20692A2C,0x3F47AE14) -- Zoom
--00 00 80 3F 00 00 00 00 00 00 00 00 2F 00 00 00
eeObj.WriteMem32(0x206C64C4,0x3F400000) -- Vert fov
end
emuObj.AddVsyncHook(patcher)
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=1 } )
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=2 } )
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", {psm=0} )
emuObj.SetGsTitleFix( "fetchFromCurrBuff", "reserved", {psm=0} )
Nightshade[edit | edit source]
CLI
ALL versions
--host-display-mode=16:9 --gs-vert-precision=8 --force-frame-blend=1
LUA NTSC - SLUS20810
-- Nightshade (SLUS-20810) -- Total Repair by nifengyuexia -- emu used=jak v2 apiRequest(0.1) local eeObj = getEEObject() local emuObj = getEmuObject() local patcher = function() --Disable the fade-in effect to fix framerate drops caused by excessive enemies eeObj.WriteMem32(0x1d1048,0x1000000f) --Disable shadows to fix square bugs around characters eeObj.WriteMem32(0x322060,0x03e00008) eeObj.WriteMem32(0x322064,0x00000000) --Disable haze effect to fix charged attack frame rate drop eeObj.WriteMem32(0x30f3f4,0x00000000) end emuObj.AddVsyncHook(patcher)
LUA PAL - SLES52238
-- Nightshade(SLES-52238) -- Total Repair by nifengyuexia -- emu used=jak v2 apiRequest(0.1) local eeObj = getEEObject() local emuObj = getEmuObject() local patcher = function() --Disable the fade-in effect to fix framerate drops caused by excessive enemies eeObj.WriteMem32(0x1d1f38,0x1000000f) --Disable shadows to fix square bugs around characters eeObj.WriteMem32(0x326370,0x03e00008) eeObj.WriteMem32(0x326374,0x00000000) --Disable haze effect to fix charged attack frame rate drop eeObj.WriteMem32(0x3135f4,0x00000000) end emuObj.AddVsyncHook(patcher)
Kunoichi[edit | edit source]
NTSC-J SLAJ-25031 LUA
-- Kunoichi(SLAJ-25031) -- Total Repair by nifengyuexia -- emu used=jak v2 apiRequest(0.1) local eeObj = getEEObject() local emuObj = getEmuObject() local patcher = function() --Disable the fade-in effect to fix framerate drops caused by excessive enemies eeObj.WriteMem32(0x1d10f8,0x1000000f) --Disable shadows to fix square bugs around characters eeObj.WriteMem32(0x324450,0x03e00008) eeObj.WriteMem32(0x324454,0x00000000) --Disable haze effect to fix charged attack frame rate drop eeObj.WriteMem32(0x3117f4,0x00000000) end emuObj.AddVsyncHook(patcher)
LUA
NTSC-J
SLPM-65447
-- Kunoichi(SLPM-65447) -- Total Repair by nifengyuexia -- emu used=jak v2 apiRequest(0.1) local eeObj = getEEObject() local emuObj = getEmuObject() local patcher = function() --Disable the fade-in effect to fix framerate drops caused by excessive enemies eeObj.WriteMem32(0x1d1058,0x1000000f) --Disable shadows to fix square bugs around characters eeObj.WriteMem32(0x321c70,0x03e00008) eeObj.WriteMem32(0x321c74,0x00000000) --Disable haze effect to fix charged attack frame rate drop eeObj.WriteMem32(0x30f004,0x00000000) end emuObj.AddVsyncHook(patcher)
Jak and Daxter: The Lost Frontier[edit | edit source]
CLI
ALL versions
--vu1-di-bits=0 --vu0-di-bits=1 --gs-optimize=60fps # Emu used = Red Dead Revolver
Sled Storm[edit | edit source]
ALL versions
--cdvd-sector-read-cycles=2000 --vu0-no-clamping=0 --vu1-no-clamping=0 --host-gamepads=2 # Emu used = Rogue v1
Global Configurations[edit | edit source]
Configurations made for more than one game for a specific purpose
SkipMpegHack (FMV skip)[edit | edit source]
LUA file
All games using standard sceMpeg decoder will have their fmvs disabled by this patch.
apiRequest(0.1)
eeObj = getEEObject()
emuObj = getEmuObject()
local addr = 0x100008
local skipMpeg = function()
while(addr < 0x1000000)
do
if eeObj.ReadMem32(addr) == 0x8c830040 then
if eeObj.ReadMem32(addr + 4) == 0x03e00008 then
if eeObj.ReadMem32(addr + 8) == 0x8c620000 then
eeObj.WriteMem32(addr + 8, 0x24020001)
break
else
addr = addr + 4
end
else
addr = addr + 4
end
else
addr = addr + 4
end
end
end
emuObj.AddEntryPointHook(skipMpeg)
--We should remove that hook, but we never really hit entry point again.
--emuObj.RemoveEntryPointHook(skipMpeg)
Incomplete configurations[edit | edit source]
This is a list of unsuccessful, or incomplete configurations, along with information that might help others in the future. A place for research and sharing useful info.
Dragon ball z budokai tenkaichi[edit | edit source]
LUA NTSC
Things go wrong somewhere around 0x001137A8
apiRequest(0.1) --untested local eeObj = getEEObject() local emuObj = getEmuObject() local patcher = function() eeObj.WriteMem32(0x0011A54C, 0x24020000) eeObj.WriteMem32(0x0018D944, 0x24020000) eeObj.WriteMem32(0x0018D4CC, 0x24020000) end emuObj.AddVsyncHook(patcher)
Demon Chaos[edit | edit source]
Crashes at 0x00132124 (probably GIF)
Dynasty Warriors 5 - Empires[edit | edit source]
PAL
001428CC -00142910
Downhill Domination[edit | edit source]
#sps fix --ee-cycle-scalar=3 --vu0-mpg-cycles=3000 --vu1-mpg-cycles=0 --vu1=jit-sync
Batman Begins[edit | edit source]
NTSC
local eeObj = getEEObject() local emuObj = getEmuObject() --Exhibits a strange DMA issue local patcher = function() eeObj.WriteMem32(0x00333A88, 0x0) eeObj.WriteMem32(0x0032C0D8, 0xA2000BC2) eeObj.WriteMem32(0x0032C0F4, 0x10000006) end emuObj.AddVsyncHook(patcher)
Bee Movie[edit | edit source]
NTSC
CLI NTSC Redfaction
--ee-context-switch-cycles=16000 --assert-path1-ad=1 --gs-kernel-cl-up="up2x2simple"
Hitman - Blood Money[edit | edit source]
NTSC LUA
apiRequest(0.1) local eeObj = getEEObject() local emuObj = getEmuObject() --Exhibits a strange DMA issue local patcher = function() eeObj.WriteMem32(0x0028B554, 0x240F0000) eeObj.WriteMem32(0x0028B4B0, 0x240F0000) end emuObj.AddVsyncHook(patcher)
The Simpsons[edit | edit source]
CLI Emu = Samurai Shodown
#Fix upscaling --gs-kernel-cl-up="fantavision" #Fix sps --vu0-no-clamping=0 --vu1-no-clamping=0 #Speedhacks --vu1-mpg-cycles=1500 --vu1-di-bits=0 #Sound issue at 0x0005DDD4?
Tenchu - Fatal Shadows[edit | edit source]
NTSC Destroy all humans v1
#Removes most elements of graphical corruption --vif1-instant-xfer=0
apiRequest(0.1) -- Not the best solution, but it works. eeInsnReplace(0x001023E0, 0xAE020000, 0x0) -- The graphical issues start somewhere in this function 0x00134B10
Robot Alchemic Drive[edit | edit source]
LUA
apiRequest(0.1) local emuObj = getEmuObject() local iopObj = getIOPObject() local patcher = function() --Audio fix(?) --iopObj.WriteMem32(0x000F5CBC, 0x24C6FFFF) iopObj.WriteMem32(0x000F5764, 0x24064000) end emuObj.AddVsyncHook(patcher)
Super Monkey Ball Deluxe[edit | edit source]
LUA
001346C4 00144B98
Forbidden Siren 2[edit | edit source]
CLI NTSC
fix for crash eeObj.WriteMem32(0x00233F4C, 0x2402FF01) sps fix eeObj.WriteMem32(0x002E2B44, 0x48449000) eeObj.WriteMem32(0x002E2B4C, 0x4BC949FF)
Valkyrie Profile 2[edit | edit source]
LUA NTSC
apiRequest(0.1) local eeObj = getEEObject() local emuObj = getEmuObject() local patcher = function() eeObj.WriteMem32(0x00420A5C, 0x0) eeObj.WriteMem32(0x00420AB4, 0x0C108AD4) --00420AB4 end emuObj.AddVsyncHook(patcher)
sceTtyPrint[edit | edit source]
This should print some debug info in emulog/klog, pcsx2 a like. Pattern based on Smugglers Run 2 and Spiderman 3. So first test should be done with those games. Spiderman should print something like "Legal screen is 512 x 256." first. Smugglers Run 2 "Timezone=60". Assuming it work, this can give some valuable info about VIF1/GIF hangs, which are 50% of issues in those crappy emus.
--sceTtyWrite take: --a0 = string ptr --a1 = size (we need to overwrite str_ptr + size with 0 to make it 0 terminated) -- best tty pattern for now = "0A 00 07 24 0D 00 05 24 0C 00 C4 24"
apiRequest(0.1)
<pre>eeObj = getEEObject() emuObj = getEmuObject()
local printerino = function() <pre> local str_ptr = eeObj.GetGpr(4) -- a0
local str_size = eeObj.GetGpr(5) -- a1
-- Add zero terminator, not sure if we need it...
-- But i don't see any way to pass how long string should be.
-- So just 0 terminate it just in case.
-- Note: PS2 pass newline as last character, maybe we don't need it.
-- if it break anything, or looks weird, then remove +1 from below write.
eeObj.WriteMem8(str_ptr + str_size + 1, 0)
local str = eeObj.ReadMemStr(str_ptr)
print(string.format("PS2 DEBUG: %s", str))</pre>
end
local addr = 0x100008
local ttySearch = function()
print("PS2 DEBUG: Entering ttySearch.")
while(addr < 0x1000000 )
do
if eeObj.ReadMem32(addr) == 0x2407000A then
if eeObj.ReadMem32(addr + 4) == 0x2405000D then
if eeObj.ReadMem32(addr + 8) == 0x24C4000C then
-- I'm sorry... local check = 0 local full_op = 0 while(check ~= 0x27BD and addr ~= 0x100008) do addr = addr - 4 full_op = eeObj.ReadMem32(addr) check = full_op >> 16 end
<pre> break -- first loop
else
addr = addr + 4
end
else
addr = addr + 4
end
else
addr = addr + 4
end
end</pre>
if addr < 0x1000000 and not addr < 0x100008 then print(string.format("Found sceTtyWrite function at: 0x%X", addr)) eeObj.AddHook(addr, full_op, printerino) else print("sceTtyWrite function not found!")
end
end
emuObj.AddEntryPointHook(ttySearch)</pre>
| ||||||||||||||||||||||||||||||||||||||||||||||||