PS4 [Research]PS2 emulator configuration on PS4

Thanks, you're right. Hopefully they edit out fpjk in the wiki. Though you still need to use Bully v2, Rogue crashes and Jak has severe graphical issues. I also recommend adding mipmapping to the config since this game also suffers a bit from the white seams, on a few cutscenes. Doesn't seem to harm performance or create any issues.
you mean that list? - LINK

Its old list and alot notes still not updated!
 
I'm trying to emulate Scarface NTSC from PS2 to PS4 but the game won't start. I am using the Star Ocean v2 emu in the Ps2-FPKG program and the Lua and Cli file that are on the wiki, but everything results in it not starting on my ps4. Somebody could help me?
 
@Stayhye @Deso
In theory, if I were to probe around for the original and new offsets controller locations of Urban Reign NTSC (SLUS-21209) shown from Kozarovv's config using PCSX2, maybe it could reveal some kind of pattern for what to look for in other games too?
I wonder if these new offsets also match the virtual mtap of PS3 PS2_Softemu.
 
Last edited:
debug and test with ITEMZ network setup is fast but sadly buggy (lua random crashes and random emu variable compactibility) so this was last code for batman fail some emus....
here leave this codes i was cleaning past weeks and tested full ISO patch build works ok but is too time consuming; here i leave in lua format codes for people want to test.

Saint Seiya: The Sanctuary (Europe) SLES_532.01;1, Game CRC = BE2213F9
Saint Seiya: Sanctuary Juu Ni Kyuu Hen (Japan) SLPS_254.76;1, Game CRC = 7970F63C
Saint Seiya - The Hades (Europe) (En,Ja,Fr,Es,It) SLES_541.62;1) Game CRC = 0x531AB6BC
Saint Seiya - Meiou Hades Juunikyuu Hen (Japan) SLPS_257.44;1) Game CRC = 0x9051D2DF

Improvements
+NTSC, 60hz - 60fps (* Saint Seiya: The Sanctuary (Europe) has bug so code only enable PAL 50fps (only story and battle intros batles is 25fps....)
+Widescreen partial updated codes
+language unlock for Saint Seiya - The Hades (Japan)
+clean image "less blurry" for Hades series
+unlock all characters for vs gameplays

Emu used all versions Fatal fury arch.

--gametitle=Saint Seiya - The Sanctuary (Europe) (En,Ja,Fr,De,Es,It) SLES_532.01;1) Game CRC = 0xBE2213F9
--comment=testing by felixthecat1970
apiRequest(1.7) -- request version 0.1 API. Calling apiRequest() is mandatory.
local eeObj = getEEObject()
local emuObj = getEmuObject()
--patches v2 by felixthecat1970
local options = function()
eeObj.WriteMem32(0x202B5748,0x0000182D)
eeObj.WriteMem32(0x202B5764,0x0000102D)
eeObj.WriteMem32(0x203527D8,0x24020002)
eeObj.WriteMem32(0x2013A4C0,0x0000182D)
eeObj.WriteMem32(0x2013A17C,0x0000182D)
eeObj.WriteMem32(0x202794D0,0x0000802D)
eeObj.WriteMem32(0x201BAE80,0x0000882D)
eeObj.WriteMem32(0x20359434,0x0000182D)
eeObj.WriteMem32(0x202B5740,0x0000182D)
eeObj.WriteMem32(0x20359434,0x24030002)
eeObj.WriteMem32(0x20394F18,0xA20D032C)
eeObj.WriteMem32(0x20394F1C,0xA20B032D)
eeObj.WriteMem32(0x20394F20,0xA20B032E)
eeObj.WriteMem32(0x20394F24,0xA20B032F)
eeObj.WriteMem32(0x2015E404,0x3C033F40)
eeObj.WriteMem32(0x2015E2C4,0x3C033F40)
eeObj.WriteMem32(0x20274FA0,0x3C033F40)
eeObj.WriteMem32(0x20275010,0x3C033F40)
end
emuObj.AddVsyncHook(options)

