PS4 [Research]PS2 emulator configuration on PS4

Fix for Final Fight: Streetwise (NTSC-U)

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

--host-display-mode=16:9
--host-audio-latency=0.50

--ee-cycle-scalar=1.6
--iop-cycle-scalar=1.1

#emu used=aofa no sound
#emu used=rotk v1 sound, but judder
LUA
Code:
-- Final Fight: Streetwise (NTSC-U)
-- Widescreen hack by nemesis2000
-- Widescreen Selector by Stayhye
-- emu used=aofa no sound, no judder
-- emu used=rotk v1 sound, but judder

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

apiRequest(0.1)

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

local patcher = function()
--unlock Haggar
eeObj.WriteMem32(0x20311BE4,0x00000001)
--unlock Guy
eeObj.WriteMem32(0x20311C00,0x00000001)
--unlock final fight original
eeObj.WriteMem32(0x20311B58,0x00000001)
--Fear Factory--Archetype
eeObj.WriteMem32(0x20311B74,0x00000001)
--Shadows Falls--What Drives The Weak
eeObj.WriteMem32(0x20311B90,0x00000001)
--Shadows Fall--Inspiration On Demand
eeObj.WriteMem32(0x20311BAC,0x00000001)

-- Widescreen Selector
local pad_bits  = emuObj.GetPad()

local L1  = pad_bits &  0x0400
local L3  = pad_bits &  0x0002
local R1  = pad_bits &  0x0800
local R3  = pad_bits &  0x0004

if (L1 ~= 0 and R3 ~= 0) then --Normal Screen
--4:3
eeObj.WriteMem32(0x0017f228,0x3c043f35) -- 0x3c043f35 lui a0, $3f35
eeObj.WriteMem32(0x0017f22c,0x34896042) -- 0x34896042 ori t1, a0, $6042
eeObj.WriteMem32(0x0017f230,0x3c03bf35) -- 0x3c03bf35 lui v1, $bf35
eeObj.WriteMem32(0x0017f234,0x346a6042) -- 0x346a6042 ori t2, v1, $6042
eeObj.WriteMem32(0x001ea9d0,0x3c033f80) -- 0x3c033f80 lui v1, $3f80
emuObj.SetDisplayAspectNormal()
end

if (L3 ~= 0 and R1 ~= 0) then --Widescreen Screen
--16:9
eeObj.WriteMem32(0x0017f228,0x3c043f71) -- 0x3c043f35 lui a0, $3f35
eeObj.WriteMem32(0x0017f22c,0x3489d5a2) -- 0x34896042 ori t1, a0, $6042
eeObj.WriteMem32(0x0017f230,0x3c03bf71) -- 0x3c03bf35 lui v1, $bf35
eeObj.WriteMem32(0x0017f234,0x346ad5a2) -- 0x346a6042 ori t2, v1, $6042
eeObj.WriteMem32(0x001ea9d0,0x3c033fab) -- 0x3c033f80 lui v1, $3f80
--No Interlace
eeObj.WriteMem32(0x201014ec,0x00000000) -- 0x64420008
emuObj.SetDisplayAspectWide()
end

if (L3 ~= 0 and R3 ~= 0) then --Full Screen
--Full
eeObj.WriteMem32(0x0017f228,0x3c043f35) -- 0x3c043f35 lui a0, $3f35
eeObj.WriteMem32(0x0017f22c,0x34896042) -- 0x34896042 ori t1, a0, $6042
eeObj.WriteMem32(0x0017f230,0x3c03bf35) -- 0x3c03bf35 lui v1, $bf35
eeObj.WriteMem32(0x0017f234,0x346a6042) -- 0x346a6042 ori t2, v1, $6042
eeObj.WriteMem32(0x001ea9d0,0x3c033f80) -- 0x3c033f80 lui v1, $3f80
emuObj.SetDisplayAspectWide()
end

emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(patcher)

Final fight original, has no sound effects(music only) with aofa emu, but no shaking screen. Rotk v1 emu fixes sound, but introduces judder. Final Fight original will crash if widescreen code is enabled. Streetwise works great. 3 screen mode selector added.
 
