Editing Custom Configuration Files

Jump to navigation Jump to search
Warning: You are not logged in. Your IP address will be publicly visible if you make any edits. If you log in or create an account, your edits will be attributed to your username, along with other benefits.

The edit can be undone. Please check the comparison below to verify that this is what you want to do, and then publish the changes below to finish undoing the edit.

Latest revision Your text
Line 14: Line 14:




=Custom Configuration Files=
====18 Wheeler - American Pro Trucker====
====18 Wheeler - American Pro Trucker====
<br>NTSC
<br>NTSC
Line 44: Line 43:
--math.random() + math.random(1, 99)
--math.random() + math.random(1, 99)
</pre>
</pre>
====24 The Game====
====24 The Game====
'''''CLI'''''
'''''CLI'''''
<pre>
<pre>
--gs-uprender=2x2
--gs-upscale=edgesmooth
--host-display-mode=16:9
--ee-kernel-hle=1
--ee-injection-kernel=1
--ee-injection-title=1
--ee-cycle-scalar=1.9
--ee-cycle-scalar=1.9
--safe-area-min=1.0
--safe-area-min=1.0
--vu0-no-clamping=0
--vu0-no-clamping=0
--vu0-clamp-operands=1
--vu0-clamp-results=1
--vu1-no-clamping=0
--vu1-no-clamping=0
--vu1-clamp-operands=1
--vu1-clamp-results=1
--cop2-no-clamping=0
--cop2-no-clamping=0
--cop2-clamp-operands=1
--cop2-clamp-results=1




Line 68: Line 80:
local gpr = require("ee-gpr-alias")
local gpr = require("ee-gpr-alias")


apiRequest(0.1)
apiRequest(1.0)


local eeObj = getEEObject()
local eeObj = getEEObject()
Line 153: Line 165:


<br>SCES_504.10
<br>SCES_504.10
<pre>apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory.
<pre>apiRequest(2.2) -- request version 0.1 API. Calling apiRequest() is mandatory.


-- Wrong sky shader
-- Wrong sky shader
Line 189: Line 201:
<br>SCES_540.41
<br>SCES_540.41


<pre>apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory.
<pre>apiRequest(2.2) -- request version 0.1 API. Calling apiRequest() is mandatory.


-- Wrong sky shader
-- Wrong sky shader
Line 245: Line 257:


<pre>--emu used=jakx v2
<pre>--emu used=jakx v2
apiRequest(0.1)
apiRequest(1.0)
local eeObj = getEEObject()
local eeObj = getEEObject()
local emuObj = getEmuObject()
local emuObj = getEmuObject()
Line 295: Line 307:
<br>All Versions
<br>All Versions
<pre>
<pre>
--gs-uprender=2x2
--gs-upscale=EdgeSmooth
--host-display-mode=16:9
--vif1-instant-xfer=0
--vif1-instant-xfer=0
--vu0-no-clamping=0
--vu0-no-clamping=0
--vu0-clamp-results=1
--vu1-no-clamping=0
--vu1-no-clamping=0
--vu1-clamp-results=1
</pre>
</pre>


Line 319: Line 339:


<pre>--vu0-no-clamping=0
<pre>--vu0-no-clamping=0
--vu0-clamp-results=1
--vu1-no-clamping=0
--vu1-no-clamping=0
--vu1-clamp-results=1
--cop2-no-clamping=0
--cop2-no-clamping=0
--cop2-clamp-results=1


#SPS Fix</pre>
#SPS Fix</pre>
Line 354: Line 377:
eeInsnReplace(0x262608, 0xE4400000, 0xAC410000)
eeInsnReplace(0x262608, 0xE4400000, 0xAC410000)
eeInsnReplace(0x2564A8, 0x8F829764, 0x24020000)</pre>
eeInsnReplace(0x2564A8, 0x8F829764, 0x24020000)</pre>
====Cabela's Dangerous Hunts====
<br>CLI
<br>All
<pre>
#Sps fix
--vu1-no-clamping=0
</pre>


====Castlevania: Curse of Darkness====
====Castlevania: Curse of Darkness====
Line 439: Line 454:
==== Call of Duty: World at War - Final Fronts ====
==== Call of Duty: World at War - Final Fronts ====
<pre>
<pre>
--ee-kernel-hle=1
--ee-injection-kernel=1
--ee-injection-title=1
--ee-cycle-scalar=1.9
--ee-cycle-scalar=1.9
--safe-area-min=1.0
--safe-area-min=1.0
--vu0-no-clamping=0
--vu0-no-clamping=0
--vu0-clamp-operands=1
--vu0-clamp-results=1
--vu1-no-clamping=0
--vu1-no-clamping=0
--vu1-clamp-operands=1
--vu1-clamp-results=1
--cop2-no-clamping=0
--cop2-no-clamping=0
--cop2-clamp-operands=1
--cop2-clamp-results=1
# Fixed low framrate issue, !!!JAK EMULATOR Used!!!
# Fixed low framrate issue, !!!JAK EMULATOR Used!!!
</pre>
</pre>
Line 453: Line 477:
<pre>--vu0-no-clamping=0
<pre>--vu0-no-clamping=0
--vu1-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.</pre>
# fix graphic and physics, there are still issue with fmv, and minor stering issue.</pre>
Line 473: Line 501:
-- emu used=KOF 98
-- emu used=KOF 98


apiRequest(0.1)  
apiRequest(1.0)  


local gpr = require("ee-gpr-alias")
local gpr = require("ee-gpr-alias")
Line 521: Line 549:
-- emu used=KOF 2000
-- emu used=KOF 2000


apiRequest(0.1)
apiRequest(1.0)  


local gpr = require("ee-gpr-alias")
local gpr = require("ee-gpr-alias")
Line 545: Line 573:
'''SLPM-62114_cli.conf'''
'''SLPM-62114_cli.conf'''
<pre>
<pre>
--gs-uprender=2x2
--gs-upscale=edgesmooth
--host-display-mode=16:9
--force-frame-blend=1
--force-frame-blend=1
--gs-kernel-cl="h2lpool"
--gs-kernel-cl="h2lpool"
Line 558: Line 589:
-- emu used=KOF 98
-- emu used=KOF 98


apiRequest(0.1)
apiRequest(1.0)


