User:Scalerize

From PS4 Developer wiki
Jump to navigation Jump to search

Notes[edit | edit source]

Marvel = 0054B5D4
psp speedhack? 08B322B8
IOP audi restarting debugging address? 1F801574 > BF801574
wotm: 4A72C2

Configs (CLI)[edit | edit source]

Debugging CLI[edit | edit source]

#ee
--ee-cycle-scalar=1
#iop
--iop-cycle-scalar=0.38
--iop-evt-check-full=1
#fpu
--fpu-accurate-muldiv=1
--fpu-accurate-mul-fast=1
--fpu-accurate-addsub=1
--fpu-to-double=1
#cop2
--cop2-opt-flags=0
--cop2-opt-vf00=0
--cop2-const-prop=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-di-bits=1
#vu1
--vu1-opt-flags=0
--vu1-opt-vf00=0
--vu1-const-prop=0
--vu1-di-bits=1
--assert-path1-ad=1
#vu
--vu-xgkick-delay=0
--vu-custom-min-max=0
--vu-branch-hazard=0
--vu-evil-branches=1
--vu-to-double=1
#gs
--gs-use-mipmap=1
--gs-use-clut-merge=1
--gs-force-bilinear=1
--gs-kernel-cl="mipmap"
--gs-kernel-cl-up="mipmap2x2"
--gs-upscale=none
--gs-uprender=none
--gs-use-deferred-l2h=0
--gs-packed15-fmv-opt=1
--gs-skip-dirty-flush-on-mipmap=1
#cdvd
--verbose-cdvd-reads=1
#lang
--ps2-lang=English


#clamping
--vu1-no-clamping=0
--cop2-no-clamping=0
--fpu-no-clamping=0
--vu0-no-clamping=0
#vif1 and disabled MTVU (Might crash, or introduce graphical distortions on some games)
--vif1-instant-xfer=0
--vu1=jit-sync
--vu1-mpg-cycles=0

#Emu-exclusive commands (modern emus)
--vu1-jr-cache-policy=newprog
--vu1-jalr-cache-policy=newprog
--vu0-jr-cache-policy=newprog
--vu0-jalr-cache-policy=newprog
--vu0-mpg-cycles=6000
--vif1-ignore-cmd-ints=1
--vif-ignore-invalid-cmd=1
--ee-ignore-segfault=readwrite
--gs-ignore-dirty-page-border=1
--gs-vert-precision=8
--force-frame-blend=1
--gs-flush-ad-xyz=always
--gs-uv-shift-pointsampling=1
--gs-ignore-rect-correction=1

#test me on 1 and 0
--vu-d-bit=1
--vu-t-bit=1
--vu-inst-mflag=1
--vu-inst-cflag=1
--vu1-use-rsqrt=1
--vu1-use-rcp=1
--vu1-inst-q=1
--vu1-inst-p=1
--vu1-clamp-operands=1
--vu1-clamp-results=1
--vu0-inst-q=1
--vu0-inst-p=1
--vu0-clamp-operands=1
--vu0-clamp-results=1
--vu0-use-rcp=1
--vu0-use-rsqrt=1
--cop2-inst-p=1
--cop2-use-rsqrt=1
--cop2-use-rcp=1
--cop2-clamp-operands=1
--cop2-clamp-results=1

Optimal General Config[edit | edit source]

--iop-cycle-scalar=0.38
--vu1-di-bits=0
--assert-path1-ad=1
--vu-xgkick-delay=0
--vu-custom-min-max=0
--gs-use-mipmap=1
--gs-use-clut-merge=1
--gs-kernel-cl="mipmap"
--gs-kernel-cl-up"mipmap2x2"
--cop2-opt-flags=0
--cop2-opt-vf00=0
--vu0-opt-flags=0
--vu0-opt-vf00=0
--vu1-opt-flags=0
--vu1-opt-vf00=0


Needs Research[edit | edit source]

--vu-d-bit=1
--vu-t-bit=1
--vu-inst-mflag=1
--vu-inst-cflag=1
--vu1-use-rsqrt=1
--vu1-use-rcp=1
--vu1-inst-q=1
--vu1-inst-p=1
--vu1-clamp-operands=1
--vu1-clamp-results=1
--vu0-inst-q=1
--vu0-inst-p=1
--vu0-clamp-operands=1
--vu0-clamp-results=1
--vu0-use-rcp=1
--vu0-use-rsqrt=1
--cop2-inst-p=1
--cop2-use-rsqrt=1
--cop2-use-rcp=1
--cop2-clamp-operands=1
--cop2-clamp-results=1

Jakv2[edit | edit source]

General Use[edit | edit source]

--ee-cycle-scalar=1
--iop-cycle-scalar=0.38
--cop2-opt-flags=0
--cop2-opt-vf00=0
--cop2-const-prop=0
--cop2-di-bits=1
--vu0-opt-flags=0
--vu0-opt-vf00=0
--vu0-const-prop=0
--vu1-opt-flags=0
--vu1-opt-vf00=0
--vu1-di-bits=0
--assert-path1-ad=1
--vu-xgkick-delay=0
--vu-custom-min-max=0
--gs-use-mipmap=1
--gs-use-clut-merge=1
--gs-force-bilinear=1
--gs-kernel-cl="mipmap"
--gs-kernel-cl-up="mipmap2x2"
--gs-upscale=none
--gs-uprender=none
--gs-use-deferred-l2h=0
--gs-packed15-fmv-opt=1
--gs-skip-dirty-flush-on-mipmap=1
--ps2-lang=English
--vu1-mpg-cycles=150
--vu1-jr-cache-policy=newprog
--vu1-jalr-cache-policy=newprog
--vu0-jr-cache-policy=newprog
--vu0-jalr-cache-policy=newprog
--vu0-mpg-cycles=200
--vif1-ignore-cmd-ints=1
--vif-ignore-invalid-cmd=1
--ee-ignore-segfault=readwrite
--gs-ignore-dirty-page-border=1
--gs-vert-precision=8
--force-frame-blend=1
--gs-flush-ad-xyz=always
--gs-uv-shift-pointsampling=1
--gs-ignore-rect-correction=1