Last edited:
Red Dead Revolver (EU)+ Character Swap by JuanoV (Single player and showdown)
emu=Jakv2,red dead revolver
Code:
--gs-kernel-cl-up="up2x2skipInterp"
--fpu-rsqrt-fast-estimate=0
--mtap1=Always
--vif1-ignore-cmd-ints=1
--iop-cycle-scalar=0.80
--iop-hook=0x0086ac,FastForwardClock
--ee-sif0-cycle-scalar=2.0
--ee-sif1-cycle-scalar=2.0
--iop-sif1-cycle-scalar=5.0
--iop-sif0-cycle-scalar=5.0
--iop-tight-slice-count=12
--cdvd-sector-read-cycles=5000
--ee-hook=0x354D38,AdvanceClock,0x0C0F02AC,4500
--ee-hook=0x3B7430,FastForwardClock,0x00481024
--ee-hook=0x4721E8,FastForwardClock,0x8ca30000
--ee-hook=0x4721A4,FastForwardClock,0x8c620000
--ee-hook=0x4721E8,MfifoDrain,0x8ca30000
--ee-hook=0x4721A4,MfifoDrain,0x8c620000
--mfifo-manual-drain=0.30
--mfifo-chunk-drain-cycles=210000
--trophy-support=0
--force-pal-60hz=1
--gs-uprender=2x2
--gs-upscale=edgesmooth
Lua:
Code:
local gpr = require("ee-gpr-alias")

apiRequest(1.6)

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

--Remove blur by kozarovv (i just ported to sles ver.)
eeObj.WriteMem32(0x004C4CD8,0x03e00008)
eeObj.WriteMem32(0x004C4CDC,0x00000000)
--Open Characters in Multi-Missions by codejunkies
eeObj.WriteMem32(0x2A8F3101,0x24020001)


