-- Tales of Legendia (U)(SLUS-21201)
-- Widescreen hack
-- emu used=primal
local gpr = require("ee-gpr-alias")
apiRequest(0.1)
local eeObj = getEEObject()
local emuObj = getEmuObject()
local patcher = function()
--Widescreen hack 16:9
eeObj.WriteMem32(0x203DAFA0,0x3f266666)
eeObj.WriteMem32(0x203BFAB0,0x40133333)
--2D Popup Characters Fix by Arapapa
--Right
eeObj.WriteMem32(0x001e89bc,0x3c02bf40) --3c02bf80
--Left
eeObj.WriteMem32(0x001e8a60,0x00000000)
eeObj.WriteMem32(0x001e8a5c,0x08030008)
eeObj.WriteMem32(0x000c0020,0x46006346)
eeObj.WriteMem32(0x000c0024,0x46006386)
eeObj.WriteMem32(0x000c0028,0x3c013f40)
eeObj.WriteMem32(0x000c002c,0x4481f000)
eeObj.WriteMem32(0x000c0030,0x461e6302)
eeObj.WriteMem32(0x000c0034,0x0807a298)
--Font Fix by Arapapa
local code_check1 = eeObj.ReadMem16(0x3db098)
if code_check1 == 0x0020 then
eeObj.WriteMem32(0x20238db0,0x08030000)
eeObj.WriteMem32(0x200c0000,0x46040802)
eeObj.WriteMem32(0x200c0004,0x3c013f40)
eeObj.WriteMem32(0x200c0008,0x4481f000)
eeObj.WriteMem32(0x200c000c,0x461e0002)
eeObj.WriteMem32(0x200c0010,0x0808e36d)
end
local code_check2 = eeObj.ReadMem16(0x3db098)
if code_check2 == 0x0020 then
eeObj.WriteMem32(0x20238db0,0x46040802)
--Portrait fix (battle) by Arapapa
eeObj.WriteMem32(0x002ab0d4,0x3c024219) --3c02424c
eeObj.WriteMem32(0x002ab118,0x3c034219) --3c03424c
end
emuObj.ThrottleMax()
end
emuObj.AddVsyncHook(patcher)
--math.random() + math.random(1, 99)
--[[
C0 CD 15 00 BF 03 00 4A 5C AD C0 4B
C8 CD 15 00 5C AD C0 4B BF 03 00 4A
90 CF 15 00 BF 03 00 4A 1C E7 C0 4B
98 CF 15 00 1C E7 C0 4B BF 03 00 4A
B0 45 22 00 70 FF BD 27 08 00 E0 03
B4 45 22 00 30 00 BF FF 00 00 00 00
D0 CC 1F 00 F0 FF BD 27 08 00 E0 03
D4 CC 1F 00 00 00 BF FF 00 00 00 00
7C 2B 38 00 7D 19 C2 01 FF 02 00 00
88 2B 38 00 E7 07 02 52 E2 07 02 52
--]]