User:Scalerize: Difference between revisions

From PS4 Developer wiki
Jump to navigation Jump to search
No edit summary
No edit summary
 
(25 intermediate revisions by the same user not shown)
Line 1: Line 1:
IOP audi restarting debugging address? 1F801574 > BF801574
<br>wotm: 4A72C2
<br>psp speedhack? 08B322B8
=Universal safe debugging CLI=
<pre>
#ee
--ee-cycle-scalar=1
#iop
--iop-cycle-scalar=1
--iop-evt-check-full=1
#fpu
--fpu-no-clamping=0
--fpu-accurate-muldiv=1
--fpu-accurate-mul-fast=1
--fpu-accurate-addsub=1
#cop2
--cop2-opt-flags=0
--cop2-opt-vf00=0
--cop2-const-prop=0
--cop2-no-clamping=0
--cop2-accurate-mul=1
--cop2-accurate-addsub=1
--cop2-di-bits=1
#vu0
--vu0-opt-flags=0
--vu0-opt-vf00=0
--vu0-const-prop=0
--vu0-no-clamping=0
--vu0-di-bits=1
#vu1
--vu1-opt-flags=0
--vu1-opt-vf00=0
--vu1-const-prop=0
--vu1-no-clamping=0
--vu1-di-bits=1
--vu1-mpg-cycles=1
--assert-path1-ad=1
#vif1 and disabled MTVU (Might crash, or introduce graphical distortions on some games)
--vif1-instant-xfer=0
--vu1=jit-sync
#vu
--vu-xgkick-delay=0
--vu-custom-min-max=0
--vu-branch-hazard=0
--vu-evil-branches=1
#gs
--gs-use-mipmap=1
--gs-use-clut-merge=1
--gs-force-bilinear=0
--gs-upscale=none
--gs-uprender=none
#cdvd
--verbose-cdvd-reads=1
--cdvd-sector-read-cycles=64000
#lang
--ps2-lang=English
</pre>
Move this info elsewhere:
<br>'''Delay GIF'''
<pre>
<pre>
apiRequest(0.1)
apiRequest(0.1)
Line 5: Line 67:
local emuObj = getEmuObject()
local emuObj = getEmuObject()


eeObj.WriteMem32(0x0011F38C, 0x0803FFC8) -- <-- //Address to change for other Ratchet games
eeObj.AddHook(0x0033A540,0xAC430000, function() eeObj.SchedulerDelayEvent("gif.dma", 0x60500) end)
eeObj.WriteMem32(0x000FFF20, 0x3C1B000F)
</pre>
eeObj.WriteMem32(0x000FFF24, 0x377BFF00)
eeObj.WriteMem32(0x000FFF28, 0xAF770000)
eeObj.WriteMem32(0x000FFF2C, 0xAF760004)
eeObj.WriteMem32(0x000FFF30, 0xAF750008)
eeObj.WriteMem32(0x000FFF34, 0xAF74000C)
eeObj.WriteMem32(0x000FFF38, 0x3C1701FF) -- < -- //Might need to be changed for other Ratchet games
eeObj.WriteMem32(0x000FFF3C, 0x36F7FCF0)
eeObj.WriteMem32(0x000FFF40, 0x24167000)
eeObj.WriteMem32(0x000FFF44, 0x26D618B4)
eeObj.WriteMem32(0x000FFF48, 0x8EF70000)
eeObj.WriteMem32(0x000FFF4C, 0x02D7B821)
eeObj.WriteMem32(0x000FFF50, 0x3C157120)
eeObj.WriteMem32(0x000FFF54, 0x36B5CDA8)
eeObj.WriteMem32(0x000FFF5C, 0x12950004)
eeObj.WriteMem32(0x000FFF58, 0x8EF40000)
eeObj.WriteMem32(0x000FFF64, 0x26F70004)
eeObj.WriteMem32(0x000FFF68, 0x1000FFFB)
eeObj.WriteMem32(0x000FFF70, 0xAF770010)
eeObj.WriteMem32(0x000FFF74, 0x8F740014)
eeObj.WriteMem32(0x000FFF78, 0x12970004)
eeObj.WriteMem32(0x000FFF80, 0x24160100) --Ensures the vsync hook catches the value
eeObj.WriteMem32(0x000FFF84, 0x26D6FFFF)
eeObj.WriteMem32(0x000FFF88, 0x16C0FFFE)
eeObj.WriteMem32(0x000FFF90, 0x8F74000C)
eeObj.WriteMem32(0x000FFF94, 0x8F760004)
eeObj.WriteMem32(0x000FFF98, 0x8F750008)
eeObj.WriteMem32(0x000FFF9C, 0xAF770014)
eeObj.WriteMem32(0x000FFFA0, 0x8F770000)
eeObj.WriteMem32(0x000FFFA4, 0x241B0000)
eeObj.WriteMem32(0x000FFFA8, 0x08047CE4) -- <-- //Opcode to change for other Ratchet games


