PS4 [Research]PS2 emulator configuration on PS4

God of War II [SCES-54206]
emu=Jakxv2

Code:
--gs-uprender=2x2
--gs-upscale=edgesmooth
--ee-cycle-scalar=0.62
--iop-cycle-scalar=0.20
--vu1-mpg-cycles=1985
--vu1-jr-cache-policy=newprog
--vu1-jalr-cache-policy=newprog
--cdvd-sector-read-cycles=4000
--host-audio-latency=1.6
--host-display-mode=16:9
--force-pal-60hz=1
--ps2-lang=system
Lua:
Code:
-- God of war II
--original alt. fix psx-place forums (Bergolino Gamer)
--ported by Jvn9207

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

local patcher    = function()
----------------Graphics---------------
eeObj.WriteMem32(0x0016E770,0x03e00008)
eeObj.WriteMem32(0x0016E774,0x00000000)
eeObj.WriteMem32(0x00126EB0,0x03e00008)
eeObj.WriteMem32(0x00126EB4,0x00000000)
eeObj.WriteMem32(0x001E437C,0xa04986dc)
eeObj.WriteMem32(0x0025A3A8,0x24020001)
----------------Widescreen-------------
eeObj.WriteMem32(0x002348a0,0x46000406)
----------------speed mod-----------------
eeObj.WriteMem32(0x20A5C5AC,0x3F900000)-- (optional)
end
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=1  } )
emuObj.SetGsTitleFix( "SetSelfRender", "reserved", { fbmask= 0x00FFFFFF , renderSelf=1 , zmsk=1 , alpha=0 , texMode=1  } )
emuObj.AddVsyncHook(patcher)
 
Last edited:
@Jvn9207
Coincidentally I was also working on God of war 2 SCES 542.06.
Then I will share.

Code:
apiRequest(2.0)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local gpr = require("ee-gpr-alias")
eeInsnReplace(0x18a030, 0x3C014248, 0x3C014230)--Speed
eeInsnReplace(0x170730, 0x27bdfee0, 0x03e00008)--Fix shadow
eeInsnReplace(0x170734, 0x7fb300d0, 0x00000000)
eeInsnReplace(0x16e770, 0x27bdff50, 0x03e00008)--Fix stencil
eeInsnReplace(0x16e774, 0x3c02002d, 0x00000000)
eeInsnReplace(0x126eb0, 0x27bdff60, 0x03e00008)--Fix bloom
eeInsnReplace(0x126eb4, 0x7fb10080, 0x00000000)
eeInsnReplace(0x1e435c, 0x3c04002e, 0x24040001)--Widescreen at first run
eeInsnReplace(0x1e4360, 0x8c848068, 0x00000000)
eeInsnReplace(0x278284, 0x3c013faa, 0x3c013fe3)
eeInsnReplace(0x278288, 0x3421aaab, 0x34218e39)
eeInsnReplace(0x11ddd0, 0x27bdffd0, 0x03e00008)--Moves Automatically (only in some situations)
eeInsnReplace(0x11ddd4, 0x7fb10010, 0x00000000)
eeInsnReplace(0x1a9ca8, 0x27bdff80, 0x03e00008)
eeInsnReplace(0x1a9cac, 0x7fb50010, 0x00000000)
eeInsnReplace(0x1dd670, 0x10400005, 0x00000000)--mpeg skip by pressing x
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=1 } )
 
@Jvn9207
Coincidentally I was also working on God of war 2 SCES 542.06.
Then I will share.

