PS4 [Research]PS2 emulator configuration on PS4

spiderman 2 any fix ?

haven't figured out how to get rid of line on screen

Code:
--gs-uprender=2x2
--gs-upscale=EdgeSmooth

--host-display-mode=16:9

--vif1-instant-xfer=0
LUA
Code:
-- Spider-Man 2 (NTSC-U) (SLUS_207.76)
-- Widescreen fix by flameofrecca
-- emu used=star ocean v2

local gpr = require("ee-gpr-alias")

apiRequest(0.1)

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

local patcher = function()

eeObj.WriteMem32(0x2067a910,0x3f947ae1)  -- vertical fov
eeObj.WriteMem32(0x2067a8ec,0x3ec00000)  -- zoom value

--Map Screen HUD, text fixes
--search the 206d**** address range for more map screen hud fixes
eeObj.WriteMem32(0x206db628,0x41580000)  -- star icon fix
eeObj.WriteMem32(0x206db634,0x41580000)  -- star icon fix
eeObj.WriteMem32(0x206dfab8,0x3f400000)  -- "500m" text
eeObj.WriteMem32(0x206df9e8,0x3f400000)  -- "key locations" text
eeObj.WriteMem32(0x206df918,0x3f400000)  -- "challenges" text
eeObj.WriteMem32(0x206df848,0x3f400000)  -- "general" text
eeObj.WriteMem32(0x206d8034,0x425c0000)  -- compass size fix
eeObj.WriteMem32(0x206d8048,0x42fa0000)  -- compass size fix

--Onscreen HUD
eeObj.WriteMem32(0x20720ff4,0x42340000)  -- health
eeObj.WriteMem32(0x207223f0,0x42900000)  -- spidey symbol
eeObj.WriteMem32(0x20722404,0x42900000)
eeObj.WriteMem32(0x20722418,0x42f40000)
eeObj.WriteMem32(0x2072242c,0x42f40000)
eeObj.WriteMem32(0x20720d08,0x43140000)  --HUD perimeter
eeObj.WriteMem32(0x20720d1c,0x43140000)
eeObj.WriteMem32(0x20720cf4,0x42680000)
eeObj.WriteMem32(0x20720ce0,0x42680000)
eeObj.WriteMem32(0x2072a0d8,0x43140000)  --HUD shadow
eeObj.WriteMem32(0x2072a0ec,0x43140000)
eeObj.WriteMem32(0x2072a180,0x43140000)
eeObj.WriteMem32(0x2072a194,0x43140000)
eeObj.WriteMem32(0x2072a158,0x42680000)
eeObj.WriteMem32(0x2072a16c,0x42680000)
eeObj.WriteMem32(0x2072a0c4,0x42680000)
eeObj.WriteMem32(0x2072a0b0,0x42680000)
eeObj.WriteMem32(0x207212b4,0x421c0000)  --yellow jump meter

end

emuObj.AddVsyncHook(patcher)

emu used=star ocean v2

@mrjaredbeta - could you work your magic when you get time to disable shadows in spider-man 2? I think that would remove the line issue
 
Last edited:
ultimate spiderman any fix ?

Must skip FMVs, other than that, it works fine AFAIK

Code:
--gs-uprender=2x2
--gs-upscale=EdgeSmooth

--host-display-mode=16:9
--host-audio-latency=3.019
LUA
Code:
--emu used=red faction

local gpr = require("ee-gpr-alias")

apiRequest(0.1)

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

local patcher = function()

--60fps
--eeObj.WriteMem32(0x20311F18,0x00000000)
--eeObj.WriteMem32(0x2069FE20,0x00000001)
--X-Fov
--7400033c 3c10e14b
eeObj.WriteMem32(0x0058b210,0x08030000)
--Widescreen hack 16:9
eeObj.WriteMem32(0x000c0000,0x3c030074) 
eeObj.WriteMem32(0x000c0004,0x3c013faa)
eeObj.WriteMem32(0x000c0008,0x3421aaab)
eeObj.WriteMem32(0x000c000c,0x4481f000)
eeObj.WriteMem32(0x000c0010,0x461e18c2)
eeObj.WriteMem32(0x000c0014,0x08162c85)

end

emuObj.AddVsyncHook(patcher)

emu used=red faction
 
What is the PS4 equivalent of "patch=0,EE," ?
WriteMem32...sorta. It's a patch to EE memory, usually a word (4 byte) length to replace an instruction. EeInsnReplace is designated for only replacing instructions and would be better for patches directly targeted at instructions rather than WriteMem, though.
 
Final Fix for Drakengard NTSC
CLI
Code:
--gs-uprender=2x2
--gs-upscale=edgesmooth
--gs-kernel-cl="h2lpool"            #removed stutter in FMVs
--gs-kernel-cl-up="h2lpool2x2"      #removed stutter in FMVs
--gs-h2l-list-opt=1
--gs-h2l-accurate-hash=1

--vu1-const-prop=0
--vu1-jr-cache-policy=newprog

--ee-cycle-scalar=2.0

--host-display-mode=16:9
#emu used=eternal ring v2
LUA
Code:
--Drakengard (NTSC) SLUS_207
--Ported by InfiniteNine from PAL code by ElHecht
--emu used=eternal ring v2

apiRequest(1.5)

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

--16:9
eeObj.WriteMem32(0x202FD034,0x3C013F40) -- 00000000 hor fov
eeObj.WriteMem32(0x202FD040,0x4481F000) -- 00000000
eeObj.WriteMem32(0x202FD044,0x461EC602) -- 00000000
eeObj.WriteMem32(0x202640A4,0x3C0143D6) -- 3c0143a0 renderfix1
eeObj.WriteMem32(0x20129FC0,0x3C014456) -- 3c014420 renderfix2

eeObj.Vu1MpgCycles(500)
emuObj.ThrottleMax()

end
emuObj.AddVsyncHook(patcher)

emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=1 } )
emu used=eternal ring v2

Works Perfectly so far! All stutter and graphical glitches removed. Testers needed
 
Last edited:
WriteMem32...sorta. It's a patch to EE memory, usually a word (4 byte) length to replace an instruction. EeInsnReplace is designated for only replacing instructions and would be better for patches directly targeted at instructions rather than WriteMem, though.

WriteMem4/8/16 would work? I found some codes/addresses for drakengard that is crashing emu when converted to WriteMem32...
 
Last edited:
WriteMem4/8/16 would work? I found some codes/addresses for drakengard that is crashing emu when converted to WriteMem32...
I would use EeInsnReplace if it is an instruction. WriteMem16 and 8 are for replacing 2 byte and 1 byte lengths of memory. Pnaches are usually 4 bytes long.
 
WriteMem4/8/16 would work? I found some codes/addresses for drakengard that is crashing emu when converted to WriteMem32...
Maybe try to delete getEmuObject class to get rid of the AddVsyncHook which should avoid patching the memory every Vsync. In my opinion eeInsnReplace is a lot better command, because it replaces the specific opcode only. If the game does use multiple overlays, it will patch just the correct one.

patch=0 in the pnach file does patch the memory only once. I think the eeObj.WriteMem32 without the whole AddVsyncHook should be an equivalent to it.
 

Similar threads

Back
Top