local gpr = require("ee-gpr-alias")
local gpr = require("ee-gpr-alias")
Line 689: Line 720:
<br>'''''CLI'''''
<br>'''''CLI'''''
<pre>
<pre>
--gs-uprender=2x2
--gs-upscale=edgesmooth
--gs-adaptive-frameskip=1
--gs-adaptive-frameskip=1
--force-frame-blend=1
--force-frame-blend=1
--vu0-no-clamping=0
--vu0-no-clamping=0
--vu1-no-clamping=0
--vu1-no-clamping=0
--vu1-di-bits=0
--vu1-di-bits=0
--vu1=jit-sync
--vu1=jit-sync
--vu1-mpg-cycles=2200
--vu1-mpg-cycles=2200
--vu1-jalr-cache-policy=newprog
--vu1-jalr-cache-policy=newprog
Line 710: Line 745:
local gpr = require("ee-gpr-alias")
local gpr = require("ee-gpr-alias")


apiRequest(0.1)
apiRequest(2.0)


local emuObj = getEmuObject()
local emuObj = getEmuObject()
Line 780: Line 815:
--DOA 2 Hardcore NTSC US
--DOA 2 Hardcore NTSC US


apiRequest(0.1)
apiRequest(2.2)


local gpr      = require("ee-gpr-alias")
local gpr      = require("ee-gpr-alias")
Line 831: Line 866:


<pre>
<pre>
#Fix for game being stuck with flickering, immovable main menu items.
#Fix for game being stuck at main menu with selections moving very fast
--fpu-no-clamping=1
--fpu-no-clamping=1
#Speedhack
#Speedhack
Line 925: Line 960:
#Fix for being stuck in Faerie land.
#Fix for being stuck in Faerie land.
--fpu-accurate-range=0x00693f88,0x00693f88
--fpu-accurate-range=0x00693f88,0x00693f88
</pre>
====Drakengard 2====
'''CLI'''
<br>Emu: '''War of the Monsters'''
<pre>
#Fix upscaling artifacts (flames and lights)
--gs-kernel-cl-up="up2x2simple"
#Use Mipmap for sharper terrain textures
--gs-use-mipmap=1
#Fix faintly flickering floor shadow textures
--gs-use-clut-merge=1
#Use EE clamping
--fpu-no-clamping=0
--cop2-no-clamping=0
#Speedhacks
--vu1-di-bits=0
--vu1-mpg-cycles=300
</pre>
</pre>


Line 951: Line 968:
#Slowdown fixes
#Slowdown fixes
--vu1-di-bits=0
--vu1-di-bits=0
--vu1-mpg-cycles=700
--vu1-mpg-cycles=600
--ee-cycle-scalar=1.2
 
#Disable try to fix graphics if creating using ps2fpkg v0.6
#Disable try to fix graphics if creating using ps2fpkg v0.6
</pre>
</pre>
Line 1,003: Line 1,022:


# Emu used = Primal
# Emu used = Primal
</pre>
====Driv3r====
'''CLI'''
<br>SLUS-20587
<pre>
#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"
</pre>
</pre>


Line 1,027: Line 1,029:
<br>All Versions
<br>All Versions


<pre>
<pre>--gs-uprender=2x2
--gs-upscale=EdgeSmooth
 
--host-display-mode=16:9
--framelimit-mode=normal
--framelimit-mode=normal
#Fix for missing character/world parts
#Fix for missing character/world parts
Line 1,146: Line 1,151:
#use the rest just in case
#use the rest just in case
--vu0-no-clamping=0
--vu0-no-clamping=0
--vu0-clamp-operands=1
--vu0-clamp-results=1
--vu1-clamp-operands=1
--vu1-clamp-results=1
--cop2-no-clamping=0
--cop2-no-clamping=0
--cop2-clamp-operands=1
--cop2-clamp-results=1
#Fixes disappearing models during cutscenes and during gameplay</pre>
#Fixes disappearing models during cutscenes and during gameplay</pre>


Line 1,153: Line 1,164:
<br>CLI
<br>CLI
<pre>--fpu-no-clamping=0
<pre>--fpu-no-clamping=0
--fpu-clamp-results=1
--vu0-no-clamping=0
--vu0-no-clamping=0
--vu0-clamp-results=1
--vu1-no-clamping=0
--vu1-no-clamping=0
--vu1-clamp-results=1
--cop2-no-clamping=0
--cop2-no-clamping=0
--cop2-clamp-results=1
#fix for missing character models
#fix for missing character models
--vu-xgkick-delay=0
--vu-xgkick-delay=0.58
#KOF98Emu used</pre>
#KOF98Emu used</pre>


====Galarians: Ash====
====Galarians: Ash====
'''''CLI'''''
'''''CLI'''''
<pre>
<pre>--gs-uprender=2x2
--gs-upscale=EdgeSmooth
--gs-adaptive-frameskip=1
--gs-adaptive-frameskip=1


Line 1,176: Line 1,192:


</pre>
</pre>
'''''LUA file'''''
'''''LUA file'''''
<pre>
<pre>
Line 1,184: Line 1,199:
local gpr = require("ee-gpr-alias")
local gpr = require("ee-gpr-alias")


apiRequest(0.1)
apiRequest(2.2)


local eeObj = getEEObject()
local eeObj = getEEObject()
Line 1,196: Line 1,211:
end
end


emuObj.AddVsyncHook(patcher)
</pre>
====Genji Dawn of the Samurai====
<br>'''LUA'''
<br>NTSC (SCUS-97471)
<br>Emu = War Of The Monsters
<pre>
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)
emuObj.AddVsyncHook(patcher)
</pre>
</pre>
Line 1,402: Line 1,400:
<br>CLI
<br>CLI
<pre>
<pre>
--gs-uprender=2x2
--gs-upscale=edgesmooth
--gs-kernel-cl="h2lpool"
--gs-kernel-cl="h2lpool"
--gs-kernel-cl-up="h2lpool2x2"
--gs-kernel-cl-up="h2lpool2x2"
--host-display-mode=16:9
#emu used=psychonauts v2
#emu used=psychonauts v2
</pre>
</pre>
Line 1,411: Line 1,413:
local gpr = require("ee-gpr-alias")
local gpr = require("ee-gpr-alias")


apiRequest(0.1)
apiRequest(1.0)


local eeObj = getEEObject()
local eeObj = getEEObject()
Line 1,453: Line 1,455:
<br>CLI
<br>CLI
<pre>
<pre>
--gs-uprender=2x2
--gs-upscale=edgesmooth
--gs-kernel-cl="h2lpool"
--gs-kernel-cl="h2lpool"
--gs-kernel-cl-up="h2lpool2x2"
--gs-kernel-cl-up="h2lpool2x2"
Line 1,470: Line 1,474:
<pre>--vu0-no-clamping=0
<pre>--vu0-no-clamping=0
--vu1-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-no-clamping=0
--cop2-clamp-operands=1
--cop2-clamp-results=1