Code:
apiRequest(2.0)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local gpr = require("ee-gpr-alias")
eeInsnReplace(0x18a030, 0x3C014248, 0x3C014230)--Speed
eeInsnReplace(0x170730, 0x27bdfee0, 0x03e00008)--Fix shadow
eeInsnReplace(0x170734, 0x7fb300d0, 0x00000000)
eeInsnReplace(0x16e770, 0x27bdff50, 0x03e00008)--Fix stencil
eeInsnReplace(0x16e774, 0x3c02002d, 0x00000000)
eeInsnReplace(0x126eb0, 0x27bdff60, 0x03e00008)--Fix bloom
eeInsnReplace(0x126eb4, 0x7fb10080, 0x00000000)
eeInsnReplace(0x1e435c, 0x3c04002e, 0x24040001)--Widescreen at first run
eeInsnReplace(0x1e4360, 0x8c848068, 0x00000000)
eeInsnReplace(0x278284, 0x3c013faa, 0x3c013fe3)
eeInsnReplace(0x278288, 0x3421aaab, 0x34218e39)
eeInsnReplace(0x11ddd0, 0x27bdffd0, 0x03e00008)--Moves Automatically (only in some situations)
eeInsnReplace(0x11ddd4, 0x7fb10010, 0x00000000)
eeInsnReplace(0x1a9ca8, 0x27bdff80, 0x03e00008)
eeInsnReplace(0x1a9cac, 0x7fb50010, 0x00000000)
eeInsnReplace(0x1dd670, 0x10400005, 0x00000000)--mpeg skip by pressing x
emuObj.SetGsTitleFix( "forceSimpleFetch", "reserved", { texMode=1 } )
no problem , you guys are experts here, I'm just an apprentice (hope I don't sound rude). I help where I can (I just hope some day a fix for gun)
 
try move camera around and watch textures on walls)

Hey, I was searching here to check if Justice League Heroes is playable, last thing I found was you testing it but saying it crashes after a certain point, did that ever got a fix or is it a lost cause?
 
Hey, I was searching here to check if Justice League Heroes is playable, last thing I found was you testing it but saying it crashes after a certain point, did that ever got a fix or is it a lost cause?
probably but i was test it very long time ago
 
World Soccer Winning Eleven 5. Short GamePlay! (SLPM62053)
VIDEO

FiX

TXT.

Code:
--host-display-mode=16:9
--vu0-no-clamping=0
--vu1-no-clamping=0
--mtap1=always

LUA.
Code:
-- World Soccer Winning Eleven 5

apiRequest(0.1)

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

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

local patcher = function()

-- Widescreen
eeObj.WriteMem32(0x00144688,0x083eb44c)
eeObj.WriteMem32(0x0014468c,0x00000000)
eeObj.WriteMem32(0x00fad130,0x3c013f40)
eeObj.WriteMem32(0x00fad134,0x4481f000)
eeObj.WriteMem32(0x00fad138,0xc6010068)
eeObj.WriteMem32(0x00fad13c,0xc602006c)
eeObj.WriteMem32(0x00fad140,0x461e0843)
eeObj.WriteMem32(0x00fad144,0xe6010068)
eeObj.WriteMem32(0x00fad148,0x080511a6)

end

emuObj.AddVsyncHook(patcher)

One more game with graphical bugs - FiXed!
 

Attachments

  • 01.png
    01.png
    1.7 MB · Views: 43
  • 02.png
    02.png
    1.7 MB · Views: 40
Batman begins
Slus_211.98

Not tested on ps4.
and i doubt that it'll work, but testing is always good
Any takers ?

Code:
apiRequest(0.1)
--sw to sh
eeInsnReplace(0x0033A4DC, 0xAC430000, 0xA4430000)
eeInsnReplace(0x0033A77C, 0xAC430000, 0xA4430000)

And if that lua doesn't work, try this cli

Code:
--ee-hook=0x0033A4DC,FastForwardClock
--ee-hook=0x0033A77C,FastForwardClock
 
Last edited:
Tony hawk's underground 2
SLUS20965
LUA
Untested, anyone willing to test ?
Code:
apiRequest(0.1)
--loop skip to prevent freezing
eeInsnReplace(0x001958A0, 0x12000086, 0x10000086)
--rounding to remove sps
eeInsnReplace(0x003F0FE8, 0x53400000, 0xD3400000)
--mtvu patch
eeInsnReplace(0x00194918, 0x0, 0x0803fff0)
eeInsnReplace(0x000fffc4, 0x0, 0x24186000)
eeInsnReplace(0x000fffc8, 0x0, 0x3c191200)
eeInsnReplace(0x000fffcc, 0x0, 0x37391010)
eeInsnReplace(0x000fffd0, 0x0, 0x2718ffff)
eeInsnReplace(0x000fffd4, 0x0, 0x1418fffe)
eeInsnReplace(0x000fffdc, 0x0, 0x08065248)
eeInsnReplace(0x000fffe0, 0x0, 0xaf200000)
-- ^ Everything up is Fully credited to the goatman, everything below is mine
-- sw to sq
eeInsnReplace(0x001AF6C0, 0xAC870000, 0x7C870000)
--Force a jump ;) hopefully the final nail in the coffin
eeInsnReplace(0x001AF614, 0x10C00015, 0x0806BD9B)
 
