PS4 [Research]PS2 emulator configuration on PS4

from what i understand, you must usually buy a disc copy of the game that the emu comes with and get the emu from that disk.
I see, that's a step in the right direction I guess because I coincidentally own a copy of Psychonauts. But Stayhye mentioned it must be 'v2' does that mean I need to get ahold of a later publication of that game?
 
I see, that's a step in the right direction I guess because I coincidentally own a copy of Psychonauts. But Stayhye mentioned it must be 'v2' does that mean I need to get ahold of a later publication of that game?
hmm...i am not sure. i do not have a ps4. :( i just keep an eye on this thread so people don't ask to link to them.
 
I see, that's a step in the right direction I guess because I coincidentally own a copy of Psychonauts. But Stayhye mentioned it must be 'v2' does that mean I need to get ahold of a later publication of that game?

https://www.ebay.com/itm/363842193583?epid=11034637072&hash=item54b6af48af:g:3cgAAOSwxRNig~Y1

It must be the PS4 Limited Run copy. If not that, it must be dumped from a exploited PS4 with a digital copy, account, and system being your primary console.
 
Also Kof98 needs for widescreen changer, with ADK it crash

It also works with Art of Fighting Anthology

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

--cdvd-sector-read-cycles=2000

#emu used=aofa
LUA
Code:
-- Coraline PAL
-- Widescreen Selector by ?
-- emu used=aofa

apiRequest(1.0)   

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

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


local patcher = function()
-- Widescreen 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 --Normal Screen
  eeObj.WriteMem32(0x0026432C,0x3C014480) -- original value
  emuObj.SetDisplayAspectNormal()
end

if (R1 ~= 0 and Select ~= 0) then --Widescreen Screen
   eeObj.WriteMem32(0x0026432C,0x3C014440) --3C014480 (Increases hor. axis)
   --Render fix
   eeObj.WriteMem32(0x001A6548,0x3C013C2E) --3C013C0E
   --Get rid of black bar
   eeObj.WriteMem32(0x00225ea8,0x3c014000) --3c014299
   eeObj.WriteMem32(0x00225eac,0x00000000) --3421999a
   eeObj.WriteMem32(0x002644ec,0x3c014440) -- hor fov
   emuObj.SetDisplayAspectWide()
end

emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(patcher)

I also didn't have any loading freezes in my first run.
 
WIP Fix for Tales of Legendia NTSC

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

--host-display-mode=16:9

--vu1-mpg-cycles=5200
--vif1-instant-xfer=0
--vu1-jr-cache-policy=newprog
--cdvd-sector-read-cycles=4000

--lopnor-config=1

#emu used=primal
LUA
Code:
-- Tales of Legendia (U)(SLUS-21201)
-- Widescreen hack
-- emu used=primal

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

apiRequest(0.1)

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

local patcher = function()
--Widescreen hack 16:9
eeObj.WriteMem32(0x203DAFA0,0x3f266666)
eeObj.WriteMem32(0x203BFAB0,0x40133333)
--2D Popup Characters Fix by Arapapa
--Right
eeObj.WriteMem32(0x001e89bc,0x3c02bf40) --3c02bf80
--Left
eeObj.WriteMem32(0x001e8a60,0x00000000)
eeObj.WriteMem32(0x001e8a5c,0x08030008)
eeObj.WriteMem32(0x000c0020,0x46006346)
eeObj.WriteMem32(0x000c0024,0x46006386)
eeObj.WriteMem32(0x000c0028,0x3c013f40)
eeObj.WriteMem32(0x000c002c,0x4481f000)
eeObj.WriteMem32(0x000c0030,0x461e6302)
eeObj.WriteMem32(0x000c0034,0x0807a298)
--Font Fix by Arapapa
local code_check1 = eeObj.ReadMem16(0x3db098)
if code_check1 == 0x0020 then
eeObj.WriteMem32(0x20238db0,0x08030000)
eeObj.WriteMem32(0x200c0000,0x46040802)
eeObj.WriteMem32(0x200c0004,0x3c013f40)
eeObj.WriteMem32(0x200c0008,0x4481f000)
eeObj.WriteMem32(0x200c000c,0x461e0002)
eeObj.WriteMem32(0x200c0010,0x0808e36d)
end
local code_check2 = eeObj.ReadMem16(0x3db098)
if code_check2 == 0x0020 then
eeObj.WriteMem32(0x20238db0,0x46040802)
--Portrait fix (battle) by Arapapa
eeObj.WriteMem32(0x002ab0d4,0x3c024219) --3c02424c
eeObj.WriteMem32(0x002ab118,0x3c034219) --3c03424c
end

emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(patcher)

--math.random() + math.random(1, 99)

--[[
C0 CD 15 00 BF 03 00 4A 5C AD C0 4B
C8 CD 15 00 5C AD C0 4B BF 03 00 4A
90 CF 15 00 BF 03 00 4A 1C E7 C0 4B
98 CF 15 00 1C E7 C0 4B BF 03 00 4A
B0 45 22 00 70 FF BD 27 08 00 E0 03
B4 45 22 00 30 00 BF FF 00 00 00 00
D0 CC 1F 00 F0 FF BD 27 08 00 E0 03
D4 CC 1F 00 00 00 BF FF 00 00 00 00
7C 2B 38 00 7D 19 C2 01 FF 02 00 00
88 2B 38 00 E7 07 02 52 E2 07 02 52
--]]

Works great as far as game speed and general graphics/audio. There are some missing graphics. I can't figure out how to get that to work. I haven't tried replacing "--vif1-instant-xfer=0" with "eeObj.SchedulerDelayEvent("vif1.dma", 0x????) . Maybe that may fix?
 

Attachments

It also works with Art of Fighting Anthology

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

--cdvd-sector-read-cycles=2000

#emu used=aofa
LUA
Code:
-- Coraline PAL
-- Widescreen Selector by ?
-- emu used=aofa

apiRequest(1.0)  

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

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


local patcher = function()
-- Widescreen 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 --Normal Screen
  eeObj.WriteMem32(0x0026432C,0x3C014480) -- original value
  emuObj.SetDisplayAspectNormal()
end

if (R1 ~= 0 and Select ~= 0) then --Widescreen Screen
   eeObj.WriteMem32(0x0026432C,0x3C014440) --3C014480 (Increases hor. axis)
   --Render fix
   eeObj.WriteMem32(0x001A6548,0x3C013C2E) --3C013C0E
   --Get rid of black bar
   eeObj.WriteMem32(0x00225ea8,0x3c014000) --3c014299
   eeObj.WriteMem32(0x00225eac,0x00000000) --3421999a
   eeObj.WriteMem32(0x002644ec,0x3c014440) -- hor fov
   emuObj.SetDisplayAspectWide()
end

emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(patcher)

I also didn't have any loading freezes in my first run.
Thanks i will test later
 
Fix for Battlestar Galactica PAL
CLI
Code:
--gs-uprender=2x2
--gs-upscale=edgesmooth

--host-display-mode=16:9
--cdvd-sector-read-cycles=2000

#emu used=rotk v1
LUA
Code:
-- Battlestar Galactica SLES_517.02
-- ported to PS4
-- emu used=rotk v1

apiRequest(0.1)

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

--16:9 A
eeInsnReplace(0x00102354, 0x3c013f99, 0x3c013f66) -- Gameplay
eeInsnReplace(0x00102358, 0x3421999a, 0x34216666)

local patcher = function()
--16:9 B
eeObj.WriteMem32(0x001cb818,0x3c013f66) --menu
eeObj.WriteMem32(0x001cb81c,0x34216666)

emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(patcher)

Works great! PCSX2 pnach file had to be split to avoid crashing after PS2 logo.
Quick Test
VIDEO

Also
Code:
--ps2-lang=system
in txt for make other languages available (French, German, Italian, Spanish)
 
Improvement Fix for Astro Boy - The Video Game (SLUS-21895)

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

--host-display-mode=16:9
--cdvd-sector-read-cycles=2000
LUA
Code:
-- Astro Boy - The Video Game (U)(SLUS-21895)
-- Widescreen hack by Arapapa

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

apiRequest(0.1)

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

--16:9 (WriteMem32 crashes emus on this game)
eeInsnReplace(0x0011a1dc, 0x46160083, 0x0804afdc)
eeInsnReplace(0x0012bf70, 0x00000000, 0x46160083)
eeInsnReplace(0x0012bf74, 0x00000000, 0x3c013f40)
eeInsnReplace(0x0012bf78, 0x00000000, 0x4481f000)
eeInsnReplace(0x0012bf7c, 0x00000000, 0x461e1082)
eeInsnReplace(0x0012bf80, 0x00000000, 0x08046878)

local patcher = function()
--PAL2NTSC by lee4
eeObj.WriteMem32(0x201CDB38,0x24120002)
--Have 99 Supers by lee4
eeObj.WriteMem32(0x01C89DA8,0x00000063)
--Unlock All Cheats by lee4
eeObj.WriteMem32(0x00368E23,0x000000FF)
eeObj.WriteMem32(0x00368E24,0x000000FF)

--eeObj.SchedulerDelayEvent("vif1.dma", 0x0000)
emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(patcher)

Works great. Tested a little. Feedback welcome.
 
Fix+Cheats for Winback - Covert Operations (NTSC-U)

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

--host-display-mode=16:9

--vu0-no-clamping=0

--vu1-no-clamping=0

--cop2-no-clamping=0

--cdvd-sector-read-cycles=2000

#emu used=aofa
LUA
Code:
-- Winback - Covert Operations (NTSC-U)
-- Widescreen hack
-- emu used=aofa

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

apiRequest(1.0)

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

emuObj.SetDisplayAspectWide()

local patcher = function()
-- 16:9
eeObj.WriteMem32(0x00246cb8,0x3c013f40) -- 00000000 hor fov
eeObj.WriteMem32(0x00246cbc,0x4481f000) -- 00000000
eeObj.WriteMem32(0x00246ccc,0x461eb583) -- 00000000
eeObj.WriteMem32(0x001c63a8,0x461e0002) -- 00000000 cross hairs position fix
eeObj.WriteMem32(0x001c68c4,0x461ea302) -- 4600a306 cross hairs render fix
--60 fps
--eeObj.WriteMem32(0x202352B4,0x00000000)
--Unlock All Characters (VS. Mode) by Code Master, StalkerX
eeObj.WriteMem32(0x203CD10C,0xFFFFFFFF)
--Have Rocket Launcher P1 by Code Master, StalkerX
eeObj.WriteMem32(0x0034741B,0x00000004)

emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(patcher)

Total fix. Graphical glitches gone. If you want 60FPS, you must increase the ee scalar and/or the vu1 mpg cycles.
 
Last edited:
Indiana Jones and the Staff of Kings NTSC (SLUS21885)


CLI

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

--host-display-mode=16:9
--cdvd-sector-read-cycles=2000

LUA
Code:
-- Indiana Jones and the Staff of Kings NTSC
-- Widescreen Hack by Arapapa
-- emu jakxv2

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

apiRequest(2.0)

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

local patcher = function()
--16:9
eeObj.WriteMem32(0x001a3d40,0x3c033ec0) -- 3c033f00

--60 fps by asasega @PCSX2 forums
eeObj.WriteMem32(0x201505B4,0x2C620000)

emuObj.ThrottleMax()
end

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

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

emuObj.AddVsyncHook(patcher)
 
Last edited:
Indiana Jones and the Staff of Kings NTSC (SLUS21885)


CLI

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

--host-display-mode=16:9
--cdvd-sector-read-cycles=2000

LUA
Code:
-- Indiana Jones and the Staff of Kings NTSC
-- Widescreen Hack by Arapapa
-- emu jakxv2

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

apiRequest(2.0)

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

local patcher = function()
--16:9
eeObj.WriteMem32(0x001a3d40,0x3c033ec0) -- 3c033f00

emuObj.ThrottleMax()
end

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

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

emuObj.AddVsyncHook(patcher)


Does this config remove the weird haze effect? In my tests the game was blurry, like a double image just slightly offset.
 

New Jackie Chan Adventures PS2toPS4 Test (PS4 Pro Boost Mode) Part #2



Just remind that

Code:
--fpu-accurate-addsub-range=0x22F2B0,0x22F468

in txt. for FiX Bug, when Jackie falling through the floor in the temple!

Kof98 Emu used!
 
This should work. You need the psychonauts v2 emu though.
I have all the resources needed, but I'm probably doing something wrong because I'm getting an error when I try to create the fpkg.

I copied both the Psychonauts v2 and Armored core 3 to the emus folder, ran PS2-FPKG v.06 and Selected Armored core 3 as my emulator but I got the message below.

[Debug] 2022-05-24 11:04:01 Create image Process started.
[Warn] The required file is missing (sce_sys/pronunciation.xml). The created package will not be imported into GEMS.
[Error] Could not open or read input file. (docs/revision.h)
[Error] Could not open or read input file. (sce_module/libSceFios2.prx)
[Error] Could not open or read input file. (sce_module/libc.prx)
[Error] Could not open or read input file. (PS20220WD20050620.crack)
[Error] Could not open or read input file. (eboot.bin)
[Error] Could not open or read input file. (formatted.card)
[Error] Could not open or read input file. (ps2-emu-compiler.self)
[Error] 2022-05-24 11:04:01 Create image Process finished with error(s).

Thanks to everyone that's been helping me so far by the way.
 
I have all the resources needed, but I'm probably doing something wrong because I'm getting an error when I try to create the fpkg.

I copied both the Psychonauts v2 and Armored core 3 to the emus folder, ran PS2-FPKG v.06 and Selected Armored core 3 as my emulator but I got the message below.



Thanks to everyone that's been helping me so far by the way.

Sorry, I do not use that program. I wouldn't know the first thing about it. But, the Armored Core 3 files are not emulator files, they are config files for said game to use WITH psychonauts emu.
 
Last edited:
Can anyone help me ? I'm trying to fix Rayman 3: Hoodlum Havoc. Game Starts but After the First cutscene ends a Loading screen starts and after The loading screen Ends The Game Gets Black screen with nothing happening. First sequence Won't start. Tried many emus. Tried many configs. Jakv2 was most stable for me But nothing fixes the black screen
 

Similar threads

Back
Top