#fix for graphical glitches, specially the missing ground.
#fix for graphical glitches, specially the missing ground.
Line 1,495: Line 1,505:
<br>'''US'''
<br>'''US'''
<pre>
<pre>
--gs-uprender=2x2
--gs-upscale=EdgeSmooth
--gs-adaptive-frameskip=1
--gs-adaptive-frameskip=1
--gs-kernel-cl="h2lpool"
--gs-kernel-cl="h2lpool"
Line 1,501: Line 1,513:


--ee-cycle-scalar=2.0
--ee-cycle-scalar=2.0
--vu1-mpg-cycles=2000
--vu1-mpg-cycles=2000
--vu1-di-bits=0
--vu1-di-bits=0
--vu1=trans
#Cdvd timing
#Cdvd timing
--iop-cycle-scalar=0.20
--iop-cycle-scalar=0.20
Line 1,514: Line 1,528:
-- 03 Corrupted green lines around the objects, uprendering problem
-- 03 Corrupted green lines around the objects, uprendering problem
-- Slowdowns and performances patched in cli.conf file
-- Slowdowns and performances patched in cli.conf file
apiRequest(0.1)
apiRequest(2.2)


local emuObj = getEmuObject()
local emuObj = getEmuObject()
Line 1,528: Line 1,542:
====God of War 2====
====God of War 2====
'''''CLI'''''
'''''CLI'''''
<pre>
<pre>--gs-uprender=2x2
--gs-upscale=edgesmooth
--gs-adaptive-frameskip=1
--gs-adaptive-frameskip=1
--ee-cycle-scalar=0.62
--ee-cycle-scalar=0.62
Line 1,536: Line 1,551:
--vu1-jalr-cache-policy=newprog
--vu1-jalr-cache-policy=newprog
--cdvd-sector-read-cycles=4000
--cdvd-sector-read-cycles=4000
--host-audio-latency=1.6
--host-display-mode=16:9


*Jakx Emu used*</pre>
*Jakx Emu used*</pre>
Line 1,543: Line 1,560:
-- ported to PS4  
-- ported to PS4  


apiRequest(0.1)
apiRequest(2.2)


local gpr    = require("ee-gpr-alias")
local gpr    = require("ee-gpr-alias")
Line 1,662: Line 1,679:
<br>All Versions
<br>All Versions


<pre>
<pre>--gs-uprender=2x2
--gs-upscale=EdgeSmooth
 
--host-display-mode=16:9
 
--vu1-no-clamping=0
--vu1-no-clamping=0
#fix for graphical glitches.
 
 
#fix for graphical glitches.
</pre>
</pre>


Line 1,724: Line 1,747:
<pre>
<pre>


apiRequest(0.1)
apiRequest(1.0)
local eeObj = getEEObject()
local eeObj = getEEObject()
local emuObj = getEmuObject()
local emuObj = getEmuObject()
Line 1,755: Line 1,778:


<pre>--vu0-no-clamping=0
<pre>--vu0-no-clamping=0
--vu0-clamp-operands=1
--vu0-clamp-results=1
--vu1-no-clamping=0
--vu1-no-clamping=0
--vu1-clamp-operands=1
--vu1-clamp-results=1


#fix for flickering polygons.</pre>
#fix for flickering polygons.</pre>
Line 1,913: Line 1,940:
<br>SLES-51093
<br>SLES-51093
<br>'''''CLI'''''
<br>'''''CLI'''''
<pre>
<pre>--gs-uprender=2x2
--gs-upscale=EdgeSmooth
--host-display-mode=16:9
--cdvd-sector-read-cycles=5000
--cdvd-sector-read-cycles=5000
#emu used=rotk v1
#emu used=rotk v1
Line 1,990: Line 2,019:
-- emu used=KOF2000                              --
-- emu used=KOF2000                              --
                                                                                              
                                                                                              
apiRequest(0.1)                                
apiRequest(1.0)                                  


local eeObj = getEEObject()  
local eeObj = getEEObject()  
Line 2,107: Line 2,136:
<pre>-- emu used=kinetica v2
<pre>-- emu used=kinetica v2


apiRequest(0.1)   
apiRequest(1.0)   


local gpr = require("ee-gpr-alias")
local gpr = require("ee-gpr-alias")
Line 2,138: Line 2,167:
'''''CLI'''''
'''''CLI'''''
<pre>
<pre>
--ee-kernel-hle=1
--ee-injection-kernel=1
--ee-injection-title=1
--ee-block-validation=PageProt
--ee-block-validation=PageProt
--vu1-opt-flags=2
--vu1-opt-flags=2
Line 2,170: Line 2,202:
--vu0-no-clamping=0
--vu0-no-clamping=0
--vu1-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-no-clamping=0
--cop2-clamp-operands=1
--cop2-clamp-results=1
# Fixed green, blue and red graphical issues. The game works better.
# Fixed green, blue and red graphical issues. The game works better.
</pre>
</pre>
Line 2,280: Line 2,318:


local gpr = require("ee-gpr-alias")
local gpr = require("ee-gpr-alias")
apiRequest(0.1)
apiRequest(1.0)


local eeObj = getEEObject()
local eeObj = getEEObject()
Line 2,304: Line 2,342:
<br>SLUS-21065
<br>SLUS-21065


<pre>apiRequest(0.1)
<pre>apiRequest(1.0)


