PS4 [Research]PS2 emulator configuration on PS4

Fix+Cheats for Black & Bruised™ NTSC
CLI
Code:
--gs-uprender=2x2
--gs-upscale=EdgeSmooth   
--gs-kernel-cl-up="up2x2skipinterp"

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

--cdvd-sector-read-cycles=6000
 
--ee-cycle-scalar=2.4

#emu used=ADK
LUA
Code:
-- Black & Bruised NTSC
-- Widescreen Hack by Arapapa
-- Patches/Codes 
-- emu used=ADK

apiRequest(1.0)   

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

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

local patcher = function()
--Widescreen hack 16:9
eeObj.WriteMem32(0x001118b8,0x3c023ec0)
--Odiva by Code Master
eeObj.WriteMem32(0x20999F94,0x00000002)
--King Kahn by Code Master
eeObj.WriteMem32(0x20999FE4,0x00000002)
--Matador by Code Master
eeObj.WriteMem32(0x2099A004,0x00000002)
--Old Master by Code Master
eeObj.WriteMem32(0x2099A014,0x00000002)
--Trainer by Code Master
eeObj.WriteMem32(0x2099A024,0x00000002)
--Mickey McFist by Code Master
eeObj.WriteMem32(0x20999F0C,0x00000002)
--Knuckles Nadine by Code Master
eeObj.WriteMem32(0x20999F1C,0x00000002)
--Tiny by Code Master
eeObj.WriteMem32(0x20999F2C,0x00000002)
--Pharaoh by Code Master
eeObj.WriteMem32(0x20999F3C,0x00000002)
--Kid USA by Code Master
eeObj.WriteMem32(0x20999F4C,0x00000002)
--Royal Pain by Code Master
eeObj.WriteMem32(0x20999F5C,0x00000002)
--Bronto Sore by Code Master
eeObj.WriteMem32(0x20999F6C,0x00000002)
--Jackpot by Code Master
eeObj.WriteMem32(0x20999F7C,0x00000002)
--Holly Vixen by Code Master
eeObj.WriteMem32(0x20999F8C,0x00000002)
--Scrap Yard Scene Unlocked by Code Master
eeObj.WriteMem32(0x2099A91C,0x00000001)
--Conversation Mode Unlocked by Code Master
eeObj.WriteMem32(0x2099A92C,0x00000001)
--All Boxer's Life Unlocked by Code Master
eeObj.WriteMem32(0x2099A95C,0x00000001)
--Intercontinental Mode Unlocked by Code Master
eeObj.WriteMem32(0x2099A8EC,0x00000000)
--Second Skin Unlocked by Code Master
eeObj.WriteMem32(0x2099A8FC,0x00000000)

--general
emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(patcher)

--All Boxers Are Unlocked by Code Master
--eeObj.WriteMem32(0x2099A90C,0x00000001)

Tested a little.
 
Does not work in any variation/combination. At least with this game and Urban Reign. Unreal Tournament works just fine with --mtap1=always. Maybe the recent progress on the PS3 multitap front may lead to something here through lopnor config
Hello. Its been almost a year since i came here lol..

Is there any progress on multitap games like urban reign?
 
Fix for True Crime™ Streets of New York® NTSC
CLI
Code:
--gs-uprender=2x2
--gs-upscale=edgesmooth

--cdvd-sector-read-cycles=6500

--cop2-no-clamping=0

--ee-cycle-scalar=1.75
--ee-sif0-cycle-scalar=1.5
--ee-sif1-cycle-scalar=1.5

--lopnor-config=1

--vu1-jr-cache-policy=newprog
--vu0-jr-cache-policy=auto

#emu used=jakx v2
LUA
Code:
-- True Crime™ Streets of New York®
-- emu used=jak x v2

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

apiRequest(2.2)

local eeObj               = getEEObject()
local emuObj             = getEmuObject()
local eeOverlay            = eeObj.getOverlayObject()
local gsObj               = getGsObject()

local patcher = function()
--60fps
--eeObj.WriteMem32(0x204A1CC4,0x24040001) -- fps
--eeObj.WriteMem32(0x2050569C,0x3F000000) -- speed

eeObj.Vu1MpgCycles(math.floor(995))
eeObj.SetVifDataCycleScalar(1, 2.6)
emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(patcher)

emuObj.SetDisplayAspectWide()