Last edited:
Tony hawk's underground 2
SLUS20965
LUA
Untested, anyone willing to test ?
Code:
apiRequest(0.1)
--loop skip to prevent freezing
eeInsnReplace(0x001958A0, 0x12000086, 0x10000086)
--rounding to remove sps
eeInsnReplace(0x003F0FE8, 0x53400000, 0xD3400000)
--mtvu patch
eeInsnReplace(0x00194918, 0x0, 0x0803fff0)
eeInsnReplace(0x000fffc4, 0x0, 0x24186000)
eeInsnReplace(0x000fffc8, 0x0, 0x3c191200)
eeInsnReplace(0x000fffcc, 0x0, 0x37391010)
eeInsnReplace(0x000fffd0, 0x0, 0x2718ffff)
eeInsnReplace(0x000fffd4, 0x0, 0x1418fffe)
eeInsnReplace(0x000fffdc, 0x0, 0x08065248)
eeInsnReplace(0x000fffe0, 0x0, 0xaf200000)
-- ^ Everything up is Fully credited to the goatman, everything below is mine
-- sw to sq
eeInsnReplace(0x001AF6C0, 0xAC870000, 0x7C870000)
--Force a jump ;) hopefully the final nail in the coffin
eeInsnReplace(0x001AF614, 0x10C00015, 0x0806BD9B)

tested. Game proceeds past loading screen-> grey screen with music playing->title screen?(still grey)->press start,game freeze. Good try!

*edit

this does the same thing
Code:
--loop skip to prevent freezing
eeInsnReplace(0x001958A0, 0x12000086, 0x10000086)
--rounding to remove sps
eeInsnReplace(0x003F0FE8, 0x53400000, 0xD3400000)
-- ??
eeInsnReplace(0x001af6a4, 0x3484a000, 0x34e4a000) -- ori a0, a0, $a000
--mtvu patch
eeInsnReplace(0x00194918, 0x00000000, 0x0803fff0)
eeInsnReplace(0x000fffc4, 0x00000000, 0x24186000) -- Range between 4000 and 7fff
eeInsnReplace(0x000fffc8, 0x00000000, 0x3c191200)
eeInsnReplace(0x000fffcc, 0x00000000, 0x37391010)
eeInsnReplace(0x000fffd0, 0x00000000, 0x2718ffff)
eeInsnReplace(0x000fffd4, 0x00000000, 0x1418fffe)
eeInsnReplace(0x000fffdc, 0x00000000, 0x08065248)
eeInsnReplace(0x000fffe0, 0x00000000, 0xaf200000)
 
Last edited:
THUG2
SLUS20965
Redfaction
CLI
Code:
#Sps fix
--vu1-mpg-cycles=1
LUA
Full fix!
Code:
apiRequest(0.1)



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

local patcher = function()
--loop skip to prevent freezing
eeObj.WriteMem32(0x001958A0, 0x10000086)
--rounding to remove sps
eeObj.WriteMem32(0x003F0FE8, 0xD3400000)
--Giving it the value it wants in order to branch
eeObj.WriteMem32(0x001AF5FC, 0x24060000)
end
emuObj.AddVsyncHook(patcher)
--MTVU patch
eeInsnReplace(0x00194918, 0x0, 0x0803fff0)
eeInsnReplace(0x000fffc4, 0x0, 0x24186000)
eeInsnReplace(0x000fffc8, 0x0, 0x3c191200)
eeInsnReplace(0x000fffcc, 0x0, 0x37391010)
eeInsnReplace(0x000fffd0, 0x0, 0x2718ffff)
eeInsnReplace(0x000fffd4, 0x0, 0x1418fffe)
eeInsnReplace(0x000fffdc, 0x0, 0x08065248)
eeInsnReplace(0x000fffe0, 0x0, 0xaf200000)

Credits to @mrjaredbeta for giving me valuable info!
And credits to koz for his mtvu patch, rounding patch, and loop skip patch.
 
Last edited:
Gun™®

CLI

Code:
--gs-uprender=2x2
--gs-upscale=EdgeSmooth
--gs-kernel-cl-up="up2x2skipinterp"
--cdvd-sector-read-cycles=1000
--vu1=jit-sync        
--vif1-instant-xfer=0
--ee-cycle-scalar=2.4          
--iop-cycle-scalar=2.4

