mrjaredbeta
Developer
Path of Neo has the same issue as PS3. The issue has to do with GIF transfer speed and can be semi-replicated on PCSX2 by enabling EETimingHack.
-- Dragon Ball Z: Budokai 3
-- freeze skip by Stayhye
-- widescreen found @PCSX2 forums
-- emu used=ADK
local gpr = require("ee-gpr-alias")
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
--16:9
eeObj.WriteMem32(0x2047CA50,0x3f23d706) -- 3F5A740E
eeObj.WriteMem32(0x20470434,0x3f23d706) -- 3F5A740E
--Unlock All Characters by bungholio, lee4, CMX
eeObj.WriteMem32(0x2046A668,0xFFFFFFFF)
eeObj.WriteMem32(0x2046A66C,0xFFFFFFFF)
--fight intro freeze skip
eeObj.WriteMem32(0x00100f54,0)
end
emuObj.AddVsyncHook(patcher)
Resident Evil - Survivor 2 - Code Veronica (SLES-50650)
CLI
LUACode:--gs-uprender=2x2 --gs-upscale=edgesmooth --gs-progressive=1 --ee-cycle-scalar=1.5
Code:-- Resident Evil - Survivor 2 - Code Veronica (PAL-E) (SLES-50650) -- freeze fix by Stayhye -- View selector by Stayhye -- RE4 View & Widescreen hack by ElHecht -- emu used=jak tpl v1 apiRequest(0.1) local gpr = require("ee-gpr-alias") local emuObj = getEmuObject() local eeObj = getEEObject() emuObj.SetDisplayAspectWide() local WS = function() --fix annoying slow FMVs eeObj.WriteMem32(0x00369d34,0) -- 16:9 eeObj.WriteMem32(0x00339528,0x3c023f61) -- 3c023f96 hor fov eeObj.WriteMem32(0x0033952c,0x34436873) -- 344345a2 hor fov -- View Selector local pad_bits = emuObj.GetPad() local L3 = pad_bits & 0x0002 local R3 = pad_bits & 0x0004 if (L3 ~= 0) then -- RE4 style camera eeObj.WriteMem32(0x2037e2c0,0x40900000) -- tori_x (horizontal) eeObj.WriteMem32(0x2037e2d0,0xC0000000) -- tory_y (height) eeObj.WriteMem32(0x2037e2e0,0x41100000) -- tori_z (distance) end if (R3 ~= 0) then -- Normal Camera eeObj.WriteMem32(0x2037e2c0,0x00000000) -- tori_x (horizontal) eeObj.WriteMem32(0x2037e2d0,0x00000000) -- tory_y (height) eeObj.WriteMem32(0x2037e2e0,0x00000000) -- tori_z (distance) end emuObj.ThrottleMax() end emuObj.AddVsyncHook(WS)
Fix for annoying FMV slowdown/de-sync. Added a 1st/3rd person switch. Works great!
-- VeronicaX
apiRequest(0.1) -- request version 0.1 API. Calling apiRequest() is mandatory.
local emuObj = getEmuObject()
local eeObj = getEEObject()
-- Bug# 9976
emuObj.SetGsTitleFix( "clipScissors", "reserved", {alpha = 0 , frameW = 4 , psm = 0} )
local WS = function()
-- Infinite Item Usage
eeObj.WriteMem32(0x2028AD68,0x00000000)
eeObj.WriteMem32(0x2028AD7C,0x00000000)
-- Press L2+D-Up For Item Box Anywhere
local code_check3 = eeObj.ReadMem16(0x01E0DBC2)
if code_check3 == 0xFEEF then -- L2+D-Up
eeObj.WriteMem32(0x00433166,0x00000004)
end
-- Press L2+D-Down For Open Save Menu Anywhere
local code_check3 = eeObj.ReadMem16(0x01E0DBC2)
if code_check3 == 0xFEBF then -- L2+D-Down
eeObj.WriteMem32(0x00433166,0x00000020)
end
-- Unlock All Extras
eeObj.WriteMem32(0x00433104,0x0000FFFF)
-- Claire's Alternate Costume
eeObj.WriteMem32(0x0045BB70,0x00000001)
-- First Person View (Off) [L1+Square]
local code_check4 = eeObj.ReadMem16(0x01E0DBC2)
if code_check4 == 0x7BFF then -- L1+Square
eeObj.WriteMem32(0x0043315C,0x00000002)
end
-- First Person View (On) [L2+Square]
local code_check5 = eeObj.ReadMem16(0x01E0DBC2)
if code_check5 == 0x7EFF then -- L2+Square
eeObj.WriteMem32(0x0043315C,0x000000C2)
end
emuObj.ThrottleMax()
end
emuObj.AddVsyncHook(WS)
-- Dragon Ball Z: Infinite World
-- widescreen
-- freeze skip by Stayhye
-- emu used=jak v1
local gpr = require("ee-gpr-alias")
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
--16:9
eeObj.WriteMem32(0x2052E6B0,0x3f23d706) --3f5a740e
eeObj.WriteMem32(0x2049C054,0x3f23d706) --3f5a740e
--fight intro freeze skip
eeObj.WriteMem32(0x00101054,0)
end
emuObj.AddVsyncHook(patcher)
1. Set a breakpoint for GIF write in PCSX2I'm convinced. --vif1-instant-xfer=1 has no effect on any emu/games(100s of tests). Everything runs the same with or without it. I've tested this a long time ago.
Video of glitches
1. Set a breakpoint for GIF write in PCSX2
2. Get the offsets that occur during that issue.
3. AdvanceClock or FastForwardClock them, or simply turn them from sw into sq or sh
Probably safe to assume that it's related to VU1 timing since clamping in PS4 doesn't do the trick. Try mpg cycles and jit-sync.100% VU1 issue. Issue can be replicated in PCSX2 by turning VU1 clamping off
--gs-uprender=2x2
--gs-upscale=edgesmooth
--gs-scanout-offsetx=500
--gs-scanout-offsety=500
#--gs-frontend-opt-mode=0
--host-display-mode=16:9
--vu1-mpg-cycles=1000
--vif1-instant-xfer=0
--vu1-no-clamping=0
--vu1-clamp-results=1
--fpu-no-clamping=0
--fpu-clamp-results=1
-- Prince of Persia™ The Sands of Time®
-- FMV fix by Stayhye
-- Widescreen
-- emu used=ADK
local gpr = require("ee-gpr-alias")
apiRequest(1.0)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
--gameplay
eeObj.WriteMem32(0x004b5114,0x3c033f40)
eeObj.WriteMem32(0x004b5144,0x4600a886)
eeObj.WriteMem32(0x004b514c,0x46000346)
eeObj.WriteMem32(0x004b5150,0x4600a306)
--rfix
eeObj.WriteMem32(0x004a4e70,0x3c014455)
eeObj.WriteMem32(0x004a4eac,0x44810000)
--menu fix
eeObj.WriteMem32(0x00464538,0x0c11e32f)
eeObj.WriteMem32(0x00478cbc,0x3c014456)
eeObj.WriteMem32(0x00478d08,0x44812800)
eeObj.WriteMem32(0x00478d04,0x2407ff95)
--HUD fix
eeObj.WriteMem32(0x001d8c80,0x3c03bddd)
eeObj.WriteMem32(0x001d8c88,0x3464dddd)
--partial bb fix
eeObj.WriteMem32(0x00253110,0x00000000)
eeObj.WriteMem32(0x002bd92c,0x00000000)
-- Fix for FMV de-sync/slowness
eeObj.WriteMem32(0x004a0034,0)
eeObj.WriteMem32(0x0019a0c4,0)
eeObj.WriteMem32(0x0019a1dc,0)
emuObj.ThrottleMax()
end
emuObj.AddVsyncHook(patcher)
Remap cheats also work greatResident Evil - Survivor 2 - Code Veronica (SLES-50650)
CLI
LUACode:--gs-uprender=2x2 --gs-upscale=edgesmooth --gs-progressive=1 --ee-cycle-scalar=1.5
Code:-- Resident Evil - Survivor 2 - Code Veronica (PAL-E) (SLES-50650) -- freeze fix by Stayhye -- View selector by Stayhye -- RE4 View & Widescreen hack by ElHecht -- emu used=jak tpl v1 apiRequest(0.1) local gpr = require("ee-gpr-alias") local emuObj = getEmuObject() local eeObj = getEEObject() emuObj.SetDisplayAspectWide() local WS = function() --fix annoying slow FMVs eeObj.WriteMem32(0x00369d34,0) -- 16:9 eeObj.WriteMem32(0x00339528,0x3c023f61) -- 3c023f96 hor fov eeObj.WriteMem32(0x0033952c,0x34436873) -- 344345a2 hor fov -- View Selector local pad_bits = emuObj.GetPad() local L3 = pad_bits & 0x0002 local R3 = pad_bits & 0x0004 if (L3 ~= 0) then -- RE4 style camera eeObj.WriteMem32(0x2037e2c0,0x40900000) -- tori_x (horizontal) eeObj.WriteMem32(0x2037e2d0,0xC0000000) -- tory_y (height) eeObj.WriteMem32(0x2037e2e0,0x41100000) -- tori_z (distance) end if (R3 ~= 0) then -- Normal Camera eeObj.WriteMem32(0x2037e2c0,0x00000000) -- tori_x (horizontal) eeObj.WriteMem32(0x2037e2d0,0x00000000) -- tory_y (height) eeObj.WriteMem32(0x2037e2e0,0x00000000) -- tori_z (distance) end emuObj.ThrottleMax() end emuObj.AddVsyncHook(WS)
Fix for annoying FMV slowdown/de-sync. Added a 1st/3rd person switch. Works great!
--Remap Buttons
eeObj.WriteMem32(0x2010BFF4,0x0803F414)
eeObj.WriteMem32(0x200FD050,0x00C0C821)
eeObj.WriteMem32(0x200FD054,0x08042FFF)
eeObj.WriteMem32(0x200FD058,0x24030070)
eeObj.WriteMem32(0x2010C064,0x0803F417)
eeObj.WriteMem32(0x200FD05C,0x87240002)
eeObj.WriteMem32(0x200FD060,0x308573FF)
eeObj.WriteMem32(0x200FD064,0x93260010)
eeObj.WriteMem32(0x200FD068,0x93270011)
eeObj.WriteMem32(0x200FD06C,0x9328000F)
eeObj.WriteMem32(0x200FD070,0x93290004)
eeObj.WriteMem32(0x200FD074,0x30810800)
eeObj.WriteMem32(0x200FD078,0x34A38000)
eeObj.WriteMem32(0x200FD07C,0x0061280B)
eeObj.WriteMem32(0x200FD080,0xA327000F)
eeObj.WriteMem32(0x200FD084,0x34A30400)
eeObj.WriteMem32(0x200FD088,0x2D210041)
eeObj.WriteMem32(0x200FD08C,0x0061280A)
eeObj.WriteMem32(0x200FD090,0x3923007F)
eeObj.WriteMem32(0x200FD094,0x00031840)
eeObj.WriteMem32(0x200FD098,0x2D21007F)
eeObj.WriteMem32(0x200FD09C,0x0001180A)
eeObj.WriteMem32(0x200FD0A0,0xA3230010)
eeObj.WriteMem32(0x200FD0A4,0x34A30800)
eeObj.WriteMem32(0x200FD0A8,0x2D2100BF)
eeObj.WriteMem32(0x200FD0AC,0x0061280B)
eeObj.WriteMem32(0x200FD0B0,0x2523FF80)
eeObj.WriteMem32(0x200FD0B4,0x00031840)
eeObj.WriteMem32(0x200FD0B8,0x2D210081)
eeObj.WriteMem32(0x200FD0BC,0x0001180B)
eeObj.WriteMem32(0x200FD0C0,0xA3230011)
eeObj.WriteMem32(0x200FD0C4,0x34090080)
eeObj.WriteMem32(0x200FD0C8,0x00060842)
eeObj.WriteMem32(0x200FD0CC,0x3821007F)
eeObj.WriteMem32(0x200FD0D0,0x0026480B)
eeObj.WriteMem32(0x200FD0D4,0x00080842)
eeObj.WriteMem32(0x200FD0D8,0x24230080)
eeObj.WriteMem32(0x200FD0DC,0x0068480B)
eeObj.WriteMem32(0x200FD0E0,0xA7250002)
eeObj.WriteMem32(0x200FD0E4,0x03E00008)
eeObj.WriteMem32(0x200FD0E8,0xA3290004)
--Infinity Life
eeObj.WriteMem32(0x205B12BC,0x000000FF)
--Infinity Timer
eeObj.WriteMem32(0x20280774,0x00000000)
So the only issue is framerate? try this thenWhat are some options to test in a config file to try and fix this issue?
I'm using rogue v1 emu with 2x2 upsacle and edgesmooth, no other options in PS2 FPKG selected. Jak emu doesn't work with game (crashes on boot)
The majority of time the framerate is smooth and audio clear, but in certain areas of all tracks we have the issue in the video with dropped frames and choppy audio.
--ee-cycle-scalar=1.2
--vu1-di-bits=0
--vu1-mpg-cycles=2000
#commands:
--isd-git-hash=931434bb2afbfae728c7fe2188ecc9d168cdc3b6
--usrd-git-hash=245bb2b4741fff22e15aad0476d77f20e30d38a0
#--playgo-disc-per-chunk=4
--path-emulog="/tmp/recordings"
--path-recordings="/tmp/recordings"
--path-snaps="/tmp/snapshots"
--path-vmc="/tmp/vmc"
--config-local-lua=""
#--path-manual"/tmp/manual"
--path-patches="/app0/patches/SLES-50446_config.lua"
--path-trophydata="/app0/trophy_data"
--path-featuredata="/app0/feature_data"
--path-toolingscript="/app0/patches"
--rom="PS20220WD20050620.crack"
--ps2-title-id=SLES-50446
--max-disc-num=1
--host-audio=1
--verbose-cdvd-reads=1
--assert-path1-ad=1
#--cdvd-determinism=1
--verbose-cpu-cycles=1
--verbose-thread-id=1
#--ee-jit-opt-debug=1
--lua-debug-api=1
--emulog-file=1
--host-osd=verbose
--host-graph=off
--pad-record=1
--pad-record-frame=1
--verbose-tooling=1
--lua-script=1
--lua-use-pcall=1
--lua-trace-gc=1
--lua-trace-fn=1
--lua-trace-hooks=1
--lua-trace-vmsteps=1
--game-live-streaming=1
--game-live-streaming-record=1
--log-tooling=1
--verbose-deci2=1
--load-tooling-lua=1
--load-feature-lua=1
--lopnor-config=1
--ee-precompile-trace=1
#--safe-area-min=0.90
#--host-edit-safe-area=
--host-dbg-kbd=1
--host-vsync=1
--config-opt=1
--vu1-injection=enable
--spu2-warnings=1
--spu2-update-deferral=1
--screenshot-comment=1
--savedata-fingerprint=fingerprint
--pmc-enable=1
--threaded-gs=1
#--vmc-src=host
#--pad-run=1
--framelimit-mode=normal
--audio-stretching=1
#--eTrace=?
#--iTrace=?
#--spu2Trace=?
#--vtune-ee=?
#--vtune-vu=?
--ee-evt-check-full=1
--iop-evt-check-full=1
#--unit-test=enable?
#--config="config-emu-ps4.txt"?
--vu-d-bit=1
--vu-t-bit=1
--ee-break-as-nop=1
--host-display-mode=16:9
--gs-upscale=edgesmooth
--gs-uprender=2x2
i-thread[ 0.465sec] IOP Thread Affinity set to: 0x0000000f
gsthread[ 0.465sec] GS Thread Affinity set to: 0x00000070
vu1-thr [ 0.470sec] VU1 Thread Affinity set to: 0x0000003f
i-cdvd [ 0.497sec] CDVD Thread Affinity set to: 0x0000006f
x-host [ 0.576sec] EE Thread Affinity set to: 0x0000000f
x-emu [ 0.576sec] Processing: msgid=531 - uxMsg_StartExec(0x8)
x-mcd [ 0.593sec] VMC-Read #0 from TARGET: file=VMC0.card
x-save [ 0.593sec] LoadVmc Request [port=#0]: user=111ffe72 dir=SLES-50446 file=VMC0.card size=0x00000000_00840000 ofs=0x00000000_00000000
x-mcd [ 0.593sec] Memorycard Port #0 : Successfully Bound.
x-mcd [ 0.593sec] VMC-Read #1 from TARGET: file=VMC1.card
x-save [ 0.593sec] LoadVmc Request [port=#1]: user=111ffe72 dir=SLES-50446 file=VMC1.card size=0x00000000_00840000 ofs=0x00000000_00000000
x-mcd [ 0.593sec] Memorycard Port #1 : Successfully Bound.
x-replay[ 0.593sec] PAD Record : Creating replay : /tmp/recordings/sles-50446/padlog
x-replay[ 0.593sec] : [snapshot=no][mcd1=unique][mcd2=unique]
x-mcd [ 0.593sec] Waiting for async read-in-progress: VMC0.card
x-pad [ 0.610sec] ----------------------------------------------------------------------------
x-pad [ 0.610sec] Controller Connection for userid 0x111ffe72:
x-pad [ 0.610sec] connectionType : 0 - Local
x-pad [ 0.610sec] deviceClass : 0 - SCE_PAD_DEVICE_CLASS_STANDARD
x-pad [ 0.610sec] deadZoneLeft : 13
x-pad [ 0.610sec] deadZoneRight : 13
x-pad [ 0.610sec] touchPad Pixel Density : 44.859997
x-pad [ 0.610sec] touchPad Resolution : 1920 x 942
x-pad [ 0.611sec] ----------------------------------------------------------------------------
x-save [ 0.634sec] Load Execution Start: buff=0x00000002:81800000 path=/savedata0/VMC0.card size=0x00000000_00840000 ofs=0x00000000_00000000
x-save [ 0.775sec] Load Execution Done : buff=0x00000002:81800000 path=/savedata0/VMC0.card size=0x00000000_00840000 ofs=0x00000000_00000000
x-save [ 0.776sec] Load Execution Start: buff=0x00000002:82040000 path=/savedata0/VMC1.card size=0x00000000_00840000 ofs=0x00000000_00000000
x-mcd [ 0.909sec] Waiting for async read-in-progress: VMC1.card
x-save [ 1.037sec] Load Execution Done : buff=0x00000002:82040000 path=/savedata0/VMC1.card size=0x00000000_00840000 ofs=0x00000000_00000000
orbis-sd[ 1.144sec] SaveData unmount, result=0x00000000
x-emu [ 1.160sec] Using host system language = 3
x-emu [ 1.160sec] Writing EEPROM: lang=3 PAL=1, aspect=1
x-host [ 1.160sec] RunStatus: Running...
Lua [ 1.193sec] [FnTrace] CallHook(key=3)
Lua [ 1.194sec] [FnTrace] > /app0/patches/SLES-50446_config.lua(8) : WriteMem32
Lua [ 1.194sec] [GcTrace] > \--> mem usage: 0xd5c4 Bytes
Lua [ 1.194sec] [FnTrace] > /app0/patches/SLES-50446_config.lua(9) : ThrottleMax
Lua [ 1.194sec] [GcTrace] > \--> mem usage: 0xd5c4 Bytes
e-Lua [ 1.194sec] Emu::ThrottleMax() [current throttle state is fast/max (720 framecnt timeout)
Lua [ 1.194sec] [VM Cntr] 0 steps for CallHook(key=3)
x-host [ 1.194sec] RunStatus: Stopping...
x-host [ 1.194sec] RunStatus: All Stopped!
x-emu [ 1.194sec] Processing: msgid=505 - uxMsg_RepaintScanout(0x0)
x-host [ 1.194sec] RunStatus: Running...
Lua [ 1.200sec] [FnTrace] CallHook(key=3)
Lua [ 1.200sec] [FnTrace] > /app0/patches/SLES-50446_config.lua(8) : WriteMem32
Lua [ 1.200sec] [GcTrace] > \--> mem usage: 0xd5c4 Bytes
Lua [ 1.200sec] [FnTrace] > /app0/patches/SLES-50446_config.lua(9) : ThrottleMax
Lua [ 1.200sec] [GcTrace] > \--> mem usage: 0xd5c4 Bytes
e-Lua [ 1.201sec] Emu::ThrottleMax() [current throttle state is fast/max (720 framecnt timeout)
Lua [ 1.201sec] [VM Cntr] 0 steps for CallHook(key=3)
Lua [ 1.207sec] [FnTrace] CallHook(key=3)
Lua [ 1.207sec] [FnTrace] > /app0/patches/SLES-50446_config.lua(8) : WriteMem32
Lua [ 1.207sec] [GcTrace] > \--> mem usage: 0xd5c4 Bytes
Lua [ 1.207sec] [FnTrace] > /app0/patches/SLES-50446_config.lua(9) : ThrottleMax
Lua [ 1.207sec] [GcTrace] > \--> mem usage: 0xd5c4 Bytes
e-Lua [ 1.207sec] Emu::ThrottleMax() [current throttle state is fast/max (720 framecnt timeout)
Lua [ 1.207sec] [VM Cntr] 0 steps for CallHook(key=3)
Lua [ 1.237sec] [FnTrace] CallHook(key=3)
Lua [ 1.237sec] [FnTrace] > /app0/patches/SLES-50446_config.lua(8) : WriteMem32
Lua [ 1.237sec] [GcTrace] > \--> mem usage: 0xd5c4 Bytes
Lua [ 1.237sec] [FnTrace] > /app0/patches/SLES-50446_config.lua(9) : ThrottleMax
Lua [ 1.237sec] [GcTrace] > \--> mem usage: 0xd5c4 Bytes
e-Lua [ 1.237sec] Emu::ThrottleMax() [current throttle state is fast/max (720 framecnt timeout)
Lua [ 1.237sec] [VM Cntr] 0 steps for CallHook(key=3)
Lua [ 1.245sec] [FnTrace] CallHook(key=3)
Lua [ 1.245sec] [FnTrace] > /app0/patches/SLES-50446_config.lua(8) : WriteMem32
Lua [ 1.245sec] [GcTrace] > \--> mem usage: 0xd5c4 Bytes
Lua [ 1.245sec] [FnTrace] > /app0/patches/SLES-50446_config.lua(9) : ThrottleMax
Lua [ 1.245sec] [GcTrace] > \--> mem usage: 0xd5c4 Bytes
e-Lua [ 1.245sec] Emu::ThrottleMax() [current throttle state is fast/max (720 framecnt timeout)
Lua [ 1.245sec] [VM Cntr] 0 steps for CallHook(key=3)
e-jit [ 1.249sec] EE OVERLAY TRACKER Reset [ExecPS2='NOTHING']
Lua [ 1.253sec] [FnTrace] CallHook(key=3)
Lua [ 1.253sec] [FnTrace] > /app0/patches/SLES-50446_config.lua(8) : WriteMem32
Lua [ 1.253sec] [GcTrace] > \--> mem usage: 0xd5c4 Bytes
Lua [ 1.253sec] [FnTrace] > /app0/patches/SLES-50446_config.lua(9) : ThrottleMax
Lua [ 1.254sec] [GcTrace] > \--> mem usage: 0xd5c4 Bytes
e-Lua [ 1.254sec] Emu::ThrottleMax() [current throttle state is fast/max (720 framecnt timeout)
Lua [ 1.254sec] [VM Cntr] 0 steps for CallHook(key=3)
Lua [ 1.280sec] [FnTrace] CallHook(key=3)
Lua [ 1.280sec] [FnTrace] > /app0/patches/SLES-50446_config.lua(8) : WriteMem32
Lua [ 1.280sec] [GcTrace] > \--> mem usage: 0xd5c4 Bytes
Lua [ 1.280sec] [FnTrace] > /app0/patches/SLES-50446_config.lua(9) : ThrottleMax
Lua [ 1.280sec] [GcTrace] > \--> mem usage: 0xd5c4 Bytes
e-Lua [ 1.280sec] Emu::ThrottleMax() [current throttle state is fast/max (720 framecnt timeout)
Lua [ 1.280sec] [VM Cntr] 0 steps for CallHook(key=3)
Lua [ 1.286sec] [FnTrace] CallHook(key=3)
Lua [ 1.286sec] [FnTrace] > /app0/patches/SLES-50446_config.lua(8) : WriteMem32
Lua [ 1.286sec] [GcTrace] > \--> mem usage: 0xd5c4 Bytes
Lua [ 1.286sec] [FnTrace] > /app0/patches/SLES-50446_config.lua(9) : ThrottleMax
Lua [ 1.286sec] [GcTrace] > \--> mem usage: 0xd5c4 Bytes
e-Lua [ 1.286sec] Emu::ThrottleMax() [current throttle state is fast/max (720 framecnt timeout)
Lua [ 1.286sec] [VM Cntr] 0 steps for CallHook(key=3)
Lua [ 1.296sec] [FnTrace] CallHook(key=3)
Lua [ 1.296sec] [FnTrace] > /app0/patches/SLES-50446_config.lua(8) : WriteMem32
Lua [ 1.296sec] [GcTrace] > \--> mem usage: 0xd5c4 Bytes
Lua [ 1.296sec] [FnTrace] > /app0/patches/SLES-50446_config.lua(9) : ThrottleMax
Lua [ 1.296sec] [GcTrace] > \--> mem usage: 0xd5c4 Bytes
e-Lua [ 1.296sec] Emu::ThrottleMax() [current throttle state is fast/max (720 framecnt timeout)
Lua [ 1.296sec] [VM Cntr] 0 steps for CallHook(key=3)
Lua [ 1.311sec] [FnTrace] CallHook(key=3)
Lua [ 1.311sec] [FnTrace] > /app0/patches/SLES-50446_config.lua(8) : WriteMem32
Lua [ 1.311sec] [GcTrace] > \--> mem usage: 0xd5c4 Bytes
Lua [ 1.311sec] [FnTrace] > /app0/patches/SLES-50446_config.lua(9) : ThrottleMax
Lua [ 1.311sec] [GcTrace] > \--> mem usage: 0xd5c4 Bytes
e-Lua [ 1.311sec] Emu::ThrottleMax() [current throttle state is fast/max (720 framecnt timeout)
Lua [ 1.311sec] [VM Cntr] 0 steps for CallHook(key=3)
Lua [ 1.332sec] [FnTrace] CallHook(key=3)
Lua [ 1.332sec] [FnTrace] > /app0/patches/SLES-50446_config.lua(8) : WriteMem32
Lua [ 1.332sec] [GcTrace] > \--> mem usage: 0xd5c4 Bytes
Lua [ 1.332sec] [FnTrace] > /app0/patches/SLES-50446_config.lua(9) : ThrottleMax
Lua [ 1.333sec] [GcTrace] > \--> mem usage: 0xd5c4 Bytes
e-Lua [ 1.333sec] Emu::ThrottleMax() [current throttle state is fast/max (720 framecnt timeout)
Lua [ 1.333sec] [VM Cntr] 0 steps for CallHook(key=3)
Lua [ 1.338sec] [FnTrace] CallHook(key=3)
Lua [ 1.338sec] [FnTrace] > /app0/patches/SLES-50446_config.lua(8) : WriteMem32
Lua [ 1.338sec] [GcTrace] > \--> mem usage: 0xd5c4 Bytes
Lua [ 1.338sec] [FnTrace] > /app0/patches/SLES-50446_config.lua(9) : ThrottleMax
Lua [ 1.338sec] [GcTrace] > \--> mem usage: 0xd5c4 Bytes
e-Lua [ 1.338sec] Emu::ThrottleMax() [current throttle state is fast/max (720 framecnt timeout)
Lua [ 1.338sec] [VM Cntr] 0 steps for CallHook(key=3)
Lua [ 1.371sec] [FnTrace] CallHook(key=3)
Lua [ 1.371sec] [FnTrace] > /app0/patches/SLES-50446_config.lua(8) : WriteMem32
Lua [ 1.371sec] [GcTrace] > \--> mem usage: 0xd5c4 Bytes
Lua [ 1.371sec] [FnTrace] > /app0/patches/SLES-50446_config.lua(9) : ThrottleMax
Lua [ 1.371sec] [GcTrace] > \--> mem usage: 0xd5c4 Bytes
e-Lua [ 1.371sec] Emu::ThrottleMax() [current throttle state is fast/max (720 framecnt timeout)
Lua [ 1.371sec] [VM Cntr] 0 steps for CallHook(key=3)
Lua [ 1.375sec] [FnTrace] CallHook(key=3)
Lua [ 1.375sec] [FnTrace] > /app0/patches/SLES-50446_config.lua(8) : WriteMem32
Lua [ 1.375sec] [GcTrace] > \--> mem usage: 0xd5c4 Bytes
Lua [ 1.375sec] [FnTrace] > /app0/patches/SLES-50446_config.lua(9) : ThrottleMax
Lua [ 1.375sec] [GcTrace] > \--> mem usage: 0xd5c4 Bytes
e-Lua [ 1.375sec] Emu::ThrottleMax() [current throttle state is fast/max (720 framecnt timeout)
Lua [ 1.375sec] [VM Cntr] 0 steps for CallHook(key=3)
Lua [ 1.378sec] [FnTrace] CallHook(key=3)
Lua [ 1.378sec] [FnTrace] > /app0/patches/SLES-50446_config.lua(8) : WriteMem32
Lua [ 1.378sec] [GcTrace] > \--> mem usage: 0xd5c4 Bytes
Lua [ 1.378sec] [FnTrace] > /app0/patches/SLES-50446_config.lua(9) : ThrottleMax
Lua [ 1.378sec] [GcTrace] > \--> mem usage: 0xd5c4 Bytes
e-Lua [ 1.378sec] Emu::ThrottleMax() [current throttle state is fast/max (720 framecnt timeout)
Lua [ 1.378sec] [VM Cntr] 0 steps for CallHook(key=3)
Lua [ 1.387sec] [FnTrace] CallHook(key=3)
Lua [ 1.387sec] [FnTrace] > /app0/patches/SLES-50446_config.lua(8) : WriteMem32
Lua [ 1.387sec] [GcTrace] > \--> mem usage: 0xd5c4 Bytes
Lua [ 1.387sec] [FnTrace] > /app0/patches/SLES-50446_config.lua(9) : ThrottleMax
Lua [ 1.387sec] [GcTrace] > \--> mem usage: 0xd5c4 Bytes
e-Lua [ 1.387sec] Emu::ThrottleMax() [current throttle state is fast/max (480 framecnt timeout)
So the only issue is framerate? try this then
And in the case you were feeling more curious, here's a link of the wiki https://www.psdevwiki.com/ps4/PS2_Emulation#XXXX-YYYYY_cli.conf_commandsCode:--ee-cycle-scalar=1.2 --vu1-di-bits=0 --vu1-mpg-cycles=2000
There's a reason why I made a Speedhacks tab![]()
Prince of Persia™ The Sands of Time® NTSC
CLI
LUACode:--gs-uprender=2x2 --gs-upscale=edgesmooth --gs-scanout-offsetx=500 --gs-scanout-offsety=500 #--gs-frontend-opt-mode=0 --host-display-mode=16:9 --vu1-mpg-cycles=1000 --vif1-instant-xfer=0 --vu1-no-clamping=0 --vu1-clamp-results=1 --fpu-no-clamping=0 --fpu-clamp-results=1
Code:-- Prince of Persia™ The Sands of Time® -- FMV fix by Stayhye -- Widescreen -- emu used=ADK local gpr = require("ee-gpr-alias") apiRequest(1.0) local eeObj = getEEObject() local emuObj = getEmuObject() local patcher = function() --gameplay eeObj.WriteMem32(0x004b5114,0x3c033f40) eeObj.WriteMem32(0x004b5144,0x4600a886) eeObj.WriteMem32(0x004b514c,0x46000346) eeObj.WriteMem32(0x004b5150,0x4600a306) --rfix eeObj.WriteMem32(0x004a4e70,0x3c014455) eeObj.WriteMem32(0x004a4eac,0x44810000) --menu fix eeObj.WriteMem32(0x00464538,0x0c11e32f) eeObj.WriteMem32(0x00478cbc,0x3c014456) eeObj.WriteMem32(0x00478d08,0x44812800) eeObj.WriteMem32(0x00478d04,0x2407ff95) --HUD fix eeObj.WriteMem32(0x001d8c80,0x3c03bddd) eeObj.WriteMem32(0x001d8c88,0x3464dddd) --partial bb fix eeObj.WriteMem32(0x00253110,0x00000000) eeObj.WriteMem32(0x002bd92c,0x00000000) -- Fix for FMV de-sync/slowness eeObj.WriteMem32(0x004a0034,0) eeObj.WriteMem32(0x0019a0c4,0) eeObj.WriteMem32(0x0019a1dc,0) emuObj.ThrottleMax() end emuObj.AddVsyncHook(patcher)
Fix for slow/de-synced FMVs.
--gs-scanout-offsetx=500
--gs-scanout-offsety=500
--host-display-mode=16:9
--vif1-instant-xfer=0
--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
-- Prince of Persia The Sands of Time
-- FMV fix by Stayhye
-- Widescreen
-- emu used=Default PS2 Emu
local gpr = require("ee-gpr-alias")
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
--gameplay
eeObj.WriteMem32(0x004b5114,0x3c033f40)
eeObj.WriteMem32(0x004b5144,0x4600a886)
eeObj.WriteMem32(0x004b514c,0x46000346)
eeObj.WriteMem32(0x004b5150,0x4600a306)
--rfix
eeObj.WriteMem32(0x004a4e70,0x3c014455)
eeObj.WriteMem32(0x004a4eac,0x44810000)
--menu fix
eeObj.WriteMem32(0x00464538,0x0c11e32f)
eeObj.WriteMem32(0x00478cbc,0x3c014456)
eeObj.WriteMem32(0x00478d08,0x44812800)
eeObj.WriteMem32(0x00478d04,0x2407ff95)
--HUD fix
eeObj.WriteMem32(0x001d8c80,0x3c03bddd)
eeObj.WriteMem32(0x001d8c88,0x3464dddd)
--partial bb fix
eeObj.WriteMem32(0x00253110,0x00000000)
eeObj.WriteMem32(0x002bd92c,0x00000000)
-- Fix for FMV de-sync/slowness
eeObj.WriteMem32(0x004a0034,0)
eeObj.WriteMem32(0x0019a0c4,0)
eeObj.WriteMem32(0x0019a1dc,0)
end
emuObj.AddVsyncHook(patcher)
//cheats (master-value)
patch=1,EE,20AB8D08,word,00000001
With that config i have alot graphical bugs and some micro slowdowns while gameplay! But FMV's fix work!
So i decide try make my version of config!
Prince of Persia Sands of Time (SLUS20743)
TXT
Code:--gs-scanout-offsetx=500 --gs-scanout-offsety=500 --host-display-mode=16:9 --vif1-instant-xfer=0 --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
LUA
Code:-- Prince of Persia The Sands of Time -- FMV fix by Stayhye -- Widescreen -- emu used=Default PS2 Emu local gpr = require("ee-gpr-alias") apiRequest(0.1) local eeObj = getEEObject() local emuObj = getEmuObject() local patcher = function() --gameplay eeObj.WriteMem32(0x004b5114,0x3c033f40) eeObj.WriteMem32(0x004b5144,0x4600a886) eeObj.WriteMem32(0x004b514c,0x46000346) eeObj.WriteMem32(0x004b5150,0x4600a306) --rfix eeObj.WriteMem32(0x004a4e70,0x3c014455) eeObj.WriteMem32(0x004a4eac,0x44810000) --menu fix eeObj.WriteMem32(0x00464538,0x0c11e32f) eeObj.WriteMem32(0x00478cbc,0x3c014456) eeObj.WriteMem32(0x00478d08,0x44812800) eeObj.WriteMem32(0x00478d04,0x2407ff95) --HUD fix eeObj.WriteMem32(0x001d8c80,0x3c03bddd) eeObj.WriteMem32(0x001d8c88,0x3464dddd) --partial bb fix eeObj.WriteMem32(0x00253110,0x00000000) eeObj.WriteMem32(0x002bd92c,0x00000000) -- Fix for FMV de-sync/slowness eeObj.WriteMem32(0x004a0034,0) eeObj.WriteMem32(0x0019a0c4,0) eeObj.WriteMem32(0x0019a1dc,0) end emuObj.AddVsyncHook(patcher)
Prince of Persia Sands of Time. Short GamePlay!
VIDEO
Also @Stayhye or someone else...if you wish, you can try put some magic cheat in game!
Code://cheats (master-value) patch=1,EE,20AB8D08,word,00000001
R3 - enable "ghost mode", a.k.a. fly mode. It work on PCSX2 and PS3 but not work on PS4 as lua and even if patch iso!
Maybe someone will able to get that cheat work!
-- Prince of Persia™ The Sands of Time® NTSC
-- FMV fix by Stayhye
-- Widescreen
-- Cheats added
-- emu used=kof98um
local gpr = require("ee-gpr-alias")
apiRequest(1.0)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
--Unlock Prince Of Persia 1 by Code Master
eeObj.WriteMem32(0x202348C0,0x8C410000)
eeObj.WriteMem32(0x202348C4,0x34211000)
eeObj.WriteMem32(0x202348C8,0xAC410000)
--Speed Selector
local pad_bits = emuObj.GetPad()
local UP = pad_bits & 0x0010
local DOWN = pad_bits & 0x0040
local LEFT = pad_bits & 0x0080
local RIGHT = pad_bits & 0x0020
local Triangle = pad_bits & 0x1000
local Cross = pad_bits & 0x4000
local Square = pad_bits & 0x8000
local Circle = pad_bits & 0x2000
local L1 = pad_bits & 0x0400
local L2 = pad_bits & 0x0100
local L3 = pad_bits & 0x0002
local R1 = pad_bits & 0x0800
local R2 = pad_bits & 0x0200
local R3 = pad_bits & 0x0004
local Select = pad_bits & 0x0001
local Start = pad_bits & 0x0008
if (L1 ~= 0 and Select ~= 0) then
--P1 Press L1+Select For Normal Speed by Code Master
eeObj.WriteMem32(0x2066CF88,0x3F800000)
end
if (L2 ~= 0 and Select ~= 0) then
--P1 Press L2+Select For Super Speed by Code Master
eeObj.WriteMem32(0x2066CF88,0x3FC00000)
end
if (R1 ~= 0 and Select ~= 0) then
--P1 Press R1+Select For Turbo Speed by Code Master
eeObj.WriteMem32(0x2066CF88,0x40000000)
end
if (R2 ~= 0 and Select ~= 0) then
--P1 Press R2+Select For Ultra Speed by Code Master
eeObj.WriteMem32(0x2066CF88,0x40800000)
end
if (L3 ~= 0) then
--Leave A Ghost Trail by Code Master
local ghost_trail = eeObj.ReadMem16(0x1001B8)
if ghost_trail == 0x00E0 then
eeObj.WriteMem32(0x00182174,0x00000000)
end
end
if (R3 ~= 0) then
--Ghost Mode by Codejunkies
eeObj.WriteMem32(0x2018216C,0x00000000)
eeObj.WriteMem32(0x20182170,0x00000000)
eeObj.WriteMem32(0x20182174,0x00000000)
end
--------------------End of Cheats--------
--gameplay
eeObj.WriteMem32(0x004b5114,0x3c033f40)
eeObj.WriteMem32(0x004b5144,0x4600a886)
eeObj.WriteMem32(0x004b514c,0x46000346)
eeObj.WriteMem32(0x004b5150,0x4600a306)
--rfix
eeObj.WriteMem32(0x004a4e70,0x3c014455)
eeObj.WriteMem32(0x004a4eac,0x44810000)
--menu fix
eeObj.WriteMem32(0x00464538,0x0c11e32f)
eeObj.WriteMem32(0x00478cbc,0x3c014456)
eeObj.WriteMem32(0x00478d08,0x44812800)
eeObj.WriteMem32(0x00478d04,0x2407ff95)
--HUD fix
eeObj.WriteMem32(0x001d8c80,0x3c03bddd)
eeObj.WriteMem32(0x001d8c88,0x3464dddd)
--partial bb fix
eeObj.WriteMem32(0x00253110,0x00000000)
eeObj.WriteMem32(0x002bd92c,0x00000000)
-- Fix for FMV de-sync/slowness
eeObj.WriteMem32(0x004a0034,0)
eeObj.WriteMem32(0x0019a0c4,0)
eeObj.WriteMem32(0x0019a1dc,0)
emuObj.ThrottleMax()
end
emuObj.AddVsyncHook(patcher)
Try this:
Code:-- Prince of Persia™ The Sands of Time® NTSC -- FMV fix by Stayhye -- Widescreen -- Cheats added -- emu used=kof98um local gpr = require("ee-gpr-alias") apiRequest(1.0) local eeObj = getEEObject() local emuObj = getEmuObject() local patcher = function() --Unlock Prince Of Persia 1 by Code Master eeObj.WriteMem32(0x202348C0,0x8C410000) eeObj.WriteMem32(0x202348C4,0x34211000) eeObj.WriteMem32(0x202348C8,0xAC410000) --Speed Selector local pad_bits = emuObj.GetPad() local UP = pad_bits & 0x0010 local DOWN = pad_bits & 0x0040 local LEFT = pad_bits & 0x0080 local RIGHT = pad_bits & 0x0020 local Triangle = pad_bits & 0x1000 local Cross = pad_bits & 0x4000 local Square = pad_bits & 0x8000 local Circle = pad_bits & 0x2000 local L1 = pad_bits & 0x0400 local L2 = pad_bits & 0x0100 local L3 = pad_bits & 0x0002 local R1 = pad_bits & 0x0800 local R2 = pad_bits & 0x0200 local R3 = pad_bits & 0x0004 local Select = pad_bits & 0x0001 local Start = pad_bits & 0x0008 if (L1 ~= 0 and Select ~= 0) then --P1 Press L1+Select For Normal Speed by Code Master eeObj.WriteMem32(0x2066CF88,0x3F800000) end if (L2 ~= 0 and Select ~= 0) then --P1 Press L2+Select For Super Speed by Code Master eeObj.WriteMem32(0x2066CF88,0x3FC00000) end if (R1 ~= 0 and Select ~= 0) then --P1 Press R1+Select For Turbo Speed by Code Master eeObj.WriteMem32(0x2066CF88,0x40000000) end if (R2 ~= 0 and Select ~= 0) then --P1 Press R2+Select For Ultra Speed by Code Master eeObj.WriteMem32(0x2066CF88,0x40800000) end if (L3 ~= 0) then --Leave A Ghost Trail by Code Master local ghost_trail = eeObj.ReadMem16(0x1001B8) if ghost_trail == 0x00E0 then eeObj.WriteMem32(0x00182174,0x00000000) end end if (R3 ~= 0) then --Ghost Mode by Codejunkies eeObj.WriteMem32(0x2018216C,0x00000000) eeObj.WriteMem32(0x20182170,0x00000000) eeObj.WriteMem32(0x20182174,0x00000000) end --------------------End of Cheats-------- --gameplay eeObj.WriteMem32(0x004b5114,0x3c033f40) eeObj.WriteMem32(0x004b5144,0x4600a886) eeObj.WriteMem32(0x004b514c,0x46000346) eeObj.WriteMem32(0x004b5150,0x4600a306) --rfix eeObj.WriteMem32(0x004a4e70,0x3c014455) eeObj.WriteMem32(0x004a4eac,0x44810000) --menu fix eeObj.WriteMem32(0x00464538,0x0c11e32f) eeObj.WriteMem32(0x00478cbc,0x3c014456) eeObj.WriteMem32(0x00478d08,0x44812800) eeObj.WriteMem32(0x00478d04,0x2407ff95) --HUD fix eeObj.WriteMem32(0x001d8c80,0x3c03bddd) eeObj.WriteMem32(0x001d8c88,0x3464dddd) --partial bb fix eeObj.WriteMem32(0x00253110,0x00000000) eeObj.WriteMem32(0x002bd92c,0x00000000) -- Fix for FMV de-sync/slowness eeObj.WriteMem32(0x004a0034,0) eeObj.WriteMem32(0x0019a0c4,0) eeObj.WriteMem32(0x0019a1dc,0) emuObj.ThrottleMax() end emuObj.AddVsyncHook(patcher)
This should work:Only Speed Selector cheats work! R3 - enable "ghost mode", a.k.a. fly mode.still not work! Strange why ps4 not support it, but thanks for trying anyway!
--Enter Ghost Mode
eeObj.WriteMem32(0x20AB8cb8,0x00000001)