Almost all stutter removed. Framerate also very good. Testers and improvements welcome.
 

Attachments

Last edited:
Fix for True Crime™ Streets of New York® NTSC
CLI
Code:
--gs-uprender=2x2
--gs-upscale=edgesmooth

--cdvd-sector-read-cycles=6500

--cop2-no-clamping=0

--ee-cycle-scalar=1.75
--ee-sif0-cycle-scalar=1.5
--ee-sif1-cycle-scalar=1.5

--lopnor-config=1

--vu1-jr-cache-policy=newprog
--vu0-jr-cache-policy=auto

#emu used=jakx v2
LUA
Code:
-- True Crime™ Streets of New York®
-- emu used=jak x v2

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

apiRequest(2.2)

local eeObj               = getEEObject()
local emuObj             = getEmuObject()
local eeOverlay            = eeObj.getOverlayObject()
local gsObj               = getGsObject()

local patcher = function()
--60fps
--eeObj.WriteMem32(0x204A1CC4,0x24040001) -- fps
--eeObj.WriteMem32(0x2050569C,0x3F000000) -- speed

eeObj.Vu1MpgCycles(math.floor(995))
eeObj.SetVifDataCycleScalar(1, 2.6)
emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(patcher)

emuObj.SetDisplayAspectWide()


Almost all stutter removed. Framerate also very good. Testers and improvements welcome.
I tested many different configurations for this game, and it always crashed when I entered the park, unfortunately with your configuration the same thing happens
 
Would it be possible to upload a PCSX2 memory card with save at that point?
Not sure, but maybe that save for pcsx2 will be useful!

Also maybe
//Unlock All Cases
patch=1,EE,200C2000,extended,8C620098
patch=1,EE,200C2004,extended,34420001
patch=1,EE,200C2008,extended,03E00008
patch=1,EE,200C200C,extended,AC620098
patch=1,EE,20203A3C,extended,0C030800
 

Attachments

Last edited:
Unless you got the Limited Run physical copy, you won't be able to do anything with a just bought digital copy because you can't dump games from a updated(9.51) PS4.

If you DID get the physical copy, then you are in luck! All the updates(except 1) are on the disc with the game, and dump perfectly fine! Only thing, is there was 1 update after this(1.03). So, actually in total, there should be 4 emus, v1(1.00) thru v3(1.03) .

Limited run physicals is a great source for these emus. Most of the important ones, as in the ones that work better than others, are available in physical form. I got most of them from there, and all others from my primary ps4 after the exploit.
 
Last edited:
DMC 3 Dante's Awakening Special Edition (Graphics Booster) PAL (SLES54186)
Cheats was used - Progressive mode 256p - is a field renderer game (FiX Broken 60hz Mode), Bypass Interleacing f (Fix Screen shaking issue), Disable Blur Effect, Complex Control-System for World and Characters brighter without additional Lights - Characters true Shape and Skin will be revealed now), and Widescreen patch, FMV's fix and Open All Levels Cheat

Before-After FiX Comparison Video

Me find and test cheats, @Kugozx adapt and test also!
 

Attachments

WIP Fix for Star Wars : Episode III - Revenge of the Sith (PAL) SLES-53155

CLI
Code:
--ee-cycle-scalar=1.75
--iop-cycle-scalar=1.75
--vu1-mpg-cycles=1480
--vu0-mpg-cycles=1480
--vu0-di-bits=0
--vu1-di-bits=0

#emu used=Star Wars Racer's Revenge v1

LUA
Code:
-- Star Wars : Episode III - Revenge of the Sith (PAL) SLES-53155
-- Widescreen Hack by ElHecht
-- ported to PS4
-- emu used=Star Wars Racer's Revenge v1

apiRequest(0.4)

local gpr       = require("ee-gpr-alias")
local emuObj      = getEmuObject()
local eeObj       = getEEObject()
local widescreen = function()

-- 16:9
eeObj.WriteMem32(0x004dbd44,0x3c023f40)
eeObj.WriteMem32(0x0051bca0,0x3c013f40)
eeObj.WriteMem32(0x0051bcac,0x4481f000)
eeObj.WriteMem32(0x0051bcf0,0x461e4a42)

emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(widescreen)
 
Star Wars Episode III: Revenge Of The Sith (PAL) SLES-53155

Camera view and Lightsabers color Changers mods