#emu used=redfaction
LUA
Code:
-- Gun NTSC
-- various T.H.U.G. engine fixes by kozarovv
-- ported to Gun by Stayhye
-- emu used=redfaction

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

apiRequest(0.1)

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

local patcher = function()
-- freeze fix
eeObj.WriteMem32(0x001a0f08,0x100000a6) -- 0x120000a6 >> beq s0, zero, $001a11a4
-- rounding patch
eeObj.WriteMem32(0x004738c0,0xd3400000)
--[[
--mtvu
eeObj.WriteMem32(0x0019fbbc,0x0803fff0)

eeObj.WriteMem32(0x000fffc0,0x0c067f36)
eeObj.WriteMem32(0x000fffc4,0x24186000)
eeObj.WriteMem32(0x000fffc8,0x3c191200)
eeObj.WriteMem32(0x000fffcc,0x37391010)
eeObj.WriteMem32(0x000fffd0,0x2718ffff)
eeObj.WriteMem32(0x000fffd4,0x1418fffe)
eeObj.WriteMem32(0x000fffdc,0x08067ef1)
eeObj.WriteMem32(0x000fffe0,0xaf200000)
--]]
-- speed Selector
local pad_bits    = emuObj.GetPad()

local L1  = pad_bits &  0x0400
local L3  = pad_bits &  0x0002
local R1  = pad_bits &  0x0800
local R3  = pad_bits &  0x0004

if (L1 ~= 0 and R3 ~= 0) then --60fps

--60 fps
eeObj.WriteMem32(0x2028ED08,0x1000000B)
end

if (L3 ~= 0 and R1 ~= 0) then --normal mode

eeObj.WriteMem32(0x2028ED08,0x1040000b) -- beq v0, zero, $0028ed38
end

end

emuObj.AddVsyncHook(patcher)

Working great! testing still in progress but seems good to go.

*edit - added 60fps switch
 
Last edited:
Gun crash in end of ship misson! Anyone got it too?

Update.

For now, who got crash in game! (Crash in ship mission, when you destroyed ships) i made a save file, and it let pass from ship to next mission! Keepd research!
 

Attachments

  • Mcd001.rar
    Mcd001.rar
    6.3 KB · Views: 23
  • 01.jpg
    01.jpg
    749.1 KB · Views: 34
  • 02.jpg
    02.jpg
    1.1 MB · Views: 33
  • 03.jpg
    03.jpg
    1.1 MB · Views: 29
  • 04.jpg
    04.jpg
    1.1 MB · Views: 35
Last edited:
Rayman™ Arena®

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

--host-display-mode=16:9
--cdvd-sector-read-cycles=4000
--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-const-prop=0
--vu1-const-prop=0
--vu1-jr-cache-policy=newprog

#emu used=jakx v2
LUA
Code:
-- Rayman Arena
-- fix method for game engine by kozarovv
-- ported to PS4
-- emu used=jakx v2

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

apiRequest(0.1)

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

local patcher = function()
--Start microprograms manually instead of rely on timings.
--0x48c83000 >> ctc2 t0, $vi6
--eeObj.WriteMem32(0x001de8e4,0x4a0000b8)
eeObj.WriteMem32(0x001de9b0,0x4a0000b8)
eeObj.WriteMem32(0x001deb94,0x4a0000b8)
eeObj.WriteMem32(0x001dec00,0x4a000938)
eeObj.WriteMem32(0x001dec54,0x4a000938)
eeObj.WriteMem32(0x001deea0,0x4a000938)
eeObj.WriteMem32(0x001deedc,0x4a000938)
eeObj.WriteMem32(0x001df078,0x4a000938)
eeObj.WriteMem32(0x001df0b4,0x4a000938)
eeObj.WriteMem32(0x001df154,0x4a000938)
-- No need to loop here, just e-bit and wait for vcallms from EE.
eeObj.WriteMem32(0x0031ba90,0x8000033c) -- 500607ff
eeObj.WriteMem32(0x0031ba94,0x400002ff)
eeObj.WriteMem32(0x0031bbc0,0x8000033c)
eeObj.WriteMem32(0x0031bbc4,0x400002ff)


emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(patcher)

No issues. Ported from Rayman M (PAL)
 
