PS4 [Research]PS2 emulator configuration on PS4

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?

This is all that is know as of now in an official config for Jak X

Code:
--=============================================== WBD added 11/9/2017

--[[   MEMORY CARD SAVE GAME DETECTION to unlock stuff
     If save games exist for Jak TPL, Jak II, Jak 3 or Ratchet Remastered, the following 
     drivers are unlocked (respectively)...
     Jak One, Jak II, Jak 3 and Ratchet
     
     Whereas the original game scans for other games' folders on the current memory card, this method 
     uses a Lua function to detect the presence of SaveData for the other games on the PS4.
     
     This scan is initiated when the game starts up.
--]]
local pUnlockBits = 0x284160

local ScanForSaveGames = function()
   if (eeObj.GetGpr(gpr.a0) == 1) then
     local bits = eeObj.ReadMem32(pUnlockBits)   -- location of flags stored by Jak X when one of the 4
                           -- other games were detected
     print(string.format("_NOTE: Scan For Save Games:  bits = %x", bits))
     
     if (emuObj.TestSaveDataTransfer(0 , "CUSA02522", "SCUS-97124", "a2e2d012bd77960580db251b88ac61f634c1778775f74f7e57c81a896f707088")) then
       print "_NOTE:  JAK TPL US  found"
       bits = bits | 1
     elseif (emuObj.TestSaveDataTransfer(0 , "CUSA08427", "SCPS-56003", "346afbbdf1c359ac4dc9387e902df64843881baaad6cb4dda3393bfad1c2fac3")) then
       print "_NOTE:  JAK TPL KO  found"
       bits = bits | 1
     elseif (emuObj.TestSaveDataTransfer(0 , "CUSA07934", "SCES-50361", "a161e17ccbbc19fd21427dd94e17c67ecd7fa0157e7808d770c25865ba946a74")) then
       print "_NOTE:  JAK TPL EU  found"
       bits = bits | 1
     elseif (emuObj.TestSaveDataTransfer(0 , "CUSA02541", "SCPS-15021", "84b900dc98fbb829d09b0f0a3695164365760d292d8f15a3dcee1e15afd05ee8")) then
       print "_NOTE:  JAK TPL JP  found"
       bits = bits | 1     
     end
   
     if (emuObj.TestSaveDataTransfer(0 , "CUSA07840", "SCUS-97265", "5564800b707d31cf36d0bfc3624a04b86aab257efad99153f310c4f649933696")) then
       print "_NOTE:  JAK II  US  found"
       bits = bits | 2
     elseif (emuObj.TestSaveDataTransfer(0 , "CUSA07990", "SCES-51608" , "ec0d150721933c7e310eeddbeee04908dce7df1b6e66cbd47f4ddfdf6d197217")) then
       print "_NOTE:  JAK II  EU  found"
       bits = bits | 2
     elseif (emuObj.TestSaveDataTransfer(0 , "CUSA08422", "SCKA-20010", "2518b3a83feee1d0047b022d0f90f5d84899c05d397f912d8a154be8c9f8ef93")) then
       print "_NOTE:  JAK II  KO  found"
       bits = bits | 2
     elseif (emuObj.TestSaveDataTransfer(0 , "CUSA08581", "SCPS-15057", "2ee3e08c465e19891b81ae29ca6d0f0e6fc600a7171ee8e6a5a1d19efe186900")) then
       print "_NOTE:  JAK II  JPv1  found"
       bits = bits | 2
     elseif (emuObj.TestSaveDataTransfer(0 , "CUSA12345", "SCPS-15057", "2ee3e08c465e19891b81ae29ca6d0f0e6fc600a7171ee8e6a5a1d19efe186900")) then
       print "_NOTE:  JAK II  JPv2  found"
       bits = bits | 2
     end
   
     if (emuObj.TestSaveDataTransfer(0 , "CUSA07841", "SCUS-97330", "cadc71cbaeece328b9a5b108813af32d30c5dcc2244a2a53ee2261a18b743fb5")) then
       print "_NOTE:  JAK 3  US  found"
       bits = bits | 4
     elseif (emuObj.TestSaveDataTransfer(0 , "CUSA07991", "SCES-52460" , "32a8025cdd6a6432409ae0efe9e67af3dad84667d5a494ebed4fb7348a2b4be4")) then
       print "_NOTE:  JAK 3  EU  found"
       bits = bits | 4
     elseif (emuObj.TestSaveDataTransfer(0 , "CUSA08423", "SCKA-20040", "71a4a1188586634b3fe293f1f00f1ef1ac0b1c263bb368a54f6425bf412c710d")) then
       print "_NOTE:  JAK 3  KO  found"
       bits = bits | 4
     end
   
     if (emuObj.TestSaveDataTransfer(0 , "CUSA01047", "rcps4" , "b81e356bc97bc3fd25254dd8af368ed1d3887d727a3452a240e61a2146c2ed8f")) then
       print "_NOTE:  RATCHET US found"
       bits = bits | 8
     elseif (emuObj.TestSaveDataTransfer(0 , "CUSA01073", "rcps4" , "b81e356bc97bc3fd25254dd8af368ed1d3887d727a3452a240e61a2146c2ed8f")) then
       print "_NOTE:  RATCHET EU found"
       bits = bits | 8
     elseif (emuObj.TestSaveDataTransfer(0 , "CUSA01686", "rcps4" , "b81e356bc97bc3fd25254dd8af368ed1d3887d727a3452a240e61a2146c2ed8f")) then
       print "_NOTE:  RATCHET JP found"
       bits = bits | 8
     elseif (emuObj.TestSaveDataTransfer(0 , "CUSA01928", "rcps4" , "b81e356bc97bc3fd25254dd8af368ed1d3887d727a3452a240e61a2146c2ed8f")) then
       print "_NOTE:  RATCHET UK found"
       bits = bits | 8
     elseif (emuObj.TestSaveDataTransfer(0 , "CUSA02020", "rcps4" , "b81e356bc97bc3fd25254dd8af368ed1d3887d727a3452a240e61a2146c2ed8f")) then
       print "_NOTE:  RATCHET HPv1 found"
       bits = bits | 8
     elseif (emuObj.TestSaveDataTransfer(0 , "CUSA02772", "rcps4" , "b81e356bc97bc3fd25254dd8af368ed1d3887d727a3452a240e61a2146c2ed8f")) then
       print "_NOTE:  RATCHET HPv2 found"
       bits = bits | 8     
     end
   
     eeObj.WriteMem32(pUnlockBits, bits)
   end   