local eeObj = getEEObject()
local eeObj = getEEObject()
Line 2,339: Line 2,377:
--gs-kernel-cl-up="mipmap2x2"
--gs-kernel-cl-up="mipmap2x2"
--vu0-no-clamping=0
--vu0-no-clamping=0
--vu0-clamp-results=1
--vu1-no-clamping=0
--vu1-no-clamping=0
--vu1-clamp-results=1
--cop2-clamp-results=1
--cop2-no-clamping=0
--cop2-no-clamping=0
#Fixes for slowdowns
#Fixes for slowdowns
Line 2,385: Line 2,426:
<br>SLES-53959
<br>SLES-53959
<pre>
<pre>
--gs-uprender=2x2
--gs-upscale=edgesmooth
--cdvd-sector-read-cycles=2000
--cdvd-sector-read-cycles=2000
--host-display-mode=16:9
#Fix for fmvs showing black screen with subtitles
#Fix for fmvs showing black screen with subtitles
--fpu-accurate-range=0x3f3068,0x3f32bc
--fpu-accurate-range=0x3f3068,0x3f32bc
Line 2,548: Line 2,592:
--vu1-no-clamping=0
--vu1-no-clamping=0
--vu0-no-clamping=0
--vu0-no-clamping=0
#Animation timing fix
#Optional Clamping
--fpu-no-clamping=0
#Speedup
--vu1-di-bits=0
#underclocking the animation offsets
--ee-hook=0x0028A808,AdvanceClock,,500
--ee-hook=0x0028A574,AdvanceClock,,500
--ee-hook=0x0028A4F4,AdvanceClock,,500
--ee-hook=0x0028A4E4,AdvanceClock,,500
--ee-hook=0x0028A6EC,AdvanceClock,,500
--ee-hook=0x0028A460,AdvanceClock,,500
--ee-hook=0x0028A278,AdvanceClock,,500
--ee-hook=0x0028A278,AdvanceClock,,500
--ee-hook=0x0028A410,AdvanceClock,,500
--ee-hook=0x0028A288,AdvanceClock,,500
--ee-hook=0x0028A294,AdvanceClock,,500
--ee-hook=0x0028A4A0,AdvanceClock,,500
--ee-hook=0x0028A36C,AdvanceClock,,500
--ee-hook=0x0028A6BC,AdvanceClock,,500
--ee-hook=0x0028A488,AdvanceClock,,500
--ee-hook=0x0028A65C,AdvanceClock,,500
--ee-hook=0x0028A68C,AdvanceClock,,500
--ee-hook=0x0028A6D4,AdvanceClock,,500
--ee-hook=0x0028A6A4,AdvanceClock,,500
--ee-hook=0x0028A5D4,AdvanceClock,,500
--ee-hook=0x0028A5D4,AdvanceClock,,500
</pre><br>'''LUA'''
</pre><br>'''LUA'''
Line 2,556: Line 2,621:
-- emu used=KOF 2000
-- emu used=KOF 2000


apiRequest(0.1)
apiRequest(1.0)  


local gpr = require("ee-gpr-alias")
local gpr = require("ee-gpr-alias")
Line 2,829: Line 2,894:


<pre>--gs-upscale=point
<pre>--gs-upscale=point
--gs-uprender=2x2
--gs-motion-factor=25
--host-audio-latency=0.01
--gs-ignore-dirty-page-border=1
--gs-ignore-dirty-page-border=1
--gs-kernel-cl="h2lpool"
--gs-kernel-cl="h2lpool"
Line 2,834: Line 2,902:
--gs-h2l-list-opt=1
--gs-h2l-list-opt=1
--gs-h2l-accurate-hash=1
--gs-h2l-accurate-hash=1
#same as Anthology, which VI is a patched-out section of; substantial slowdown during combat has been mitigated.</pre>
#same as Anthology, which VI is a patched-out section of; substantial slowdown during combat has been mitigated.</pre>


Line 3,074: Line 3,143:
</pre>
</pre>


====Shin Megami Tensei III: Nocturne====
====Shin Megami Tensei: Persona 3 FES====
'''CLI'''
<br>All
<br>Emu: War of the Monsters
<pre>
#Speedhacks
--vu1-di-bits=0
--vu1-mpg-cycles=200
#Fix fpu math
--fpu-accurate-muldiv=1
--fpu-accurate-mul-fast=1
</pre>


====Shin Megami Tensei: Persona 3 FES====
'''CLI'''
<br>'''NTSC'''
<br>'''NTSC'''
<br>'''CLI'''
<pre>
<pre>
# Fixes interlacing.
# Misc
--host-display-mode=full
--force-frame-blend=0
--force-frame-blend=0
--gs-progressive=1
--ee-cycle-scalar=0.62
--host-audio-latency=0.05
# Mipmapping
--gs-use-mipmap=1
--gs-kernel-cl="mipmap"
--gs-kernel-cl-up="mipmap2x2"
# VU Speedhacks
# VU Speedhacks
--vu0-const-prop=1
--vu1-const-prop=1
--vu1-di-bits=0
--vu1-di-bits=0
--vu1-mpg-cycles=300
--vu0-di-bits=0
 
--vu1-opt-vf00=2
#User Emu = kof98um
--vu0-opt-vf00=2
</pre>
--vu1-mpg-cycles=1400
 
--vu-custom-min-max=0
# IOP Speedhacks
--iop-const-folding=All
--iop-cycle-scalar=0.1
--cdvd-sector-seek-cycles=0.1
--cdvd-sector-read-cycles=0.1
# Default Optimizations
--fpu-no-clamping=0
--fpu-clamp-operands=1
--fpu-clamp-results=1
--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
--vu0-opt-flags=1
--vu1-opt-flags=1
--cop2-opt-flags=1
--vu1-jr-cache-policy=newprog
--vu1-jalr-cache-policy=newprog
--vu0-jr-cache-policy=newprog
--vu0-jalr-cache-policy=newprog
 
#User Emu = kof98um
</pre>
 