------ Character 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 (L3 ~= 0) then
--jack
eeObj.WriteMem32(0x2074043C,0x6B636A6D)
end
if (L3 ~= 0 and UP ~= 0) then
--cristina
eeObj.WriteMem32(0x2074043C,0x6E74636D)
end
if (L3 ~= 0 and DOWN ~= 0) then
--red color 2
eeObj.WriteMem32(0x2074043C,0x6472736D)
eeObj.WriteMem32(0x20740488,0x00000002)
end
if (L3 ~= 0 and LEFT ~= 0) then
--annie stoakes
eeObj.WriteMem32(0x2074043C,0x696E616D)
end
if (L3 ~= 0 and RIGHT ~= 0) then
--wisckey treadwell
eeObj.WriteMem32(0x2074043C,0x6B73776D)
end
if (L3 ~= 0 and Square ~= 0) then
--red jr
eeObj.WriteMem32(0x2074043C,0x0064726D)
end
if (L3 ~= 0 and R1 ~= 0) then
--manequin
eeObj.WriteMem32(0x2074043C,0x6B6F6D6D)
end
if (L3 ~= 0 and L2 ~= 0) then
--nate harlow
eeObj.WriteMem32(0x2074043C,0x6461646D)
end
if (L3 ~= 0 and R3 ~= 0) then
--pig josh
eeObj.WriteMem32(0x2074043C,0x6A67706D)
end
if (L3 ~= 0 and R2 ~= 0) then
--holstein hall
eeObj.WriteMem32(0x2074043C,0x6263746D)
end
if (L3 ~= 0 and Select ~= 0) then
--professor perry
eeObj.WriteMem32(0x2074043C,0x7972706D)
end
if (L3 ~= 0 and Start ~= 0) then
--the blade slade
eeObj.WriteMem32(0x2074043C,0x6977626D)
end
if (L1 ~= 0 and UP ~= 0) then
--hedgehog thornton
eeObj.WriteMem32(0x2074043C,0x6864686D)
end
if (L1 ~= 0 and DOWN ~= 0) then
--sissy fess
eeObj.WriteMem32(0x2074043C,0x6F74736D)
end
if (L1 ~= 0 and RIGHT ~= 0) then
--smiley fawler
eeObj.WriteMem32(0x2074043C,0x616B616D)
end
if (L1 ~= 0 and LEFT ~= 0) then
--ugly chris
eeObj.WriteMem32(0x2074043C,0x6C67756D)
end
if (L1 ~= 0 and L2 ~= 0) then
--gigolo hancock
eeObj.WriteMem32(0x2074043C,0x6C67676D)
end
if (L1 ~= 0 and L3 ~= 0) then
--gabriel navarro
eeObj.WriteMem32(0x2074043C,0x747A7A6D)
end
if (L1 ~= 0 and R3 ~= 0) then
--mathias lampry
eeObj.WriteMem32(0x2074043C,0x0032706E)
end
if (L1 ~= 0 and Start ~= 0) then
--lilly belle parsons
eeObj.WriteMem32(0x2074043C,0x0062706E)
end
if (L2 ~= 0 and UP ~= 0) then
--willy wilson
eeObj.WriteMem32(0x2074043C,0x00646F6E)
end
if (L2 ~= 0 and DOWN ~= 0) then
--atlas jones
eeObj.WriteMem32(0x2074043C,0x006B6F72)
end
if (L2 ~= 0 and RIGHT ~= 0) then
--hank pullman
eeObj.WriteMem32(0x2074043C,0x00766474)
end
if (L2 ~= 0 and LEFT ~= 0) then
--npc
eeObj.WriteMem32(0x2074043C,0x00627262)
end
if (L2 ~= 0 and Triangle ~= 0) then
--npc 2
eeObj.WriteMem32(0x2074043C,0x00646872)
end
if (L2 ~= 0 and Cross ~= 0) then
--sam boss
eeObj.WriteMem32(0x2074043C,0x006B6374)
end
if (L2 ~= 0 and Square ~= 0) then
--rat chavez
eeObj.WriteMem32(0x2074043C,0x00686473)
end
if (L2 ~= 0 and Circle ~= 0) then
--cheryl-lynn
eeObj.WriteMem32(0x2074043C,0x00616D62)
end
if (L2 ~= 0 and R2 ~= 0) then
--jesse lynch
eeObj.WriteMem32(0x2074043C,0x0073656A)
end
if (Select ~= 0) then
--general diego
eeObj.WriteMem32(0x2074043C,0x6F67646D)
end
if (Select ~= 0 and R1 ~= 0) then
--bad bessie
eeObj.WriteMem32(0x2074043C,0x7974626D)
end
if (Select ~= 0 and R2 ~= 0) then
--abigail peppercorn
eeObj.WriteMem32(0x2074043C,0x0061706E)
end
if (Select ~= 0 and UP ~= 0) then
--verne wiggins
eeObj.WriteMem32(0x2074043C,0x0034706E)
end
--[[
--Player 1 codes = 0x2074043C
--Player 2 codes = 0x20740498
--CRISTINA
eeObj.WriteMem32(0x2074043C,0x6E74636D)
--RED
eeObj.WriteMem32(0x2074043C,0x6472736D)
--ANNIE STOAKES
eeObj.WriteMem32(0x2074043C,0x696E616D)
--JACK
eeObj.WriteMem32(0x2074043C,0x6B636A6D)
--"WISCKEY" TREADWELL
eeObj.WriteMem32(0x2074043C,0x6B73776D)
--RED JR
eeObj.WriteMem32(0x2074043C,0x0064726D)
--MANEQUIN
eeObj.WriteMem32(0x2074043C,0x6B6F6D6D)
--NATE HARLOW
eeObj.WriteMem32(0x2074043C,0x6461646D)
--PIG JOSH
eeObj.WriteMem32(0x2074043C,0x6263746D)
--HOLSTEIN HALL
eeObj.WriteMem32(0x2074043C,0x6263746D)
--PROFESSOR PERRY
eeObj.WriteMem32(0x2074043C,0x7972706D)
--THE BLADE SLADE
eeObj.WriteMem32(0x2074043C,0x6977626D)
--HEDGEHOG THORNTON
eeObj.WriteMem32(0x2074043C,0x6864686D)
--SISSY FESS
eeObj.WriteMem32(0x2074043C,0x6F74736D)
--SMILEY FAWLER
eeObj.WriteMem32(0x2074043C,0x616B616D)
--UGLY CHRIS
eeObj.WriteMem32(0x2074043C,0x6C67756D)
--GIGOLO HANCOCK
eeObj.WriteMem32(0x2074043C,0x6C67676D)
--GABRIEL NAVARRO
eeObj.WriteMem32(0x2074043C,0x747A7A6D)
--DIG FOWLER
eeObj.WriteMem32(0x2074043C,0x6B77676D)
--SAM
eeObj.WriteMem32(0x2074043C,0x6B63746D)
--DAN
eeObj.WriteMem32(0x2074043C,0x6764626D)
--GRIZZLY
eeObj.WriteMem32(0x2074043C,0x74736D6D)
--STANDING SNAKE
eeObj.WriteMem32(0x2074043C,0x6B736D6D)
--MR BLACK
eeObj.WriteMem32(0x2074043C,0x6B6C626D)
--CURLY SHAW
eeObj.WriteMem32(0x2074043C,0x7068736D)
--BLOODY TOM
eeObj.WriteMem32(0x2074043C,0x7961676D)
--RICO PEDROSA
eeObj.WriteMem32(0x2074043C,0x6172626D)
--GOBERNOR GRIFFON
eeObj.WriteMem32(0x2074043C,0x6E79776D)
--FIDGIT
eeObj.WriteMem32(0x2074043C,0x67646D6D)
--SHADOW WOLF
eeObj.WriteMem32(0x2074043C,0x6B74746D)
--TWIGGY PHELPS
eeObj.WriteMem32(0x2074043C,0x6777746D)
--FALLING STAR
eeObj.WriteMem32(0x2074043C,0x6D6F6D6D)
--BUFFALO
eeObj.WriteMem32(0x2074043C,0x7366626D)
--UDO KANG
eeObj.WriteMem32(0x2074043C,0x6E6F6D6D)
--COLONEL DAREN
eeObj.WriteMem32(0x2074043C,0x7264796D)
--COOPER
eeObj.WriteMem32(0x2074043C,0x746B626D)
--MR KELLEY
eeObj.WriteMem32(0x2074043C,0x6B726D6D)
--NATALIE
eeObj.WriteMem32(0x2074043C,0x6C746E6D)
--CHICKEN
eeObj.WriteMem32(0x2074043C,0x6B68636D)
--GENERAL DIEGO
eeObj.WriteMem32(0x2074043C,0x6F67646D)
--SHERIFF OGRADY
eeObj.WriteMem32(0x2074043C,0x736C636D)
--KATIE OGRADY
eeObj.WriteMem32(0x2074043C,0x69746B6D)
--SMITTY
eeObj.WriteMem32(0x2074043C,0x62636E6D)
--BAD BESSIE
eeObj.WriteMem32(0x2074043C,0x7974626D)
--JASON CORNET
eeObj.WriteMem32(0x2074043C,0x7665736D)
--SHERIFF BARTLETT
eeObj.WriteMem32(0x2074043C,0x676E6B6D)
--BIG OAF WHITNEY
eeObj.WriteMem32(0x2074043C,0x6B72666D)
--KID COUGAR
eeObj.WriteMem32(0x2074043C,0x746C656D)
--NPC
eeObj.WriteMem32(0x2074043C,0x006A7468)
--UGLY CHRIS BOSS
eeObj.WriteMem32(0x2074043C,0x006C6775)
--MATHIAS LAMPRY
eeObj.WriteMem32(0x2074043C,0x0032706E)
--HANZ KENYON
eeObj.WriteMem32(0x2074043C,0x00317462)
--ABIGAIL PEPPERCORN
eeObj.WriteMem32(0x2074043C,0x0061706E)
--LILLY BELLE PARSONS
eeObj.WriteMem32(0x2074043C,0x0062706E)
--WILLY WILSON
eeObj.WriteMem32(0x2074043C,0x00646F6E)
--ATLAS JONES
eeObj.WriteMem32(0x2074043C,0x00766474)
--HANK PULLMAN
eeObj.WriteMem32(0x2074043C,0x0032706E)
--NPC
eeObj.WriteMem32(0x2074043C,0x00627262)
--NPC
eeObj.WriteMem32(0x2074043C,0x00646872)
--SAM BOSS
eeObj.WriteMem32(0x2074043C,0x006B6374)
--PEDROSA
eeObj.WriteMem32(0x2074043C,0x00327A7A)
--RAT CHAVEZ
eeObj.WriteMem32(0x2074043C,0x00686473)
--CHERYL-LYNN
eeObj.WriteMem32(0x2074043C,0x00616D62)
--JESSE LYNCH
eeObj.WriteMem32(0x2074043C,0x0073656A)
--NPC
eeObj.WriteMem32(0x2074043C,0x00726470)
--LAROUCHE
eeObj.WriteMem32(0x2074043C,0x00706967)
--NPC
eeObj.WriteMem32(0x2074043C,0x006B7767)
--JODY
eeObj.WriteMem32(0x2074043C,0x0079646A)
--NPC HEADLESS
eeObj.WriteMem32(0x2074043C,0x00766573)
--PICK AXE MILLER
eeObj.WriteMem32(0x2074043C,0x006B6370)
--NPC
eeObj.WriteMem32(0x2074043C,0x00676D61)
--VERNE WIGGINS
eeObj.WriteMem32(0x2074043C,0x0034706E)
--BLUE SOLDIER
eeObj.WriteMem32(0x2074043C,0x00647362)
--GREEN SOLDIER
eeObj.WriteMem32(0x2074043C,0x0061796B)
--SANDY DODGE
eeObj.WriteMem32(0x2074043C,0x0033706E)
--GEORGE WHITNEY
eeObj.WriteMem32(0x2074043C,0x006A7266)
--SERGIO
eeObj.WriteMem32(0x2074043C,0x00776473)
--JEBIDAH COLE
eeObj.WriteMem32(0x2074043C,0x0031706E)
--JAQUES MARKUS
eeObj.WriteMem32(0x2074043C,0x00706E73)
--TED BUFIAS
eeObj.WriteMem32(0x2074043C,0x00766673)
--BOB LARSON
eeObj.WriteMem32(0x2074043C,0x00646C70)
--NPC BOSS
eeObj.WriteMem32(0x2074043C,0x006E7977)
--"CURLY" SHAW
eeObj.WriteMem32(0x2074043C,0x00706873)
--JUAN SANCHEZ
eeObj.WriteMem32(0x2074043C,0x0061676E)
--PRIVATE RIPPER HERNANDEZ
eeObj.WriteMem32(0x2074043C,0x0064736E)
--DRISCOLL
eeObj.WriteMem32(0x2074043C,0x00646373)
--SAM BOSS
eeObj.WriteMem32(0x2074043C,0x006B6374)
--NPC
eeObj.WriteMem32(0x2074043C,0x00617262)
--NPC
eeObj.WriteMem32(0x2074043C,0x00676473)
--NPC
eeObj.WriteMem32(0x2074043C,0x00327A7A)
--GRIZZLY BOSS
eeObj.WriteMem32(0x2074043C,0x0074736D)
--BANDIT
eeObj.WriteMem32(0x2074043C,0x00616B61)
--BANDIT 2
eeObj.WriteMem32(0x2074043C,0x006F7473)
--COLONEL
eeObj.WriteMem32(0x2074043C,0x00726479)
--BANDIT 3
eeObj.WriteMem32(0x2074043C,0x00616374)
--DIEGO SOLDIER
eeObj.WriteMem32(0x2074043C,0x00647372)
--DIEGO SOLDIER 2
eeObj.WriteMem32(0x2074043C,0x0061796B)
--DIEGO SOLDIER 3
eeObj.WriteMem32(0x2074043C,0x00776473)
--TONY
eeObj.WriteMem32(0x2074043C,0x00766673)
--NPC
eeObj.WriteMem32(0x2074043C,0x00646C70)
--HARRY SCHULTZ
eeObj.WriteMem32(0x2074043C,0x0061676E)
--NPC
eeObj.WriteMem32(0x2074043C,0x00646373)
--]]
emuObj.ThrottleNorm()
end
emuObj.SetGsTitleFix( "forceSimpleFetch",  "reserved", {psm=0} )
emuObj.SetGsTitleFix( "fetchFCromCurrBuff", "reserved", {psm=0} )
emuObj.AddVsyncHook(patcher)