end


--NEW METHOD  PSP

--[[ In the original game, connecting to a PSP with Daxter on it caused 4 drivers and a vehicle to
    be unlocked. We are replacing that with detecting a save game for The Drake Collection.
    
    The Drake Collection creates save data files with different Dir names for each title in the
    collection.  Uncharted 1 = SAVEDATA010, Uncharted 2 = SAVEDATA020 and Uncharted 3 = SAVEDATA030
    
    The presence of any one of these save game files will unlock OSMO, TARYN, KAEDEN, XIMON and the
    DAXTERMOBILE.
--]]

local ScanForDrakeCollection = function()
   print "_NOTE: Testing for Drake Collection"

   if (emuObj.TestSaveDataTransfer(0 , "CUSA02320", "SAVEDATA010", "1cd7bb45e022a1963a0c51c4c82fb493a9355c7deb4ff0a98456fc701398cb6a")) then
     print "_NOTE: Drake Collection (DC1) US found"
     eeObj.SetGpr(gpr.a1, 1)       -- this will cause the 4 drivers and daxtermobile to unlock

   elseif (emuObj.TestSaveDataTransfer(0 , "CUSA02320", "SAVEDATA020", "1cd7bb45e022a1963a0c51c4c82fb493a9355c7deb4ff0a98456fc701398cb6a")) then
     print "_NOTE: Drake Collection (DC2) US found"
     eeObj.SetGpr(gpr.a1, 1)      -- this will cause the 4 drivers and daxtermobile to unlock

   elseif (emuObj.TestSaveDataTransfer(0 , "CUSA02320", "SAVEDATA030", "1cd7bb45e022a1963a0c51c4c82fb493a9355c7deb4ff0a98456fc701398cb6a")) then
     print "_NOTE: Drake Collection (DC3) US found"
     eeObj.SetGpr(gpr.a1, 1)       -- this will cause the 4 drivers and daxtermobile to unlock
   
   
   elseif (emuObj.TestSaveDataTransfer(0 , "CUSA02343", "SAVEDATA010", "1cd7bb45e022a1963a0c51c4c82fb493a9355c7deb4ff0a98456fc701398cb6a")) then
     print "_NOTE: Drake Collection EUv1 (DC1) found"
     eeObj.SetGpr(gpr.a1, 1) -- this will cause the 4 drivers and daxtermobile to unlock

   elseif (emuObj.TestSaveDataTransfer(0 , "CUSA02343", "SAVEDATA020", "1cd7bb45e022a1963a0c51c4c82fb493a9355c7deb4ff0a98456fc701398cb6a")) then
     print "_NOTE: Drake Collection EUv1 (DC2) found"
     eeObj.SetGpr(gpr.a1, 1)
   
   elseif (emuObj.TestSaveDataTransfer(0 , "CUSA02343", "SAVEDATA030", "1cd7bb45e022a1963a0c51c4c82fb493a9355c7deb4ff0a98456fc701398cb6a")) then
     print "_NOTE: Drake Collection EUv1 (DC3) found"
     eeObj.SetGpr(gpr.a1, 1)


   elseif (emuObj.TestSaveDataTransfer(0 , "CUSA02344", "SAVEDATA010", "1cd7bb45e022a1963a0c51c4c82fb493a9355c7deb4ff0a98456fc701398cb6a")) then
     print "_NOTE: Drake Collection EUv2 (DC1) found"
     eeObj.SetGpr(gpr.a1, 1)

   elseif (emuObj.TestSaveDataTransfer(0 , "CUSA02344", "SAVEDATA020", "1cd7bb45e022a1963a0c51c4c82fb493a9355c7deb4ff0a98456fc701398cb6a")) then
     print "_NOTE: Drake Collection EUv2 (DC2) found"
     eeObj.SetGpr(gpr.a1, 1)

   elseif (emuObj.TestSaveDataTransfer(0 , "CUSA02344", "SAVEDATA030", "1cd7bb45e022a1963a0c51c4c82fb493a9355c7deb4ff0a98456fc701398cb6a")) then
     print "_NOTE: Drake Collection EUv2 (DC3) found"
     eeObj.SetGpr(gpr.a1, 1)


   elseif (emuObj.TestSaveDataTransfer(0 , "CUSA02826", "SAVEDATA010", "1cd7bb45e022a1963a0c51c4c82fb493a9355c7deb4ff0a98456fc701398cb6a")) then
     print "_NOTE: Drake Collection EUv2 (DC1) found"
     eeObj.SetGpr(gpr.a1, 1)

   elseif (emuObj.TestSaveDataTransfer(0 , "CUSA02826", "SAVEDATA020", "1cd7bb45e022a1963a0c51c4c82fb493a9355c7deb4ff0a98456fc701398cb6a")) then
     print "_NOTE: Drake Collection EUv3 (DC2) found"   -- this will cause the 4 drivers and daxtermobile to unlock
     eeObj.SetGpr(gpr.a1, 1)

   elseif (emuObj.TestSaveDataTransfer(0 , "CUSA02826", "SAVEDATA030", "1cd7bb45e022a1963a0c51c4c82fb493a9355c7deb4ff0a98456fc701398cb6a")) then
     print "_NOTE: Drake Collection EUv3 (DC3) found"
     eeObj.SetGpr(gpr.a1, 1)


   elseif (emuObj.TestSaveDataTransfer(0 , "CUSA01399", "SAVEDATA010", "1cd7bb45e022a1963a0c51c4c82fb493a9355c7deb4ff0a98456fc701398cb6a")) then
     print "_NOTE: Drake Collection (DC1) KO   found"
     eeObj.SetGpr(gpr.a1, 1)     

   elseif (emuObj.TestSaveDataTransfer(0 , "CUSA01399", "SAVEDATA020", "1cd7bb45e022a1963a0c51c4c82fb493a9355c7deb4ff0a98456fc701398cb6a")) then
     print "_NOTE: Drake Collection (DC2) KO found"
     eeObj.SetGpr(gpr.a1, 1)    

   elseif (emuObj.TestSaveDataTransfer(0 , "CUSA01399", "SAVEDATA030", "1cd7bb45e022a1963a0c51c4c82fb493a9355c7deb4ff0a98456fc701398cb6a")) then
     print "_NOTE: Drake Collection (DC3) KO found"
     eeObj.SetGpr(gpr.a1, 1)       -- this will cause the 4 drivers and daxtermobile to unlock
     

   elseif (emuObj.TestSaveDataTransfer(0 , "CUSA01398", "SAVEDATA010", "1cd7bb45e022a1963a0c51c4c82fb493a9355c7deb4ff0a98456fc701398cb6a")) then
     print "_NOTE: Drake Collection (DC1) JP   found"
     eeObj.SetGpr(gpr.a1, 1)       -- this will cause the 4 drivers and daxtermobile to unlock

   elseif (emuObj.TestSaveDataTransfer(0 , "CUSA01398", "SAVEDATA020", "1cd7bb45e022a1963a0c51c4c82fb493a9355c7deb4ff0a98456fc701398cb6a")) then
     print "_NOTE: Drake Collection (DC2) JP found"
     eeObj.SetGpr(gpr.a1, 1)      -- this will cause the 4 drivers and daxtermobile to unlock

   elseif (emuObj.TestSaveDataTransfer(0 , "CUSA01398", "SAVEDATA030", "1cd7bb45e022a1963a0c51c4c82fb493a9355c7deb4ff0a98456fc701398cb6a")) then
     print "_NOTE: Drake Collection (DC3) JP found"
     eeObj.SetGpr(gpr.a1, 1)       -- this will cause the 4 drivers and daxtermobile to unlock
       
   end