--gametitle=Saint Seiya - The Hades (Europe) (En,Ja,Fr,Es,It) SLES_541.62;1) Game CRC = 0x531AB6BC
--comment=testing by felixthecat1970
apiRequest(1.7) -- request version 0.1 API. Calling apiRequest() is mandatory.
local eeObj = getEEObject()
local emuObj = getEmuObject()
--patches v2 by felixthecat1970
local options = function()
eeObj.WriteMem32(0x2023FC20,0x0000182D)
eeObj.WriteMem32(0x2023FC28,0x0000182D)
eeObj.WriteMem32(0x2023FC44,0x0000102D)
eeObj.WriteMem32(0x2013D3F4,0x0000182D)
eeObj.WriteMem32(0x102BF9FC,0x240201C0)
eeObj.WriteMem32(0x2030C9EC,0xAF808BBC)
eeObj.WriteMem32(0x2030CA74,0x10000058)
eeObj.WriteMem32(0x2030C9E0,0x00000000)
eeObj.WriteMem32(0x2030CA7C,0x00000000)
eeObj.WriteMem32(0x20138B28,0x0000202D)
eeObj.WriteMem32(0x202C5388,0xAC8A003C)
eeObj.WriteMem32(0x002DAAD8,0x2A22002A)
eeObj.WriteMem32(0x002C53B4,0x24030002)
eeObj.WriteMem32(0x00162068,0x3C033F40)
eeObj.WriteMem32(0x00161F28,0x3C033F40)
eeObj.WriteMem32(0x0023B324,0x3C033F40)
eeObj.WriteMem32(0x0023B398,0x3C033F40)
end
emuObj.AddVsyncHook(options)

--gametitle=Saint Seiya Seiiki Juunikyuu Hen (Japan) SLPS-25476 CRC = 7970F63C
--comment=testing by felixthecat1970
apiRequest(1.7) -- request version 0.1 API. Calling apiRequest() is mandatory.
local eeObj = getEEObject()
local emuObj = getEmuObject()
--patches v2 by felixthecat1970
local options = function()
eeObj.WriteMem32(0x20279150,0x0000882D)
eeObj.WriteMem32(0x20278AE0,0x0000802D)
eeObj.WriteMem32(0x20277A08,0x0000802D)
eeObj.WriteMem32(0x201BAB50,0x0000882D)
eeObj.WriteMem32(0x10350E90,0x240201C0)
eeObj.WriteMem32(0x20391968,0xA20D0328)
eeObj.WriteMem32(0x2039196C,0xA20B0329)
eeObj.WriteMem32(0x20391970,0xA20B032A)
eeObj.WriteMem32(0x20391974,0xA20B032B)
eeObj.WriteMem32(0x003569F4,0x24020002)
eeObj.WriteMem32(0x0015E1B4,0x3C033F40)
eeObj.WriteMem32(0x0015E300,0x3C033F40)
eeObj.WriteMem32(0x002745C0,0x3C033F40)
eeObj.WriteMem32(0x00274630,0x3C033F40)
end
emuObj.AddVsyncHook(options)

--gametitle=Saint Seiya - Meiou Hades Juunikyuu Hen (Japan) SLPS_257.44;1) Game CRC = 0x9051D2DF
--comment=testing by felixthecat1970
apiRequest(1.7) -- request version 0.1 API. Calling apiRequest() is mandatory.
local eeObj = getEEObject()
local emuObj = getEmuObject()
--patches v2 by felixthecat1970
local options = function()
eeObj.WriteMem32(0x2013D5A4,0x0000182D)
eeObj.WriteMem32(0x102C2A5C,0x240201C0)
eeObj.WriteMem32(0x203118CC,0xAF808C44)
eeObj.WriteMem32(0x20311954,0x10000058)
eeObj.WriteMem32(0x203118D0,0x00000000)
eeObj.WriteMem32(0x2031194C,0x00000000)
eeObj.WriteMem32(0x20138B28,0x0000202D)
eeObj.WriteMem32(0x002C8444,0x24030002)
eeObj.WriteMem32(0x202C8418,0xAC8A003C)
eeObj.WriteMem32(0x002DE170,0x2A22002A)
eeObj.WriteMem32(0x0023E2D8,0x3C033F40)
eeObj.WriteMem32(0x0023E264,0x3C033F40)
eeObj.WriteMem32(0x00162B28,0x3C033F40)
eeObj.WriteMem32(0x00162C68,0x3C033F40)
end
emuObj.AddVsyncHook(options)
 
