-- The Matrix Path of Neo NTSC
-- Graphics fix by Stayhye
-- 60 fps not stable(disabled)
-- ported to PS4
-- emu used=jakx v2
local gpr = require("ee-gpr-alias")
apiRequest(0.1)
local emuObj = getEmuObject()
local eeObj = getEEObject()
local gsObj = getGsObject()
emuObj.PadSetLightBar(0, 0,255,0) -- green!
emuObj.SetDisplayAspectWide()
gsObj.SetDeinterlaceShift(1)
emuObj.SetDeinterlace(true)
emuObj.SetFormattedCard("neo.card")
--graphics fix! gif.dma does do something!
eeObj.AddHook(0x00102064,0xdfb00000, function() -- ld s0, $0000(sp)
eeObj.SchedulerDelayEvent("gif.dma", 0x1600)
end)
--fps boost A
eeObj.AddHook(0x001d7154,0x9482002c, function() -- lhu v0, $002c(a0)
eeObj.AdvanceClock(7000)
end)
--fps boost B
eeObj.AddHook(0x0027f4e8,0x34631000, function() -- ori v1, v1, $1000
eeObj.Vu1MpgCycles(3700)
end)
--]]
local patcher = function()
--[[
--60 fps
eeObj.WriteMem32(0x20463E1C,0x3F800000) --speed
eeObj.WriteMem32(0x20463E2C,0x42700000) --fps
--]]
eeObj.WriteMem32(0x00101d7c,0x1000fffa)
--Unlock All Extras (View Extras To Unlock) by MadCatz
eeObj.WriteMem32(0x201DCCBC,0x2002FFFF)
eeObj.WriteMem32(0x201DCCC0,0xAC820000)
eeObj.WriteMem32(0x201DCCC4,0x03E00008)
eeObj.WriteMem32(0x201DCCC8,0x24020001)
eeObj.WriteMem32(0x20466750,0xFFFFFFFF)
eeObj.WriteMem32(0x20466754,0x00040011)
--Aerial Training by Code Master, Skiller, Lajos Szalay
eeObj.WriteMem32(0x204659A4,0x00030005)
eeObj.WriteMem32(0x204659A8,0x00010013)
--Captains Rescue by Code Master, Skiller, Lajos Szalay
eeObj.WriteMem32(0x2046614C,0x0007000B)
eeObj.WriteMem32(0x20466150,0x00010013)
--Deja Vu-It's A Trap! by Code Master, Skiller, Lajos Szalay
eeObj.WriteMem32(0x20465B48,0x00000006)
eeObj.WriteMem32(0x20465B4C,0x00010013)
--Distorted Dimensions by Code Master, Skiller, Lajos Szalay
eeObj.WriteMem32(0x2046637C,0xFFFFFFFF)
eeObj.WriteMem32(0x20466380,0x0001000E)
--Dojo Training by Code Master, Skiller, Lajos Szalay
eeObj.WriteMem32(0x20465ABC,0x00050005)
eeObj.WriteMem32(0x20465AC0,0x00010013)
--Downside Up by Code Master, Skiller, Lajos Szalay
eeObj.WriteMem32(0x20466408,0xFFFFFFFF)
eeObj.WriteMem32(0x2046640C,0x0002000E)
--Ever Had A Dream, Neo? by Code Master, Skiller, Lajos Szalay
eeObj.WriteMem32(0x2046565C,0xFFFFFFFF)
eeObj.WriteMem32(0x20465660,0x00000003)
--He Is The One by Code Master, Skiller, Lajos Szalay
eeObj.WriteMem32(0x20465FA8,0xFFFFFFFF)
eeObj.WriteMem32(0x20465FAC,0x00000009)
--He's Heading For The Street by Code Master, Skiller, Lajos Szalay
eeObj.WriteMem32(0x20465774,0xFFFFFFFF)
eeObj.WriteMem32(0x20465778,0x00020004)
--Helicopter Rescue by Code Master, Skiller, Lajos Szalay
eeObj.WriteMem32(0x20465D78,0xFFFFFFFF)
eeObj.WriteMem32(0x20465D7C,0x00020007)
--Kung Fu Training by Code Master, Skiller, Lajos Szalay
eeObj.WriteMem32(0x20465800,0xFFFFFFFF)
eeObj.WriteMem32(0x20465804,0x00000005)
--Lobby Shooting Spree by Code Master, Skiller, Lajos Szalay
eeObj.WriteMem32(0x20465C60,0x00000007)
eeObj.WriteMem32(0x20465C64,0x00010013)
--Ministry Of Smiths by Code Master, Skiller, Lajos Szalay
eeObj.WriteMem32(0x204665AC,0xFFFFFFFF)
eeObj.WriteMem32(0x204665B0,0x0001000F)
--Mr. Anderson, Welcome Back by Code Master, Skiller, Lajos Szalay
eeObj.WriteMem32(0x204666C4,0xFFFFFFFF)
eeObj.WriteMem32(0x204666C8,0x00010011)
--Red Pill Rescue by Code Master, Skiller, Lajos Szalay
eeObj.WriteMem32(0x20466034,0x0009000A)
eeObj.WriteMem32(0x20466038,0x00010013)
--Rooftop Assault-Dodge This by Code Master, Skiller, Lajos Szalay
eeObj.WriteMem32(0x20465CEC,0x00010007)
eeObj.WriteMem32(0x20465CF0,0x00010013)
--Seraph's Apology by Code Master, Skiller, Lajos Szalay
eeObj.WriteMem32(0x204661D8,0x0000000C)
eeObj.WriteMem32(0x204661DC,0x00010013)
--Storming The Drain by Code Master, Skiller, Lajos Szalay
eeObj.WriteMem32(0x20465BD4,0x00020006)
eeObj.WriteMem32(0x20465BD8,0x00010013)
--Stuck In The Loop by Code Master, Skiller, Lajos Szalay
eeObj.WriteMem32(0x20465E90,0x00010008)
eeObj.WriteMem32(0x20465E94,0x00010013)
--Subway Showdown by Code Master, Skiller, Lajos Szalay
eeObj.WriteMem32(0x20465E04,0xFFFFFFFF)
eeObj.WriteMem32(0x20465E08,0x00000008)
--Sword Training by Code Master, Skiller, Lajos Szalay
eeObj.WriteMem32(0x2046588C,0x00010005)
eeObj.WriteMem32(0x20465890,0x00010013)
--Taking The Floor by Code Master, Skiller, Lajos Szalay
eeObj.WriteMem32(0x20466638,0xFFFFFFFF)
eeObj.WriteMem32(0x2046663C,0x0002000F)
--The Burly Brawl by Code Master, Skiller, Lajos Szalay
eeObj.WriteMem32(0x20466264,0x0000000D)
eeObj.WriteMem32(0x20466268,0x00010013)
--The Captains' Meeting by Code Master, Skiller, Lajos Szalay
eeObj.WriteMem32(0x204660C0,0x0000000B)
eeObj.WriteMem32(0x204660C4,0x00010013)
--The Chase-I Need An Exit by Code Master, Skiller, Lajos Szalay
eeObj.WriteMem32(0x20465F1C,0x00030008)
eeObj.WriteMem32(0x20465F20,0x00010013)
--The Frenchman by Code Master, Skiller, Lajos Szalay
eeObj.WriteMem32(0x204662F0,0x0000000E)
eeObj.WriteMem32(0x204662F4,0x00010013)
--The Witch by Code Master, Skiller, Lajos Szalay
eeObj.WriteMem32(0x20466494,0xFFFFFFFF)
eeObj.WriteMem32(0x20466498,0x0003000E)
--They're Coming For You, Neo by Code Master, Skiller, Lajos Szalay
eeObj.WriteMem32(0x204656E8,0xFFFFFFFF)
eeObj.WriteMem32(0x204656EC,0x00000004)
--This Is My World by Code Master, Skiller, Lajos Szalay
eeObj.WriteMem32(0x204667DC,0xFFFFFFFF)
eeObj.WriteMem32(0x204667E0,0x00050011)
--Turned Out by Code Master, Skiller, Lajos Szalay
eeObj.WriteMem32(0x20466520,0x0000000F)
eeObj.WriteMem32(0x20466524,0x00010013)
emuObj.ThrottleMax()
end
emuObj.AddVsyncHook(patcher)