The game has little freezes, so i dont know how to fixed :confusion: (edit: work fine with red dead emu lol)
thanks Stayhye for lua example in mksm replacement mod :encouragement:
 
Last edited:
and will crash if widescreen code is enabled.
So you can switch from 4:3 to 16:9 in-game? Btw is "full" really different from 16:9, when you enable/adapt widescreen patches in LUA? Is this also working for 30fps/60fps?

It would be nice to see additional hotkeys for cheats. So you don't have to comment out those cheat blocks in a config file and just trigger them as needed.
 
So you can switch from 4:3 to 16:9 in-game?.

You sure can.

Btw is "full" really different from 16:9, when you enable/adapt widescreen patches in LUA? Is this also working for 30fps/60fps?.

It is. 4:3 removes widescreen patches and sets screen to 4:3. Full is stretched(no widescreen patch). 16:9 enables true widescreen(with patch). I did a 30/60fps switch on one of my Spyhunter configs.

It would be nice to see additional hotkeys for cheats. So you don't have to comment out those cheat blocks in a config file and just trigger them as needed.

I did something like that for MK Shaolin monks. I want to learn how to enable keyboard and hotkey to that as well.
 
Last edited:
Barbie Horse Adventures - Wild Horse Rescue NTSC
Fahrenheit - playable