end

--eeOverlay.AddPostHook("lobby-secrets.main", (0x13e8fd8-0x13e8ef0), 0x7fb20020, ScanForSaveGames)
eeObj.AddHook(0x2714dc, 0xae00014c, ScanForSaveGames)
eeOverlay.AddPostHook("lobby-secrets.main", (0x13e93f0-0x13e8ef0), 0x24030000, ScanForDrakeCollection)

This appears to do something close to what you are asking..
 
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?

i think this one is possible by adding CODEBREAKER or uLaunchELF (i think uLaunchELF can do this job) . i do this on real hardware making a backup of my save game.
 
Config for LEGO Batman - The Videogame (SLUS-21785)

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

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

--ee-cycle-scalar=1.5
--vu1-mpg-cycles=800

#emu used=aofa
LUA
Code:
-- LEGO Batman - The Videogame (U)(SLUS-21785)
-- Widescreen hack by Arapapa
-- emu used=aofa

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

apiRequest(0.1)

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

local patcher = function()
--16:9
eeObj.WriteMem32(0x2033DE44,0x00000a01) --00000a00
eeObj.WriteMem32(0x20615710,0x00000a01) --00000a00
eeObj.WriteMem32(0x0033dd6c,0x3c013f40)

emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(patcher)
 
Config for Crash tag team racing All Regions Game Working Well enough
CLI:
Code:
--gs-upscale=none
--gs-uprender=none
--ee-cycle-scalar=1.5
--host-audio-latency=2
--vu0-di-bits=0
--vu1-di-bits=0
--vu0-const-prop=0
--vu1-const-prop=0
--vu1-mpg-cycles=1800
--vu0-mpg-cycles=1800
--vu1-opt-vf00=2
--vu0-opt-vf00=2
--vu1-opt-flags=2
--vu0-opt-flags=2