--Continuously check for updates, and patch the necessary offsets
<br>'''Patch EE memory'''
local Hooks = function()
<pre>
apiRequest(0.1)
 
local eeObj = getEEObject()
local emuObj = getEmuObject()


if  eeObj.ReadMem32(0x000FFF10) ~= 0 and eeObj.ReadMem32(0x000FFF14) ~= eeObj.ReadMem32(0x000FFF10) then
local patcher = function()
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10),0x7120CDA8, function() eeObj.AdvanceClock(6000) end)
eeObj.WriteMem32(0x001958A0, 0x10000086)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x8,0x00000000, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0xB8,0x00000000, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0xC0,0x00000000, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x158,0x701188FC, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x160,0x70E0CDA8, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x1F8,0x7019CC3F, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x200,0x00000000, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x2A8,0x7120CDA8, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x2B0,0x7009E688, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x350,0x00000000, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x358,0x00000000, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x3F0,0x701188FC, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x3F8,0x70E0CDA8, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x490,0x7019CC3F, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x498,0x00000000, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x540,0x7120CDA8, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x548,0x7009E688, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x5E8,0x0019C900, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x5F0,0x0325C820, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x688,0x000F7880, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x690,0x22310006, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x728,0x7017BEC8, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x730,0x71D18D88, function() eeObj.AdvanceClock(6000) end)
end
end
end
emuObj.AddVsyncHook(patcher)
emuObj.AddVsyncHook(Hooks)
</pre>
 
<br>'''Speedhacks'''
<pre>
apiRequest(0.1)
 
local eeObj = getEEObject()
local emuObj = getEmuObject()
 
eeObj.AddHook(0x002cc350, 0x78a30000, function()
          eeObj.AdvanceClock(21000)
          eeObj.Vu1MpgCycles(2000)
          eeObj.FastForwardClock()
end)
</pre>
</pre>

Latest revision as of 06:16, 22 December 2024

IOP audi restarting debugging address? 1F801574 > BF801574
wotm: 4A72C2


psp speedhack? 08B322B8

Universal safe debugging CLI[edit | edit source]

#ee
--ee-cycle-scalar=1
#iop
--iop-cycle-scalar=1
--iop-evt-check-full=1
#fpu
--fpu-no-clamping=0
--fpu-accurate-muldiv=1
--fpu-accurate-mul-fast=1
--fpu-accurate-addsub=1
#cop2
--cop2-opt-flags=0
--cop2-opt-vf00=0
--cop2-const-prop=0
--cop2-no-clamping=0
--cop2-accurate-mul=1
--cop2-accurate-addsub=1
--cop2-di-bits=1
#vu0
--vu0-opt-flags=0
--vu0-opt-vf00=0
--vu0-const-prop=0
--vu0-no-clamping=0
--vu0-di-bits=1
#vu1
--vu1-opt-flags=0
--vu1-opt-vf00=0
--vu1-const-prop=0
--vu1-no-clamping=0
--vu1-di-bits=1
--vu1-mpg-cycles=1
--assert-path1-ad=1
#vif1 and disabled MTVU (Might crash, or introduce graphical distortions on some games)
--vif1-instant-xfer=0
--vu1=jit-sync
#vu
--vu-xgkick-delay=0
--vu-custom-min-max=0
--vu-branch-hazard=0
--vu-evil-branches=1
#gs
--gs-use-mipmap=1
--gs-use-clut-merge=1
--gs-force-bilinear=0
--gs-upscale=none
--gs-uprender=none
#cdvd
--verbose-cdvd-reads=1
--cdvd-sector-read-cycles=64000
#lang
--ps2-lang=English

Move this info elsewhere:


Delay GIF

apiRequest(0.1)

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

eeObj.AddHook(0x0033A540,0xAC430000, function() eeObj.SchedulerDelayEvent("gif.dma", 0x60500) end)


Patch EE memory

apiRequest(0.1)

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

local patcher = function()
eeObj.WriteMem32(0x001958A0, 0x10000086)
end
emuObj.AddVsyncHook(patcher)


Speedhacks

apiRequest(0.1)

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

eeObj.AddHook(0x002cc350, 0x78a30000, function()
          eeObj.AdvanceClock(21000)
          eeObj.Vu1MpgCycles(2000)
          eeObj.FastForwardClock()
end)