(freezes on loading with other emu)

Thanks for tip about emu! It works!
VIDEO

Also post lua. with Widescreen patch for that game!
Code:
-- Barbie Horse Adventures Wild Horse Rescue
apiRequest(1.2)    -- request version 0.1 API. Calling apiRequest() is mandatory.

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

local WS = function()

--Widescreen hack 16:9

--Y-Fov
--02030c46 003f013c 00608144
--02030c46 d03e013c 00608144
eeObj.WriteMem32(0x002381c4,0x3c013ed0) --3c013f00

--Zoom
--003f013c 00b08144 58010cc6
eeObj.WriteMem32(0x00238320,0x3c013f20) --3c013f00

emuObj.ThrottleMax()

end

emuObj.AddVsyncHook(WS)
 
Time Crisis: Crisis Zone NTSC
# Gameplay fine... Emu ADK

Time Crisis 2 NTSC
# Playable... Emu ADK

Cli
--gs-uprender=2x2
--gs-upscale=EdgeSmooth
--vu1-mpg-cycles=200
--iop-cycle-scalar=0.6

Time Crisis 3 PAL
# Playable... audio needs to be improved
Emu ADK

Widescreen patch: needs aim fix.
 
Good find Today! Got Mafia (Sep 24, 2003 prototype) image! And some another PS2 Press Discs and Prototypes
Was boot it for fun with BULLY V2 emu
Mafia-Preview-Code-xx.png

Mafia-Proto.png


VIDEO
 
Enhancement for Assault Suits Valken PAL

CLI
Code:
--gs-uprender=2x2
--gs-upscale=edgesmooth
--cdvd-sector-read-cycles=4000
--host-display-mode=16:9
--host-vsync=1
--gs-progressive=1