#disable Try to fix graphics if you're using fpkg v0.6 as it actually messes up some stuff including the pole that you use to replay discovered race tracks
#emu used=Jakv2
 
Last edited:
Config for Dreamworks Shrek the third SLUS214.54
Game working PERFECTLY. fixed audio stutter in minigames and story mode and slow fps
Code:
--vu0-di-bits=0
--vu1-di-bits=0
--vu0-const-prop=0
--vu1-const-prop=0
--vu1-mpg-cycles=800
--vu0-mpg-cycles=500
--ee-cycle-scalar=1.3
--fpu-no-clamping=1

#And disable Try to fix graphics if you're using fpkg v0.6 because it causes REALLY messed up graphics in story mode
#emu used=Jakv2
 
Last edited:
Hi All,

Rogue Galaxy (SCUS-97490) (works with UNDUB)
Game runs fine on base PS4, some sounds stuttering. (only tested for a bit)
I added widescreen values and fixes from pnach by nemesis2000

#emu used Rogue v1

apologies if this was already uploaded/done.

CLI
Code:
--gs-uprender=2x2
--gs-upscale=EdgeSmooth
--host-display-mode=16:9
--gs-kernel-cl-up="up2x2skipinterp"
--gs-optimize-30fps=1
--gs-progressive=1