I'm trying to emulate Scarface NTSC from PS2 to PS4 but the game won't start. I am using the Star Ocean v2 emu in the Ps2-FPKG program and the Lua and Cli file that are on the wiki, but everything results in it not starting on my ps4. Somebody could help me?
Blue screen?
 
debug and test with ITEMZ network setup is fast but sadly buggy (lua random crashes and random emu variable compactibility) so this was last code for batman fail some emus....
here leave this codes i was cleaning past weeks and tested full ISO patch build works ok but is too time consuming; here i leave in lua format codes for people want to test.

Saint Seiya: The Sanctuary (Europe) SLES_532.01;1, Game CRC = BE2213F9
Saint Seiya: Sanctuary Juu Ni Kyuu Hen (Japan) SLPS_254.76;1, Game CRC = 7970F63C
Saint Seiya - The Hades (Europe) (En,Ja,Fr,Es,It) SLES_541.62;1) Game CRC = 0x531AB6BC
Saint Seiya - Meiou Hades Juunikyuu Hen (Japan) SLPS_257.44;1) Game CRC = 0x9051D2DF

Improvements
+NTSC, 60hz - 60fps (* Saint Seiya: The Sanctuary (Europe) has bug so code only enable PAL 50fps (only story and battle intros batles is 25fps....)
+Widescreen partial updated codes
+language unlock for Saint Seiya - The Hades (Japan)
+clean image "less blurry" for Hades series
+unlock all characters for vs gameplays

Emu used all versions Fatal fury arch.
Can i ask you @felixthecat1970 but maybe you know analog of command:
Code:
--vu1-no-clamping=0

but for LUA ?

--vu1-no-clamping=0 fix graphical bugs in games but some games crash when you add this command in txt!
Maybe some command in LUA will do same as -vu1-no-clamping=0 in txt ?
 
Can i ask you @felixthecat1970 but maybe you know analog of command:
Code:
--vu1-no-clamping=0

but for LUA ?

--vu1-no-clamping=0 fix graphical bugs in games but some games crash when you add this command in txt!
Maybe some command in LUA will do same as -vu1-no-clamping=0 in txt ?

past weeks a was reading the ps4 docs in wiki for understand more about commands and lua, but remember some lua can translate that commands (the docs advise many commands still are unknow), you will see some commands are available maybe replicating same syntax command but who nows. still the ITEMZ app helps debug fast but many random parameters is tedius, now best emu i find for test is fatalfury EMU almost all games i have been testing works ok for fast debug still unknow, also the version and command the biggest emu i know is jak III 10mb+ eboot bin but fail for network test, still in wiki advises to find or look params in eboot.bin but too much for :sco hmmthink: :bandicoot:also i read some games can be used with debug or trace functions (start wars battlefrom but no idea how to) also other options is ps2 <> ps3 compactibility peopple still working and find workarounds check aldo's git for the lastest ps2 pkg with configs or the forum; so what game have in mind for test maybe i can random check next days
 
past weeks a was reading the ps4 docs in wiki for understand more about commands and lua, but remember some lua can translate that commands (the docs advise many commands still are unknow), you will see some commands are available maybe replicating same syntax command but who nows. still the ITEMZ app helps debug fast but many random parameters is tedius, now best emu i find for test is fatalfury EMU almost all games i have been testing works ok for fast debug still unknow, also the version and command the biggest emu i know is jak III 10mb+ eboot bin but fail for network test, still in wiki advises to find or look params in eboot.bin but too much for :sco hmmthink: :bandicoot:also i read some games can be used with debug or trace functions (start wars battlefrom but no idea how to) also other options is ps2 <> ps3 compactibility peopple still working and find workarounds check aldo's git for the lastest ps2 pkg with configs or the forum; so what game have in mind for test maybe i can random check next days
I sent personal message!
 
Blue screen?

When I use PS2-FPKG with the Star Ocean V2 emu, I get a blue screen with an error, as if the game was completely broken. Then I tried to make the conversation with Nazky's PS22PS4-GUI and things seem to change since at least it gives me the Playstation 2 logo and then it remains with a black screen. I don't know if the Star Ocean V2 emu I have is broken or what the problem might be. I use the CLI and LUA file that is on the wiki. Any solution?
 
Last edited by a moderator:
you mean that list? - LINK

Its old list and alot notes still not updated!

Yes but it was the only place where it offered a config for the game.

Ty the Tasmanian Tiger NTSC
Ty the Tasmanian Tiger 2 NTSC
Ty3 the Tasmanian Tiger Night of the Quinkan NTSC


TXT
Code:
--gs-uprender=2x2
--gs-upscale=edgesmooth
--host-display-mode=16:9
--gs-kernel-cl-up="up2x2skipinterp"      #fix line

Lua
Code:
--kof98um # fix crash in TY 2

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

apiRequest(0.1)

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

local patcher = function()

emuObj.ThrottleMax()
end
emuObj.AddVsyncHook(patcher)

TY 3 is broken. On the second level, the last 2 enemies do not spawn. This game has some timing issues related to the EE according to PCSX2 so in some areas where you're forced to kill all enemies, they don't spawn and you're softlocked. Is there a command equivelent of setting the EE round to "nearest"? Because that's what fixed it for PCSX2.
 
When I use PS2-FPKG with the Star Ocean V2 emu, I get a blue screen with an error, as if the game was completely broken. Then I tried to make the conversation with Nazky's PS22PS4-GUI and things seem to change since at least it gives me the Playstation 2 logo and then it remains with a black screen. I don't know if the Star Ocean V2 emu I have is broken or what the problem might be. I use the CLI and LUA file that is on the wiki. Any solution?
You use PS2-FPKG v.0.6 or 0.7 beta? If you use beta try v.0.6 then or build manually!

Also try config for PAL version from @Jvn9207
 
You use PS2-FPKG v.0.6 or 0.7 beta? If you use beta try v.0.6 then or build manually!

Also try config for PAL version from @Jvn9207
Sorry for my ignorance brother, but the correct way to compile it manually is in the Star Ocean v2 emu folder, create a folder named "Image" and insert the Scarface iso, in the patches folder paste the Lua and CLI.conf file. That's the right way?
 
Sorry for my ignorance brother, but the correct way to compile it manually is in the Star Ocean v2 emu folder, create a folder named "Image" and insert the Scarface iso, in the patches folder paste the Lua and CLI.conf file. That's the right way?
Im sister! Yes sound right!
 
Fix for Scarface - The World is Yours (NTSC)

CLI
Code:
--gs-uprender=2x2
--gs-upscale=edgesmooth
--gs-kernel-cl-up="up2x2skipinterp" #gfx fix A
--gs-motion-factor=30 #fps smoothing
--gs-optimize-30fps=1 #fps smoothing

--cdvd-sector-read-cycles=2000 # loading speedup

--vu1-di-bits=0 # micro freezing fix

--ee-cycle-scalar=0.75
--iop-cycle-scalar=0.75 # input response increase

--vu1-jr-cache-policy=newprog  # stutter fix
--vu1-jalr-cache-policy=newprog  # stutter fix

#emu used=star ocean v2

LUA

Code:
-- Scarface - The World is Yours (NTSC)
-- speed fix by Agrippa & Kozarovv
-- graphical issues fix by kozarovv
-- ported to PS4 lua by Stayhye
-- emu used=star ocean v2

apiRequest(0.1)

local cpr       = require("ee-cpr0-alias")

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

emuObj.SetFormattedCard("scarface.card")
emuObj.SetDisplayAspectWide()

--PS3 config(speed up)
eeInsnReplace(0x00643790, 0xc4810020, 0x03e00008) -- pop ins might be more distracting.
eeInsnReplace(0x00643794, 0x3c033f80, 0x00000000)
eeInsnReplace(0x0064292c, 0x45010012, 0x10000012) -- This patch would affect the smaller objects also (e.g. stillages).
eeInsnReplace(0x0050ffa0, 0x3c034320, 0x3c034220)
eeInsnReplace(0x0050ff50, 0x3c033f80, 0x3c033f00)

local gfx_fix = function()
--[[ Kozarovv's Notes:
after some reversing i noticed that Scarface don't use VU1 to draw road terrain. This patch in theory force rendering to be done.
--]]
--graphics fix C
eeObj.WriteMem32(0x004F4D8C,0x10000003)
eeObj.WriteMem32(0x004F4F34,0x00000000)
eeObj.WriteMem32(0x004F4F58,0x10000007)
--60 fps by asasega
--eeObj.WriteMem32(0x20DAFABC,0x00000000) -- breaks uprender and FPS

   if eeObj.ReadMem16(0x1B99E0, 0xE614) then
     eeObj.WriteMem32(0x001B90DC,0x00000000) -- bloom backbuffer
     eeObj.WriteMem32(0x001B8B88,0x00000000) -- MotionBlurEnable
     eeObj.WriteMem32(0x001B9318,0x00000000) -- MipMapLevel
 
   end
 
eeObj.Vu1MpgCycles(375) -- Helps FPS and removes stutter
--emuObj.ThrottleMax() -- not supported by Star Ocean 3 emu
end

emuObj.AddVsyncHook(gfx_fix)

-- Uprender/Upscale fix
emuObj.SetGsTitleFix( "globalSet",  "reserved", { waveThreshold = 90000} ) -- removes even more stutter
emuObj.SetGsTitleFix( "ignoreAreaUpdate", 0, { } )
emuObj.SetGsTitleFix( "forceSimpleFetch",  "reserved", {psm=0} )
emuObj.SetGsTitleFix( "fetchFromCurrBuff", "reserved", {psm=0} )


Total fix! Almost perfect! Probably can still be tweaked to remove remaining stutter. Big Thanks to @kozarovv for final graphics fix.
I know you said it's easy to apply cli and lua configs but it's just not working out for me. I'm using PS22PS4 GUI. Can you please lead me in the right direction. I have already copied and pasted these configs multiple different ways with no success. I have followed many of your posts but with no luck.
 
Yes but it was the only place where it offered a config for the game.



TY 3 is broken. On the second level, the last 2 enemies do not spawn. This game has some timing issues related to the EE according to PCSX2 so in some areas where you're forced to kill all enemies, they don't spawn and you're softlocked. Is there a command equivelent of setting the EE round to "nearest"? Because that's what fixed it for PCSX2.

You have to use --fpu-accurate command like in my config for Phantasy star Universe
 
Def Jam™ Fight for N.Y.® NTSC (4 Player fix)

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

--host-display-mode=16:9

--iop-cycle-scalar=1.0

--ee-cycle-scalar=1.7

--mtap1=always
--mtap2=always
LUA
Code:
-- Def Jam: Fight for NY (SLUS-21004)
-- Multi-Tap fix by Kozarovv
-- Widescreen Patch
-- ported to PS4 Lua by Stayhye
-- emu used=aofa

apiRequest(0.1)

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

local WS = function()
--16:9
eeObj.WriteMem32(0x00361a34,0x10a20016)
eeObj.WriteMem32(0x00361a64,0x3c013fab)
eeObj.WriteMem32(0x00361a68,0x44810800)
eeObj.WriteMem32(0x00361a6c,0x46010002)
eeObj.WriteMem32(0x00361a70,0xe4c00000)
eeObj.WriteMem32(0x00361a74,0x46010842)
eeObj.WriteMem32(0x00361a78,0xe4e10000)
eeObj.WriteMem32(0x00361a7c,0xc480001c)
eeObj.WriteMem32(0x00361a80,0xe5000000)
eeObj.WriteMem32(0x00361a84,0xc4810024)
eeObj.WriteMem32(0x00361a88,0x03e00008)
eeObj.WriteMem32(0x00361a8c,0xe5210000)
eeObj.WriteMem32(0x00361a90,0xc4800010)
eeObj.WriteMem32(0x00361a94,0x3c013fab)
eeObj.WriteMem32(0x00361a98,0x44810800)
eeObj.WriteMem32(0x00361a9c,0x00000000) -- optional zoom for cutscenes
eeObj.WriteMem32(0x00361a9c,0x46010002) -- optional zoom for cutscenes
eeObj.WriteMem32(0x00361aa0,0x46010842)
eeObj.WriteMem32(0x00361aa4,0xe4c00000)
eeObj.WriteMem32(0x00361aa8,0xe4e10000)
eeObj.WriteMem32(0x00361aac,0x3c013e80)
eeObj.WriteMem32(0x00361ab0,0x44811800)
eeObj.WriteMem32(0x00361ab4,0xc4820024)
eeObj.WriteMem32(0x00361ab8,0x3c013f00)
eeObj.WriteMem32(0x00361abc,0x44810000)
eeObj.WriteMem32(0x00361ac0,0x46031082)
eeObj.WriteMem32(0x00361ac4,0xc481001c)
eeObj.WriteMem32(0x00361ac8,0x46001002)
eeObj.WriteMem32(0x00361acc,0xe5010000)
eeObj.WriteMem32(0x00361ad0,0xc4800024)
eeObj.WriteMem32(0x00361ad4,0x03e00008)
eeObj.WriteMem32(0x00361ad8,0xe5200000)

--Access All Gear by Code Master
eeObj.WriteMem32(0x200C0220,0x240300FF)
eeObj.WriteMem32(0x200C0224,0x080D85B3)
eeObj.WriteMem32(0x200C0228,0xA0430000)
eeObj.WriteMem32(0x203616C8,0x08030088)

--Access All Moves by Code Master
eeObj.WriteMem32(0x200C0230,0x240200FF)
eeObj.WriteMem32(0x200C0234,0x080D852F)
eeObj.WriteMem32(0x200C0238,0xA0620000)
eeObj.WriteMem32(0x203614B8,0x0803008C)
--general
eeObj.Vu1MpgCycles(600)
emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(WS)

local mtap_fix = function()
-- Force controllers detection
eeObj.WriteMem32(0x32F3EC,0x00000000)
-- Manually count to 8...
eeObj.WriteMem32(0x1EADFC,0x24100000)
eeObj.WriteMem32(0x1EAE04,0x26100001)
-- Rearrange controllers from port 2 to 1
eeObj.WriteMem32(0x0fff00,0x10040007)
eeObj.WriteMem32(0x0fff04,0x28b90003)
eeObj.WriteMem32(0x0fff08,0x54190001)
eeObj.WriteMem32(0x0fff0c,0x24a50001)
eeObj.WriteMem32(0x0fff10,0x54190001)
eeObj.WriteMem32(0x0fff14,0x24040000)
eeObj.WriteMem32(0x0fff18,0x080CBBD0)
eeObj.WriteMem32(0x0fff1c,0x00000000)
eeObj.WriteMem32(0x0fff20,0x54050001)
eeObj.WriteMem32(0x0fff24,0x24040001)
eeObj.WriteMem32(0x0fff28,0x54050001)
eeObj.WriteMem32(0x0fff2c,0x24a5ffff)
eeObj.WriteMem32(0x0fff30,0x080CBBD0)
eeObj.WriteMem32(0x0fff34,0x00000000)
eeObj.WriteMem32(0x32F36C,0x0c03ffc0)
end

emuObj.AddVsyncHook(mtap_fix)

4 player working. All thanks to Kozarovv for his multi-tap patches. Tested quite a bit, works great.
Is there any chance you could ask Kozarovv how he creates these offsets?
Like what tools do he use and does he search for any certain function names to find them?

I'm sorry for being so persistent regarding this, I'd love to learn finding these offsets for another games and make some kind of tut.

EDIT: I see that you ported these to LUA, if I wanted to see the original offsets would they be different from the ones in LUA?
 
Last edited:
I know you said it's easy to apply cli and lua configs but it's just not working out for me. I'm using PS22PS4 GUI. Can you please lead me in the right direction. I have already copied and pasted these configs multiple different ways with no success. I have followed many of your posts but with no luck.
I'd recommend using: https://www.psx-place.com/threads/r...of-my-ps2-to-ps4-converter.41916/#post-374374

I alos had issues getting config and lua to work with PS22PS4 btw.
 
Last edited by a moderator:
You have to use --fpu-accurate command like in my config for Phantasy star Universe

The problem is that the fpu range opcodes are different, copying the phantasy star's range doesn't work. I was still stuck.

Edit: One time it did work but now I tried it again and 1 enemy doesn't spawn. So it's not fully accurate but close. Any other range upcode I can try?
 
Last edited:

Similar threads

Back
Top