Talk:PS2 Classics Emulator Compatibility List
Official PS2emu Configuration Files
Here are configuration files extracted from official packages, to improve PS2 emulator compatibility on PS4. Most of them require also emulator/recompiler files from extracted pkg to work correctly.
Canis Canem Edit/Bully
SLES 535.61
LUA
apiRequest(0.1) -- Bully bug 9392 -- Performance fix local emuObj = getEmuObject() local thresholdArea = 600 emuObj.SetGsTitleFix( "ignoreUpRender", thresholdArea , {alpha=0x80000044 , zmsk=1 , tw=4, th=4 } )
Text
--fpu-accurate-mul-fast=1 --fpu-accurate-muldiv-range=0x3fa5c0,0x3fa5c0 --gs-flush-ad-xyz=SafeZWrite --vu1-opt-vf00=2 --vu1-di-bits=0 --ee-hook=0x001f3ef4,FastForwardClock --gs-use-deferred-l2h=0 --vu1-injection=1 --vu1-mpg-cycles=2500 --fpu-rsqrt-fast-estimate=0 --safe-area-min=1.0
Destroy All Humans
SLUS_209.45
Text
--gs-use-mipmap=1 --gs-kernel-cl="mipmap" --gs-kernel-cl-up="mipmap2x2" --gs-ignore-dirty-page-border=1 --fpu-accurate-addsub-range=0x28bf00,0x28c100 #Fix for graphical glitches.
Destroy All Humans 2
SLUS_214.39
Text
--gs-use-mipmap=1 --gs-kernel-cl="mipmap" --gs-kernel-cl-up="mipmap2x2" #Fix for graphical glitches.
Fahrenheit/Indigo Prophecy
SLES_535.39
Text
--ee-hook=0x002097d0,FastForwardClock,0x8c6261fc --ee-hook=0x1a5570,AdvanceClock,,500000 --ee-hook=0x00223c48,AdvanceClock,0x0080382d,8000 --gs-kernel-cl="h2lpool" --gs-kernel-cl-up="h2lpool2x2" #Performance fix.
SLES_535.39
LUA
This is a substantial file. Over 20,000 lines with an extensive performance fix. If I post the contents here it would break the page, so instead I'm sharing the file itself as a download link. https://drive.google.com/file/d/1L2YxondID65KIAybKVCBH9KgFegqqOeQ/view -- Performace fix (bug #9785 ) -- bug#8571 -- ignore 'no wait vsync' case. -- unsyncv causes major slowness on loading screen, because the game pushes LOTS of identical frame data to GS.
Fatal Fury: Battle Archives volume 2
ALL
Text
--gs-uprender=none --gs-upscale=point --host-audio-latency=0.010 --force-frame-blend=1 #Graphical fix.
Grand Theft Auto III
SLUS_200.62
Text
--vu1-no-clamping=0 --gs-check-trans-rejection=1 --gs-kernel-cl-up="up2x2tc" --gs-optimize-30fps=1 --ee-hook=0x27cea8,FastForwardClock #Performance and graphical fix.
SLUS_200.62
LUA
apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory. -- Performace fix local emuObj = getEmuObject() local thresholdArea = 600 emuObj.SetGsTitleFix( "ignoreUpRender", thresholdArea , {alpha=0x80008068 , zmsk=1 } ) -- Bug#9133 -- workaround ... -16020(gp) value is something wrong. the value comes from CCamera::Process(). -- unfortunately accurate math or any other flags don't help for this problem, -- even though it should be calculation error issue. -- for here, it's just given 0 radian for CSprite::RenderBufferedOneXLUSprite_Rotate_Dimension() -- actually the cloud is a billboard, so it should have 0 degree in view-space. -- so given 0 degree must be OK.... but could cause some corruption (wrong perspective or something) eeInsnReplace(0x318344, 0xc792c16c, 0x44809000) -- lwc1 $f18,-16020(gp) #Performance fix.
SLUS_200.62
SLUS-20062_features.lua
-- Lua 5.3 -- Title: Grand Theft Auto III PS2 - SLUS-20062 (USA) v1.40 -- Author: Nicola Salmoria -- Date: November 3, 2015 require( "ee-gpr-alias" ) -- you can access EE GPR by alias (gpr.a0 / gpr["a0"]) apiRequest(0.7) -- need widescreen support local eeObj = getEEObject() local emuObj = getEmuObject() local USEWIDESCREEN_ADDRESS = 0x416748 local H1 = -- start of main() function() eeObj.WriteMem8(USEWIDESCREEN_ADDRESS, 1) -- enable widescreen end local H2 = -- change widescreen flag function() local isWidescreen = eeObj.GetGpr(gpr.v0) if isWidescreen == 0 then emuObj.SetDisplayAspectNormal() else emuObj.SetDisplayAspectWide() end end local hook1 = eeObj.AddHook(0x27ed04, 0x7fbf0000, H1) -- <main>: local hook2 = eeObj.AddHook(0x270e50, 0xa382b8d8, H2) -- <CMenuManager::AnaliseMenuContents(void)>: #Official widescreen support.
Grand Theft Auto: San Andreas
SLUS_209.46
Text
--gs-optimize-30fps=1 --ee-hook=0x34dee8,FastForwardClock --ee-hook=0x00245ee0,FastForwardClock --cop2-no-clamping=1 --gs-flush-ad-xyz=safe --vu1-clamp-range=0x04a,0x069 --gs-use-deferred-l2h=0 #Performance optimisation/fix.
SLUS_209.46
LUA
apiRequest(0.6) -- request version 0.1 API. Calling apiRequest() is mandatory. -- bug#8979 -- The game bugged. -- CStreaming::StreamPedsIntoRandomSlots(int*) expects 8 integers arrray to process, -- but CCheat::LoveConquersAllCheat() function copies just only 6 integers to the stack. -- it seems the table of the source is correct, so using lq/sq instead of ld/sd to copy -- the contents of the table correctly. eeInsnReplace(0x59fbb0, 0xdca20010, 0x78a20010) -- ld v0,16(a1) => lq eeInsnReplace(0x59fbb8, 0xfc820010, 0x7c820010) -- sd v0,16(a0) => sq -- bug#8979, actually different one -- the game has another bug... see https://pss.usrd.scea.com/bugzilla/show_bug.cgi?id=8979 eeInsnReplace(0x1abdd8, 0x102000d9, 0x102000cf) -- beqz at,1ac140 <CPopulation::AddPed(ePedType, unsigned int, CVector const &, bool)+0x3a0> -- Performace fix local emuObj = getEmuObject() local thresholdArea = 700 emuObj.SetGsTitleFix( "ignoreUpRender", thresholdArea , {alpha=0x80000044 , zmsk=1 } ) #Performance and rendering fixes.
SLUS_209.46
SLUS-20946_features.lua
-- Lua 5.3 -- Title: Grand Theft Auto: San Andreas - SLUS-20946 (USA) v3.00 -- Author: Nicola Salmoria -- Date: November 5, 2015 require( "ee-gpr-alias" ) -- you can access EE GPR by alias (gpr.a0 / gpr["a0"]) apiRequest(0.7) -- need widescreen support local eeObj = getEEObject() local emuObj = getEmuObject() local USEWIDESCREEN_ADDRESS = 0x7004ef local H1 = -- init widescreen flag function() eeObj.WriteMem8(USEWIDESCREEN_ADDRESS, 1) -- enable widescreen end local H2 = -- main game loop function() local isWidescreen = eeObj.ReadMem8(USEWIDESCREEN_ADDRESS) if isWidescreen == 0 then emuObj.SetDisplayAspectNormal() else emuObj.SetDisplayAspectWide() end end local hook1 = eeObj.AddHook(0x233584, 0xa200004f, H1) -- <CMenuManager::__ct(void)>: local hook2 = eeObj.AddHook(0x246750, 0x24040012, H2) -- <TheGame(void)>: #Official widescreen support.
Grand Theft Auto: Vice City
SLUS_205.52
Text
--gs-check-trans-rejection=1 --gs-kernel-cl-up="up2x2tc" --gs-optimize-30fps=1 --ee-hook=0x277b88,FastForwardClock --ee-hook=0x279a18,FastForwardClock #Performance fix.
SLUS_205.52
LUA
apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory. -- Performace fix local emuObj = getEmuObject() local thresholdArea = 600 emuObj.SetGsTitleFix( "ignoreUpRender", thresholdArea , {alpha=0x80008068 , zmsk=1 } ) -- Bug#9147 -- workaround ... -2104(gp) value is something wrong. the value comes from CCamera::Process(). -- unfortunately accurate math or any other flags don't help for this problem, -- even though it should be calculation error issue. -- for here, it's just given 0 radian for CSprite::RenderBufferedOneXLUSprite_Rotate_Dimension() -- actually the cloud is a billboard, so it should have 0 degree in view-space. -- so given 0 degree must be OK.... but could cause some corruption (wrong perspective or something) eeInsnReplace(0x334d64, 0xc792f7c8, 0x44809000) -- lwc1 $f18,-2104(gp) #Performance fix.
SLUS_205.52
SLUS-20552_features.lua
-- Lua 5.3 -- Title: Grand Theft Auto: Vice City - SLUS-20552 (USA) v3.00 -- Author: Nicola Salmoria -- Date: November 4, 2015 require( "ee-gpr-alias" ) -- you can access EE GPR by alias (gpr.a0 / gpr["a0"]) apiRequest(0.7) -- need widescreen support local eeObj = getEEObject() local emuObj = getEmuObject() local USEWIDESCREEN_ADDRESS = 0x4ba7bc local H1 = -- start of main() function() eeObj.WriteMem8(USEWIDESCREEN_ADDRESS, 1) -- enable widescreen end local H2 = -- main game loop function() local isWidescreen = eeObj.ReadMem8(USEWIDESCREEN_ADDRESS) if isWidescreen == 0 then emuObj.SetDisplayAspectNormal() else emuObj.SetDisplayAspectWide() end end local hook1 = eeObj.AddHook(0x279384, 0xffbf0000, H1) -- <main>: local hook2 = eeObj.AddHook(0x277784, 0x00000000, H2) -- <TheGame(void)>: -- Fix for bug #9161. The 'flying cars' cheat causes crashes when attempting to -- fly an helicopter. We avoid that by disabling recognition of the cheat altogether. -- The SLPM version comes with the cheat disabled out of the box. eeInsnReplace(0x27db2c, 0x14400015, 0x10000015) -- bnez -> b #Official widescreen support and removal of "flying cars" cheat due to game crash.
Jak and Daxter: The Precursor Legacy
SCES_503.61
Text
--ee-jit-pagefault-threshold=20 --gs-frontend-opt-mode=1 --gs-use-mipmap=1 --gs-kernel-cl="mipmap" --gs-kernel-cl-up="mipmap2x2" --vif-ignore-invalid-cmd=1 --vu1-mpg-cycles=144 --cop2-no-clamping=1 --host-audio-latency=0.040 #performance and graphical fix.
SCES_503.61
LUA
-- Jak EU apiRequest(2.2) local gpr = require("ee-gpr-alias") local emuObj = getEmuObject() local eeObj = getEEObject() local gsObj = getGsObject() local eeOverlay = eeObj.getOverlayObject() -- Disable internal field shift compensation, part of post-process removal feature. gsObj.SetDeinterlaceShift(0) -- Fix shadow emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=1 } ) -- Reduce flush count emuObj.SetGsTitleFix( "SetSelfRender", "reserved", { fbmask= 0x00FFFFFF , renderSelf=1 , zmsk=1 , alpha=0 , texMode=1 } ) -- Disable post-processing -- update: removed due to occasional regression (bug#10608). post-processing is now skipped in the EE via 'depth-cue' -- emuObj.SetGsTitleFix( "ignoreSprite", "reserved", { texType=1 , tw=5 , th=8, zmsk=1 , alpha=0x80000044 } ) -- ------------------------- OVERLAY MANAGER -------------------------- g_OnOverlayRegistered = function(filename, start, size) -- global function provided for adding per-overlay callback handlers. end local DH8 = function() local s0 = eeObj.GetGpr(gpr.s0) local linkblock = eeObj.ReadMem32(s0+0x5c) --print( string.format("--> PRELOAD %08x %08x",s0, linkblock) ) local linkblock_allocate_length = eeObj.ReadMem32 (linkblock + 0x00) local linkblock_allocate_version = eeObj.ReadMem32 (linkblock + 0x04) local linkblock_allocate_segment_count = eeObj.ReadMem32 (linkblock + 0x08) local linkblock_allocate_name = eeObj.ReadMemStr(linkblock + 0x0c) local linkblock_allocate_seg1_linkptr = eeObj.ReadMem32 (linkblock + 0x4C) local linkblock_allocate_seg1_dataptr = eeObj.ReadMem32 (linkblock + 0x50) local linkblock_allocate_seg1_size = eeObj.ReadMem32 (linkblock + 0x54) local linkblock_allocate_seg1_flags = eeObj.ReadMem32 (linkblock + 0x58) local linkblock_allocate_seg2_linkptr = eeObj.ReadMem32 (linkblock + 0x5C) local linkblock_allocate_seg2_dataptr = eeObj.ReadMem32 (linkblock + 0x60) local linkblock_allocate_seg2_size = eeObj.ReadMem32 (linkblock + 0x64) local linkblock_allocate_seg2_flags = eeObj.ReadMem32 (linkblock + 0x68) local linkblock_allocate_seg3_linkptr = eeObj.ReadMem32 (linkblock + 0x6C) local linkblock_allocate_seg3_dataptr = eeObj.ReadMem32 (linkblock + 0x70) local linkblock_allocate_seg3_size = eeObj.ReadMem32 (linkblock + 0x74) local linkblock_allocate_seg3_flags = eeObj.ReadMem32 (linkblock + 0x78) -- seg1 is equiv to main in Jak3 -- seg3 is equiv to top in Jak3 -- seg2 appears to be unused ... ? --jstine if emuObj.IsToolingVerbose() then print( string.format("--> LOADED SEGMENT alloc_len %08x ver %08x segcount %08x name:\"%s\"", linkblock_allocate_length, linkblock_allocate_version, linkblock_allocate_segment_count, linkblock_allocate_name) ) print( string.format(" seg1linkptr %08x seg1dataptr %08x seg1size %08x seg1flags %08x", linkblock_allocate_seg1_linkptr, linkblock_allocate_seg1_dataptr, linkblock_allocate_seg1_size, linkblock_allocate_seg1_flags) ) print( string.format(" seg2linkptr %08x seg2dataptr %08x seg2size %08x seg2flags %08x", linkblock_allocate_seg2_linkptr, linkblock_allocate_seg2_dataptr, linkblock_allocate_seg2_size, linkblock_allocate_seg2_flags) ) print( string.format(" seg3linkptr %08x seg3dataptr %08x seg3size %08x seg3flags %08x", linkblock_allocate_seg3_linkptr, linkblock_allocate_seg3_dataptr, linkblock_allocate_seg3_size, linkblock_allocate_seg3_flags) ) end if linkblock_allocate_seg1_size ~= 0 then eeOverlay.Register(linkblock_allocate_name .. ".seg1", linkblock_allocate_seg1_dataptr, linkblock_allocate_seg1_size, false) end if linkblock_allocate_seg3_size ~= 0 then eeOverlay.Register(linkblock_allocate_name .. ".seg3", linkblock_allocate_seg3_dataptr, linkblock_allocate_seg3_size, true) end if (g_OnOverlayRegistered ~= nil) then -- Make sure to execute any previously registered OnOverlay handler if linkblock_allocate_seg1_size ~= 0 then g_OnOverlayRegistered(linkblock_allocate_name .. ".seg1", linkblock_allocate_seg1_dataptr, linkblock_allocate_seg1_size) end if linkblock_allocate_seg1_size ~= 0 then g_OnOverlayRegistered(linkblock_allocate_name .. ".seg3", linkblock_allocate_seg3_dataptr, linkblock_allocate_seg3_size) end end end assert(g_OnOverlayRegistered ~= nil) local prev_OnOverlayRegistered = g_OnOverlayRegistered g_OnOverlayRegistered = function(filename, start, size) if filename == "depth-cue.seg1" then -- Disable full-screen post process via depth-cue. -- This also removes half-pixel shift during interlacing. -- <depth-cue.seg1+00039c> -- 00701DFC:67BDFFF0 daddiu $sp,$sp,-0x10 (0xfffffff0) -> 03E00008 jr $ra -- 00701E00:FFBE0008 sd $fp,8($sp) -> 00000000 nop eeObj.WriteMem32(start + 0x39c, 0x03E00008) eeObj.WriteMem32(start + 0x3a0, 0x00000000) eeObj.WriteMem32(start + 0x004, 0x03E00008) eeObj.WriteMem32(start + 0x008, 0x00000000) end if (prev_OnOverlayRegistered ~= nil) then -- Make sure to execute any previously registered OnOverlay handler prev_OnOverlayRegistered(filename, start, size) end end -- hooked in link_control::finish(void)>: eeObj.AddHook(0x0010ACF8, 0x040C825, DH8) -- this is address US:0010abe0 JP:0010abd8 EU:0010ACF8 #Graphical fix, removal of intensive post process effects.
ALL
SCES-50361_features.lua
This is a substantial file. Over 700 lines with an extensive graphical and control fix. If I post the contents here it would break the page, so instead I'm sharing the file itself as a download link. https://drive.google.com/file/d/1KppgZpiK5bgESrpSRKo6kKPTysZ-NAC9/view #Shadows fix, control scheme changes, forced 60Hz/NTSC/Widescreen.
Manhunt
SLUS_208.27
Text
--ee-hook=0x4329e0,FastForwardClock,0x1600fff1 --gs-uv-shift-pointsampling=1 --ee-hook=0x1d1d60,AdvanceClock,0x27bdffb0,225 --ee-hook=0x1d71e0,AdvanceClock,0x0c09a4d0,100 #Fix crane issue, and probably fixing lightsourcing.
SLUS_208.27
Lua
-- Manhunt [US] local gpr = require('ee-gpr-alias') apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory. local emuObj = getEmuObject() local eeObj = getEEObject() -- Bug #9413 -- Disable uprender on the draw command which samples the framebuffer (0x3200) using bilinear sampling (texMode=2) -- All lighting effects use TriFan prim type, so use that as well to filter against. emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", {prim=5, texMode=2, tbp=0x320000} ) -- Bug#9277 -- Shorten the timeout period for some particular execution command(s). -- When entering the crane, some instruction is executed with a wait period of 0x7333. -- Shortening the wait period to 0x4000 it. Note that 0x5000 is enough to fix entering the -- crane once, but a more aggressive value was needed for subsequent entry into the crane. local FixBug9277 = function() local s0 = eeObj.GetGpr(gpr.s0) --local v0 = eeObj.GetGpr(gpr.v0) --print( string.format("-------- v0=0x%08x s0=0x%08x", v0, s0) ) if s0 == 0x7333 then eeObj.SetGpr(gpr.s0, 0x5800) end end -- No longer seems necessary, when FastForwardClock is applied here instead (see _cli.conf) eeObj.AddHookJT(0x1d71f8, 0x10000036, FixBug9277) #Further bug fixes as well as fixing bloom/overglare from lightsources.
Samurai Shodown Anthology
SLUS_216.29
Text
--gs-upscale=point --gs-uprender=2x2 --gs-motion-factor=25 --host-audio-latency=0.01 --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 #fix for substantial slowdown during combat.
Custom PS2emu Configuration Files
Here are configuration files created by users, to improve PS2 emulator compatibility on PS4
Ace Combat 4
All versions
Text
--gs-kernel-cl="mipmap" --gs-kernel-cl-up="mipmap2x2" --gs-use-mipmap=1 #Fix for terrain textures
Ace Combat 5
All versions
Text
--gs-kernel-cl="mipmap" --gs-kernel-cl-up="mipmap2x2" --gs-use-mipmap=1 #Same fix for terrain textures
SLUS_208.51
LUA
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)
Ace Combat Zero: The Belkan War
All versions
Text
--gs-kernel-cl="mipmap" --gs-kernel-cl-up="mipmap2x2" --gs-use-mipmap=1 #Once again, same fix for terrain textures.
SLUS_213.46
LUA
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)
AirBlade
All versions
Text
--vu0-no-clamping=0 --vu0-clamp-operands=1 --vu0-clamp-results=1 --vu1-no-clamping=0 --vu1-clamp-operands=1 --vu1-clamp-results=1 --cop2-no-clamping=0 --cop2-clamp-operands=1 --cop2-clamp-results=1 #Fix for flickering models and textures
Ape Escape 2
All versions
Text
--gs-use-mipmap=1 --gs-kernel-cl="mipmap" --gs-kernel-cl-up="mipmap2x2" #Fix for flickering textures
Bloody Roar 4
All
Text
--vu0-no-clamping=0 --vu0-clamp-results=1 --vu1-no-clamping=0 --vu1-clamp-results=1 --cop2-no-clamping=0 --cop2-clamp-results=1 #SPS Fix
Cold Winter
All
Text
--vu0-no-clamping=0 --vu1-no-clamping=0 --vu0-clamp-operands=1 --vu0-clamp-results=1 --vu1-clamp-operands=1 --vu1-clamp-results=1 # fix graphic and physics, there are still issue with fmv, and minor stering issue.
Dead or Alive 2: Hardcore
SLUS_200.71
Lua
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 })
Dragon Quest VIII: Journey of the Cursed King
All
Text
--gs-uprender=2x2 --gs-upscale=EdgeSmooth --gs-kernel-cl-up="up2x2skipinterp" --gs-optimize-30fps=1 #Fixes shadows
Frogger: Ancient Shadow
SLUS_210.98
Text
--vu0-no-clamping=0 --vu1-no-clamping=0 --vu0-clamp-operands=1 --vu0-clamp-results=1 --vu1-clamp-operands=1 --vu1-clamp-results=1 --cop2-no-clamping=0 --cop2-clamp-operands=1 --cop2-clamp-results=1 #Fixes disappearing models during cutscenes and during gameplay
Ghost in the Shell: Stand Alone Complex
SLES_530.20
LUA
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
Killer7
All versions
Test
--vu0-no-clamping=0 --vu0-clamp-operands=1 --vu0-clamp-results=1 --vu1-no-clamping=0 --vu1-clamp-operands=1 --vu1-clamp-results=1 #fix for flickering polygons.
Klonoa 2
All versions
Text
--fpu-no-clamping=1 #Fix for misplaced objects, still require fix for texturing problems. Require Rogue Galaxy emu
Metal Saga
All versions
Text
--vif1-ignore-cmd-ints=1 #Fix for black-screen on SatCom/Equip menus. Game still unplayable due to immediate freeze during combat.
Need for Speed Carbon
SLES_543.22
Text
--fpu-accurate-range=0x150000,0x170000 # Fix loading freeze, game still unplayable due to 1 fps in-game.
NBA Street Vol.2
All versions
Text
--vu1-no-clamping=0 --vu1-clamp-operands=1 --vu1-clamp-results=1 --gs-adaptive-frameskip=1 # Fix for graphical corruptions, require "JAK" emu.
Oni
SLES_501.34 SLES_501.76 SLES_501.77 SLES_501.78 SLES_501.79
Lua
apiRequest(0.1) -- Fix for hang at loading screen eeInsnReplace(0x1CEF7C, 0x4100FFFF, 0x00000000)
SLUS_200.64
Lua
apiRequest(0.1) -- Fix for hang at loading screen eeInsnReplace(0x1CF3CC, 0x4100FFFF, 0x00000000)
Phantasy Star Universe
ALL
Text
--gs-use-clut-merge=1 --gs-kernel-cl="clutmerge" --gs-kernel-cl-up="clutmerge2x2" #Fix for flickering textures and geometry
Rygar: The Legendary Adventure
SLUS_204.71
Text
--fpu-accurate-range=0x147CC0,0x147EA0 #Fix for freeze after leaving the first area.
SNK vs Capcom: SVC Chaos
ALL
Text
--gs-use-clut-merge=1 --gs-kernel-cl="clutmerge" --gs-kernel-cl-up="clutmerge2x2" #Fixes missing hud/UI elements.
Street Fighter Alpha Anthology
ALL
Text
--gs-motion-factor=50 --host-audio-latency=0.01 --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.
Tales of Destiny: Directors Cut
SLPS-25842, SLPS-25841, SCKA-20119
Text
--fpu-accurate-range=0x1C0000,0x1D0000 --gs-use-clut-merge=1 --gs-kernel-cl="clutmerge" --gs-kernel-cl-up="clutmerge2x2" # Fix control after exiting the menu, and graphic bugs. 0x1C0000,0x1D0000 range can be clamped is someone will find it slow.
Tales of The Abyss
SLUS_213.86
Text
--gs-uprender=none --gs-upscale=none #fix coruption lines caused by upscsaler, remember to remove 2x2 that already exist in config --fpu-accurate-range=0x27FFFC,0x27FFFF --fpu-accurate-range=0x2921F4,0x2921F8 #choral castle soft lock fix --fpu-no-clamping=0 --vu0-no-clamping=0 --vu1-no-clamping=0 --cop2-no-clamping=0 --fpu-clamp-results=1 --vu0-clamp-results=1 --vu1-clamp-results=1 --cop2-clamp-results=1 #Seems to fix not renedering characters in cut scenes
Tony Hawk Pro Skater 3
All
Text
--vu0-no-clamping=0 --vu1-no-clamping=0 --vu0-clamp-results=1 --vu1-clamp-results=1 --fpu-no-clamping=0 --cop2-no-clamping=0 --fpu-clamp-results=1 --cop2-clamp-results=1 #SPS Fix
Valkyrie Profile 2: Silmeria
All versions
Text
--gs-progressive=1 --gs-uprender=2x2 --gs-upscale=Point --vu-hack-triace=1 --gs-kernel-cl-up="up2x2simple" #Looks like it fix all graphical issues excluding purple effect in Forest at start of game
Vampire: Darkstalkers Collection
ALL
Text
--gs-motion-factor=50 --host-audio-latency=0.01 --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.
Whiplash
All versions
Text
--gs-kernel-cl="mipmap" --gs-kernel-cl-up="mipmap2x2" --gs-use-mipmap=1 #Fix for texture glitches
X files - resist or serve
NTSC/U
Text
--vu0-no-clamping=0 --vu0-clamp-results=1 --vu1-no-clamping=0 --vu1-clamp-results=1 --cop2-no-clamping=0 --cop2-clamp-results=1 #fix for missing models