Last edited:
Gun™®

CLI

Code:
--gs-uprender=2x2
--gs-upscale=EdgeSmooth
--gs-kernel-cl-up="up2x2skipinterp"
--host-display-mode=16:9
--cdvd-sector-read-cycles=1000

--vif1-instant-xfer=0
--ee-cycle-scalar=1.1
--iop-cycle-scalar=0.8

#emu used=redfaction
LUA
Code:
-- Gun NTSC
-- various T.H.U.G. engine fixes by kozarovv
-- ported to Gun by Stayhye
-- emu used=redfaction

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

apiRequest(0.1)

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

local patcher = function()
-- freeze fix
eeObj.WriteMem32(0x001a0f08,0x100000a6) -- 0x120000a6 >> beq s0, zero, $001a11a4
-- rounding patch
eeObj.WriteMem32(0x004738c0,0xd3400000)

--mtvu
eeObj.WriteMem32(0x0019fbbc,0x0803fff0)

eeObj.WriteMem32(0x000fffc0,0x0c067f36)
eeObj.WriteMem32(0x000fffc4,0x24186000)
eeObj.WriteMem32(0x000fffc8,0x3c191200)
eeObj.WriteMem32(0x000fffcc,0x37391010)
eeObj.WriteMem32(0x000fffd0,0x2718ffff)
eeObj.WriteMem32(0x000fffd4,0x1418fffe)
eeObj.WriteMem32(0x000fffdc,0x08067ef1)
eeObj.WriteMem32(0x000fffe0,0xaf200000)

-- speed Selector
local pad_bits    = emuObj.GetPad()

local L1  = pad_bits &  0x0400
local L3  = pad_bits &  0x0002
local R1  = pad_bits &  0x0800
local R3  = pad_bits &  0x0004

if (L1 ~= 0 and R3 ~= 0) then --60fps

--60 fps
eeObj.WriteMem32(0x2028ED08,0x1000000B)
end

if (L3 ~= 0 and R1 ~= 0) then --normal mode

eeObj.WriteMem32(0x2028ED08,0x1040000b) -- beq v0, zero, $0028ed38
end

end

emuObj.AddVsyncHook(patcher)

Working great! testing still in progress but seems good to go.

*edit - added 60fps switch


For Gun PAL (SLES-53523)

CLI
Code:
--gs-uprender=2x2
--gs-upscale=EdgeSmooth
--gs-kernel-cl-up="up2x2skipinterp"
--host-display-mode=16:9
--cdvd-sector-read-cycles=1000

--vif1-instant-xfer=0
--ee-cycle-scalar=1.1
--iop-cycle-scalar=0.8

#emu used=redfaction

LUA
Code:
-- Gun PAL SLES-53523
-- various fixes by kozarovv
-- ported to Gun by Stayhye
-- emu used=redfaction

apiRequest(0.1)

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

local patcher = function()

-- freeze fix
eeObj.WriteMem32(0x001A0CA8,0x100000a6) -- 0x120000a6 >> beq s0, zero, $001a11a4

-- rounding patch
eeObj.WriteMem32(0x00472F40,0xd3400000) -- 53400000

--mtvu
eeObj.WriteMem32(0x0019F95C,0x0803fff0) --000fffc0
eeObj.WriteMem32(0x000fffc0,0x0C067E9E) --0019FA78
eeObj.WriteMem32(0x000fffc4,0x24186000)
eeObj.WriteMem32(0x000fffc8,0x3c191200)
eeObj.WriteMem32(0x000fffcc,0x37391010)
eeObj.WriteMem32(0x000fffd0,0x2718ffff)
eeObj.WriteMem32(0x000fffd4,0x1418fffe)
eeObj.WriteMem32(0x000fffdc,0x08067E59) --0019F964
eeObj.WriteMem32(0x000fffe0,0xaf200000)

-- speed Selector
local pad_bits = emuObj.GetPad()

local L1       = pad_bits &  0x0400
local L3       = pad_bits &  0x0002
local R1       = pad_bits &  0x0800
local R3       = pad_bits &  0x0004

if (L1 ~= 0 and R3 ~= 0) then --60fps
--60 fps
eeObj.WriteMem32(0x2028E9E8,0x1000000B)
end

