User:Scalerize: Difference between revisions

From PS4 Developer wiki
Jump to navigation Jump to search
No edit summary
No edit summary
Line 1: Line 1:
<pre>apiRequest(0.1)
apiRequest(0.1)
 
local eeObj = getEEObject()
local eeObj = getEEObject()
local emuObj = getEmuObject()
local emuObj = getEmuObject()
local Pointer = 0
 
local Previous = 0
-- Create a Pointer in 000FFF10 and a previous value in 000FFF14
--(There is no need to write these instructions more than once so why bother?)
eeObj.WriteMem32(0x0011F38C, 0x0803FFC8)
eeObj.WriteMem32(0x0011F38C, 0x0803FFC8)
eeObj.WriteMem32(0x000FFF20, 0x3C1B000F)
eeObj.WriteMem32(0x000FFF20, 0x3C1B000F)
Line 32: Line 32:
eeObj.WriteMem32(0x000FFF90, 0xAF770014)
eeObj.WriteMem32(0x000FFF90, 0xAF770014)


local patcher = function()
--Continuously check for updates, and patch the necessary offsets
 
local Hooks = function()
Pointer = eeObj.ReadMem32(0x000FFF10)
Previous = eeObj.ReadMem32(0x000FFF14)


if Pointer ~= 0 and Previous ~= Pointer then
if eeObj.ReadMem32(0x000FFF10) ~= 0 and eeObj.ReadMem32(0x000FFF14) ~= eeObj.ReadMem32(0x000FFF10) then
eeObj.AddHook(Pointer,0x7120CDA8, function() eeObj.AdvanceClock(600) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10),0x7120CDA8, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(Pointer+0x8,0x00000000, function() eeObj.AdvanceClock(600) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x8,0x00000000, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(Pointer+0xB8,0x00000000, function() eeObj.AdvanceClock(600) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0xB8,0x00000000, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(Pointer+0xC0,0x00000000, function() eeObj.AdvanceClock(600) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0xC0,0x00000000, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(Pointer+0x158,0x701188FC, function() eeObj.AdvanceClock(600) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x158,0x701188FC, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(Pointer+0x160,0x70E0CDA8, function() eeObj.AdvanceClock(600) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x160,0x70E0CDA8, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(Pointer+0x1F8,0x7019CC3F, function() eeObj.AdvanceClock(600) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x1F8,0x7019CC3F, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(Pointer+0x200,0x00000000, function() eeObj.AdvanceClock(600) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x200,0x00000000, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(Pointer+0x2A8,0x7120CDA8, function() eeObj.AdvanceClock(600) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x2A8,0x7120CDA8, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(Pointer+0x2B0,0x7009E688, function() eeObj.AdvanceClock(600) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x2B0,0x7009E688, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(Pointer+0x350,0x00000000, function() eeObj.AdvanceClock(600) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x350,0x00000000, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(Pointer+0x358,0x00000000, function() eeObj.AdvanceClock(600) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x358,0x00000000, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(Pointer+0x3F0,0x701188FC, function() eeObj.AdvanceClock(600) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x3F0,0x701188FC, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(Pointer+0x3F8,0x70E0CDA8, function() eeObj.AdvanceClock(600) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x3F8,0x70E0CDA8, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(Pointer+0x490,0x7019CC3F, function() eeObj.AdvanceClock(600) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x490,0x7019CC3F, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(Pointer+0x498,0x00000000, function() eeObj.AdvanceClock(600) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x498,0x00000000, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(Pointer+0x540,0x7120CDA8, function() eeObj.AdvanceClock(600) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x540,0x7120CDA8, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(Pointer+0x548,0x7009E688, function() eeObj.AdvanceClock(600) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x548,0x7009E688, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(Pointer+0x5E8,0x0019C900, function() eeObj.AdvanceClock(600) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x5E8,0x0019C900, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(Pointer+0x5F0,0x0325C820, function() eeObj.AdvanceClock(600) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x5F0,0x0325C820, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(Pointer+0x688,0x000F7880, function() eeObj.AdvanceClock(600) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x688,0x000F7880, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(Pointer+0x690,0x22310006, function() eeObj.AdvanceClock(600) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x690,0x22310006, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(Pointer+0x728,0x7017BEC8, function() eeObj.AdvanceClock(600) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x728,0x7017BEC8, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(Pointer+0x730,0x71D18D88, function() eeObj.AdvanceClock(600) end)
eeObj.AddHook(eeObj.ReadMem32(0x000FFF10)+0x730,0x71D18D88, function() eeObj.AdvanceClock(6000) end)
eeObj.AddHook(Pointer+0x7E0,0x00000000, function() eeObj.AdvanceClock(600) end)
eeObj.AddHook(Pointer+0x7E8,0x00000000, function() eeObj.AdvanceClock(600) end)
end
end
end
end
emuObj.AddVsyncHook(patcher)
emuObj.AddVsyncHook(Hooks)
</pre>
</pre>

Revision as of 21:34, 29 August 2024

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

-- Create a Pointer in 000FFF10 and a previous value in 000FFF14 --(There is no need to write these instructions more than once so why bother?) eeObj.WriteMem32(0x0011F38C, 0x0803FFC8) eeObj.WriteMem32(0x000FFF20, 0x3C1B000F) eeObj.WriteMem32(0x000FFF24, 0x377BFF00) eeObj.WriteMem32(0x000FFF28, 0xAF770000) eeObj.WriteMem32(0x000FFF2C, 0xAF760004) eeObj.WriteMem32(0x000FFF30, 0xAF750008) eeObj.WriteMem32(0x000FFF34, 0xAF74000C) eeObj.WriteMem32(0x000FFF38, 0x3C1701FF) 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(0x000FFF7C, 0x8F74000C) eeObj.WriteMem32(0x000FFF80, 0x8F760004) eeObj.WriteMem32(0x000FFF84, 0x8F750008) eeObj.WriteMem32(0x000FFF88, 0xAF770014) eeObj.WriteMem32(0x000FFF8C, 0x241B0000) eeObj.WriteMem32(0x000FFF90, 0xAF770014)

--Continuously check for updates, and patch the necessary offsets local Hooks = function()

if eeObj.ReadMem32(0x000FFF10) ~= 0 and eeObj.ReadMem32(0x000FFF14) ~= eeObj.ReadMem32(0x000FFF10) then eeObj.AddHook(eeObj.ReadMem32(0x000FFF10),0x7120CDA8, function() eeObj.AdvanceClock(6000) end) 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 emuObj.AddVsyncHook(Hooks)