* Config and icons [https://www.psx-place.com/threads/research-ps2-emulator-configuration-on-ps4.16131/page-243 Download]
 
====Shin Megami Tensei: Persona 4====
====Shin Megami Tensei: Persona 4====
'''''CLI'''''
'''''CLI'''''
Line 3,200: Line 3,298:
'''''LUA'''''
'''''LUA'''''
<br>(SLUS-20228)
<br>(SLUS-20228)
<pre>apiRequest(0.1)
<pre>apiRequest(1.0)


local eeObj = getEEObject()
local eeObj = getEEObject()
Line 3,253: Line 3,351:
ALL
ALL
<br>CLI
<br>CLI
<pre>
<pre>--gs-uprender=2x2
--gs-upscale=edgesmooth
--gs-kernel-cl-up="up2x2skipinterp"
--gs-kernel-cl-up="up2x2skipinterp"


Line 3,272: Line 3,371:
-- emu used=jakx v2
-- emu used=jakx v2


apiRequest(0.1)
apiRequest(2.3)


local gpr    = require("ee-gpr-alias")
local gpr    = require("ee-gpr-alias")
Line 3,296: Line 3,395:
</pre>
</pre>


====Spider-Man: Web of Shadows====
ALL
<br>CLI
<pre>
# Fix not being able to connect hits, and summon... etc...
--fpu-no-clamping=0
--cop2-no-clamping=0
</pre>
====Spider-Man 3 ====
====Spider-Man 3 ====
ALL
ALL
Line 3,314: Line 3,405:


--vu1-mpg-cycles=600
--vu1-mpg-cycles=600
--host-audio-latency=2.21


#Fix for slowdown and micro-freezes</pre>
#Fix for slowdown and micro-freezes</pre>
Line 3,325: Line 3,418:
#Rest might be unnecessary
#Rest might be unnecessary
--vu0-no-clamping=0
--vu0-no-clamping=0
--vu0-clamp-operands=1
--vu0-clamp-results=1
--vu1-clamp-operands=1
--vu1-clamp-results=1
--cop2-no-clamping=0
--cop2-no-clamping=0
--cop2-clamp-operands=1
--cop2-clamp-results=1
</pre>
</pre>


Line 3,332: Line 3,431:
<br>'''''CLI'''''
<br>'''''CLI'''''
<pre>
<pre>
#Speedhacks
#Speedhacks + Clamping
--vu1-di-bits=0
--vu1-di-bits=0
--vu1-mpg-cycles=850
--vu1-const-prop=1
#Fix for flickering Spyro shadow
--vu1-mpg-cycles=800
--gs-use-clut-merge=1
--ee-cycle-scalar=1.2
#Jakv2 Emu Used
#Jakv2 Emu Used
</pre>
</pre>
Line 3,353: Line 3,452:
<pre>
<pre>
--iop-cycle-scalar=1.8
--iop-cycle-scalar=1.8
--host-audio-latency=1.1


#Use JakX v2 emu</pre>
#Use JakX v2 emu</pre>
Line 3,410: Line 3,510:
--vu0-di-bits=0
--vu0-di-bits=0
--vu1-di-bits=0
--vu1-di-bits=0
--vu0-const-prop=1
--vu1-const-prop=1
--ee-cycle-scalar=1.5
--ee-cycle-scalar=1.5
--gs-adaptive-frameskip=1
--gs-adaptive-frameskip=1
--vu1-injection=1
--vu1-injection=1
#Misc
--host-audio-latency=0.01


#PS4 Pro required for full speed
#PS4 Pro required for full speed
Line 3,427: Line 3,531:
#Fix for graphical glitches.</pre>
#Fix for graphical glitches.</pre>


====Sword of ETheria====
====Sword of etheria====
'''CLI'''
'''CLI'''
<br>All versions
<br>All versions
<pre>
<pre>
#Fixes missing graphics and crashes.
#Fix for game's graphics being missing And game crashing
--vu-custom-min-max=0
--vu-custom-min-max=0
#Jakv2 emu used
#Jakv2 emu used
Line 3,491: Line 3,595:
'''''CLI'''''
'''''CLI'''''
<pre>
<pre>
--gs-uprender=2x2
--gs-upscale=EdgeSmooth


--fpu-accurate-range=0x27FFFC,0x27FFFF
--fpu-accurate-range=0x27FFFC,0x27FFFF
Line 3,498: Line 3,604:
--vu1-no-clamping=0
--vu1-no-clamping=0
--cop2-no-clamping=0
--cop2-no-clamping=0
--host-display-mode=16:9
</pre>
</pre>
'''''LUA file'''''
'''''LUA file'''''
Line 3,770: Line 3,878:
<pre>
<pre>
-- Fix for thin vertical lines that separate screen picture, misallignment/tearing of screen during upscaling (was used in official PSN Red Dead Revolver)
-- 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)
apiRequest(1.0)
local emuObj = getEmuObject()
local emuObj = getEmuObject()
-- psm= SCE_GS_PSMCT32 (0)
-- psm= SCE_GS_PSMCT32 (0)
Line 3,784: Line 3,892:
<pre>--vu0-no-clamping=0
<pre>--vu0-no-clamping=0
--vu1-no-clamping=0
--vu1-no-clamping=0
--vu0-clamp-results=1
--vu1-clamp-results=1
--fpu-no-clamping=0
--fpu-no-clamping=0
--cop2-no-clamping=0
--cop2-no-clamping=0
--fpu-clamp-results=1
--cop2-clamp-results=1


#SPS Fix</pre>
#SPS Fix</pre>
Line 3,896: Line 4,008:


<pre>
<pre>
--gs-uprender=2x2
--gs-upscale=EdgeSmooth


--force-frame-blend=1
--force-frame-blend=1
Line 3,968: Line 4,082:
<pre>--Proper Widescreen and No ghosting
<pre>--Proper Widescreen and No ghosting
--Valkyrie Profile 2 - Silmeria (USA) SLUS_214.52
--Valkyrie Profile 2 - Silmeria (USA) SLUS_214.52
apiRequest(0.1)
apiRequest(1.0)
local eeObj = getEEObject()
local eeObj = getEEObject()
local emuObj = getEmuObject()
local emuObj = getEmuObject()
Line 3,993: Line 4,107:
<br>CLI
<br>CLI
<pre>--gs-motion-factor=50
<pre>--gs-motion-factor=50
--host-audio-latency=0.01
--gs-kernel-cl="h2lpool"
--gs-kernel-cl="h2lpool"
--gs-kernel-cl-up="h2lpool2x2"
--gs-kernel-cl-up="h2lpool2x2"
Line 4,003: Line 4,118:
<br>CLI
<br>CLI
<pre>
<pre>
--gs-uprender=2x2
--gs-upscale=edgesmooth
--gs-kernel-cl="h2lpool"
--gs-kernel-cl="h2lpool"
--gs-kernel-cl-up="h2lpool2x2"
--gs-kernel-cl-up="h2lpool2x2"
Line 4,025: Line 4,142:
-- emu used=jakx v2
-- emu used=jakx v2


apiRequest(0.1)
apiRequest(2.2)


local gpr    = require("ee-gpr-alias")
local gpr    = require("ee-gpr-alias")
Line 4,057: Line 4,174:
<br>All Versions
<br>All Versions
<pre>
<pre>
--gs-uprender=2x2
--gs-upscale=EdgeSmooth
--gs-progressive=1
--gs-progressive=1
--gs-force-bilinear=1
--gs-force-bilinear=1
Line 4,080: Line 4,199:
<br>CLI
<br>CLI
<pre>--vu0-no-clamping=0
<pre>--vu0-no-clamping=0
--vu0-clamp-operands=1
--vu0-clamp-results=1
--vu1-no-clamping=0
--vu1-no-clamping=0
--vu1-clamp-operands=1
--vu1-clamp-results=1
--cop2-no-clamping=0
--cop2-no-clamping=0
--cop2-clamp-operands=1
--cop2-clamp-results=1


#Fix for texture glitches</pre>
#Fix for texture glitches</pre>
====World Series of Poker - Tournament of Champions====
<br>LUA
<br>SLUS-21491
<br>Emu: War of the monsters
<pre>
apiRequest(0.1)


local eeObj = getEEObject()
====X-Files - Resist or Serve====
local emuObj = getEmuObject()
<br>'''''CLI'''''
<pre>--gs-uprender=2x2
--gs-upscale=EdgeSmooth
--gs-adaptive-frameskip=1


local patcher = function()
--vu0-no-clamping=0
eeObj.WriteMem32(0x0036A180, 0x0)
end
emuObj.AddVsyncHook(patcher)
</pre>
 
