PS4 [Research]PS2 emulator configuration on PS4

Anyone had any success booting Batman Begins? The only emu that doesn't crash for me during the first loading screen is "Rogue v1"
 
Hello,

Can anyone help me out with the 'Big Mutha Truckers' games.

According to the compatbility list both 'Big Mutha Truckers (NTSC)' and 'Big Mutha Trackers 2 (NTSC)' run flawlessly. However i can not get either of them to run without issues.

I am using PS2-FPKG 0.6 to generate the fake packages.

Both packages created using Jak V2 emulator

Both packages created using the default recommended config text in the first post.

--fpu-no-clamping=0
--fpu-clamp-results=1
--vu0-no-clamping=0
--vu0-clamp-results=1
--vu1-no-clamping=0
--vu1-clamp-results=1
--cop2-no-clamping=0
--cop2-clamp-results=1
--vu0-opt-flags=1
--vu1-opt-flags=1
--cop2-opt-flags=1
--vu0-const-prop=0
--vu1-const-prop=0
--vu1-jr-cache-policy=newprog
--vu1-jalr-cache-policy=newprog
--vu0-jr-cache-policy=newprog
--vu0-jalr-cache-policy=newprog

Big Mutha Truckers (NTSC):
Format: bin/cue
SID: SLUS-20605 (Assumed. Not automatically detected by PS2-FPKG)
Issue: Constrant video 'bounce', everything seems to judder up and down 1-2px a time. Happens on menu and during gameplay

Big Mutha Truckers 2 (NTSC):
Format: ISO
SID: SLUS-21086
Issue: Game freezes as soon as starting campaign gameplay. Menus etc seem to work fine.

I've also has a look at the PCSX2 to try and provide more details but can't seem to find any references within the game index for these versions: https://github.com/PCSX2/pcsx2/blob/master/bin/resources/GameIndex.yaml

If anyone has any recommendations for fixes that would be hugely appreciated!
 
First attempt at porting d codes to PS4. This actually appear to work!

this format(PCSX2 pnach)

//no interleacing test
patch=1,EE,D067B7C8,extended,00000001
patch=1,EE,2038334C,extended,DE020010
patch=1,EE,D067B7C8,extended,00000003
patch=1,EE,2038334C,extended,34021400

to this(PS4 LUA)

local code_check1 = eeObj.ReadMem16(0x67B7C8)
if code_check1 == 0x0001 then
eeObj.WriteMem32(0x2038334C,0xDE020010)
end
local code_check2 = eeObj.ReadMem16(0x67B7C8)
if code_check2 == 0x0003 then
eeObj.WriteMem32(0x2038334C,0x34021400)
end


This seems to work great! Can anyone one else test? This is for Mortal Kombat Shaolin Monks NTSC

Updated fix for Shaolin Monks here:
https://www.psx-place.com/threads/r...onfiguration-on-ps4.16131/page-59#post-279781
 
Last edited:
Proper Widescreen and No interlace for Tekken 5 NTSC
LUA
Code:
-- Tekken 5 NTSC
-- Widescreen and No interlace
-- emu used=rogue v1

apiRequest(0.1)

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

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

local patcher = function()

eeObj.WriteMem32(0x0032b448,0x3c013f40) -- both fov+
--applies both fov+ only for widescreen mode
eeObj.WriteMem32(0x0032b478,0x3c010015)
eeObj.WriteMem32(0x0032b47c,0xc62dd11c)
eeObj.WriteMem32(0x0032b49c,0x46016b42)
eeObj.WriteMem32(0x0032b4a0,0x46010843)
eeObj.WriteMem32(0x0032b4b8,0x460d1083)
eeObj.WriteMem32(0x0032b4bC,0x460d0843)
--effects fix
eeObj.WriteMem32(0x00257434,0x46161083)
eeObj.WriteMem32(0x00257488,0x46160843)
eeObj.WriteMem32(0x002574e0,0x46160843)
eeObj.WriteMem32(0x00257538,0x46160843)