LUA
Code:
-- Widescreen (pnach by nemesis2000)
local gpr = require("ee-gpr-alias")

apiRequest(0.1)

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

local patcher = function()

--16:9 Widescreen
--gameplay
eeObj.WriteMem32(0x001c6a50,0x3c023f10)

--compass
eeObj.WriteMem32(0x0037112c,0x3c023f10)

--black border fix
eeObj.WriteMem32(0x002611D4,0x3c020000)

--FMV's fix
eeObj.WriteMem32(0x001d5a7c,0x24060000)
eeObj.WriteMem32(0x001d5acc,0x240201c0)

end

emuObj.AddVsyncHook(patcher)

-- From original LUA.
eeInsnReplace(0x124898, 0x3442ffff, 0x3442fffe) --    ori   v0,v0,0xffff
 
Last edited:
Shin Megami Tensei: Persona 3 FES (works with UNDUB)

-- widescreen and controllable party (values by nemesis2000, devina, CeruleansBlue, Arapapa, TGE)
--emu used rogue v1

notes: some codes from pnach omitted due to causing instability or poor quality. (ex: 480p codes makes the image look fuzzy)
 

Attachments

Last edited:
WILD ARMS 5

i tried so many emu with config found on this some works and can surpass wiki description AREA 1 only
idk what im doing just copy paste only.

Apps used:
PS2-FPKG v0.6
PS4 Patch Builder v1.3.2

Code:
 Emu = Primal (no config)
Intro = Audio Loop
In Game = Area 4 Audio Loop

Emu = Canis Canem Edit (no config)
Intro = Can finish whole intro
Battle Demo = Crash

Emu = Arc Twilight Spirit v2 (no config)
Intro = Can finish whole intro
Battle Demo = Crash
New Game Screen = Controller no response

Emu = KOF Orochi  (no config)
Intro = Can finish whole intro
Battle Demo = Audio loop then freeze
In Game = Area 6, audio loop no controller response

Emu = Fatal Fury  (w/ config )
--ee-context-switch-cycles=2900

Intro = Can finish whole intro
Battle Demo = Can finish the battle demo

Emu = Harvest Moon A Wonderful Life (no config)
Intro = Can finish the whole intro
Battle Demo = Audio loop then freeze
In Game =  forgot but im prettry sure same with the others that is audio loop on first room

Emu = Harvest Moon A Wonderful Life w/ Config
--vif1-instant-xfer=1
--detect-idle-vif=1
--vif1-ignore-cmd-ints=1
--gs-use-deferred-l2h=0

In Game = Can go through AREA 7 then freeze after digging, audio loop no controller response

Emu = Harvest Moon A Wonderful Life w/ Config


Emu = OKAGE v2 (no config)
Intro = after japan logo audio loop
In Game =  Freeze occasionally and it can recover without crash but it can Can go through AREA 7 then audio loop no controller response,

Emu = OKAGE v2 (w/config )
--gs-optimize-30fps=1
--gs-motion-factor=25
--ee-cycle-scalar=4.2
--iop-cycle-scalar=4.2
--ee-regalloc-scalar=RW
--gs-progressive=1

Intro = before 2nd character introduction audio loop
In Game =  Freeze occasionally and it can recover without crash but it can Can go through AREA 5 then audio loop no controller response

Emu = OKAGE v2 (w/config )
--gs-optimize-30fps=1
--gs-motion-factor=25
--ee-cycle-scalar=5.0
--iop-cycle-scalar=5.0
--ee-regalloc-scalar=RW
--gs-progressive=1

