Files
libretro/bios/Other/eka2l1/scripts/s60v3_empty_avkon_menu_fix.lua
T

25 lines
785 B
Lua

local cpu = require('eka2l1.cpu')
local events = require('eka2l1.events')
local function skipEmptyAvkonMenu(cleanupOffset)
-- R1 is Count()-1. LuaJIT exposes uint32_t as an unsigned number, so test
-- the sign bit through its numeric range.
if tonumber(cpu.getReg(1)) >= 0x80000000 then
cpu.setReg(7, 0)
cpu.setReg(15, cpu.getPc() + cleanupOffset)
end
end
local function skipRm409EmptyAvkonMenu()
skipEmptyAvkonMenu(0xF4)
end
local function skipRm320EmptyAvkonMenu()
skipEmptyAvkonMenu(0x12C)
end
events.registerRomExportBreakpointHook('eikcoctl.dll', 70, 0x39A36149,
0x182, 0, 0x1000489E, skipRm409EmptyAvkonMenu)
events.registerRomExportBreakpointHook('eikcoctl.dll', 70, 0x1595EE13,
0x17E, 0, 0x1000489E, skipRm320EmptyAvkonMenu)