local code_check1 = eeObj.ReadMem16(0x15D11C)
if code_check1 == 0x8e38 then
eeObj.WriteMem32(0x20257764,0x10000008)
end
local code_check2 = eeObj.ReadMem16(0x15D11C)
if code_check2 == 0xaaaa then
eeObj.WriteMem32(0x20257764,0x45020008)
end
--render fix
eeObj.WriteMem32(0x00222484,0x3c013f2b)
eeObj.WriteMem32(0x00222494,0x44810000)
eeObj.WriteMem32(0x00222498,0x46006302)
--Devil Within Mode by Arapapa
local code_check3 = eeObj.ReadMem16(0x100000)
if code_check3 == 0xfff0 then
eeObj.WriteMem32(0x2041E82C,0x3f400000) --Zoom
eeObj.WriteMem32(0x202ACED8,0x3FDDA51A) --Y-Fov
end
--no interlace for starblade
local code_check4 = eeObj.ReadMem16(0x2F5BD0)
if code_check4 == 0x0104 then
eeObj.WriteMem32(0x202F5BD0,0x34070003)
local code_check5 = eeObj.ReadMem16(0x187FB0)
if code_check5 == 0x0008 then
eeObj.WriteMem32(0x20187FB0,0x34030001)
eeObj.WriteMem32(0x20187FC4,0x34021078)
end
end
--[[
--Workaround
eeObj.WriteMem32(0x2010207C,0x3c050000)
eeObj.WriteMem32(0x20102084,0x3c060050)
eeObj.WriteMem32(0x2010208C,0x3c070001)
eeObj.WriteMem32(0x20102EAC,0x3C0701E0)
--]]
--Intro Mini Game
local code_check6 = eeObj.ReadMem16(0xFFECF4)
if code_check6 == 0x0001 then
eeObj.WriteMem32(0x2010230C,0x34029078)
end
--Framebuffer - Progressive - No interleacing - No black lines HW mode
local code_check7 = eeObj.ReadMem16(0xFFEF20)
if code_check7 == 0x8870 then
eeObj.WriteMem32(0x2010230C,0x34029400)
eeObj.WriteMem32(0x203EF450,0x00000001) -- Official Progressive mode
end
-- Devil W. Game
local code_check8 = eeObj.ReadMem16(0xFFEF20)
if code_check8 == 0x2c70 then
eeObj.WriteMem32(0x2026033C,0x34029400)
end
-- Tek 1 sdtv mode 240p
local code_check9 = eeObj.ReadMem16(0xFFEF20)
if code_check9 == 0x3df0 then
eeObj.WriteMem32(0x2014F454,0x3c050000)
eeObj.WriteMem32(0x2014F45C,0x3C060050)
eeObj.WriteMem32(0x2014F464,0x3c070001)
end
-- Tek 2 sdtv mode 240p
local code_check10 = eeObj.ReadMem16(0xFFEF20)
if code_check10 == 0x6570 then
eeObj.WriteMem32(0x2015E494,0x3c050000)
eeObj.WriteMem32(0x2015E49C,0x3C060050)
eeObj.WriteMem32(0x2015E4A4,0x3c070001)
end
-- Tek 3 sdtv mode 480p extended
local code_check11 = eeObj.ReadMem16(0xFFEF20)
if code_check11 == 0xF370 then
eeObj.WriteMem32(0x201E4F54,0x3c050000)
eeObj.WriteMem32(0x201E4F5C,0x3C060050)
eeObj.WriteMem32(0x201E4F64,0x3c070001)
end

end

emuObj.AddVsyncHook(patcher)

Confirmed! D-Codes are now working! This one was an easy test because this combo d+e code unlocks starblade in arcade history as a side-effect.
 
Last edited:
Proper Widescreen and No interlace for Tekken 5 NTSC
LUA
Code:
-- Tekken 5 NTSC
-- Widescreen and No interlace
-- emu used=rogue v1

apiRequest(0.1)

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

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

local patcher = function()

eeObj.WriteMem32(0x0032b448,0x3c013f40) -- both fov+
--applies both fov+ only for widescreen mode
eeObj.WriteMem32(0x0032b478,0x3c010015)
eeObj.WriteMem32(0x0032b47c,0xc62dd11c)
eeObj.WriteMem32(0x0032b49c,0x46016b42)
eeObj.WriteMem32(0x0032b4a0,0x46010843)
eeObj.WriteMem32(0x0032b4b8,0x460d1083)
eeObj.WriteMem32(0x0032b4bC,0x460d0843)
--effects fix
eeObj.WriteMem32(0x00257434,0x46161083)
eeObj.WriteMem32(0x00257488,0x46160843)
eeObj.WriteMem32(0x002574e0,0x46160843)
eeObj.WriteMem32(0x00257538,0x46160843)