Intro = audio loop when
In Game =  Freeze occasionally and it can recover without crash but it can Can go through AREA 7 then audio loop no controller response
 
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?

you can use the apollo save tool to extract the virtual memory card from the save, you can either repackage it into the 2nd game save, or doing a new fpkg with the vmc you extracted. either way works.

note the virtual memory card works in pcsx2 without conversion, just rename it.
 
1 Dora the Explorer - Dora Saves the Snow Princess NTSC
--gs-kernel-cl-up="up2x2skipinterp" (fix lines under the character)
#Jakv2

2 Dora the Explorer - Dora Saves the Crystal Kingdom NTSC
--gs-kernel-cl-up="up2x2skipinterp" (fix lines under the character)
#Jakv2

3 Dora's Big Birthday Adventure NTSC
--gs-kernel-cl-up="up2x2skipinterp" (fix lines under the character)
#Jakv2

4 Disney High School Musical 3: Senior Year Dance! NTSC
--vu1-no-clamping=0 (fix graphics glitch)
#Jakv2

5 Disney Princess Enchanted Journey PAL
#fahreit

6 Finding Nemo NTSC
#rogue v1

7 DreamWorks Madagascar - Escape 2 Africa NTSC
#rogue v1

8 DreamWorks Shrek Smash n' Crash Racing NTSC
--vu1-no-clamping=0 (fixes minor graphical glitches)
# ADK

9 Dynasty tatics NTSC
# ADK (fix random crash?)

10 Heroes of Might and Magic NTSC
--ee-cycle-scalar=0.8
--vu1-mpg-cycles=675
#rogue v1

11 Donald Duck Goin' Quackers NTSC
#rogue v1 (crash with jakv2 on first mission)

12 Finny the Fish & The Seven Waters NTSC
#rogue v1 (Fix first cutscene slowdown)
 
For even more performance ofc, because we don't want the vu0 or vu1 to get to 90% usage Because if that happened the vu0/1 mpg cycles command will start making the game's fps 30 or even 20 just to keep the game's performance from slowing down.
right
 
-- Shadow Tower Abyss (J) (SLPS25217) (English patch)

Notes: FMV sounds start crackling after 20-30secs, game is very dark, set the brightness to max.

LUA
Code:
--Shadow Tower Abyss (English patch)
--widescreen values from pnach (set to 16:9 in-game)
--emu used=eternal ring v1

apiRequest(1.0)

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

local patcher = function()

--widescreen
eeObj.WriteMem32(0x201F2790,0x3F400000) -- HUD
eeObj.WriteMem32(0x201FA0C8,0x3F800000) -- zoom
eeObj.WriteMem32(0x204A0F84,0x3F400000) -- subtitles

end

emuObj.AddVsyncHook(patcher)
 
apologies for posting such a general question, but this info has eluded me.
ps2 classics default emulator is capable of running grandia 3, and i'm trying to setup a multi disk package using ps2 fpkg .6.
Only problem is, i have no knowledge of what the default emulator is for the ps2 classics gui, would anybody happen to know? (addendum, it appears to work very well with bully v1 emu, i have limited knowledge of config and lua, but hopefully this info help somebody on here.)
 
Last edited:
Does anyone have a Virtua Tennis 2 game repair fix (black screen after starting the game) and SSX On Tour (it crashes to the main menu during the race) thank you and best regards
 
apologies for posting such a general question, but this info has eluded me.
ps2 classics default emulator is capable of running grandia 3, and i'm trying to setup a multi disk package using ps2 fpkg .6.
Only problem is, i have no knowledge of what the default emulator is for the ps2 classics gui, would anybody happen to know? (addendum, it appears to work very well with bully v1 emu, i have limited knowledge of config and lua, but hopefully this info help somebody on here.)
if you mean PS2-FPKG 0.6 app, default emulator is Rogue v.1, also i got emu from PS2 Classics GUI app and also can use it on PS2-FPKG 0.6
 
if you mean PS2-FPKG 0.6 app, default emulator is Rogue v.1, also i got emu from PS2 Classics GUI app and also can use it on PS2-FPKG 0.6
much appreciated, you happen to know if bully or roguev1 works better for grandia 3? they both seems pretty functional.
 

Similar threads

Back
Top