Speedhackster[edit | edit source]

--ee-cycle-scalar=1.2
--vu1-di-bits=0
--vu1-opt-flags=2
--vu1-opt-vf00=2
--vu1-mpg-cycles=2000

Crash-preventer[edit | edit source]

--fpu-accurate-muldiv=1
--fpu-accurate-mul-fast=1
--fpu-accurate-addsub=1
--cop2-opt-flags=0
--cop2-opt-vf00=0
--cop2-accurate-addsub=1
--vu0-opt-flags=0
--vu0-opt-vf00=0
--vu1-opt-flags=0
--vu1-opt-vf00=0
--gs-upscale=none
--gs-uprender=none
--vu1-jr-cache-policy=newprog
--vu1-jalr-cache-policy=newprog
--vu0-jr-cache-policy=newprog
--vu0-jalr-cache-policy=newprog
--vu0-mpg-cycles=0
--vif1-ignore-cmd-ints=1
--vif-ignore-invalid-cmd=1
--ee-ignore-segfault=readwrite
--assert-path1-ad=1
--ps2-lang=English
--vu-custom-min-max=0
--vu-branch-hazard=0
--vu-evil-branches=1
#
--vu1-mpg-cycles=8000
--vu1-no-clamping=0
--cop2-no-clamping=0
--fpu-no-clamping=0
--vu0-no-clamping=0
--vif1-instant-xfer=0
--vu1=jit-sync
--vu-xgkick-delay=2

Clean-GS[edit | edit source]

--gs-use-mipmap=1
--gs-use-clut-merge=1
--gs-force-bilinear=1
--gs-kernel-cl="mipmap"
--gs-kernel-cl-up="mipmap2x2"
--gs-upscale=none
--gs-uprender=none
--gs-use-deferred-l2h=0
--gs-packed15-fmv-opt=1
--gs-skip-dirty-flush-on-mipmap=1
--gs-ignore-dirty-page-border=1
--gs-vert-precision=8
--force-frame-blend=1
--gs-flush-ad-xyz=always
--gs-uv-shift-pointsampling=1
--gs-ignore-rect-correction=1

SPS-fixer[edit | edit source]

--vu0-opt-flags=0
--vu0-opt-vf00=0
--vu1-opt-flags=0
--vu1-opt-vf00=0
--vif1-instant-xfer=0
--vu1-jr-cache-policy=newprog
--vu1-jalr-cache-policy=newprog
--vu0-jr-cache-policy=newprog
--vu0-jalr-cache-policy=newprog
--vu0-mpg-cycles=2000
--vu1-mpg-cycles=0
--vu-xgkick-delay=0
--vu-custom-min-max=0
#
--vu1-no-clamping=0
--vu0-no-clamping=0
#
--vif1-instant-xfer=0
--vu1=jit-sync

Physics-restorer[edit | edit source]

--fpu-accurate-muldiv=1
--fpu-accurate-addsub=1
--fpu-to-double=1
--cop2-opt-flags=0
--cop2-opt-vf00=0
--cop2-const-prop=0
--cop2-accurate-mul=1
--cop2-accurate-addsub=1
--cop2-di-bits=1
--vu0-opt-flags=0
--vu0-opt-vf00=0
--vu0-const-prop=0
--vu0-di-bits=1
--vu-custom-min-max=0
--vu-branch-hazard=0
--vu-evil-branches=1
--vu-to-double=1
--vu0-mpg-cycles=2000
#
--fpu-accurate-mul-fast=1
--cop2-no-clamping=0
--fpu-no-clamping=0
--vu0-no-clamping=0

Configs (LUA)[edit | edit source]


Delay GIF

apiRequest(0.1)

local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
eeObj.SchedulerDelayEvent("gif.dma", 0x60500)
emuObj.AddVsyncHook(patcher)


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)

Ratchet

local Quick = emuObj.SetFrameLimiter()
local Slow = emuObj.SetFrameLimiter(1)
eeObj.AddHook(0x000FF904, 0x0, Quick)
eeObj.AddHook(0x000FF90C, 0x0, Slow)

Speculation - Observations[edit | edit source]

> Redfaction and GTA 3's IOP is good.
> Redfaction defaults at newprog.
> Mipmapping is imperfect, the simpsons hate it.
> Clamping works best on Jak x
> Mipmapping works best on War of the Monsters
> A 0x200 delay restores the EE-VU0 sync.

Diagnosis[edit | edit source]

Grey screen > GIF
Freeze with repeating audio > looping IOP or EE
Freeze with no continuing audio > VU0 timing
Crash > VIF1 timing, VU1 cache policy, or segfault
SPS > VU timing/rounding/clamping
Incorrect physics = soft floats, clamping, or flags
Black screen > EE receiving incorrect data from VU/IOP/DMA channels

Contact - Inbox[edit | edit source]

~ Leave messages here.