local code_check1 = eeObj.ReadMem16(0x15D11C)
if code_check1 == 0x8e38 then
eeObj.WriteMem32(0x20257764,0x10000008)
end
local code_check2 = eeObj.ReadMem16(0x15D11C)
if code_check2 == 0xaaaa then
eeObj.WriteMem32(0x20257764,0x45020008)
end
--render fix
eeObj.WriteMem32(0x00222484,0x3c013f2b)
eeObj.WriteMem32(0x00222494,0x44810000)
eeObj.WriteMem32(0x00222498,0x46006302)
--Devil Within Mode by Arapapa
local code_check3 = eeObj.ReadMem16(0x100000)
if code_check3 == 0xfff0 then
eeObj.WriteMem32(0x2041E82C,0x3f400000) --Zoom
eeObj.WriteMem32(0x202ACED8,0x3FDDA51A) --Y-Fov
end
--no interlace for starblade
local code_check4 = eeObj.ReadMem16(0x2F5BD0)
if code_check4 == 0x0104 then
eeObj.WriteMem32(0x202F5BD0,0x34070003)
local code_check5 = eeObj.ReadMem16(0x187FB0)
if code_check5 == 0x0008 then
eeObj.WriteMem32(0x20187FB0,0x34030001)
eeObj.WriteMem32(0x20187FC4,0x34021078)
end
end
--[[
--Workaround
eeObj.WriteMem32(0x2010207C,0x3c050000)
eeObj.WriteMem32(0x20102084,0x3c060050)
eeObj.WriteMem32(0x2010208C,0x3c070001)
eeObj.WriteMem32(0x20102EAC,0x3C0701E0)
--]]
--Intro Mini Game
local code_check6 = eeObj.ReadMem16(0xFFECF4)
if code_check6 == 0x0001 then
eeObj.WriteMem32(0x2010230C,0x34029078)
end
--Framebuffer - Progressive - No interleacing - No black lines HW mode
local code_check7 = eeObj.ReadMem16(0xFFEF20)
if code_check7 == 0x8870 then
eeObj.WriteMem32(0x2010230C,0x34029400)
eeObj.WriteMem32(0x203EF450,0x00000001) -- Official Progressive mode
end
-- Devil W. Game
local code_check8 = eeObj.ReadMem16(0xFFEF20)
if code_check8 == 0x2c70 then
eeObj.WriteMem32(0x2026033C,0x34029400)
end
-- Tek 1 sdtv mode 240p
local code_check9 = eeObj.ReadMem16(0xFFEF20)
if code_check9 == 0x3df0 then
eeObj.WriteMem32(0x2014F454,0x3c050000)
eeObj.WriteMem32(0x2014F45C,0x3C060050)
eeObj.WriteMem32(0x2014F464,0x3c070001)
end
-- Tek 2 sdtv mode 240p
local code_check10 = eeObj.ReadMem16(0xFFEF20)
if code_check10 == 0x6570 then
eeObj.WriteMem32(0x2015E494,0x3c050000)
eeObj.WriteMem32(0x2015E49C,0x3C060050)
eeObj.WriteMem32(0x2015E4A4,0x3c070001)
end
-- Tek 3 sdtv mode 480p extended
local code_check11 = eeObj.ReadMem16(0xFFEF20)
if code_check11 == 0xF370 then
eeObj.WriteMem32(0x201E4F54,0x3c050000)
eeObj.WriteMem32(0x201E4F5C,0x3C060050)
eeObj.WriteMem32(0x201E4F64,0x3c070001)
end

end

emuObj.AddVsyncHook(patcher)

Confirmed! D-Codes are now working! This one was an easy test because this combo d+e code unlocks starblade in arcade history as a side-effect.
@Stayhye did u test tekken tag tournament? jpn v.3.00 works good but need ps4 PRO boost mode for run full speed!
I try ntsc version, it was not so good, was add --gs-adaptive-frameskip=1 and it work and not need even boost mode, but ntsc version just freeze at much stages.
 

Similar threads

Back
Top