====X-Files - Resist or Serve====
<br>'''''CLI'''''
<pre>
--gs-adaptive-frameskip=1
 
--vu0-no-clamping=0
--vu1-no-clamping=0
--vu1-no-clamping=0


Line 4,117: Line 4,228:
<br>All versions
<br>All versions
<pre>
<pre>
--gs-uprender=2x2
--gs-upscale=motionvector
--gs-upscale=motionvector
--gs-optimize-30fps=1
--gs-optimize-30fps=1
Line 4,142: Line 4,254:
-- emu used=jakx v2
-- emu used=jakx v2


apiRequest(0.1)
apiRequest(2.2)


local gpr      = require("ee-gpr-alias")
local gpr      = require("ee-gpr-alias")
Line 4,177: Line 4,289:


</pre>
</pre>
==== Yu-Gi-Oh! Duelists of the Roses====
All
<br>CLI
<pre>
#Speedhacks
--vu1-di-bits=0
--ee-cycle-scalar=1.1
--vu1-mpg-cycles=200
#Fix for random crashes during fights
--ee-ignore-segfault=readwrite
</pre>


==== Yu-Gi-Oh! Capsule Monsters Colosseum====
==== Yu-Gi-Oh! Capsule Monsters Colosseum====
Line 4,212: Line 4,310:
--vu1-no-clamping=0
--vu1-no-clamping=0
#likely unnecessary commands
#likely unnecessary commands
--vu0-clamp-results=1
--vu1-clamp-results=1
--cop2-no-clamping=0
--cop2-no-clamping=0
--cop2-clamp-results=1
--fpu-no-clamping=0
--fpu-no-clamping=0
--fpu-clamp-results=1


#Jak Emu used*</pre>
#Jak Emu used*</pre>
Line 4,250: Line 4,352:
<br>All versions
<br>All versions
<pre>
<pre>
--gs-uprender=2x2
--gs-upscale=EdgeSmooth
--gs-use-mipmap=1
--gs-use-mipmap=1
--gs-kernel-cl-up="mipmap2x2"
--gs-kernel-cl-up="mipmap2x2"
Line 4,263: Line 4,367:
-- emu used=KOF 98
-- emu used=KOF 98


apiRequest(0.1)   
apiRequest(1.0)   


local gpr = require("ee-gpr-alias")
local gpr = require("ee-gpr-alias")
Line 4,346: Line 4,450:
-- emu used=ADK
-- emu used=ADK


apiRequest(0.1)
apiRequest(1.0)
local eeObj = getEEObject()
local eeObj = getEEObject()
local emuObj = getEmuObject()
local emuObj = getEmuObject()
Line 4,384: Line 4,488:
-- Dark Summit (PAL)
-- Dark Summit (PAL)
-- emu used=Fahrenheit
-- emu used=Fahrenheit
apiRequest(0.1)    -- request version 0.1 API. Calling apiRequest() is mandatory.
apiRequest(1.2)    -- request version 0.1 API. Calling apiRequest() is mandatory.


local emuObj = getEmuObject()
local emuObj = getEmuObject()
Line 4,431: Line 4,535:
-- emu used=jak v2
-- emu used=jak v2


apiRequest(0.1)
apiRequest(1.0)


local eeObj = getEEObject()
local eeObj = getEEObject()
Line 4,457: Line 4,561:
-- emu used=jak v2
-- emu used=jak v2


apiRequest(0.1)
apiRequest(1.0)


local eeObj = getEEObject()
local eeObj = getEEObject()
Line 4,486: Line 4,590:
-- emu used=jak v2
-- emu used=jak v2


apiRequest(0.1)
apiRequest(1.0)


local eeObj = getEEObject()
local eeObj = getEEObject()
Line 4,513: Line 4,617:
-- emu used=jak v2
-- emu used=jak v2


apiRequest(0.1)
apiRequest(1.0)


local eeObj = getEEObject()
local eeObj = getEEObject()
Line 4,556: Line 4,660:
</pre>
</pre>


=Global Configurations=
==Global Configurations==
<pre>Configurations made for more than one game for a specific purpose</pre>
<pre>Configurations made for more than one game for a specific purpose</pre>


==SkipMpegHack (FMV skip)==
===SkipMpegHack (FMV skip)===
'''''LUA file'''''
'''''LUA file'''''
<br>
<br>
All games using standard sceMpeg decoder will have their fmvs disabled by this patch.
All games using standard sceMpeg decoder will have their fmvs disabled by this patch.
<pre>
<pre>
apiRequest(0.1)
apiRequest(1.0)
eeObj  = getEEObject()
eeObj  = getEEObject()
emuObj = getEmuObject()
emuObj = getEmuObject()
Line 4,594: Line 4,698:
</pre>
</pre>


=Incomplete configurations=
==Incomplete configurations==
<pre>This is a list of unsuccessful, or incomplete configurations, along with information that might help others in the future.
<pre>This is a list of configurations that were unsuccessful or were never completed, or information that might help people in the future.
A place for research and sharing useful info.</pre>
A place for research and sharing useful info.</pre>


Line 4,626: Line 4,730:
</pre>
</pre>


====Batman Begins====
====Batman begins====
NTSC
NTSC
<pre>
<pre>
local eeObj = getEEObject()
00409BF8 0000001E
local emuObj = getEmuObject()
</pre>
--Exhibits a strange DMA issue
local patcher = function()
eeObj.WriteMem32(0x00333A88, 0x0)


eeObj.WriteMem32(0x0032C0D8, 0xA2000BC2)
====Genji dawn of the samurai====
eeObj.WriteMem32(0x0032C0F4, 0x10000006)
<br>NTSC
end
<pre>
emuObj.AddVsyncHook(patcher)
002F876C
</pre>
</pre>
 
====Bee movie====
====Bee Movie====
NTSC
NTSC
<br>CLI
<br>CLI
Line 4,688: Line 4,788:
</pre>
</pre>


====Ratchet 4 - Deadlocked====
====Ratchet and Clank: Up Your Arsenal====
<br>'''CLI'''
<br>SCUS97353
<br>Emu = '''War of the Monsters'''
<pre>
<pre>
#Fix graphics
-- 23.07.2023 Added debug stuff that should print in klog.
--gs-use-mipmap=1
-- This should help us figure out why patch fail.  
--gs-kernel-cl="mipmap"
--gs-kernel-cl-up="mipmap2x2"
#Fix VU0 sync (raise or lower it as convenient)
--ee-hook=0x000FF904,AdvanceClock,,395
</pre>
 
<br>'''LUA'''
<br>SCUS-97465
<br>Author:Scalerize
<pre>
apiRequest(0.1)
 