if (L3 ~= 0 and R1 ~= 0) then --normal mode
eeObj.WriteMem32(0x2028E9E8,0x1040000b) -- beq v0, zero, $0028ed38
end

end

emuObj.AddVsyncHook(patcher)

Thanks Stayhye. If someone helps me try.
 
WIP config for Tony Hawk's American Wasteland™® NTSC

CLI

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

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

--ee-cycle-scalar=1.6

--vu1=jit-sync         #<--very important for this engine if not patching addresses
--vu1-mpg-cycles=8000  #<--very important for this engine if not patching addresses

--vif1-instant-xfer=0  #<--very important for this engine if not patching addresses

#emu used=psycho v2
LUA
Code:
-- Tony Hawk's American Wasteland™®
-- emu used=psycho v2(maybe other?  Still Testing!!)

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

apiRequest(0.1)

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

local THAW = function()
--koza's vu rounding
eeObj.WriteMem32(0x00493B30,0xD3400000)
--freeze skip
eeObj.WriteMem32(0x001c52c8,0x100000a6) -- 0x120000a6 >> beq s0, zero, $001c5564

--emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(THAW)

-- needs mtvu patch?

Not quite there yet, but in game and playable with stutter and framedrops when far distance can be seen. Still working on THUG engine games. Project 8 and Proving Ground are not as easy(at least for me) because the "freeze skip" offset(beq s0, zero,) cannot be found in PS2dis with the method I use to port. Any help would be amazing!
 
WIP config for Tony Hawk's American Wasteland™® NTSC

CLI

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

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

--ee-cycle-scalar=1.6

--vu1=jit-sync         #<--very important for this engine if not patching addresses
--vu1-mpg-cycles=8000  #<--very important for this engine if not patching addresses

--vif1-instant-xfer=0  #<--very important for this engine if not patching addresses

#emu used=psycho v2
LUA
Code:
-- Tony Hawk's American Wasteland™®
-- emu used=psycho v2(maybe other?  Still Testing!!)

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

apiRequest(0.1)

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

local THAW = function()
--koza's vu rounding
eeObj.WriteMem32(0x00493B30,0xD3400000)
--freeze skip
eeObj.WriteMem32(0x001c52c8,0x100000a6) -- 0x120000a6 >> beq s0, zero, $001c5564

--emuObj.ThrottleMax()
end

emuObj.AddVsyncHook(THAW)

-- needs mtvu patch?

Not quite there yet, but in game and playable with stutter and framedrops when far distance can be seen. Still working on THUG engine games. Project 8 and Proving Ground are not as easy(at least for me) because the "freeze skip" offset(beq s0, zero,) cannot be found in PS2dis with the method I use to port. Any help would be amazing!

Try this

For Project 8 NTSC (SLUS-21444)
--koza's vu rounding
eeObj.WriteMem32(0x00474FB0,0xD3400000) --53400000

--freeze skip
eeObj.WriteMem32(0x001CFE18,0x100000B0) -- 0x120000B0 OK

For Project 8 PAL (SLES-54390)
--koza's vu rounding
eeObj.WriteMem32(0x00475130,0xD3400000) --53400000
--freeze skip
eeObj.WriteMem32(0x001CFE18,0x100000B0) -- 0x120000B0


For Proving Ground NTSC (SLUS-21616)

--koza's vu rounding
eeObj.WriteMem32(0x00498A30,0xD3400000) --53400000
--freeze skip
eeObj.WriteMem32(0x001C6E08,0x100000B0) -- 0x120000B0 OK


For Tony Hawk's Proving Ground PAL (SLES-54964)
--koza's vu rounding
eeObj.WriteMem32(0x00498B30,0xD3400000) --53400000
--freeze skip
eeObj.WriteMem32(0x001C6E38,0x100000B0) -- 0x120000B0


Tony Hawk's American Wasteland NTSC (SLUS-21208)
--koza's vu rounding
eeObj.WriteMem32(0x00493B30,0xD3400000) --53400000
--freeze skip
eeObj.WriteMem32(0x001c52c8,0x100000a6) -- 0x120000a6

Tony Hawk's American Wasteland PAL (SLES-53535)
--koza's vu rounding
eeObj.WriteMem32(0x00494230,0xD3400000) --53400000
--freeze skip
eeObj.WriteMem32(0x001C52F8,0x100000A6) -- 0x120000A6
 
Last edited:

Similar threads

Back
Top