Code:
-- Star Wars Episode III: Revenge Of The Sith (SLES_531.55)
-- emu used=starwars RR

apiRequest(0.4)

local gpr       = require("ee-gpr-alias")
local emuObj      = getEmuObject()
local eeObj       = getEEObject()


local WS = function()

--Gameplay 16:9
eeObj.WriteMem32(0x004dbd44,0x3c023f40) --3c023f80
eeObj.WriteMem32(0x0051bca0,0x3c013f40) --00000000
eeObj.WriteMem32(0x0051bcac,0x4481f000) --00000000
eeObj.WriteMem32(0x0051bcf0,0x461e4a42) --00000000

--Unlock All Missions
eeObj.WriteMem32(0x202B79B4,0x24020014)
eeObj.WriteMem32(0x202B79BC,0xAE620020)

--Free Camera (Press R1+R2 To Activate; L1+L2 To Stop)

local code_check1 = eeObj.ReadMem16(0x009B5582)
local code_check2 = eeObj.ReadMem16(0x009B5582)
local code_check3 = eeObj.ReadMem16(0x009B5582)

if code_check1 == 0xF5FF then --Press R1+R2 To Activate
eeObj.WriteMem8(0x01FDEEC3,0x00000001)
end

if code_check2 == 0xFAFF then --L1+L2 To Stop
eeObj.WriteMem8(0x01FDEEC3,0x00000000)
end

if code_check3 == 0xFF7B then --R3+LEFT Pinky
eeObj.WriteMem32(0x209948A0,0x3F800000)
eeObj.WriteMem32(0x209948A4,0x3F09999A)
eeObj.WriteMem32(0x209948A8,0x3F100000)
end

if code_check3 == 0xFFEB then --R3+UP Yellow
eeObj.WriteMem32(0x209948A0,0x3F800000)
eeObj.WriteMem32(0x209948A4,0x3F800000)
eeObj.WriteMem32(0x209948A8,0x3D000000)
end

if code_check3 == 0xFFDB then --R3+RIGHT Red
eeObj.WriteMem32(0x209948A0,0x00000000)
eeObj.WriteMem32(0x209948A4,0x3F70F0F1) --Green
eeObj.WriteMem32(0x209948A8,0x00000000)
end

if code_check3 == 0xFFBB then --R3+DOWN Purple
eeObj.WriteMem32(0x209948A0,0x3EB4B4B5)
eeObj.WriteMem32(0x209948A4,0x00000000)
eeObj.WriteMem32(0x209948A8,0x3F7AFAFB)
end

emuObj.ThrottleMax()

end

emuObj.AddVsyncHook(WS)

Thanks @Kugozx for adapt color changer:sem blush:
 
@Kugozx , you look like you have an understanding of lua, could you take a look at this to see if you can figure out why 1st person mode doesn't work? I may have messed up on the if/then code_check stuff

https://www.psx-place.com/threads/r...nfiguration-on-ps4.16131/page-145#post-324266

original pnachs

https://forums.pcsx2.net/Thread-Post-your-PCSX2-cheats-patches-here?pid=612979#pid612979

is "and" a possible solution?
i think he can do it, he was do first/ third mod changer for RE CVX!
 
@Kugozx , you look like you have an understanding of lua, could you take a look at this to see if you can figure out why 1st person mode doesn't work? I may have messed up on the if/then code_check stuff

https://www.psx-place.com/threads/r...nfiguration-on-ps4.16131/page-145#post-324266

First of all, I think I sent you these two links at least once:
How PNACH files work 2.0 (pcsx2.net)
How pnach files work (pcsx2.net)
to understand why the first digit in the pnach address is important when the extended patch is applied.
Second of all, the addresses have to be aligned as a multiplies of four. For example these patches:
Code:
eeInsnReplace(0x107D09F4, 0x00000000, 0x000007D0)
eeInsnReplace(0x107D09F6, 0x00000000, 0x000007D0)
are wrong. They should be replaced with a 32-bit value to write:
Code:
eeInsnReplace(0x007D09F4, 0x00000000, 0x07D007D0)
or with two 16-bit writes using the WriteMem16 command:
Code:
eeObj.WriteMem16(0x007D09F4,0x07D0)
eeObj.WriteMem16(0x007D09F6,0x07D0)

0x107D09F4 - the bold digit means the size of the value to write is 16-bit. Everything is explained in the links I posted.
 

Similar threads

Back
Top