local eeObj = getEEObject()
local emuObj = getEmuObject()


local patcher = function()
apiRequest(1.0)
--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)
--Physics (COP2 timing issues that I'm fixing through patches instead) (Camera, glove weapon, and gravity, but not ledge-hanging)
eeObj.WriteMem32(0x000FFADC, 0x3C032401)
eeObj.WriteMem32(0x000FFAE0, 0x346300E0)
eeObj.WriteMem32(0x000FFAE4, 0xAC831214) --(gravity) 48418800
--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)
 
 
</pre>
 
====Ratchet and Clank 3: Up Your Arsenal====
 
<br>SCUS97353
<br>Author: Kozarovv
<br>LUA
<pre>
-- 23.07.2023 Added debug stuff that should print in klog.
-- This should help us figure out why patch fail.
 
apiRequest(0.1)
   
   
local em  = getEmuObject()
local em  = getEmuObject()
Line 4,920: Line 4,936:
</pre>
</pre>


<br>'''CLI'''
I'm following this approach but it isn't working and I do not know why. --[[User:Scalerize|Scalerize]] ([[User talk:Scalerize|talk]]) 21:55, 28 August 2023 (CEST)
<br>Emu = '''War of the Monsters'''
<br>Author: '''Scalerize'''
<br>SCUS-97353
<pre>
#Fix graphics
--gs-use-mipmap=1
--gs-kernel-cl="mipmap"
--gs-kernel-cl-up="mipmap2x2"
#Fix VU0 sync (raise or lower it as convenient)
--ee-hook=0x000FF904,AdvanceClock,,395
</pre>
<br>Author: Scalerize
<br>LUA
<pre>
<pre>
apiRequest(0.1)
apiRequest(0.1)


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


local patcher = function()
--jmp
eeObj.WriteMem32(0x0011F38C, 0x0803FE80)


--Check if patcher's needed
eeObj.AddHook(0x0013B3C8, 0x0200F809, function()  
eeObj.WriteMem32(0x000FFA00, 0x3C1B7120)
local pointer =  eeObj.GetGpr(gpr.s0)
eeObj.WriteMem32(0x000FFA04, 0x377BCDA8)
end)
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)
--Physics (COP2 timing issues that I'm fixing through patches instead) (Camera, glove weapon, and gravity)
eeObj.WriteMem32(0x000FFADC, 0x3C032401)
eeObj.WriteMem32(0x000FFAE0, 0x346300E0)
eeObj.WriteMem32(0x000FFAE4, 0xAC8311E4) --gravity
eeObj.WriteMem32(0x000FFAF0, 0xAC833F64) --camera, glove weapon
--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)


--vcallms before
eeObj.AddHook(pointer+0x5496C, 0x7120CDA8, function()
          eeObj.AdvanceClock(500)
end)


</pre>
--vcallms after
eeObj.AddHook(pointer+0x54974, 0x00000000, function()
          eeObj.AdvanceClock(500)
end)


====Ratchet & Clank 2 - Going Commando====
--vi01 before 1
<br>'''CLI'''
eeObj.AddHook(pointer+0x54A24, 0x00000000, function()
<br>Emu = '''War of the Monsters'''
          eeObj.AdvanceClock(500)
<br>SCUS-97268
end)
<pre>
#Fix graphics
--gs-use-mipmap=1
--gs-kernel-cl="mipmap"
--gs-kernel-cl-up="mipmap2x2"
#Fix VU0 sync (raise or lower it as convenient)
--ee-hook=0x000FF904,AdvanceClock,,395
</pre>


'''LUA'''
--vi01 before 2
<br>SCUS-97268
eeObj.AddHook(pointer+0x54B64, 0x7019CC3F, function()
<pre>
          eeObj.AdvanceClock(500)
apiRequest(0.1)
end)
 
--vi01 before 3
eeObj.AddHook(pointer+0x54CBC, 0x00000000, function()
          eeObj.AdvanceClock(500)
end)
 
--vi01 before 4
eeObj.AddHook(pointer+0x54DFC, 0x7019CC3F, function()
          eeObj.AdvanceClock(500)
end)
 
--vi01 before 5
eeObj.AddHook(pointer+0x54F54, 0x0019C900, function()
          eeObj.AdvanceClock(500)
end)
 
--vi01 before 6
eeObj.AddHook(pointer+0x55094, 0x7017BEC8, function()
          eeObj.AdvanceClock(500)
end)
 
--vi01 after 1
eeObj.AddHook(pointer+0x54A2C, 0x00000000, function()
          eeObj.AdvanceClock(500)
end)


local eeObj = getEEObject()
--vi01 after 2
local emuObj = getEmuObject()
eeObj.AddHook(pointer+0x54B6C, 0x00000000, function()
          eeObj.AdvanceClock(500)
end)


local patcher = function()
--vi01 after 3
--jmp
eeObj.AddHook(pointer+0x54CC4, 0x00000000, function()
eeObj.WriteMem32(0x0011B18C, 0x0803FE80)
          eeObj.AdvanceClock(500)
end)


--Check if patcher's needed
--vi01 after 4
eeObj.WriteMem32(0x000FFA00, 0x3C1B7120)
eeObj.AddHook(pointer+0x54E04, 0x00000000, function()
eeObj.WriteMem32(0x000FFA04, 0x377BCDA8)
          eeObj.AdvanceClock(500)
eeObj.WriteMem32(0x000FFA08, 0x3C02000F)
end)
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)
--Physics (COP2 timing issues that I'm fixing through patches instead) (Camera, glove weapon, and gravity. Boxes still not fixed)
eeObj.WriteMem32(0x000FFADC, 0x3C032401)
eeObj.WriteMem32(0x000FFAE0, 0x346300E0)
eeObj.WriteMem32(0x000FFAE4, 0xAC8311F4) -- (gravity) 48418800
eeObj.WriteMem32(0x000FFAEC, 0xAC832264) -- (camera)
eeObj.WriteMem32(0x000FFAF4, 0xAC833E24) -- (glove weapon)
--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)


</pre>
--vi01 after 5
eeObj.AddHook(pointer+0x54F5C, 0x000F7880, function()
          eeObj.AdvanceClock(500)
end)


<br>'''CLI'''
--vi01 after 6
<br>Emu = '''War of the Monsters'''
eeObj.AddHook(pointer+0x5509C, 0x71D18D88, function()
<br>SCES-51607
          eeObj.AdvanceClock(500)
<pre>
end)
--gs-use-mipmap=1
--gs-kernel-cl="mipmap"
--gs-kernel-cl-up="mipmap2x2"
#Fix VU0 sync (raise or lower it as convenient)
--ee-hook=0x000FF918,AdvanceClock,,386
</pre>