#emu used=kof98um
LUA
Code:
-- Assault Suits Valken (Europe) SLES_532.33;1) Game CRC = 0x1E177BBC
-- Enable native progressive mode by Felixthecat1970
-- emu used=kof98um

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

apiRequest(2.0)

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

local patcher = function()
--480p + skip pal-ntsc selector + corrections
eeObj.WriteMem32(0x2011D908,0x00000000) --patch this file to SLES_532.33 when promted
eeObj.WriteMem32(0x2020FB0C,0x24050004)
eeObj.WriteMem32(0x2020FB10,0x240701C0)
eeObj.WriteMem32(0x2020BA40,0x6466013E)
eeObj.WriteMem32(0x2020BA44,0x24A30033)


emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(patcher)
nice, i hope code works ok, meanwhile i rework code for Batman Begins (USA) (Europe) with progressive modes - 60fps/50fps - video double speed correction and QoL fixes here: https://felixthecat1970.github.io/gamepatches-blog/blog/ps2/post-ps2-bb/ for someone can port to PS4 config file too
 
nice, i hope code works ok, meanwhile i rework code for Batman Begins (USA) (Europe) with progressive modes - 60fps/50fps - video double speed correction and QoL fixes here: https://felixthecat1970.github.io/gamepatches-blog/blog/ps2/post-ps2-bb/ for someone can port to PS4 config file too
Code:
--gametitle=Batman Begins (USA) SLUS_211.98;1) Game CRC = 0x57EB973A
--comment=60fps reworked code + 480p + Qol options fixes by Felixthecat1970

apiRequest(0.1)

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

--eeInsnReplace(0x00409BF8, 0x0000001E, 0x0000003C) --title screen freeze fix (Boot Enabled 60 fps)

local patcher = function()


--original FPS unlock result value by Asasega

eeObj.WriteMem32(0x0033060C,0x24100050)
eeObj.WriteMem32(0x0033069C,0x24050000)
                    
eeObj.WriteMem32(0x00330DAC,0x24E7FFFF)
eeObj.WriteMem32(0x00331F94,0x24E7FFFF)
eeObj.WriteMem32(0x203347E8,0x00000000)
eeObj.WriteMem32(0x10334734,0x24C202D0)
eeObj.WriteMem32(0x10334704,0x240301B0)
                    
eeObj.WriteMem32(0x001002C0,0x2402003C)
                    
eeObj.WriteMem32(0x201EB9F4,0x00000000)
                    
eeObj.WriteMem32(0x20104694,0x0100882D)
                    
eeObj.WriteMem32(0x201A7BF8,0x24460001)
                    
eeObj.WriteMem32(0x203501C8,0x0C03FFF8)
eeObj.WriteMem32(0x203501CC,0xA2110174)
                    
eeObj.WriteMem32(0x200FFFE0,0x241B001E)
eeObj.WriteMem32(0x200FFFE4,0xA39BD408)
eeObj.WriteMem32(0x200FFFE8,0x03E00008)
eeObj.WriteMem32(0x200FFFEC,0x7BB00120)
                    
eeObj.WriteMem32(0x20350144,0x241B003C)
eeObj.WriteMem32(0x2035014C,0xA39BD408)



--Combo button  R3=60fps - L3=30fps in gameplay

local switch_30fps = eeObj.ReadMem16(0x004486C0) --L3
local switch_60fps = eeObj.ReadMem16(0x004486C0) --R3

if (switch_30fps == 0xFFFD) then --L3
   eeObj.WriteMem32(0x00409BF8,0x0000001E)
end

if (switch_60fps == 0xFFFB) then --R3
   eeObj.WriteMem32(0x00409BF8,0x0000003C)
end

end

emuObj.AddVsyncHook(patcher)
 
Config for Soul Eater - Battle Resonance (SLPS-25912)[English] v1.1


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

--host-display-mode=16:9

--iop-cycle-scalar=0.5
--ee-cycle-scalar=2.0

--cdvd-sector-read-cycles=6000

#EMU USED=KOF98UM
LUA
Code:
-- Soul Eater - Battle Resonance [NTSC-J] (SLPS-25912)[English] v1.1
-- Widescreen Hack by Little Giant
-- ported to PS4 lua
-- emu used=kof98um

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

apiRequest(1.0)

local eeObj = getEEObject()
local emuObj = getEmuObject()
--[[ NOT WORKING
--Change VOICE SETTING to Debug Menu by punk7890
eeInsnReplace(0x0022BD78, 0x240f0003, 0x00000005)
eeInsnReplace(0x20215F78, 0x00000000, 0xAE040030)
--]]
local patcher = function()
-- 16:9
eeObj.WriteMem32(0x204aa348,0x4016DD95) -- 3FE24C60
-- 16:10
--eeObj.WriteMem32(0x204aa348,0x4007C76D) -- 3FE24C60
--Unlock All Characters by punk7890
eeObj.WriteMem32(0x2052CC3C,0x00000000)

emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(patcher)

Works great! Debug code crashes game, I tried both eeObj.WriteMem32 and eeInsnReplace.
 
Anyone know what PCSX2's ee cycle rate equivlant is on ps4 ? Not to be confused with ee cycle skipping. because i found out setting pcsx2's ee cycle rate to 3 and ee cycle skipping to 2 Replicates the very same crash on ps4 when playing rayman 3
 
Last edited:
Onimusha 2 - Samurai's Destiny - Change d-pad to left analog stick [SLES-50978]
Code:
--gs-uprender=2x2
--gs-upscale=edgesmooth
--host-display-mode=full
--gs-kernel-cl-up="up2x2skipinterp"
--force-pal-60hz=1
--host-audio-latency=3.0
--ee-cycle-scalar=1.90
#Emu=Jakxv2
Lua:
Code:
apiRequest(2.0)

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

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

gsObj.SetDeinterlaceShift(1)

local patcher = function()

--Widescreen ported by Jvn9207
eeObj.WriteMem32(0x201028F4,0x3C013F40)
eeObj.WriteMem32(0x201028F8,0x44810000)
eeObj.WriteMem32(0x20102900,0x4600C602)

--Switch d-pad to left analog stick by Jvn9207
eeObj.WriteMem32(0x0028755c,0x0803f414)
eeObj.WriteMem32(0x000fd050,0x00a0c821)
eeObj.WriteMem32(0x000fd054,0x080a1d59)
eeObj.WriteMem32(0x000fd058,0x24020330)
eeObj.WriteMem32(0x00287624,0x0803f417)
eeObj.WriteMem32(0x000fd05c,0x87240000)
eeObj.WriteMem32(0x000fd060,0x3085ff0f)
eeObj.WriteMem32(0x000fd064,0x93260008)
eeObj.WriteMem32(0x000fd068,0x93270007)
eeObj.WriteMem32(0x000fd06c,0x93280009)
eeObj.WriteMem32(0x000fd070,0x93290006)
eeObj.WriteMem32(0x000fd074,0x932a0005)
eeObj.WriteMem32(0x000fd078,0x932b0004)
eeObj.WriteMem32(0x000fd07c,0x34a30010)
eeObj.WriteMem32(0x000fd080,0x2d410041)
eeObj.WriteMem32(0x000fd084,0x0061280a)
eeObj.WriteMem32(0x000fd088,0x3943007f)
eeObj.WriteMem32(0x000fd08c,0x00031840)
eeObj.WriteMem32(0x000fd090,0x2d41007f)
eeObj.WriteMem32(0x000fd094,0x0001180a)
eeObj.WriteMem32(0x000fd098,0xa3230008)
eeObj.WriteMem32(0x000fd09c,0x34a30080)
eeObj.WriteMem32(0x000fd0a0,0x2d610041)
eeObj.WriteMem32(0x000fd0a4,0x0061280a)
eeObj.WriteMem32(0x000fd0a8,0x3963007f)
eeObj.WriteMem32(0x000fd0ac,0x00031840)
eeObj.WriteMem32(0x000fd0b0,0x2d61007f)
eeObj.WriteMem32(0x000fd0b4,0x0001180a)
eeObj.WriteMem32(0x000fd0b8,0xa3230007)
eeObj.WriteMem32(0x000fd0bc,0x34a30040)
eeObj.WriteMem32(0x000fd0c0,0x2d4100bf)
eeObj.WriteMem32(0x000fd0c4,0x0061280b)
eeObj.WriteMem32(0x000fd0c8,0x2543ff80)
eeObj.WriteMem32(0x000fd0cc,0x00031840)
eeObj.WriteMem32(0x000fd0d0,0x2d410081)
eeObj.WriteMem32(0x000fd0d4,0x0001180b)
eeObj.WriteMem32(0x000fd0d8,0xa3230009)
eeObj.WriteMem32(0x000fd0dc,0x34a30020)
eeObj.WriteMem32(0x000fd0e0,0x2d6100bf)
eeObj.WriteMem32(0x000fd0e4,0x0061280b)
eeObj.WriteMem32(0x000fd0e8,0x2563ff80)
eeObj.WriteMem32(0x000fd0ec,0x00031840)
eeObj.WriteMem32(0x000fd0f0,0x2d610081)
eeObj.WriteMem32(0x000fd0f4,0x0001180b)
eeObj.WriteMem32(0x000fd0f8,0xa3230006)
eeObj.WriteMem32(0x000fd0fc,0x340a0080)
eeObj.WriteMem32(0x000fd100,0x340b0080)
eeObj.WriteMem32(0x000fd104,0x00060842)
eeObj.WriteMem32(0x000fd108,0x3821007f)
eeObj.WriteMem32(0x000fd10c,0x0026500b)
eeObj.WriteMem32(0x000fd110,0x00070842)
eeObj.WriteMem32(0x000fd114,0x3821007f)
eeObj.WriteMem32(0x000fd118,0x0027580b)
eeObj.WriteMem32(0x000fd11c,0x00080842)
eeObj.WriteMem32(0x000fd120,0x24230080)
eeObj.WriteMem32(0x000fd124,0x0068500b)
eeObj.WriteMem32(0x000fd128,0x00090842)
eeObj.WriteMem32(0x000fd12c,0x24230080)
eeObj.WriteMem32(0x000fd130,0x0069580b)
eeObj.WriteMem32(0x000fd134,0xa7250000)
eeObj.WriteMem32(0x000fd138,0xa32a0005)
eeObj.WriteMem32(0x000fd13c,0x03e00008)
eeObj.WriteMem32(0x000fd140,0xa32b0004)
emuObj.ThrottleMax()
end

emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=1  } )

emuObj.AddVsyncHook(patcher)
 
Last edited:
Anyone know what PCSX2's ee cycle rate equivlant is on ps4 ? Not to be confused with ee cycle skipping. because i found out setting pcsx2's ee cycle rate to 3 and ee cycle skipping to 2 Replicates the very same crash on ps4 when playing rayman 3
Which version? I tested this on 1.7.x and it's not freezing.
 
Anyone know what PCSX2's ee cycle rate equivlant is on ps4 ? Not to be confused with ee cycle skipping. because i found out setting pcsx2's ee cycle rate to 3 and ee cycle skipping to 2 Replicates the very same crash on ps4 when playing rayman 3



Code:
--ee-cycle-scalar=  #values = 0.1 to 5.0
--ee-sif0-cycle-scalar= #values = 0.1 to 2.0
--ee-sif1-cycle-scalar= #values = 0.1 to 2.0
--ee-context-switch-cycles=  #values = 1 to ??

Maybe one of these commands? AFAIK, these are the only commands with numerical values for the EE
 
Update: VU Sync in pcsx2's manual game fixes actually solves the issue in rayman 3 i believe, don't know what is ps4's equivalent, Gonna keep testing
 
Last edited:


Spiderman 2 NTSC

fix horizontal line
--gs-kernel-cl-up="up2x2simple"

Spider-Man 2 PS2toPS4 Test



FiX:

Code:
--host-display-mode=16:9

--vif1-instant-xfer=0

--gs-kernel-cl-up="up2x2simple"

in txt.

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)

in lua.

star ocean v2 emu
 
In which part does this happen? I have the SLES version and it works perfectly, I played a lot. Only if it's some part I haven't been to yet. I used emuROGUE V2
Animaniacs The Great Edgar Hunt Before\\\After FiX Comparison & Gameplay Test PS2toPS4
 
Hi friends. Very new to the PS4 scene, but have a background in software dev.

Trying to figure out if a solution is plausible here.

I'm wanting to create a shared memory card across four specific games. The games are all standalone (not multi-disc), but you migrate your save data at the end of each to the next. The games are Dot Hack Infection, Mutation, Outbreak, and Quarantine.

Using them under a multi-disc doesn't work since none of them prompt or attempt to read from a few disk. That I can see, trying to have them use the same game ID will not work either (they'll install over each other).

The only solution I can see at this point is having the first in sequence be it's own game, untouched, but for the 2, 3, and 4 -- you'd want to symlink their memory cards to the 1's. In that scenario, the games wouldn't really know any better and just naively read from file -- located elsewhere -- and thus, see one another's save files.

Is this within the capabilities of the scene?
 
Hi friends. Very new to the PS4 scene, but have a background in software dev.

Trying to figure out if a solution is plausible here.

I'm wanting to create a shared memory card across four specific games. The games are all standalone (not multi-disc), but you migrate your save data at the end of each to the next. The games are Dot Hack Infection, Mutation, Outbreak, and Quarantine.

Using them under a multi-disc doesn't work since none of them prompt or attempt to read from a few disk. That I can see, trying to have them use the same game ID will not work either (they'll install over each other).

The only solution I can see at this point is having the first in sequence be it's own game, untouched, but for the 2, 3, and 4 -- you'd want to symlink their memory cards to the 1's. In that scenario, the games wouldn't really know any better and just naively read from file -- located elsewhere -- and thus, see one another's save files.

Is this within the capabilities of the scene?
It is possible on the ps3 but not on ps4, You could try waiting for retroarch to officialy release on ps4 though as it might include a ps2 emulator
 

Similar threads

Back
Top