<br>'''LUA'''
--vi02 before 1
<br>SCES-51607
eeObj.AddHook(pointer+0x54AC4, 0x701188FC, function()
<pre>
          eeObj.AdvanceClock(500)
apiRequest(0.1)
end)


local eeObj = getEEObject()
--vi02 before 2
local emuObj = getEmuObject()
eeObj.AddHook(pointer+0x54C14, 0x7120CDA8, function()
          eeObj.AdvanceClock(500)
end)


local patcher = function()
--vi02 before 3
--Initial jmp
eeObj.AddHook(pointer+0x54D5C, 0x701188FC, function()
eeObj.WriteMem32(0x0011B1AC, 0x0C03FE80)
          eeObj.AdvanceClock(500)
--Check if patcher's needed
end)
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)
--Physics
eeObj.WriteMem32(0x000FFA8C, 0x3C022401)
eeObj.WriteMem32(0x000FFA90, 0x344200E0)
eeObj.WriteMem32(0x000FFA94, 0xAC621290) -- (gravity) 48418800
--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)
</pre>


====Ratchet & Clank 1====
--vi02 before 4
<br>'''CLI'''
eeObj.AddHook(pointer+0x54EAC, 0x7120CDA8, function()
<br>Emu = '''War of the Monsters'''
          eeObj.AdvanceClock(500)
<br>SCUS-97199
end)
<pre>
#Fix graphics
--gs-use-mipmap=1
--gs-kernel-cl="mipmap"
--gs-kernel-cl-up="mipmap2x2"
#Fix VU0 sync (raise or lower it as convenient)
--ee-hook=0x000FF904,AdvanceClock,,385
</pre>


'''LUA'''
--vi02 before 5
<br>SCUS-97199
eeObj.AddHook(pointer+0x54FF4, 0x0019C900, function()
<br>Author:Scalerize
          eeObj.AdvanceClock(500)
<pre>
end)
apiRequest(0.1)


local eeObj = getEEObject()
--vi02 before 6
local emuObj = getEmuObject()
eeObj.AddHook(pointer+0x5514C, 0x00000000, function()
          eeObj.AdvanceClock(500)
end)


local patcher = function()
--vi02 after 1
--jmp
eeObj.AddHook(pointer+0x54ACC, 0x70E0CDA8, function()
eeObj.WriteMem32(0x00118CAC, 0x0803FE80)
          eeObj.AdvanceClock(500)
end)


--Check if patcher's needed
--vi02 after 2
eeObj.WriteMem32(0x000FFA00, 0x3C1B7120)
eeObj.AddHook(pointer+0x54C1C, 0x7009E688, function()
eeObj.WriteMem32(0x000FFA04, 0x377BCDA8)
          eeObj.AdvanceClock(500)
eeObj.WriteMem32(0x000FFA08, 0x3C02000F)
end)
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)
--Physics (COP2 timing issues that I'm fixing through patches instead) (Camera, and gravity. Boxes and glove weapon still not fixed)
eeObj.WriteMem32(0x000FFADC, 0x3C032401)
eeObj.WriteMem32(0x000FFAE0, 0x346300E0)
eeObj.WriteMem32(0x000FFAE4, 0xAC8311B0) -- 48418800 (gravity)
--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)
</pre>


====Robot Alchemic Drive====
--vi02 after 3
'''LUA'''
eeObj.AddHook(pointer+0x54D64, 0x70E0CDA8, function()
<pre>
          eeObj.AdvanceClock(500)
apiRequest(0.1)
end)


local emuObj = getEmuObject()
--vi02 after 4
local iopObj        = getIOPObject()
eeObj.AddHook(pointer+0x54EB4, 0x7009E688, function()
          eeObj.AdvanceClock(500)
end)


local patcher = function()
--vi02 after 5
--Audio fix(?)
eeObj.AddHook(pointer+0x54FFC, 0x22310006, function()
--iopObj.WriteMem32(0x000F5CBC, 0x24C6FFFF)
          eeObj.AdvanceClock(500)
iopObj.WriteMem32(0x000F5764, 0x24064000)
end)
end


emuObj.AddVsyncHook(patcher)
--vi02 after 6
eeObj.AddHook(pointer+0x55154, 0x00000000, function()
          eeObj.AdvanceClock(500)
end)
</pre>
</pre>
You need to define pointer as a global variable or define it inside more advanced function, otherwise it is deleted/undefined when you exit first hook. Additionally your code use aliases without importing required file. This can be fixed by importing it or by using 16 instead of gpr.s0. Next thing is that all those hooks imo should be mounted from single function to ensure that all new hooks are added when game step on first hook. Keep in mind that the way you are obtaining ctc addresses can fail for next stages. Finally, when leaving stage you need to remove those hooks. Because they stay there forever, and that address can already hold different code after stage change. This is because hook check for original opcode is done only when mounting it there, not when running code itself. On top of that game overlay loader which you should use to grab pointer IS NOT used to load main menu screen, so you need to patch it manually or at least with another hook. I don't have ratchet elf now here, but make sure that your initial hook is added in place where new level code is already there, because now it seems that your initial hook is before level loader is even launched. --[[User:Kozarovv|Kozarovv]] ([[User talk:Kozarovv|talk]]) 12:06, 29 August 2023 (CEST)


====Shadow Man - 2econd Coming====
====Shadow Man - 2econd Coming====
Line 5,282: Line 5,100:
<br>NTSC
<br>NTSC
<pre>
<pre>
It's supposed to -1, 0, or 1 the value of s1, but instead it's crashing the game.
--vu-xgkick-delay=9
00233CB4
</pre>
 
====Wild Arms 4====
'''CLI'''
<pre>
#Fatal Fury emu
#Gamefixes
--vu-hack-triace=1
--iop-hook=0xAD808,AdvanceClock,,3000
</pre>
</pre>


Line 5,304: Line 5,112:
  -- best tty pattern for now = "0A 00 07 24 0D 00 05 24 0C 00 C4 24"
  -- best tty pattern for now = "0A 00 07 24 0D 00 05 24 0C 00 C4 24"
   
   
apiRequest(0.1)
apiRequest(1.0)
   
   
  eeObj  = getEEObject()
  eeObj  = getEEObject()
Please note that all contributions to PS4 Developer wiki are considered to be released under the GNU Free Documentation License 1.2 (see PS4 Developer wiki:Copyrights for details). If you do not want your writing to be edited mercilessly and redistributed at will, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource. Do not submit copyrighted work without permission!

To protect the wiki against automated edit spam, we kindly ask you to solve the following hCaptcha:

Cancel Editing help (opens in new window)