HLE function binding for PPU/ARMv7 simplified

This commit is contained in:
Nekotekina 2015-02-20 16:58:40 +03:00
parent 7ab1e64aab
commit 655acc746d
132 changed files with 2334 additions and 2280 deletions

View File

@ -564,6 +564,7 @@ bool get_x64_reg_value(x64_context* context, x64_reg_t reg, size_t d_size, size_
}
else if (reg == X64_IMM8)
{
// load the immediate value (assuming it's at the end of the instruction)
const s8 imm_value = *(s8*)(RIP(context) + i_size - 1);
switch (d_size)
@ -582,7 +583,6 @@ bool get_x64_reg_value(x64_context* context, x64_reg_t reg, size_t d_size, size_
}
else if (reg == X64_IMM32)
{
// load the immediate value (assuming it's at the end of the instruction)
const s32 imm_value = *(s32*)(RIP(context) + i_size - 4);
switch (d_size)
@ -591,18 +591,6 @@ bool get_x64_reg_value(x64_context* context, x64_reg_t reg, size_t d_size, size_
case 8: out_value = (u64)imm_value; return true; // sign-extended
}
}
else if (reg == X64_IMM16)
{
// load the immediate value (assuming it's at the end of the instruction)
out_value = *(s16*)(RIP(context) + i_size - 2);
return true;
}
else if (reg == X64_IMM8)
{
// load the immediate value (assuming it's at the end of the instruction)
out_value = *(s8*)(RIP(context) + i_size - 1);
return true;
}
else if (reg == X64R_ECX)
{
out_value = (u32)RCX(context);

View File

@ -174,6 +174,12 @@ struct ARMv7Context
return get_stack_arg(g_count++);
}
}
template<typename... T>
__noinline void fmt_debug_str(const char* fmt, T... args)
{
debug_str = fmt::format(fmt, args...);
}
};
template<typename T, bool is_enum = std::is_enum<T>::value>

View File

@ -294,7 +294,7 @@ namespace ARMv7_instrs
context.debug_str.insert(pos, 8 - pos, ' ');
}
context.debug_str = fmt::format("0x%08x: %s", context.thread.PC, context.debug_str);
context.fmt_debug_str("0x%08x: %s", context.thread.PC, context.debug_str);
LV2_LOCK(0);
@ -530,16 +530,16 @@ void ARMv7_instrs::HACK(ARMv7Context& context, const ARMv7Code code, const ARMv7
{
if (func->func)
{
context.debug_str = fmt::format("hack%s %s", fmt_cond(cond), func->name);
context.fmt_debug_str("hack%s %s", fmt_cond(cond), func->name);
}
else
{
context.debug_str = fmt::format("hack%s UNIMPLEMENTED:0x%08X (%s)", fmt_cond(cond), func->nid, func->name);
context.fmt_debug_str("hack%s UNIMPLEMENTED:0x%08X (%s)", fmt_cond(cond), func->nid, func->name);
}
}
else
{
context.debug_str = fmt::format("hack%s %d", fmt_cond(cond), index);
context.fmt_debug_str("hack%s %d", fmt_cond(cond), index);
}
}
if (process_debug(context)) return;
@ -575,9 +575,14 @@ void ARMv7_instrs::MRC_(ARMv7Context& context, const ARMv7Code code, const ARMv7
default: throw __FUNCTION__;
}
auto disasm = [&]()
{
context.fmt_debug_str("mrc%s p%d,%d,r%d,c%d,c%d,%d", fmt_cond(cond), cp, opc1, t, cn, cm, opc2);
};
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("mrc%s p%d,%d,r%d,c%d,c%d,%d", fmt_cond(cond), cp, opc1, t, cn, cm, opc2);
if (context.debug & DF_DISASM) disasm();
if (process_debug(context)) return;
}
@ -598,7 +603,7 @@ void ARMv7_instrs::MRC_(ARMv7Context& context, const ARMv7Code code, const ARMv7
return;
}
throw fmt::format("Bad instruction: mrc%s p%d,%d,r%d,c%d,c%d,%d", fmt_cond(cond), cp, opc1, t, cn, cm, opc2);
Error(__FUNCTION__, code, type, (disasm(), context.debug_str.c_str()), "Bad instruction");
}
}
@ -626,7 +631,7 @@ void ARMv7_instrs::ADC_IMM(ARMv7Context& context, const ARMv7Code code, const AR
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("adc%s%s %s,%s,#0x%X", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), imm32);
if (context.debug & DF_DISASM) context.fmt_debug_str("adc%s%s %s,%s,#0x%X", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), imm32);
if (process_debug(context)) return;
}
@ -680,7 +685,7 @@ void ARMv7_instrs::ADC_REG(ARMv7Context& context, const ARMv7Code code, const AR
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("adc%s%s %s,%s,%s%s", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), fmt_reg(m), fmt_shift(shift_t, shift_n));
if (context.debug & DF_DISASM) context.fmt_debug_str("adc%s%s %s,%s,%s%s", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), fmt_reg(m), fmt_shift(shift_t, shift_n));
if (process_debug(context)) return;
}
@ -765,7 +770,7 @@ void ARMv7_instrs::ADD_IMM(ARMv7Context& context, const ARMv7Code code, const AR
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("add%s%s %s,%s,#0x%X", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), imm32);
if (context.debug & DF_DISASM) context.fmt_debug_str("add%s%s %s,%s,#0x%X", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), imm32);
if (process_debug(context)) return;
}
@ -836,7 +841,7 @@ void ARMv7_instrs::ADD_REG(ARMv7Context& context, const ARMv7Code code, const AR
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("add%s%s %s,%s,%s%s", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), fmt_reg(m), fmt_shift(shift_t, shift_n));
if (context.debug & DF_DISASM) context.fmt_debug_str("add%s%s %s,%s,%s%s", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), fmt_reg(m), fmt_shift(shift_t, shift_n));
if (process_debug(context)) return;
}
@ -916,7 +921,7 @@ void ARMv7_instrs::ADD_SPI(ARMv7Context& context, const ARMv7Code code, const AR
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("add%s%s %s,sp,#0x%X", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), imm32);
if (context.debug & DF_DISASM) context.fmt_debug_str("add%s%s %s,sp,#0x%X", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), imm32);
if (process_debug(context)) return;
}
@ -982,7 +987,7 @@ void ARMv7_instrs::ADD_SPR(ARMv7Context& context, const ARMv7Code code, const AR
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("add%s%s %s,sp,%s%s", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(m), fmt_shift(shift_t, shift_n));
if (context.debug & DF_DISASM) context.fmt_debug_str("add%s%s %s,sp,%s%s", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(m), fmt_shift(shift_t, shift_n));
if (process_debug(context)) return;
}
@ -1048,7 +1053,7 @@ void ARMv7_instrs::ADR(ARMv7Context& context, const ARMv7Code code, const ARMv7_
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("adr%s r%d, 0x%08X", fmt_cond(cond), d, result);
if (context.debug & DF_DISASM) context.fmt_debug_str("adr%s r%d, 0x%08X", fmt_cond(cond), d, result);
if (process_debug(context)) return;
}
@ -1084,7 +1089,7 @@ void ARMv7_instrs::AND_IMM(ARMv7Context& context, const ARMv7Code code, const AR
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("and%s%s %s,%s,#0x%X", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), imm32);
if (context.debug & DF_DISASM) context.fmt_debug_str("and%s%s %s,%s,#0x%X", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), imm32);
if (process_debug(context)) return;
}
@ -1137,7 +1142,7 @@ void ARMv7_instrs::AND_REG(ARMv7Context& context, const ARMv7Code code, const AR
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("and%s%s %s,%s,%s%s", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), fmt_reg(m), fmt_shift(shift_t, shift_n));
if (context.debug & DF_DISASM) context.fmt_debug_str("and%s%s %s,%s,%s%s", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), fmt_reg(m), fmt_shift(shift_t, shift_n));
if (process_debug(context)) return;
}
@ -1248,7 +1253,7 @@ void ARMv7_instrs::B(ARMv7Context& context, const ARMv7Code code, const ARMv7_en
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("b%s 0x%08X", fmt_cond(cond), context.read_pc() + imm32);
if (context.debug & DF_DISASM) context.fmt_debug_str("b%s 0x%08X", fmt_cond(cond), context.read_pc() + imm32);
if (process_debug(context)) return;
}
@ -1302,7 +1307,7 @@ void ARMv7_instrs::BIC_IMM(ARMv7Context& context, const ARMv7Code code, const AR
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("bic%s%s %s,%s,#0x%X", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), imm32);
if (context.debug & DF_DISASM) context.fmt_debug_str("bic%s%s %s,%s,#0x%X", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), imm32);
if (process_debug(context)) return;
}
@ -1354,7 +1359,7 @@ void ARMv7_instrs::BIC_REG(ARMv7Context& context, const ARMv7Code code, const AR
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("bic%s%s %s,%s,%s%s", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), fmt_reg(m), fmt_shift(shift_t, shift_n));
if (context.debug & DF_DISASM) context.fmt_debug_str("bic%s%s %s,%s,%s%s", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), fmt_reg(m), fmt_shift(shift_t, shift_n));
if (process_debug(context)) return;
}
@ -1427,7 +1432,7 @@ void ARMv7_instrs::BL(ARMv7Context& context, const ARMv7Code code, const ARMv7_e
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("bl%s 0x%08X", fmt_cond(cond), pc);
if (context.debug & DF_DISASM) context.fmt_debug_str("bl%s 0x%08X", fmt_cond(cond), pc);
if (process_debug(context)) return;
}
@ -1492,13 +1497,12 @@ void ARMv7_instrs::BLX(ARMv7Context& context, const ARMv7Code code, const ARMv7_
{
if (context.debug & DF_DISASM)
{
context.debug_str = fmt::format("blx%s ", fmt_cond(cond));
switch (type)
{
case T1: context.debug_str += fmt_reg((code.data >> 3) & 0xf); break;
case T2: context.debug_str += fmt::format("0x%08X", target); break;
case A1: context.debug_str += fmt_reg(code.data & 0xf); break;
default: context.debug_str += "???";
case T1: context.fmt_debug_str("blx%s %s", fmt_cond(cond), fmt_reg((code.data >> 3) & 0xf)); break;
case T2: context.fmt_debug_str("blx%s 0x%08X", fmt_cond(cond), target); break;
case A1: context.fmt_debug_str("blx%s %s", fmt_cond(cond), fmt_reg(code.data & 0xf)); break;
default: context.fmt_debug_str("blx%s ???", fmt_cond(cond));
}
}
if (process_debug(context)) return;
@ -1536,7 +1540,7 @@ void ARMv7_instrs::BX(ARMv7Context& context, const ARMv7Code code, const ARMv7_e
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("bx%s %s", fmt_cond(cond), fmt_reg(m));
if (context.debug & DF_DISASM) context.fmt_debug_str("bx%s %s", fmt_cond(cond), fmt_reg(m));
if (process_debug(context)) return;
}
@ -1568,7 +1572,7 @@ void ARMv7_instrs::CB_Z(ARMv7Context& context, const ARMv7Code code, const ARMv7
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("cb%sz 0x%08X", nonzero ? "n" : "", context.read_pc() + imm32);
if (context.debug & DF_DISASM) context.fmt_debug_str("cb%sz 0x%08X", nonzero ? "n" : "", context.read_pc() + imm32);
if (process_debug(context)) return;
}
@ -1601,7 +1605,7 @@ void ARMv7_instrs::CLZ(ARMv7Context& context, const ARMv7Code code, const ARMv7_
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("clz%s %s,%s", fmt_cond(cond), fmt_reg(d), fmt_reg(m));
if (context.debug & DF_DISASM) context.fmt_debug_str("clz%s %s,%s", fmt_cond(cond), fmt_reg(d), fmt_reg(m));
if (process_debug(context)) return;
}
@ -1668,7 +1672,7 @@ void ARMv7_instrs::CMP_IMM(ARMv7Context& context, const ARMv7Code code, const AR
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("cmp%s %s,#0x%X", fmt_cond(cond), fmt_reg(n), imm32);
if (context.debug & DF_DISASM) context.fmt_debug_str("cmp%s %s,#0x%X", fmt_cond(cond), fmt_reg(n), imm32);
if (process_debug(context)) return;
}
@ -1729,7 +1733,7 @@ void ARMv7_instrs::CMP_REG(ARMv7Context& context, const ARMv7Code code, const AR
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("cmp%s %s,%s%s", fmt_cond(cond), fmt_reg(n), fmt_reg(m), fmt_shift(shift_t, shift_n));
if (context.debug & DF_DISASM) context.fmt_debug_str("cmp%s %s,%s%s", fmt_cond(cond), fmt_reg(n), fmt_reg(m), fmt_shift(shift_t, shift_n));
if (process_debug(context)) return;
}
@ -1812,7 +1816,7 @@ void ARMv7_instrs::EOR_IMM(ARMv7Context& context, const ARMv7Code code, const AR
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("eor%s%s %s,%s,#0x%X", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), imm32);
if (context.debug & DF_DISASM) context.fmt_debug_str("eor%s%s %s,%s,#0x%X", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), imm32);
if (process_debug(context)) return;
}
@ -1865,7 +1869,7 @@ void ARMv7_instrs::EOR_REG(ARMv7Context& context, const ARMv7Code code, const AR
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("eor%s%s %s,%s,%s%s", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), fmt_reg(m), fmt_shift(shift_t, shift_n));
if (context.debug & DF_DISASM) context.fmt_debug_str("eor%s%s %s,%s,%s%s", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), fmt_reg(m), fmt_shift(shift_t, shift_n));
if (process_debug(context)) return;
}
@ -1917,7 +1921,7 @@ void ARMv7_instrs::IT(ARMv7Context& context, const ARMv7Code code, const ARMv7_e
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("IT%s %s", fmt_it(context.ITSTATE.shift_state), fmt_cond(context.ITSTATE.condition));
if (context.debug & DF_DISASM) context.fmt_debug_str("IT%s %s", fmt_it(context.ITSTATE.shift_state), fmt_cond(context.ITSTATE.condition));
if (process_debug(context)) return;
}
}
@ -1959,7 +1963,7 @@ void ARMv7_instrs::LDM(ARMv7Context& context, const ARMv7Code code, const ARMv7_
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("ldm%s %s%s,{%s}", fmt_cond(cond), fmt_reg(n), wback ? "!" : "", fmt_reg_list(reg_list));
if (context.debug & DF_DISASM) context.fmt_debug_str("ldm%s %s%s,{%s}", fmt_cond(cond), fmt_reg(n), wback ? "!" : "", fmt_reg_list(reg_list));
if (process_debug(context)) return;
}
@ -2076,7 +2080,7 @@ void ARMv7_instrs::LDR_IMM(ARMv7Context& context, const ARMv7Code code, const AR
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("ldr%s %s,%s", fmt_cond(cond), fmt_reg(t), fmt_mem_imm(n, imm32, index, add, wback));
if (context.debug & DF_DISASM) context.fmt_debug_str("ldr%s %s,%s", fmt_cond(cond), fmt_reg(t), fmt_mem_imm(n, imm32, index, add, wback));
if (process_debug(context)) return;
}
@ -2127,7 +2131,7 @@ void ARMv7_instrs::LDR_LIT(ARMv7Context& context, const ARMv7Code code, const AR
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("ldr%s %s,0x%08X", fmt_cond(cond), fmt_reg(t), addr);
if (context.debug & DF_DISASM) context.fmt_debug_str("ldr%s %s,0x%08X", fmt_cond(cond), fmt_reg(t), addr);
if (process_debug(context)) return;
}
@ -2181,7 +2185,7 @@ void ARMv7_instrs::LDR_REG(ARMv7Context& context, const ARMv7Code code, const AR
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("ldr%s %s,%s", fmt_cond(cond), fmt_reg(t), fmt_mem_reg(n, m, index, add, wback, shift_t, shift_n));
if (context.debug & DF_DISASM) context.fmt_debug_str("ldr%s %s,%s", fmt_cond(cond), fmt_reg(t), fmt_mem_reg(n, m, index, add, wback, shift_t, shift_n));
if (process_debug(context)) return;
}
@ -2256,7 +2260,7 @@ void ARMv7_instrs::LDRB_IMM(ARMv7Context& context, const ARMv7Code code, const A
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("ldrb%s %s,%s", fmt_cond(cond), fmt_reg(t), fmt_mem_imm(n, imm32, index, add, wback));
if (context.debug & DF_DISASM) context.fmt_debug_str("ldrb%s %s,%s", fmt_cond(cond), fmt_reg(t), fmt_mem_imm(n, imm32, index, add, wback));
if (process_debug(context)) return;
}
@ -2325,7 +2329,7 @@ void ARMv7_instrs::LDRB_REG(ARMv7Context& context, const ARMv7Code code, const A
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("ldrb%s %s,%s", fmt_cond(cond), fmt_reg(t), fmt_mem_reg(n, m, index, add, wback, shift_t, shift_n));
if (context.debug & DF_DISASM) context.fmt_debug_str("ldrb%s %s,%s", fmt_cond(cond), fmt_reg(t), fmt_mem_reg(n, m, index, add, wback, shift_t, shift_n));
if (process_debug(context)) return;
}
@ -2374,7 +2378,7 @@ void ARMv7_instrs::LDRD_IMM(ARMv7Context& context, const ARMv7Code code, const A
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("ldrd%s %s,%s,%s", fmt_cond(cond), fmt_reg(t), fmt_reg(t2), fmt_mem_imm(n, imm32, index, add, wback));
if (context.debug & DF_DISASM) context.fmt_debug_str("ldrd%s %s,%s,%s", fmt_cond(cond), fmt_reg(t), fmt_reg(t2), fmt_mem_imm(n, imm32, index, add, wback));
if (process_debug(context)) return;
}
@ -2421,7 +2425,7 @@ void ARMv7_instrs::LDRD_LIT(ARMv7Context& context, const ARMv7Code code, const A
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("ldrd%s %s,%s,0x%08X", fmt_cond(cond), fmt_reg(t), fmt_reg(t2), addr);
if (context.debug & DF_DISASM) context.fmt_debug_str("ldrd%s %s,%s,0x%08X", fmt_cond(cond), fmt_reg(t), fmt_reg(t2), addr);
if (process_debug(context)) return;
}
@ -2499,7 +2503,7 @@ void ARMv7_instrs::LDRH_IMM(ARMv7Context& context, const ARMv7Code code, const A
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("ldrh%s %s,%s", fmt_cond(cond), fmt_reg(t), fmt_mem_imm(n, imm32, index, add, wback));
if (context.debug & DF_DISASM) context.fmt_debug_str("ldrh%s %s,%s", fmt_cond(cond), fmt_reg(t), fmt_mem_imm(n, imm32, index, add, wback));
if (process_debug(context)) return;
}
@ -2580,7 +2584,7 @@ void ARMv7_instrs::LDRSB_IMM(ARMv7Context& context, const ARMv7Code code, const
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("ldrsb%s %s,%s", fmt_cond(cond), fmt_reg(t), fmt_mem_imm(n, imm32, index, add, wback));
if (context.debug & DF_DISASM) context.fmt_debug_str("ldrsb%s %s,%s", fmt_cond(cond), fmt_reg(t), fmt_mem_imm(n, imm32, index, add, wback));
if (process_debug(context)) return;
}
@ -2667,7 +2671,7 @@ void ARMv7_instrs::LDREX(ARMv7Context& context, const ARMv7Code code, const ARMv
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("ldrex%s %s,[%s,#0x%X]", fmt_cond(cond), fmt_reg(t), fmt_reg(n), imm32);
if (context.debug & DF_DISASM) context.fmt_debug_str("ldrex%s %s,[%s,#0x%X]", fmt_cond(cond), fmt_reg(t), fmt_reg(n), imm32);
if (process_debug(context)) return;
}
@ -2745,7 +2749,7 @@ void ARMv7_instrs::LSL_IMM(ARMv7Context& context, const ARMv7Code code, const AR
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("lsl%s%s %s,%s,#%d", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(m), shift_n);
if (context.debug & DF_DISASM) context.fmt_debug_str("lsl%s%s %s,%s,#%d", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(m), shift_n);
if (process_debug(context)) return;
}
@ -2795,7 +2799,7 @@ void ARMv7_instrs::LSL_REG(ARMv7Context& context, const ARMv7Code code, const AR
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("lsl%s%s %s,%s,%s", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), fmt_reg(m));
if (context.debug & DF_DISASM) context.fmt_debug_str("lsl%s%s %s,%s,%s", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), fmt_reg(m));
if (process_debug(context)) return;
}
@ -2847,7 +2851,7 @@ void ARMv7_instrs::LSR_IMM(ARMv7Context& context, const ARMv7Code code, const AR
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("lsr%s%s %s,%s,#%d", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(m), shift_n);
if (context.debug & DF_DISASM) context.fmt_debug_str("lsr%s%s %s,%s,#%d", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(m), shift_n);
if (process_debug(context)) return;
}
@ -2939,8 +2943,8 @@ void ARMv7_instrs::MOV_IMM(ARMv7Context& context, const ARMv7Code code, const AR
{
switch (type)
{
case T3: case A2: context.debug_str = fmt::format("movw%s%s %s,#0x%04X", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), imm32); break;
default: context.debug_str = fmt::format("mov%s%s %s,#0x%X", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), imm32);
case T3: case A2: context.fmt_debug_str("movw%s%s %s,#0x%04X", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), imm32); break;
default: context.fmt_debug_str("mov%s%s %s,#0x%X", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), imm32);
}
}
if (process_debug(context)) return;
@ -3004,7 +3008,7 @@ void ARMv7_instrs::MOV_REG(ARMv7Context& context, const ARMv7Code code, const AR
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("mov%s%s %s,%s", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(m));
if (context.debug & DF_DISASM) context.fmt_debug_str("mov%s%s %s,%s", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(m));
if (process_debug(context)) return;
}
@ -3043,7 +3047,7 @@ void ARMv7_instrs::MOVT(ARMv7Context& context, const ARMv7Code code, const ARMv7
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("movt%s %s,#0x%04X", fmt_cond(cond), fmt_reg(d), imm16);
if (context.debug & DF_DISASM) context.fmt_debug_str("movt%s %s,#0x%04X", fmt_cond(cond), fmt_reg(d), imm16);
if (process_debug(context)) return;
}
@ -3115,7 +3119,7 @@ void ARMv7_instrs::MUL(ARMv7Context& context, const ARMv7Code code, const ARMv7_
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("mul%s%s %s,%s,%s", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), fmt_reg(m));
if (context.debug & DF_DISASM) context.fmt_debug_str("mul%s%s %s,%s,%s", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), fmt_reg(m));
if (process_debug(context)) return;
}
@ -3158,7 +3162,7 @@ void ARMv7_instrs::MVN_IMM(ARMv7Context& context, const ARMv7Code code, const AR
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("mvn%s%s %s,#0x%X", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), imm32);
if (context.debug & DF_DISASM) context.fmt_debug_str("mvn%s%s %s,#0x%X", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), imm32);
if (process_debug(context)) return;
}
@ -3209,7 +3213,7 @@ void ARMv7_instrs::MVN_REG(ARMv7Context& context, const ARMv7Code code, const AR
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("mvn%s%s %s,%s%s", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(m), fmt_shift(shift_t, shift_n));
if (context.debug & DF_DISASM) context.fmt_debug_str("mvn%s%s %s,%s%s", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(m), fmt_shift(shift_t, shift_n));
if (process_debug(context)) return;
}
@ -3265,7 +3269,7 @@ void ARMv7_instrs::NOP(ARMv7Context& context, const ARMv7Code code, const ARMv7_
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("nop%s", fmt_cond(cond));
if (context.debug & DF_DISASM) context.fmt_debug_str("nop%s", fmt_cond(cond));
if (process_debug(context)) return;
}
@ -3319,7 +3323,7 @@ void ARMv7_instrs::ORR_IMM(ARMv7Context& context, const ARMv7Code code, const AR
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("orr%s%s %s,%s,#0x%X", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), imm32);
if (context.debug & DF_DISASM) context.fmt_debug_str("orr%s%s %s,%s,#0x%X", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), imm32);
if (process_debug(context)) return;
}
@ -3372,7 +3376,7 @@ void ARMv7_instrs::ORR_REG(ARMv7Context& context, const ARMv7Code code, const AR
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("orr%s%s %s,%s,%s%s", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), fmt_reg(m), fmt_shift(shift_t, shift_n));
if (context.debug & DF_DISASM) context.fmt_debug_str("orr%s%s %s,%s,%s%s", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), fmt_reg(m), fmt_shift(shift_t, shift_n));
if (process_debug(context)) return;
}
@ -3465,7 +3469,7 @@ void ARMv7_instrs::POP(ARMv7Context& context, const ARMv7Code code, const ARMv7_
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("pop%s {%s}", fmt_cond(cond), fmt_reg_list(reg_list));
if (context.debug & DF_DISASM) context.fmt_debug_str("pop%s {%s}", fmt_cond(cond), fmt_reg_list(reg_list));
if (process_debug(context)) return;
}
@ -3536,7 +3540,7 @@ void ARMv7_instrs::PUSH(ARMv7Context& context, const ARMv7Code code, const ARMv7
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("push%s {%s}", fmt_cond(cond), fmt_reg_list(reg_list));
if (context.debug & DF_DISASM) context.fmt_debug_str("push%s {%s}", fmt_cond(cond), fmt_reg_list(reg_list));
if (process_debug(context)) return;
}
@ -3686,7 +3690,7 @@ void ARMv7_instrs::REV(ARMv7Context& context, const ARMv7Code code, const ARMv7_
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("rev%s %s,%s", fmt_cond(cond), fmt_reg(d), fmt_reg(m));
if (context.debug & DF_DISASM) context.fmt_debug_str("rev%s %s,%s", fmt_cond(cond), fmt_reg(d), fmt_reg(m));
if (process_debug(context)) return;
}
@ -3740,7 +3744,7 @@ void ARMv7_instrs::ROR_IMM(ARMv7Context& context, const ARMv7Code code, const AR
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("ror%s%s %s,%s,#%d", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(m), shift_n);
if (context.debug & DF_DISASM) context.fmt_debug_str("ror%s%s %s,%s,#%d", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(m), shift_n);
if (process_debug(context)) return;
}
@ -3790,7 +3794,7 @@ void ARMv7_instrs::ROR_REG(ARMv7Context& context, const ARMv7Code code, const AR
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("ror%s%s %s,%s,%s", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), fmt_reg(m));
if (context.debug & DF_DISASM) context.fmt_debug_str("ror%s%s %s,%s,%s", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), fmt_reg(m));
if (process_debug(context)) return;
}
@ -3853,7 +3857,7 @@ void ARMv7_instrs::RSB_IMM(ARMv7Context& context, const ARMv7Code code, const AR
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("rsb%s%s %s,%s,#0x%X", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), imm32);
if (context.debug & DF_DISASM) context.fmt_debug_str("rsb%s%s %s,%s,#0x%X", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), imm32);
if (process_debug(context)) return;
}
@ -4286,7 +4290,7 @@ void ARMv7_instrs::STM(ARMv7Context& context, const ARMv7Code code, const ARMv7_
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("stm%s %s%s,{%s}", fmt_cond(cond), fmt_reg(n), wback ? "!" : "", fmt_reg_list(reg_list));
if (context.debug & DF_DISASM) context.fmt_debug_str("stm%s %s%s,{%s}", fmt_cond(cond), fmt_reg(n), wback ? "!" : "", fmt_reg_list(reg_list));
if (process_debug(context)) return;
}
@ -4402,7 +4406,7 @@ void ARMv7_instrs::STR_IMM(ARMv7Context& context, const ARMv7Code code, const AR
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("str%s %s,%s", fmt_cond(cond), fmt_reg(t), fmt_mem_imm(n, imm32, index, add, wback));
if (context.debug & DF_DISASM) context.fmt_debug_str("str%s %s,%s", fmt_cond(cond), fmt_reg(t), fmt_mem_imm(n, imm32, index, add, wback));
if (process_debug(context)) return;
}
@ -4461,7 +4465,7 @@ void ARMv7_instrs::STR_REG(ARMv7Context& context, const ARMv7Code code, const AR
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("str%s %s,%s", fmt_cond(cond), fmt_reg(t), fmt_mem_reg(n, m, index, add, wback, shift_t, shift_n));
if (context.debug & DF_DISASM) context.fmt_debug_str("str%s %s,%s", fmt_cond(cond), fmt_reg(t), fmt_mem_reg(n, m, index, add, wback, shift_t, shift_n));
if (process_debug(context)) return;
}
@ -4533,7 +4537,7 @@ void ARMv7_instrs::STRB_IMM(ARMv7Context& context, const ARMv7Code code, const A
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("strb%s %s,%s", fmt_cond(cond), fmt_reg(t), fmt_mem_imm(n, imm32, index, add, wback));
if (context.debug & DF_DISASM) context.fmt_debug_str("strb%s %s,%s", fmt_cond(cond), fmt_reg(t), fmt_mem_imm(n, imm32, index, add, wback));
if (process_debug(context)) return;
}
@ -4592,7 +4596,7 @@ void ARMv7_instrs::STRB_REG(ARMv7Context& context, const ARMv7Code code, const A
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("strb%s %s,%s", fmt_cond(cond), fmt_reg(t), fmt_mem_reg(n, m, index, add, wback, shift_t, shift_n));
if (context.debug & DF_DISASM) context.fmt_debug_str("strb%s %s,%s", fmt_cond(cond), fmt_reg(t), fmt_mem_reg(n, m, index, add, wback, shift_t, shift_n));
if (process_debug(context)) return;
}
@ -4640,7 +4644,7 @@ void ARMv7_instrs::STRD_IMM(ARMv7Context& context, const ARMv7Code code, const A
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("strd%s %s,%s,%s", fmt_cond(cond), fmt_reg(t), fmt_reg(t2), fmt_mem_imm(n, imm32, index, add, wback));
if (context.debug & DF_DISASM) context.fmt_debug_str("strd%s %s,%s,%s", fmt_cond(cond), fmt_reg(t), fmt_reg(t2), fmt_mem_imm(n, imm32, index, add, wback));
if (process_debug(context)) return;
}
@ -4721,7 +4725,7 @@ void ARMv7_instrs::STRH_IMM(ARMv7Context& context, const ARMv7Code code, const A
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("strh%s %s,%s", fmt_cond(cond), fmt_reg(t), fmt_mem_imm(n, imm32, index, add, wback));
if (context.debug & DF_DISASM) context.fmt_debug_str("strh%s %s,%s", fmt_cond(cond), fmt_reg(t), fmt_mem_imm(n, imm32, index, add, wback));
if (process_debug(context)) return;
}
@ -4780,7 +4784,7 @@ void ARMv7_instrs::STRH_REG(ARMv7Context& context, const ARMv7Code code, const A
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("strh%s %s,%s", fmt_cond(cond), fmt_reg(t), fmt_mem_reg(n, m, index, add, wback, shift_t, shift_n));
if (context.debug & DF_DISASM) context.fmt_debug_str("strh%s %s,%s", fmt_cond(cond), fmt_reg(t), fmt_mem_reg(n, m, index, add, wback, shift_t, shift_n));
if (process_debug(context)) return;
}
@ -4823,7 +4827,7 @@ void ARMv7_instrs::STREX(ARMv7Context& context, const ARMv7Code code, const ARMv
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("strex%s %s,%s,[%s,#0x%x]", fmt_cond(cond), fmt_reg(d), fmt_reg(t), fmt_reg(n), imm32);
if (context.debug & DF_DISASM) context.fmt_debug_str("strex%s %s,%s,[%s,#0x%x]", fmt_cond(cond), fmt_reg(d), fmt_reg(t), fmt_reg(n), imm32);
if (process_debug(context)) return;
}
@ -4917,7 +4921,7 @@ void ARMv7_instrs::SUB_IMM(ARMv7Context& context, const ARMv7Code code, const AR
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("sub%s%s %s,%s,#0x%X", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), imm32);
if (context.debug & DF_DISASM) context.fmt_debug_str("sub%s%s %s,%s,#0x%X", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), imm32);
if (process_debug(context)) return;
}
@ -4974,7 +4978,7 @@ void ARMv7_instrs::SUB_REG(ARMv7Context& context, const ARMv7Code code, const AR
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("sub%s%s %s,%s,%s%s", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), fmt_reg(m), fmt_shift(shift_t, shift_n));
if (context.debug & DF_DISASM) context.fmt_debug_str("sub%s%s %s,%s,%s%s", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), fmt_reg(n), fmt_reg(m), fmt_shift(shift_t, shift_n));
if (process_debug(context)) return;
}
@ -5046,7 +5050,7 @@ void ARMv7_instrs::SUB_SPI(ARMv7Context& context, const ARMv7Code code, const AR
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("sub%s%s %s,sp,#0x%X", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), imm32);
if (context.debug & DF_DISASM) context.fmt_debug_str("sub%s%s %s,sp,#0x%X", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d), imm32);
if (process_debug(context)) return;
}
@ -5201,7 +5205,7 @@ void ARMv7_instrs::TST_IMM(ARMv7Context& context, const ARMv7Code code, const AR
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("tst%s %s,#0x%X", fmt_cond(cond), fmt_reg(n), imm32);
if (context.debug & DF_DISASM) context.fmt_debug_str("tst%s %s,#0x%X", fmt_cond(cond), fmt_reg(n), imm32);
if (process_debug(context)) return;
}
@ -5376,7 +5380,7 @@ void ARMv7_instrs::UMULL(ARMv7Context& context, const ARMv7Code code, const ARMv
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("umull%s%s %s,%s,%s,%s", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d0), fmt_reg(d1), fmt_reg(n), fmt_reg(m));
if (context.debug & DF_DISASM) context.fmt_debug_str("umull%s%s %s,%s,%s,%s", set_flags ? "s" : "", fmt_cond(cond), fmt_reg(d0), fmt_reg(d1), fmt_reg(n), fmt_reg(m));
if (process_debug(context)) return;
}
@ -5568,7 +5572,7 @@ void ARMv7_instrs::UXTB(ARMv7Context& context, const ARMv7Code code, const ARMv7
if (context.debug)
{
if (context.debug & DF_DISASM) context.debug_str = fmt::format("uxtb%s %s,%s%s", fmt_cond(cond), fmt_reg(d), fmt_reg(m), fmt_shift(SRType_ROR, rot));
if (context.debug & DF_DISASM) context.fmt_debug_str("uxtb%s %s,%s%s", fmt_cond(cond), fmt_reg(d), fmt_reg(m), fmt_shift(SRType_ROR, rot));
if (process_debug(context)) return;
}

View File

@ -32,7 +32,7 @@ s32 sceAppMgrReleaseBgmPort()
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceAppMgr, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceAppMgr, #name, name)
psv_log_base sceAppMgr("SceAppMgr", []()
{

View File

@ -70,7 +70,7 @@ s32 sceAppUtilLoadSafeMemory(vm::psv::ptr<void> buf, u32 bufSize, s64 offset)
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceAppUtil, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceAppUtil, #name, name)
psv_log_base sceAppUtil("SceAppUtil", []()
{

View File

@ -45,7 +45,7 @@ s32 sceAudioOutGetAdopt(s32 portType)
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceAudio, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceAudio, #name, name)
psv_log_base sceAudio("SceAudio", []()
{

View File

@ -20,7 +20,7 @@ s32 sceAudioInInput(s32 port, vm::psv::ptr<void> destPtr)
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceAudioIn, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceAudioIn, #name, name)
psv_log_base sceAudioIn("SceAudioIn", []()
{

View File

@ -120,7 +120,7 @@ s32 sceAudiodecGetInternalError(vm::psv::ptr<SceAudiodecCtrl> pCtrl, vm::psv::pt
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceAudiodec, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceAudiodec, #name, name)
psv_log_base sceAudiodec("SceAudiodec", []()
{

View File

@ -102,7 +102,7 @@ s32 sceAudioencGetInternalError(vm::psv::ptr<SceAudioencCtrl> pCtrl, vm::psv::pt
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceAudioenc, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceAudioenc, #name, name)
psv_log_base sceAudioenc("SceAudioenc", []()
{

View File

@ -247,7 +247,7 @@ void sceCameraUseCacheMemoryForTrial(s32 isCache)
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceCamera, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceCamera, #name, name)
psv_log_base sceCamera("SceCamera", []()
{

View File

@ -31,7 +31,7 @@ s32 sceCodecEnginePmonReset()
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceCodecEngine, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceCodecEngine, #name, name)
psv_log_base sceCodecEngine("SceCodecEngine", []()
{

View File

@ -505,7 +505,7 @@ s32 scePhotoReviewDialogAbort()
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceCommonDialog, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceCommonDialog, #name, name)
psv_log_base sceCommonDialog("SceCommonDialog", []()
{

View File

@ -66,7 +66,7 @@ s32 sceCtrlClearRapidFire(s32 port, s32 idx)
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceCtrl, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceCtrl, #name, name)
psv_log_base sceCtrl("SceCtrl", []()
{

View File

@ -31,7 +31,7 @@ s32 sceDbgLoggingHandler(vm::psv::ptr<const char> pFile, s32 line, s32 severity,
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceDbg, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceDbg, #name, name)
psv_log_base sceDbg("SceDbg", []()
{

View File

@ -32,7 +32,7 @@ s32 sceKernelDeci4pRegisterCallback(s32 socketid, s32 cbid)
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceDeci4p, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceDeci4p, #name, name)
psv_log_base sceDeci4p("SceDeci4pUserp", []()
{

View File

@ -70,7 +70,7 @@ s32 sceZipGetInfo(vm::psv::ptr<const void> pSrc, vm::psv::ptr<vm::psv::ptr<const
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceDeflt, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceDeflt, #name, name)
psv_log_base sceDeflt("SceDeflt", []()
{

View File

@ -85,7 +85,7 @@ s32 sceDisplayUnregisterVblankStartCallback(s32 uid)
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceDisplay, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceDisplay, #name, name)
psv_log_base sceDisplay("SceDisplay", []()
{

View File

@ -81,7 +81,7 @@ s32 sceFiberGetInfo(vm::psv::ptr<SceFiber> fiber, vm::psv::ptr<SceFiberInfo> fib
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceFiber, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceFiber, #name, name)
psv_log_base sceFiber("SceFiber", []()
{

View File

@ -802,7 +802,7 @@ void sceFiosIOFilterPsarcDearchiver()
throw __FUNCTION__;
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceFios, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceFios, #name, name)
psv_log_base sceFios("SceFios2", []()
{

View File

@ -4,7 +4,7 @@
extern psv_log_base sceFpu;
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceFpu, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceFpu, #name, name)
psv_log_base sceFpu("SceFpu", []()
{

View File

@ -1067,7 +1067,7 @@ s32 sceGxmSetUniformDataF(vm::psv::ptr<void> uniformBuffer, vm::psv::ptr<const S
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceGxm, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceGxm, #name, name)
psv_log_base sceGxm("SceGxm", []()
{

View File

@ -353,7 +353,7 @@ s32 sceHttpsFreeCaList(vm::psv::ptr<SceHttpsCaList> caList)
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceHttp, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceHttp, #name, name)
psv_log_base sceHttp("SceHttp", []()
{

View File

@ -30,7 +30,7 @@ s32 sceImeClose()
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceIme, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceIme, #name, name)
psv_log_base sceIme("SceIme", []()
{

View File

@ -106,7 +106,7 @@ s32 sceJpegSplitDecodeMJpeg(vm::psv::ptr<SceJpegSplitDecodeCtrl> pCtrl)
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceJpeg, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceJpeg, #name, name)
psv_log_base sceJpeg("SceJpeg", []()
{

View File

@ -75,7 +75,7 @@ s32 sceJpegEncoderCsc(
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceJpegEnc, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceJpegEnc, #name, name)
psv_log_base sceJpegEnc("SceJpegEnc", []()
{

View File

@ -994,7 +994,7 @@ s32 sceIoGetstat(vm::psv::ptr<const char> name, vm::psv::ptr<SceIoStat> buf)
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceLibKernel, #name, &name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceLibKernel, #name, &name)
psv_log_base sceLibKernel("sceLibKernel", []()
{

View File

@ -246,7 +246,7 @@ namespace sce_libc_func
}
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceLibc, #name, &sce_libc_func::name)
#define REG_FUNC(nid, name) reg_psv_func<&sce_libc_func::name>(nid, &sceLibc, #name, &sce_libc_func::name)
psv_log_base sceLibc("SceLibc", []()
{

View File

@ -9,7 +9,7 @@ namespace sce_libm_func
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceLibm, #name, &sce_libm_func::name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceLibm, #name, &sce_libm_func::name)
psv_log_base sceLibm("SceLibm", []()
{

View File

@ -23,7 +23,7 @@ namespace sce_libstdcxx_func
}
// Attention: find and set correct original mangled name in third parameter, for example: REG_FUNC(0xAE71DC3, operator_new_nothrow, "_ZnwjRKSt9nothrow_t");
#define REG_FUNC(nid, name, orig_name) reg_psv_func(nid, &sceLibstdcxx, orig_name, &sce_libstdcxx_func::name)
#define REG_FUNC(nid, name, orig_name) reg_psv_func<&sce_libstdcxx_func::name>(nid, &sceLibstdcxx, orig_name, &sce_libstdcxx_func::name)
psv_log_base sceLibstdcxx("SceLibstdcxx", []()
{

View File

@ -14,7 +14,7 @@ s32 sceLiveAreaResourceGetStatus()
throw __FUNCTION__;
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceLiveArea, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceLiveArea, #name, name)
psv_log_base sceLiveArea("SceLiveArea", []()
{

View File

@ -172,7 +172,7 @@ s32 sceLocationSetGpsEmulationFile(vm::psv::ptr<char> filename)
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceLocation, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceLocation, #name, name)
psv_log_base sceLocation("SceLibLocation", []()
{

View File

@ -35,7 +35,7 @@ s32 sceMd5BlockResult(vm::psv::ptr<SceMd5Context> pContext, vm::psv::ptr<u8> dig
throw __FUNCTION__;
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceMd5, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceMd5, #name, name)
psv_log_base sceMd5("SceMd5", []()
{

View File

@ -111,7 +111,7 @@ s32 sceMotionStopSampling()
throw __FUNCTION__;
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceMotion, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceMotion, #name, name)
psv_log_base sceMotion("SceMotion", []()
{

View File

@ -21,7 +21,7 @@ u32 sceMt19937UInt(vm::psv::ptr<SceMt19937Context> pCtx)
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceMt19937, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceMt19937, #name, name)
psv_log_base sceMt19937("SceMt19937", []()
{

View File

@ -295,7 +295,7 @@ s32 sceNetGetStatisticsInfo(vm::psv::ptr<SceNetStatisticsInfo> info, s32 flags)
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceNet, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceNet, #name, name)
psv_log_base sceNet("SceNet", []()
{

View File

@ -128,7 +128,7 @@ s32 sceNetCtlAdhocGetInAddr(vm::psv::ptr<SceNetInAddr> inaddr)
throw __FUNCTION__;
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceNetCtl, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceNetCtl, #name, name)
psv_log_base sceNetCtl("SceNetCtl", []()
{

View File

@ -429,7 +429,7 @@ s32 sceSulphaNgsTrace(vm::psv::ptr<const char> message)
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceNgs, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceNgs, #name, name)
psv_log_base sceNgs("SceNgs", []()
{

View File

@ -208,7 +208,7 @@ s32 sceNpBasicGetPlaySessionLog(SceNpBasicPlaySessionLogType type, u32 index, vm
throw __FUNCTION__;
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceNpBasic, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceNpBasic, #name, name)
psv_log_base sceNpBasic("SceNpBasic", []()
{

View File

@ -59,7 +59,7 @@ s32 sceNpCmpNpIdInOrder(vm::psv::ptr<const SceNpId> npid1, vm::psv::ptr<const Sc
throw __FUNCTION__;
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceNpCommon, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceNpCommon, #name, name)
psv_log_base sceNpCommon("SceNpCommon", []()
{

View File

@ -63,7 +63,7 @@ s32 sceNpManagerGetChatRestrictionFlag(vm::psv::ptr<s32> isRestricted)
throw __FUNCTION__;
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceNpManager, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceNpManager, #name, name)
psv_log_base sceNpManager("SceNpManager", []()
{

View File

@ -1302,7 +1302,7 @@ s32 sceNpMatching2SignalingGetPeerNetInfoResult(
throw __FUNCTION__;
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceNpMatching, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceNpMatching, #name, name)
psv_log_base sceNpMatching("SceNpMatching2", []()
{

View File

@ -333,7 +333,7 @@ s32 sceNpScoreSanitizeCommentAsync(s32 reqId, vm::psv::ptr<const char> comment,
throw __FUNCTION__;
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceNpScore, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceNpScore, #name, name)
psv_log_base sceNpScore("SceNpScore", []()
{

View File

@ -136,7 +136,7 @@ s32 sceNpBandwidthTestAbort()
throw __FUNCTION__;
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceNpUtility, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceNpUtility, #name, name)
psv_log_base sceNpUtility("SceNpUtility", []()
{

View File

@ -265,7 +265,7 @@ s32 sceRazorCpuSync()
throw __FUNCTION__;
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &scePerf, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &scePerf, #name, name)
psv_log_base scePerf("ScePerf", []()
{

View File

@ -4,7 +4,7 @@
extern psv_log_base scePgf;
#define REG_FUNC(nid, name) reg_psv_func(nid, &scePgf, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &scePgf, #name, name)
psv_log_base scePgf("ScePgf", []()
{

View File

@ -40,7 +40,7 @@ s32 scePhotoExportFromFile(
throw __FUNCTION__;
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &scePhotoExport, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &scePhotoExport, #name, name)
psv_log_base scePhotoExport("ScePhotoExport", []()
{

View File

@ -19,7 +19,7 @@ bool sceRazorCaptureIsInProgress()
throw __FUNCTION__;
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceRazorCapture, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceRazorCapture, #name, name)
psv_log_base sceRazorCapture("SceRazorCapture", []()
{

View File

@ -190,7 +190,7 @@ s32 sceRtcParseRFC3339(vm::psv::ptr<u64> pUtc, vm::psv::ptr<const char> pszDateT
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceRtc, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceRtc, #name, name)
psv_log_base sceRtc("SceRtc", []()
{

View File

@ -150,7 +150,7 @@ s32 sceSasSetEffectParam(u32 delayTime, u32 feedback)
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceSas, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceSas, #name, name)
psv_log_base sceSas("SceSas", []()
{

View File

@ -33,7 +33,7 @@ s32 sceScreenShotEnable()
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceScreenShot, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceScreenShot, #name, name)
psv_log_base sceScreenShot("SceScreenShot", []()
{

View File

@ -4,7 +4,7 @@
extern psv_log_base sceSfmt;
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceSfmt, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceSfmt, #name, name)
psv_log_base sceSfmt("SceSfmt", []()
{

View File

@ -4,7 +4,7 @@
extern psv_log_base sceSha;
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceSha, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceSha, #name, name)
psv_log_base sceSha("SceSha", []()
{

View File

@ -4,7 +4,7 @@
extern psv_log_base sceSqlite;
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceSqlite, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceSqlite, #name, name)
psv_log_base sceSqlite("SceSqlite", []()
{

View File

@ -60,7 +60,7 @@ s32 sceSslFreeSslCertName(vm::psv::ptr<SceSslCertName> certName)
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceSsl, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceSsl, #name, name)
psv_log_base sceSsl("SceSsl", []()
{

View File

@ -82,7 +82,7 @@ s32 sceSulphaAgentsUnregister(vm::psv::ptr<const SceSulphaHandle> handles, u32 a
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceSulpha, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceSulpha, #name, name)
psv_log_base sceSulpha("SceSulpha", []()
{

View File

@ -25,7 +25,7 @@ s32 sceSysmoduleIsLoaded(u16 id)
return SCE_OK; // module is loaded
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceSysmodule, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceSysmodule, #name, name)
psv_log_base sceSysmodule("SceSysmodule", []()
{

View File

@ -246,7 +246,7 @@ s32 sceSystemGestureGetTouchEventByEventID(vm::psv::ptr<const SceSystemGestureTo
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceSystemGesture, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceSystemGesture, #name, name)
psv_log_base sceSystemGesture("SceSystemGesture", []()
{

View File

@ -30,7 +30,7 @@ s32 sceTouchGetSamplingState(u32 port, vm::psv::ptr<u32> pState)
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceTouch, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceTouch, #name, name)
psv_log_base sceTouch("SceTouch", []()
{

View File

@ -541,7 +541,7 @@ s32 sceUltUlthreadGetSelf(vm::psv::ptr<vm::psv::ptr<SceUltUlthread>> ulthread)
throw __FUNCTION__;
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceUlt, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceUlt, #name, name)
psv_log_base sceUlt("SceUlt", []()
{

View File

@ -176,7 +176,7 @@ s32 sceAvcdecDecodeFlush(vm::psv::ptr<SceAvcdecCtrl> pCtrl)
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceVideodec, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceVideodec, #name, name)
psv_log_base sceVideodec("SceVideodec", []()
{

View File

@ -250,7 +250,7 @@ s32 sceVoiceGetResourceInfo(vm::psv::ptr<SceVoiceResourceInfo> pInfo)
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceVoice, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceVoice, #name, name)
psv_log_base sceVoice("SceVoice", []()
{

View File

@ -112,7 +112,7 @@ s32 sceVoiceQoSReadPacket(SceVoiceQoSConnectionId connectionId, vm::psv::ptr<voi
}
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceVoiceQoS, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceVoiceQoS, #name, name)
psv_log_base sceVoiceQoS("SceVoiceQos", []()
{

View File

@ -4,7 +4,7 @@
extern psv_log_base sceXml;
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceXml, #name, name)
#define REG_FUNC(nid, name) reg_psv_func<name>(nid, &sceXml, #name, name)
psv_log_base sceXml("SceXml", []()
{

View File

@ -223,10 +223,10 @@ void initialize_psv_modules()
psv_func& hle_return = g_psv_func_list[SFI_HLE_RETURN];
hle_return.nid = 0;
hle_return.name = "HLE_RETURN";
hle_return.func.reset(new psv_func_detail::func_binder<void, ARMv7Context&>([](ARMv7Context& context)
hle_return.func = [](ARMv7Context& context)
{
context.thread.FastStop();
}));
};
// load functions
for (auto module : g_psv_modules)

View File

@ -33,14 +33,6 @@ public:
};
// Abstract HLE function caller base class
class psv_func_caller
{
public:
virtual void operator()(ARMv7Context& CPU) = 0;
virtual ~psv_func_caller(){};
};
// Utilities for binding ARMv7Context to C++ function arguments received by HLE functions or sent to callbacks
namespace psv_func_detail
{
@ -360,82 +352,50 @@ namespace psv_func_detail
return put_func_args<g1, f, v>(context, args...) || (t == ARG_STACK);
}
template<typename RT, typename... T>
class func_binder;
template<void* func, typename RT, typename... T>
struct func_binder;
template<typename... T>
class func_binder<void, T...> : public psv_func_caller
template<void* func, typename... T>
struct func_binder<func, void, T...>
{
typedef void(*func_t)(T...);
const func_t m_call;
public:
func_binder(func_t call)
: psv_func_caller()
, m_call(call)
static void do_call(ARMv7Context& context)
{
}
virtual void operator()(ARMv7Context& context)
{
call<void>(m_call, get_func_args<0, 0, 0, T...>(context));
call<void>((func_t)func, get_func_args<0, 0, 0, T...>(context));
}
};
template<typename... T>
class func_binder<void, ARMv7Context&, T...> : public psv_func_caller
template<void* func, typename... T>
struct func_binder<func, void, ARMv7Context&, T...>
{
typedef void(*func_t)(ARMv7Context&, T...);
const func_t m_call;
public:
func_binder(func_t call)
: psv_func_caller()
, m_call(call)
static void do_call(ARMv7Context& context)
{
}
virtual void operator()(ARMv7Context& context)
{
call<void>(m_call, std::tuple_cat(std::tuple<ARMv7Context&>(context), get_func_args<0, 0, 0, T...>(context)));
call<void>((func_t)func, std::tuple_cat(std::tuple<ARMv7Context&>(context), get_func_args<0, 0, 0, T...>(context)));
}
};
template<typename RT, typename... T>
class func_binder : public psv_func_caller
template<void* func, typename RT, typename... T>
struct func_binder
{
typedef RT(*func_t)(T...);
const func_t m_call;
public:
func_binder(func_t call)
: psv_func_caller()
, m_call(call)
static void do_call(ARMv7Context& context)
{
}
virtual void operator()(ARMv7Context& context)
{
bind_result<RT, result_type<RT>::value>::put_result(context, call<RT>(m_call, get_func_args<0, 0, 0, T...>(context)));
bind_result<RT, result_type<RT>::value>::put_result(context, call<RT>((func_t)func, get_func_args<0, 0, 0, T...>(context)));
}
};
template<typename RT, typename... T>
class func_binder<RT, ARMv7Context&, T...> : public psv_func_caller
template<void* func, typename RT, typename... T>
struct func_binder<func, RT, ARMv7Context&, T...>
{
typedef RT(*func_t)(ARMv7Context&, T...);
const func_t m_call;
public:
func_binder(func_t call)
: psv_func_caller()
, m_call(call)
static void do_call(ARMv7Context& context)
{
}
virtual void operator()(ARMv7Context& context)
{
bind_result<RT, result_type<RT>::value>::put_result(context, call<RT>(m_call, std::tuple_cat(std::tuple<ARMv7Context&>(context), get_func_args<0, 0, 0, T...>(context))));
bind_result<RT, result_type<RT>::value>::put_result(context, call<RT>((func_t)func, std::tuple_cat(std::tuple<ARMv7Context&>(context), get_func_args<0, 0, 0, T...>(context))));
}
};
@ -474,7 +434,7 @@ struct psv_func
{
u32 nid; // Unique function ID (should be generated individually for each elf loaded)
const char* name; // Function name for information
std::shared_ptr<psv_func_caller> func; // Function caller instance
void(*func)(ARMv7Context& context); // Function caller
psv_log_base* module; // Module for information
};
@ -488,12 +448,12 @@ enum psv_special_function_index : u16
// Do not call directly
u32 add_psv_func(psv_func data);
// Do not call directly
template<typename RT, typename... T> void reg_psv_func(u32 nid, psv_log_base* module, const char* name, RT(*func)(T...))
template<void* func, typename RT, typename... T> void reg_psv_func(u32 nid, psv_log_base* module, const char* name, RT(*_func)(T...))
{
psv_func f;
f.nid = nid;
f.name = name;
f.func.reset(new psv_func_detail::func_binder<RT, T...>(func));
f.func = psv_func_detail::func_binder<func, RT, T...>::do_call;
f.module = module;
add_psv_func(f);

View File

@ -10,10 +10,10 @@ struct ModuleFunc
{
u32 id;
Module* module;
std::shared_ptr<func_caller> func;
void(*func)(PPUThread&);
vm::ptr<void()> lle_func;
ModuleFunc(u32 id, Module* module, func_caller* func, vm::ptr<void()> lle_func = vm::ptr<void()>::make(0))
ModuleFunc(u32 id, Module* module, void(*func)(PPUThread&), vm::ptr<void()> lle_func = vm::ptr<void()>::make(0))
: id(id)
, module(module)
, func(func)
@ -111,9 +111,9 @@ public:
bool RemoveId(u32 id);
template<typename T> __forceinline void AddFunc(u32 id, T func);
template<typename T> __forceinline void AddFunc(const char* name, T func);
template<typename T> __forceinline void AddFuncSub(const char group[8], const u64 ops[], const char* name, T func);
template<void* func, typename T> __forceinline u32 AddFunc(const u32 nid, T _func);
template<void* func, typename T> __forceinline u32 AddFunc(const char* name, T _func);
template<void* func, typename T> __forceinline u32 AddFuncSub(const char group[8], const u64 ops[], const char* name, T _func);
};
u32 add_ps3_func(ModuleFunc func);
@ -123,25 +123,23 @@ void execute_ps3_func_by_index(PPUThread& CPU, u32 id);
void clear_ps3_functions();
u32 get_function_id(const char* name);
template<typename T>
__forceinline void Module::AddFunc(u32 id, T func)
template<void* func, typename T>
__forceinline u32 Module::AddFunc(const u32 nid, T _func)
{
add_ps3_func(ModuleFunc(id, this, bind_func(func)));
return add_ps3_func(ModuleFunc(nid, this, ppu_func_detail::_bind_func<func>(_func)));
}
template<typename T>
__forceinline void Module::AddFunc(const char* name, T func)
template<void* func, typename T>
__forceinline u32 Module::AddFunc(const char* name, T _func)
{
AddFunc(get_function_id(name), func);
return AddFunc<func>(get_function_id(name), _func);
}
template<typename T>
__forceinline void Module::AddFuncSub(const char group[8], const u64 ops[], const char* name, T func)
template<void* func, typename T>
__forceinline u32 Module::AddFuncSub(const char group[8], const u64 ops[], const char* name, T _func)
{
if (!ops[0]) return;
SFunc* sf = new SFunc;
sf->index = add_ps3_func(ModuleFunc(get_function_id(name), this, bind_func(func)));
sf->index = AddFunc<func>(name, _func);
sf->name = name;
sf->group = *(u64*)group;
sf->found = 0;
@ -157,13 +155,16 @@ __forceinline void Module::AddFuncSub(const char group[8], const u64 ops[], cons
op.crc = re32(op.crc);
sf->ops.push_back(op);
}
PushNewFuncSub(sf);
return sf->index;
}
#define REG_SUB(module, group, name, ...) \
static const u64 name ## _table[] = {__VA_ARGS__ , 0}; \
module.AddFuncSub(group, name ## _table, #name, name)
if (name ## _table[0]) module.AddFuncSub<name>(group, name ## _table, #name, name)
#define REG_FUNC(module, name) module.AddFunc(get_function_id(#name), name)
#define REG_FUNC(module, name) module.AddFunc<name>(#name, name)
#define UNIMPLEMENTED_FUNC(module) module.Error("%s", __FUNCTION__)

View File

@ -212,34 +212,34 @@ s32 cellAtracGetInternalErrorInfo(vm::ptr<CellAtracHandle> pHandle, vm::ptr<u32>
Module cellAtrac("cellAtrac", []()
{
cellAtrac.AddFunc(0x66afc68e, cellAtracSetDataAndGetMemSize);
REG_FUNC(cellAtrac, cellAtracSetDataAndGetMemSize);
cellAtrac.AddFunc(0xfa293e88, cellAtracCreateDecoder);
cellAtrac.AddFunc(0x2642d4cc, cellAtracCreateDecoderExt);
cellAtrac.AddFunc(0x761cb9be, cellAtracDeleteDecoder);
REG_FUNC(cellAtrac, cellAtracCreateDecoder);
REG_FUNC(cellAtrac, cellAtracCreateDecoderExt);
REG_FUNC(cellAtrac, cellAtracDeleteDecoder);
cellAtrac.AddFunc(0x8eb0e65f, cellAtracDecode);
REG_FUNC(cellAtrac, cellAtracDecode);
cellAtrac.AddFunc(0x2bfff084, cellAtracGetStreamDataInfo);
cellAtrac.AddFunc(0x46cfc013, cellAtracAddStreamData);
cellAtrac.AddFunc(0xdfab73aa, cellAtracGetRemainFrame);
cellAtrac.AddFunc(0xc9a95fcb, cellAtracGetVacantSize);
cellAtrac.AddFunc(0x99efe171, cellAtracIsSecondBufferNeeded);
cellAtrac.AddFunc(0xbe07f05e, cellAtracGetSecondBufferInfo);
cellAtrac.AddFunc(0x06ddb53e, cellAtracSetSecondBuffer);
REG_FUNC(cellAtrac, cellAtracGetStreamDataInfo);
REG_FUNC(cellAtrac, cellAtracAddStreamData);
REG_FUNC(cellAtrac, cellAtracGetRemainFrame);
REG_FUNC(cellAtrac, cellAtracGetVacantSize);
REG_FUNC(cellAtrac, cellAtracIsSecondBufferNeeded);
REG_FUNC(cellAtrac, cellAtracGetSecondBufferInfo);
REG_FUNC(cellAtrac, cellAtracSetSecondBuffer);
cellAtrac.AddFunc(0x0f9667b6, cellAtracGetChannel);
cellAtrac.AddFunc(0x5f62d546, cellAtracGetMaxSample);
cellAtrac.AddFunc(0x4797d1ff, cellAtracGetNextSample);
cellAtrac.AddFunc(0xcf01d5d4, cellAtracGetSoundInfo);
cellAtrac.AddFunc(0x7b22e672, cellAtracGetNextDecodePosition);
cellAtrac.AddFunc(0x006016da, cellAtracGetBitrate);
REG_FUNC(cellAtrac, cellAtracGetChannel);
REG_FUNC(cellAtrac, cellAtracGetMaxSample);
REG_FUNC(cellAtrac, cellAtracGetNextSample);
REG_FUNC(cellAtrac, cellAtracGetSoundInfo);
REG_FUNC(cellAtrac, cellAtracGetNextDecodePosition);
REG_FUNC(cellAtrac, cellAtracGetBitrate);
cellAtrac.AddFunc(0xab6b6dbf, cellAtracGetLoopInfo);
cellAtrac.AddFunc(0x78ba5c41, cellAtracSetLoopNum);
REG_FUNC(cellAtrac, cellAtracGetLoopInfo);
REG_FUNC(cellAtrac, cellAtracSetLoopNum);
cellAtrac.AddFunc(0x99fb73d1, cellAtracGetBufferInfoForResetting);
cellAtrac.AddFunc(0x7772eb2b, cellAtracResetPlayPosition);
REG_FUNC(cellAtrac, cellAtracGetBufferInfoForResetting);
REG_FUNC(cellAtrac, cellAtracResetPlayPosition);
cellAtrac.AddFunc(0xb5c11938, cellAtracGetInternalErrorInfo);
REG_FUNC(cellAtrac, cellAtracGetInternalErrorInfo);
});

View File

@ -41,9 +41,9 @@ int cellBGDLGetMode()
void cellBgdl_init()
{
cellBgdl.AddFunc(0x4e9bb95b, cellBGDLGetInfo);
cellBgdl.AddFunc(0x2ab0d183, cellBGDLGetInfo2);
cellBgdl.AddFunc(0x7e134a90, cellBGDLSetMode);
cellBgdl.AddFunc(0x74e57bdf, cellBGDLGetMode);
REG_FUNC(cellBgdl, cellBGDLGetInfo);
REG_FUNC(cellBgdl, cellBGDLGetInfo2);
REG_FUNC(cellBgdl, cellBGDLSetMode);
REG_FUNC(cellBgdl, cellBGDLGetMode);
}
#endif

View File

@ -569,38 +569,38 @@ void cellCamera_unload()
Module cellCamera("cellCamera", []()
{
cellCamera.AddFunc(0xbf47c5dd, cellCameraInit);
cellCamera.AddFunc(0x5ad46570, cellCameraEnd);
cellCamera.AddFunc(0x85e1b8da, cellCameraOpen);
cellCamera.AddFunc(0x5d25f866, cellCameraOpenEx);
cellCamera.AddFunc(0x379c5dd6, cellCameraClose);
REG_FUNC(cellCamera, cellCameraInit);
REG_FUNC(cellCamera, cellCameraEnd);
REG_FUNC(cellCamera, cellCameraOpen);
REG_FUNC(cellCamera, cellCameraOpenEx);
REG_FUNC(cellCamera, cellCameraClose);
cellCamera.AddFunc(0x602e2052, cellCameraGetDeviceGUID);
cellCamera.AddFunc(0x58bc5870, cellCameraGetType);
cellCamera.AddFunc(0x8ca53dde, cellCameraIsAvailable);
cellCamera.AddFunc(0x7e063bbc, cellCameraIsAttached);
cellCamera.AddFunc(0xfa160f24, cellCameraIsOpen);
cellCamera.AddFunc(0x5eebf24e, cellCameraIsStarted);
cellCamera.AddFunc(0x532b8aaa, cellCameraGetAttribute);
cellCamera.AddFunc(0x8cd56eee, cellCameraSetAttribute);
cellCamera.AddFunc(0x7dac520c, cellCameraGetBufferSize);
cellCamera.AddFunc(0x10697d7f, cellCameraGetBufferInfo);
cellCamera.AddFunc(0x0e63c444, cellCameraGetBufferInfoEx);
REG_FUNC(cellCamera, cellCameraGetDeviceGUID);
REG_FUNC(cellCamera, cellCameraGetType);
REG_FUNC(cellCamera, cellCameraIsAvailable);
REG_FUNC(cellCamera, cellCameraIsAttached);
REG_FUNC(cellCamera, cellCameraIsOpen);
REG_FUNC(cellCamera, cellCameraIsStarted);
REG_FUNC(cellCamera, cellCameraGetAttribute);
REG_FUNC(cellCamera, cellCameraSetAttribute);
REG_FUNC(cellCamera, cellCameraGetBufferSize);
REG_FUNC(cellCamera, cellCameraGetBufferInfo);
REG_FUNC(cellCamera, cellCameraGetBufferInfoEx);
cellCamera.AddFunc(0x61dfbe83, cellCameraPrepExtensionUnit);
cellCamera.AddFunc(0xeb6f95fb, cellCameraCtrlExtensionUnit);
cellCamera.AddFunc(0xb602e328, cellCameraGetExtensionUnit);
cellCamera.AddFunc(0x2dea3e9b, cellCameraSetExtensionUnit);
REG_FUNC(cellCamera, cellCameraPrepExtensionUnit);
REG_FUNC(cellCamera, cellCameraCtrlExtensionUnit);
REG_FUNC(cellCamera, cellCameraGetExtensionUnit);
REG_FUNC(cellCamera, cellCameraSetExtensionUnit);
cellCamera.AddFunc(0x81f83db9, cellCameraReset);
cellCamera.AddFunc(0x456dc4aa, cellCameraStart);
cellCamera.AddFunc(0x3845d39b, cellCameraRead);
cellCamera.AddFunc(0x21fc151f, cellCameraReadEx);
cellCamera.AddFunc(0xe28b206b, cellCameraReadComplete);
cellCamera.AddFunc(0x02f5ced0, cellCameraStop);
REG_FUNC(cellCamera, cellCameraReset);
REG_FUNC(cellCamera, cellCameraStart);
REG_FUNC(cellCamera, cellCameraRead);
REG_FUNC(cellCamera, cellCameraReadEx);
REG_FUNC(cellCamera, cellCameraReadComplete);
REG_FUNC(cellCamera, cellCameraStop);
cellCamera.AddFunc(0xb0647e5a, cellCameraSetNotifyEventQueue);
cellCamera.AddFunc(0x9b98d258, cellCameraRemoveNotifyEventQueue);
cellCamera.AddFunc(0xa7fd2f5b, cellCameraSetNotifyEventQueue2);
cellCamera.AddFunc(0x44673f07, cellCameraRemoveNotifyEventQueue2);
REG_FUNC(cellCamera, cellCameraSetNotifyEventQueue);
REG_FUNC(cellCamera, cellCameraRemoveNotifyEventQueue);
REG_FUNC(cellCamera, cellCameraSetNotifyEventQueue2);
REG_FUNC(cellCamera, cellCameraRemoveNotifyEventQueue2);
});

View File

@ -71,14 +71,14 @@ int cellCelp8EncGetAu()
void cellCelp8Enc_init()
{
cellCelp8Enc.AddFunc(0x2d677e0c, cellCelp8EncQueryAttr);
cellCelp8Enc.AddFunc(0x2eb6efee, cellCelp8EncOpen);
cellCelp8Enc.AddFunc(0xcd48ad62, cellCelp8EncOpenEx);
cellCelp8Enc.AddFunc(0xfd2566b4, cellCelp8EncClose);
cellCelp8Enc.AddFunc(0x0f6ab57b, cellCelp8EncStart);
cellCelp8Enc.AddFunc(0xbbbc2c1c, cellCelp8EncEnd);
cellCelp8Enc.AddFunc(0x2099f86e, cellCelp8EncEncodeFrame);
cellCelp8Enc.AddFunc(0x29da1ea6, cellCelp8EncWaitForOutput);
cellCelp8Enc.AddFunc(0x48c5020d, cellCelp8EncGetAu);
REG_FUNC(cellCelp8Enc, cellCelp8EncQueryAttr);
REG_FUNC(cellCelp8Enc, cellCelp8EncOpen);
REG_FUNC(cellCelp8Enc, cellCelp8EncOpenEx);
REG_FUNC(cellCelp8Enc, cellCelp8EncClose);
REG_FUNC(cellCelp8Enc, cellCelp8EncStart);
REG_FUNC(cellCelp8Enc, cellCelp8EncEnd);
REG_FUNC(cellCelp8Enc, cellCelp8EncEncodeFrame);
REG_FUNC(cellCelp8Enc, cellCelp8EncWaitForOutput);
REG_FUNC(cellCelp8Enc, cellCelp8EncGetAu);
}
#endif

View File

@ -71,14 +71,14 @@ int cellCelpEncGetAu()
void cellCelpEnc_init()
{
cellCelpEnc.AddFunc(0x6b148570, cellCelpEncQueryAttr);
cellCelpEnc.AddFunc(0x77b3b29a, cellCelpEncOpen);
cellCelpEnc.AddFunc(0x9eb084db, cellCelpEncOpenEx);
cellCelpEnc.AddFunc(0x15ec0cca, cellCelpEncClose);
cellCelpEnc.AddFunc(0x55dc23de, cellCelpEncStart);
cellCelpEnc.AddFunc(0xf2b85dff, cellCelpEncEnd);
cellCelpEnc.AddFunc(0x81fe030c, cellCelpEncEncodeFrame);
cellCelpEnc.AddFunc(0x9b244272, cellCelpEncWaitForOutput);
cellCelpEnc.AddFunc(0x3773692f, cellCelpEncGetAu);
REG_FUNC(cellCelpEnc, cellCelpEncQueryAttr);
REG_FUNC(cellCelpEnc, cellCelpEncOpen);
REG_FUNC(cellCelpEnc, cellCelpEncOpenEx);
REG_FUNC(cellCelpEnc, cellCelpEncClose);
REG_FUNC(cellCelpEnc, cellCelpEncStart);
REG_FUNC(cellCelpEnc, cellCelpEncEnd);
REG_FUNC(cellCelpEnc, cellCelpEncEncodeFrame);
REG_FUNC(cellCelpEnc, cellCelpEncWaitForOutput);
REG_FUNC(cellCelpEnc, cellCelpEncGetAu);
}
#endif

View File

@ -1170,24 +1170,24 @@ int cellDmuxFlushEs(u32 esHandle)
Module cellDmux("cellDmux", []()
{
cellDmux.AddFunc(0xa2d4189b, cellDmuxQueryAttr);
cellDmux.AddFunc(0x3f76e3cd, cellDmuxQueryAttr2);
cellDmux.AddFunc(0x68492de9, cellDmuxOpen);
cellDmux.AddFunc(0xf6c23560, cellDmuxOpenEx);
cellDmux.AddFunc(0x11bc3a6c, cellDmuxOpen2);
cellDmux.AddFunc(0x8c692521, cellDmuxClose);
cellDmux.AddFunc(0x04e7499f, cellDmuxSetStream);
cellDmux.AddFunc(0x5d345de9, cellDmuxResetStream);
cellDmux.AddFunc(0xccff1284, cellDmuxResetStreamAndWaitDone);
cellDmux.AddFunc(0x02170d1a, cellDmuxQueryEsAttr);
cellDmux.AddFunc(0x52911bcf, cellDmuxQueryEsAttr2);
cellDmux.AddFunc(0x7b56dc3f, cellDmuxEnableEs);
cellDmux.AddFunc(0x05371c8d, cellDmuxDisableEs);
cellDmux.AddFunc(0x21d424f0, cellDmuxResetEs);
cellDmux.AddFunc(0x42c716b5, cellDmuxGetAu);
cellDmux.AddFunc(0x2750c5e0, cellDmuxPeekAu);
cellDmux.AddFunc(0x2c9a5857, cellDmuxGetAuEx);
cellDmux.AddFunc(0x002e8da2, cellDmuxPeekAuEx);
cellDmux.AddFunc(0x24ea6474, cellDmuxReleaseAu);
cellDmux.AddFunc(0xebb3b2bd, cellDmuxFlushEs);
REG_FUNC(cellDmux, cellDmuxQueryAttr);
REG_FUNC(cellDmux, cellDmuxQueryAttr2);
REG_FUNC(cellDmux, cellDmuxOpen);
REG_FUNC(cellDmux, cellDmuxOpenEx);
REG_FUNC(cellDmux, cellDmuxOpen2);
REG_FUNC(cellDmux, cellDmuxClose);
REG_FUNC(cellDmux, cellDmuxSetStream);
REG_FUNC(cellDmux, cellDmuxResetStream);
REG_FUNC(cellDmux, cellDmuxResetStreamAndWaitDone);
REG_FUNC(cellDmux, cellDmuxQueryEsAttr);
REG_FUNC(cellDmux, cellDmuxQueryEsAttr2);
REG_FUNC(cellDmux, cellDmuxEnableEs);
REG_FUNC(cellDmux, cellDmuxDisableEs);
REG_FUNC(cellDmux, cellDmuxResetEs);
REG_FUNC(cellDmux, cellDmuxGetAu);
REG_FUNC(cellDmux, cellDmuxPeekAu);
REG_FUNC(cellDmux, cellDmuxGetAuEx);
REG_FUNC(cellDmux, cellDmuxPeekAuEx);
REG_FUNC(cellDmux, cellDmuxReleaseAu);
REG_FUNC(cellDmux, cellDmuxFlushEs);
});

View File

@ -293,57 +293,57 @@ int cellFiberPpuUtilWorkerControlInitializeWithAttribute()
Module cellFiber("cellFiber", []()
{
cellFiber.AddFunc(0x55870804, _cellFiberPpuInitialize);
REG_FUNC(cellFiber, _cellFiberPpuInitialize);
cellFiber.AddFunc(0x9e25c72d, _cellFiberPpuSchedulerAttributeInitialize);
cellFiber.AddFunc(0xee3b604d, cellFiberPpuInitializeScheduler);
cellFiber.AddFunc(0x8b6baa01, cellFiberPpuFinalizeScheduler);
cellFiber.AddFunc(0x12b1acf0, cellFiberPpuRunFibers);
cellFiber.AddFunc(0xf6c6900c, cellFiberPpuCheckFlags);
cellFiber.AddFunc(0xe492a675, cellFiberPpuHasRunnableFiber);
REG_FUNC(cellFiber, _cellFiberPpuSchedulerAttributeInitialize);
REG_FUNC(cellFiber, cellFiberPpuInitializeScheduler);
REG_FUNC(cellFiber, cellFiberPpuFinalizeScheduler);
REG_FUNC(cellFiber, cellFiberPpuRunFibers);
REG_FUNC(cellFiber, cellFiberPpuCheckFlags);
REG_FUNC(cellFiber, cellFiberPpuHasRunnableFiber);
cellFiber.AddFunc(0xc11f8056, _cellFiberPpuAttributeInitialize);
cellFiber.AddFunc(0x7c2f4034, cellFiberPpuCreateFiber);
cellFiber.AddFunc(0xfa8d5f95, cellFiberPpuExit);
cellFiber.AddFunc(0x0c44f441, cellFiberPpuYield);
cellFiber.AddFunc(0xa6004249, cellFiberPpuJoinFiber);
cellFiber.AddFunc(0x5d9a7034, cellFiberPpuSelf);
cellFiber.AddFunc(0x8afb8356, cellFiberPpuSendSignal);
cellFiber.AddFunc(0x6c164b3b, cellFiberPpuWaitSignal);
cellFiber.AddFunc(0xa4599cf3, cellFiberPpuWaitFlag);
cellFiber.AddFunc(0xb0594b2d, cellFiberPpuGetScheduler);
cellFiber.AddFunc(0xfbf5fe40, cellFiberPpuSetPriority);
cellFiber.AddFunc(0xf3e81219, cellFiberPpuCheckStackLimit);
REG_FUNC(cellFiber, _cellFiberPpuAttributeInitialize);
REG_FUNC(cellFiber, cellFiberPpuCreateFiber);
REG_FUNC(cellFiber, cellFiberPpuExit);
REG_FUNC(cellFiber, cellFiberPpuYield);
REG_FUNC(cellFiber, cellFiberPpuJoinFiber);
REG_FUNC(cellFiber, cellFiberPpuSelf);
REG_FUNC(cellFiber, cellFiberPpuSendSignal);
REG_FUNC(cellFiber, cellFiberPpuWaitSignal);
REG_FUNC(cellFiber, cellFiberPpuWaitFlag);
REG_FUNC(cellFiber, cellFiberPpuGetScheduler);
REG_FUNC(cellFiber, cellFiberPpuSetPriority);
REG_FUNC(cellFiber, cellFiberPpuCheckStackLimit);
cellFiber.AddFunc(0x31252ec3, _cellFiberPpuContextAttributeInitialize);
cellFiber.AddFunc(0x72086315, cellFiberPpuContextInitialize);
cellFiber.AddFunc(0xb3a48079, cellFiberPpuContextFinalize);
cellFiber.AddFunc(0xaba1c563, cellFiberPpuContextRun);
cellFiber.AddFunc(0xd0066b17, cellFiberPpuContextSwitch);
cellFiber.AddFunc(0x34a81091, cellFiberPpuContextSelf);
cellFiber.AddFunc(0x01036193, cellFiberPpuContextReturnToThread);
cellFiber.AddFunc(0xb90c871b, cellFiberPpuContextCheckStackLimit);
REG_FUNC(cellFiber, _cellFiberPpuContextAttributeInitialize);
REG_FUNC(cellFiber, cellFiberPpuContextInitialize);
REG_FUNC(cellFiber, cellFiberPpuContextFinalize);
REG_FUNC(cellFiber, cellFiberPpuContextRun);
REG_FUNC(cellFiber, cellFiberPpuContextSwitch);
REG_FUNC(cellFiber, cellFiberPpuContextSelf);
REG_FUNC(cellFiber, cellFiberPpuContextReturnToThread);
REG_FUNC(cellFiber, cellFiberPpuContextCheckStackLimit);
cellFiber.AddFunc(0x081c98be, cellFiberPpuContextRunScheduler);
cellFiber.AddFunc(0x0a25b6c8, cellFiberPpuContextEnterScheduler);
REG_FUNC(cellFiber, cellFiberPpuContextRunScheduler);
REG_FUNC(cellFiber, cellFiberPpuContextEnterScheduler);
cellFiber.AddFunc(0xbf9cd933, cellFiberPpuSchedulerTraceInitialize);
cellFiber.AddFunc(0x3860a12a, cellFiberPpuSchedulerTraceFinalize);
cellFiber.AddFunc(0xadedbebf, cellFiberPpuSchedulerTraceStart);
cellFiber.AddFunc(0xe665f9a9, cellFiberPpuSchedulerTraceStop);
REG_FUNC(cellFiber, cellFiberPpuSchedulerTraceInitialize);
REG_FUNC(cellFiber, cellFiberPpuSchedulerTraceFinalize);
REG_FUNC(cellFiber, cellFiberPpuSchedulerTraceStart);
REG_FUNC(cellFiber, cellFiberPpuSchedulerTraceStop);
cellFiber.AddFunc(0x68ba4568, _cellFiberPpuUtilWorkerControlAttributeInitialize);
cellFiber.AddFunc(0x1e7a247a, cellFiberPpuUtilWorkerControlRunFibers);
cellFiber.AddFunc(0x3204b146, cellFiberPpuUtilWorkerControlInitialize);
cellFiber.AddFunc(0x392c5aa5, cellFiberPpuUtilWorkerControlSetPollingMode);
cellFiber.AddFunc(0x3b417f82, cellFiberPpuUtilWorkerControlJoinFiber);
cellFiber.AddFunc(0x4fc86b2c, cellFiberPpuUtilWorkerControlDisconnectEventQueue);
cellFiber.AddFunc(0x5d3992dd, cellFiberPpuUtilWorkerControlSendSignal);
cellFiber.AddFunc(0x62a20f0d, cellFiberPpuUtilWorkerControlConnectEventQueueToSpurs);
cellFiber.AddFunc(0xa27c95ca, cellFiberPpuUtilWorkerControlFinalize);
cellFiber.AddFunc(0xbabf714b, cellFiberPpuUtilWorkerControlWakeup);
cellFiber.AddFunc(0xbfca88d3, cellFiberPpuUtilWorkerControlCreateFiber);
cellFiber.AddFunc(0xc04e2438, cellFiberPpuUtilWorkerControlShutdown);
cellFiber.AddFunc(0xea6dc1ad, cellFiberPpuUtilWorkerControlCheckFlags);
cellFiber.AddFunc(0xf2ccad4f, cellFiberPpuUtilWorkerControlInitializeWithAttribute);
REG_FUNC(cellFiber, _cellFiberPpuUtilWorkerControlAttributeInitialize);
REG_FUNC(cellFiber, cellFiberPpuUtilWorkerControlRunFibers);
REG_FUNC(cellFiber, cellFiberPpuUtilWorkerControlInitialize);
REG_FUNC(cellFiber, cellFiberPpuUtilWorkerControlSetPollingMode);
REG_FUNC(cellFiber, cellFiberPpuUtilWorkerControlJoinFiber);
REG_FUNC(cellFiber, cellFiberPpuUtilWorkerControlDisconnectEventQueue);
REG_FUNC(cellFiber, cellFiberPpuUtilWorkerControlSendSignal);
REG_FUNC(cellFiber, cellFiberPpuUtilWorkerControlConnectEventQueueToSpurs);
REG_FUNC(cellFiber, cellFiberPpuUtilWorkerControlFinalize);
REG_FUNC(cellFiber, cellFiberPpuUtilWorkerControlWakeup);
REG_FUNC(cellFiber, cellFiberPpuUtilWorkerControlCreateFiber);
REG_FUNC(cellFiber, cellFiberPpuUtilWorkerControlShutdown);
REG_FUNC(cellFiber, cellFiberPpuUtilWorkerControlCheckFlags);
REG_FUNC(cellFiber, cellFiberPpuUtilWorkerControlInitializeWithAttribute);
});

View File

@ -588,54 +588,54 @@ Module cellFont("cellFont", []()
delete s_fontInternalInstance;
};
cellFont.AddFunc(0x25c107e6, cellFontInit);
cellFont.AddFunc(0x6bf6f832, cellFontSetFontsetOpenMode);
cellFont.AddFunc(0x6cfada83, cellFontSetFontOpenMode);
cellFont.AddFunc(0x042e74e3, cellFontCreateRenderer);
cellFont.AddFunc(0x1387c45c, cellFontGetHorizontalLayout);
cellFont.AddFunc(0x21ebb248, cellFontDestroyRenderer);
cellFont.AddFunc(0x227e1e3c, cellFontSetupRenderScalePixel);
cellFont.AddFunc(0x29329541, cellFontOpenFontInstance);
cellFont.AddFunc(0x297f0e93, cellFontSetScalePixel);
cellFont.AddFunc(0x2da9fd9d, cellFontGetRenderCharGlyphMetrics);
cellFont.AddFunc(0x40d40544, cellFontEndLibrary);
cellFont.AddFunc(0x66a23100, cellFontBindRenderer);
cellFont.AddFunc(0x7ab47f7e, cellFontEnd);
cellFont.AddFunc(0x8657c8f5, cellFontSetEffectSlant);
cellFont.AddFunc(0xe16e679a, cellFontGetEffectSlant);
cellFont.AddFunc(0x88be4799, cellFontRenderCharGlyphImage);
cellFont.AddFunc(0x90b9465e, cellFontRenderSurfaceInit);
cellFont.AddFunc(0x98ac5524, cellFontGetFontIdCode);
cellFont.AddFunc(0xa885cc9b, cellFontOpenFontset);
cellFont.AddFunc(0xb276f1f6, cellFontCloseFont);
cellFont.AddFunc(0xb422b005, cellFontRenderSurfaceSetScissor);
cellFont.AddFunc(0xd8eaee9f, cellFontGetCharGlyphMetrics);
cellFont.AddFunc(0xf03dcc29, cellFontInitializeWithRevision);
cellFont.AddFunc(0x061049ad, cellFontGraphicsSetFontRGBA);
cellFont.AddFunc(0x073fa321, cellFontOpenFontsetOnMemory);
cellFont.AddFunc(0x0a7306a4, cellFontOpenFontFile);
cellFont.AddFunc(0x16322df1, cellFontGraphicsSetScalePixel);
cellFont.AddFunc(0x2388186c, cellFontGraphicsGetScalePixel);
cellFont.AddFunc(0x25253fe4, cellFontSetEffectWeight);
cellFont.AddFunc(0x53f529fe, cellFontGlyphSetupVertexesGlyph);
cellFont.AddFunc(0x698897f8, cellFontGetVerticalLayout);
cellFont.AddFunc(0x700e6223, cellFontGetRenderCharGlyphMetricsVertical);
cellFont.AddFunc(0x70f3e728, cellFontSetScalePoint);
cellFont.AddFunc(0x78d05e08, cellFontSetupRenderEffectSlant);
cellFont.AddFunc(0x7c83bc15, cellFontGraphicsSetLineRGBA);
cellFont.AddFunc(0x87bd650f, cellFontGraphicsSetDrawType);
cellFont.AddFunc(0x8a35c887, cellFontEndGraphics);
cellFont.AddFunc(0x970d4c22, cellFontGraphicsSetupDrawContext);
cellFont.AddFunc(0x9e19072b, cellFontOpenFontMemory);
cellFont.AddFunc(0xa6dc25d1, cellFontSetupRenderEffectWeight);
cellFont.AddFunc(0xa8fae920, cellFontGlyphGetOutlineControlDistance);
cellFont.AddFunc(0xb4d112af, cellFontGlyphGetVertexesGlyphSize);
cellFont.AddFunc(0xc17259de, cellFontGenerateCharGlyph);
cellFont.AddFunc(0xd62f5d76, cellFontDeleteGlyph);
cellFont.AddFunc(0xdee0836c, cellFontExtend);
cellFont.AddFunc(0xe857a0ca, cellFontRenderCharGlyphImageVertical);
cellFont.AddFunc(0xfb3341ba, cellFontSetResolutionDpi);
cellFont.AddFunc(0xfe9a6dd7, cellFontGetCharGlyphMetricsVertical);
cellFont.AddFunc(0xf16379fa, cellFontUnbindRenderer);
cellFont.AddFunc(0xb015a84e, cellFontGetRevisionFlags);
REG_FUNC(cellFont, cellFontInit);
REG_FUNC(cellFont, cellFontSetFontsetOpenMode);
REG_FUNC(cellFont, cellFontSetFontOpenMode);
REG_FUNC(cellFont, cellFontCreateRenderer);
REG_FUNC(cellFont, cellFontGetHorizontalLayout);
REG_FUNC(cellFont, cellFontDestroyRenderer);
REG_FUNC(cellFont, cellFontSetupRenderScalePixel);
REG_FUNC(cellFont, cellFontOpenFontInstance);
REG_FUNC(cellFont, cellFontSetScalePixel);
REG_FUNC(cellFont, cellFontGetRenderCharGlyphMetrics);
REG_FUNC(cellFont, cellFontEndLibrary);
REG_FUNC(cellFont, cellFontBindRenderer);
REG_FUNC(cellFont, cellFontEnd);
REG_FUNC(cellFont, cellFontSetEffectSlant);
REG_FUNC(cellFont, cellFontGetEffectSlant);
REG_FUNC(cellFont, cellFontRenderCharGlyphImage);
REG_FUNC(cellFont, cellFontRenderSurfaceInit);
REG_FUNC(cellFont, cellFontGetFontIdCode);
REG_FUNC(cellFont, cellFontOpenFontset);
REG_FUNC(cellFont, cellFontCloseFont);
REG_FUNC(cellFont, cellFontRenderSurfaceSetScissor);
REG_FUNC(cellFont, cellFontGetCharGlyphMetrics);
REG_FUNC(cellFont, cellFontInitializeWithRevision);
REG_FUNC(cellFont, cellFontGraphicsSetFontRGBA);
REG_FUNC(cellFont, cellFontOpenFontsetOnMemory);
REG_FUNC(cellFont, cellFontOpenFontFile);
REG_FUNC(cellFont, cellFontGraphicsSetScalePixel);
REG_FUNC(cellFont, cellFontGraphicsGetScalePixel);
REG_FUNC(cellFont, cellFontSetEffectWeight);
REG_FUNC(cellFont, cellFontGlyphSetupVertexesGlyph);
REG_FUNC(cellFont, cellFontGetVerticalLayout);
REG_FUNC(cellFont, cellFontGetRenderCharGlyphMetricsVertical);
REG_FUNC(cellFont, cellFontSetScalePoint);
REG_FUNC(cellFont, cellFontSetupRenderEffectSlant);
REG_FUNC(cellFont, cellFontGraphicsSetLineRGBA);
REG_FUNC(cellFont, cellFontGraphicsSetDrawType);
REG_FUNC(cellFont, cellFontEndGraphics);
REG_FUNC(cellFont, cellFontGraphicsSetupDrawContext);
REG_FUNC(cellFont, cellFontOpenFontMemory);
REG_FUNC(cellFont, cellFontSetupRenderEffectWeight);
REG_FUNC(cellFont, cellFontGlyphGetOutlineControlDistance);
REG_FUNC(cellFont, cellFontGlyphGetVertexesGlyphSize);
REG_FUNC(cellFont, cellFontGenerateCharGlyph);
REG_FUNC(cellFont, cellFontDeleteGlyph);
REG_FUNC(cellFont, cellFontExtend);
REG_FUNC(cellFont, cellFontRenderCharGlyphImageVertical);
REG_FUNC(cellFont, cellFontSetResolutionDpi);
REG_FUNC(cellFont, cellFontGetCharGlyphMetricsVertical);
REG_FUNC(cellFont, cellFontUnbindRenderer);
REG_FUNC(cellFont, cellFontGetRevisionFlags);
});

View File

@ -43,7 +43,7 @@ Module cellFontFT("cellFontFT", []()
delete s_fontFtInternalInstance;
};
cellFontFT.AddFunc(0x7a0a83c4, cellFontInitLibraryFreeTypeWithRevision);
cellFontFT.AddFunc(0xec89a187, cellFontFTGetRevisionFlags);
cellFontFT.AddFunc(0xfa0c2de0, cellFontFTGetInitializedRevisionFlags);
REG_FUNC(cellFontFT, cellFontInitLibraryFreeTypeWithRevision);
REG_FUNC(cellFontFT, cellFontFTGetRevisionFlags);
REG_FUNC(cellFontFT, cellFontFTGetInitializedRevisionFlags);
});

View File

@ -495,25 +495,25 @@ Module cellGame("cellGame", []()
// (TODO: Disc Exchange functions missing)
cellGame.AddFunc(0xf52639ea, cellGameBootCheck);
cellGame.AddFunc(0xce4374f6, cellGamePatchCheck);
cellGame.AddFunc(0xdb9819f3, cellGameDataCheck);
cellGame.AddFunc(0x70acec67, cellGameContentPermit);
REG_FUNC(cellGame, cellGameBootCheck);
REG_FUNC(cellGame, cellGamePatchCheck);
REG_FUNC(cellGame, cellGameDataCheck);
REG_FUNC(cellGame, cellGameContentPermit);
cellGame.AddFunc(0x42a2e133, cellGameCreateGameData);
cellGame.AddFunc(0xb367c6e3, cellGameDeleteGameData);
REG_FUNC(cellGame, cellGameCreateGameData);
REG_FUNC(cellGame, cellGameDeleteGameData);
cellGame.AddFunc(0xb7a45caf, cellGameGetParamInt);
REG_FUNC(cellGame, cellGameGetParamInt);
//cellGame.AddFunc(, cellGameSetParamInt);
cellGame.AddFunc(0x3a5d726a, cellGameGetParamString);
cellGame.AddFunc(0xdaa5cd20, cellGameSetParamString);
cellGame.AddFunc(0xef9d42d5, cellGameGetSizeKB);
cellGame.AddFunc(0x2a8e6b92, cellGameGetDiscContentInfoUpdatePath);
cellGame.AddFunc(0xa80bf223, cellGameGetLocalWebContentPath);
REG_FUNC(cellGame, cellGameGetParamString);
REG_FUNC(cellGame, cellGameSetParamString);
REG_FUNC(cellGame, cellGameGetSizeKB);
REG_FUNC(cellGame, cellGameGetDiscContentInfoUpdatePath);
REG_FUNC(cellGame, cellGameGetLocalWebContentPath);
cellGame.AddFunc(0xb0a1f8c6, cellGameContentErrorDialog);
REG_FUNC(cellGame, cellGameContentErrorDialog);
cellGame.AddFunc(0xd24e3928, cellGameThemeInstall);
cellGame.AddFunc(0x87406734, cellGameThemeInstallFromBuffer);
REG_FUNC(cellGame, cellGameThemeInstall);
REG_FUNC(cellGame, cellGameThemeInstallFromBuffer);
//cellGame.AddFunc(, CellGameThemeInstallCallback);
});

View File

@ -1218,23 +1218,23 @@ Module cellGcmSys("cellGcmSys", []()
local_addr = 0;
// Data Retrieval
cellGcmSys.AddFunc(0xc8f3bd09, cellGcmGetCurrentField);
cellGcmSys.AddFunc(0xf80196c1, cellGcmGetLabelAddress);
cellGcmSys.AddFunc(0x21cee035, cellGcmGetNotifyDataAddress);
cellGcmSys.AddFunc(0x661fe266, _cellGcmFunc12);
cellGcmSys.AddFunc(0x99d397ac, cellGcmGetReport);
cellGcmSys.AddFunc(0x9a0159af, cellGcmGetReportDataAddress);
cellGcmSys.AddFunc(0x8572bce2, cellGcmGetReportDataAddressLocation);
cellGcmSys.AddFunc(0xa6b180ac, cellGcmGetReportDataLocation);
cellGcmSys.AddFunc(0x5a41c10f, cellGcmGetTimeStamp);
cellGcmSys.AddFunc(0x2ad4951b, cellGcmGetTimeStampLocation);
REG_FUNC(cellGcmSys, cellGcmGetCurrentField);
REG_FUNC(cellGcmSys, cellGcmGetLabelAddress);
REG_FUNC(cellGcmSys, cellGcmGetNotifyDataAddress);
REG_FUNC(cellGcmSys, _cellGcmFunc12);
REG_FUNC(cellGcmSys, cellGcmGetReport);
REG_FUNC(cellGcmSys, cellGcmGetReportDataAddress);
REG_FUNC(cellGcmSys, cellGcmGetReportDataAddressLocation);
REG_FUNC(cellGcmSys, cellGcmGetReportDataLocation);
REG_FUNC(cellGcmSys, cellGcmGetTimeStamp);
REG_FUNC(cellGcmSys, cellGcmGetTimeStampLocation);
// Command Buffer Control
cellGcmSys.AddFunc(0xa547adde, cellGcmGetControlRegister);
cellGcmSys.AddFunc(0x5e2ee0f0, cellGcmGetDefaultCommandWordSize);
cellGcmSys.AddFunc(0x8cdf8c70, cellGcmGetDefaultSegmentWordSize);
cellGcmSys.AddFunc(0xcaabd992, cellGcmInitDefaultFifoMode);
cellGcmSys.AddFunc(0x9ba451e4, cellGcmSetDefaultFifoSize);
REG_FUNC(cellGcmSys, cellGcmGetControlRegister);
REG_FUNC(cellGcmSys, cellGcmGetDefaultCommandWordSize);
REG_FUNC(cellGcmSys, cellGcmGetDefaultSegmentWordSize);
REG_FUNC(cellGcmSys, cellGcmInitDefaultFifoMode);
REG_FUNC(cellGcmSys, cellGcmSetDefaultFifoSize);
//cellGcmSys.AddFunc(, cellGcmReserveMethodSize);
//cellGcmSys.AddFunc(, cellGcmResetDefaultCommandBuffer);
//cellGcmSys.AddFunc(, cellGcmSetupContextData);
@ -1243,80 +1243,80 @@ Module cellGcmSys("cellGcmSys", []()
//cellGcmSys.AddFunc(, cellGcmFlush);
// Hardware Resource Management
cellGcmSys.AddFunc(0x4524cccd, cellGcmBindTile);
cellGcmSys.AddFunc(0x9dc04436, cellGcmBindZcull);
cellGcmSys.AddFunc(0x1f61b3ff, cellGcmDumpGraphicsError);
cellGcmSys.AddFunc(0xe315a0b2, cellGcmGetConfiguration);
cellGcmSys.AddFunc(0x371674cf, cellGcmGetDisplayBufferByFlipIndex);
cellGcmSys.AddFunc(0x72a577ce, cellGcmGetFlipStatus);
cellGcmSys.AddFunc(0x63387071, cellGcmGetLastFlipTime);
cellGcmSys.AddFunc(0x23ae55a3, cellGcmGetLastSecondVTime);
cellGcmSys.AddFunc(0x055bd74d, cellGcmGetTiledPitchSize);
cellGcmSys.AddFunc(0x723bbc7e, cellGcmGetVBlankCount);
cellGcmSys.AddFunc(0x5f909b17, _cellGcmFunc1);
cellGcmSys.AddFunc(0x3a33c1fd, _cellGcmFunc15);
cellGcmSys.AddFunc(0x15bae46b, _cellGcmInitBody);
cellGcmSys.AddFunc(0xfce9e764, cellGcmInitSystemMode);
cellGcmSys.AddFunc(0xb2e761d4, cellGcmResetFlipStatus);
cellGcmSys.AddFunc(0x51c9d62b, cellGcmSetDebugOutputLevel);
cellGcmSys.AddFunc(0xa53d12ae, cellGcmSetDisplayBuffer);
cellGcmSys.AddFunc(0xdc09357e, cellGcmSetFlip);
cellGcmSys.AddFunc(0xa41ef7e8, cellGcmSetFlipHandler);
cellGcmSys.AddFunc(0xacee8542, cellGcmSetFlipImmediate);
cellGcmSys.AddFunc(0x4ae8d215, cellGcmSetFlipMode);
cellGcmSys.AddFunc(0xa47c09ff, cellGcmSetFlipStatus);
cellGcmSys.AddFunc(0xd01b570d, cellGcmSetGraphicsHandler);
cellGcmSys.AddFunc(0x0b4b62d5, cellGcmSetPrepareFlip);
cellGcmSys.AddFunc(0x0a862772, cellGcmSetQueueHandler);
cellGcmSys.AddFunc(0x4d7ce993, cellGcmSetSecondVFrequency);
cellGcmSys.AddFunc(0xdc494430, cellGcmSetSecondVHandler);
cellGcmSys.AddFunc(0xbd100dbc, cellGcmSetTileInfo);
cellGcmSys.AddFunc(0x06edea9e, cellGcmSetUserHandler);
cellGcmSys.AddFunc(0xffe0160e, cellGcmSetVBlankFrequency);
cellGcmSys.AddFunc(0xa91b0402, cellGcmSetVBlankHandler);
cellGcmSys.AddFunc(0x983fb9aa, cellGcmSetWaitFlip);
cellGcmSys.AddFunc(0xd34a420d, cellGcmSetZcull);
cellGcmSys.AddFunc(0x25b40ab4, cellGcmSortRemapEaIoAddress);
cellGcmSys.AddFunc(0xd9b7653e, cellGcmUnbindTile);
cellGcmSys.AddFunc(0xa75640e8, cellGcmUnbindZcull);
cellGcmSys.AddFunc(0x657571f7, cellGcmGetTileInfo);
cellGcmSys.AddFunc(0xd9a0a879, cellGcmGetZcullInfo);
cellGcmSys.AddFunc(0x0e6b0dae, cellGcmGetDisplayInfo);
cellGcmSys.AddFunc(0x93806525, cellGcmGetCurrentDisplayBufferId);
cellGcmSys.AddFunc(0xbd6d60d9, cellGcmSetInvalidateTile);
REG_FUNC(cellGcmSys, cellGcmBindTile);
REG_FUNC(cellGcmSys, cellGcmBindZcull);
REG_FUNC(cellGcmSys, cellGcmDumpGraphicsError);
REG_FUNC(cellGcmSys, cellGcmGetConfiguration);
REG_FUNC(cellGcmSys, cellGcmGetDisplayBufferByFlipIndex);
REG_FUNC(cellGcmSys, cellGcmGetFlipStatus);
REG_FUNC(cellGcmSys, cellGcmGetLastFlipTime);
REG_FUNC(cellGcmSys, cellGcmGetLastSecondVTime);
REG_FUNC(cellGcmSys, cellGcmGetTiledPitchSize);
REG_FUNC(cellGcmSys, cellGcmGetVBlankCount);
REG_FUNC(cellGcmSys, _cellGcmFunc1);
REG_FUNC(cellGcmSys, _cellGcmFunc15);
REG_FUNC(cellGcmSys, _cellGcmInitBody);
REG_FUNC(cellGcmSys, cellGcmInitSystemMode);
REG_FUNC(cellGcmSys, cellGcmResetFlipStatus);
REG_FUNC(cellGcmSys, cellGcmSetDebugOutputLevel);
REG_FUNC(cellGcmSys, cellGcmSetDisplayBuffer);
REG_FUNC(cellGcmSys, cellGcmSetFlip);
REG_FUNC(cellGcmSys, cellGcmSetFlipHandler);
REG_FUNC(cellGcmSys, cellGcmSetFlipImmediate);
REG_FUNC(cellGcmSys, cellGcmSetFlipMode);
REG_FUNC(cellGcmSys, cellGcmSetFlipStatus);
REG_FUNC(cellGcmSys, cellGcmSetGraphicsHandler);
REG_FUNC(cellGcmSys, cellGcmSetPrepareFlip);
REG_FUNC(cellGcmSys, cellGcmSetQueueHandler);
REG_FUNC(cellGcmSys, cellGcmSetSecondVFrequency);
REG_FUNC(cellGcmSys, cellGcmSetSecondVHandler);
REG_FUNC(cellGcmSys, cellGcmSetTileInfo);
REG_FUNC(cellGcmSys, cellGcmSetUserHandler);
REG_FUNC(cellGcmSys, cellGcmSetVBlankFrequency);
REG_FUNC(cellGcmSys, cellGcmSetVBlankHandler);
REG_FUNC(cellGcmSys, cellGcmSetWaitFlip);
REG_FUNC(cellGcmSys, cellGcmSetZcull);
REG_FUNC(cellGcmSys, cellGcmSortRemapEaIoAddress);
REG_FUNC(cellGcmSys, cellGcmUnbindTile);
REG_FUNC(cellGcmSys, cellGcmUnbindZcull);
REG_FUNC(cellGcmSys, cellGcmGetTileInfo);
REG_FUNC(cellGcmSys, cellGcmGetZcullInfo);
REG_FUNC(cellGcmSys, cellGcmGetDisplayInfo);
REG_FUNC(cellGcmSys, cellGcmGetCurrentDisplayBufferId);
REG_FUNC(cellGcmSys, cellGcmSetInvalidateTile);
//cellGcmSys.AddFunc(, cellGcmSetFlipWithWaitLabel);
// Memory Mapping
cellGcmSys.AddFunc(0x21ac3697, cellGcmAddressToOffset);
cellGcmSys.AddFunc(0xfb81c03e, cellGcmGetMaxIoMapSize);
cellGcmSys.AddFunc(0x2922aed0, cellGcmGetOffsetTable);
cellGcmSys.AddFunc(0x2a6fba9c, cellGcmIoOffsetToAddress);
cellGcmSys.AddFunc(0x63441cb4, cellGcmMapEaIoAddress);
cellGcmSys.AddFunc(0x626e8518, cellGcmMapEaIoAddressWithFlags);
cellGcmSys.AddFunc(0xdb769b32, cellGcmMapLocalMemory);
cellGcmSys.AddFunc(0xa114ec67, cellGcmMapMainMemory);
cellGcmSys.AddFunc(0xa7ede268, cellGcmReserveIoMapSize);
cellGcmSys.AddFunc(0xefd00f54, cellGcmUnmapEaIoAddress);
cellGcmSys.AddFunc(0xdb23e867, cellGcmUnmapIoAddress);
cellGcmSys.AddFunc(0x3b9bd5bd, cellGcmUnreserveIoMapSize);
REG_FUNC(cellGcmSys, cellGcmAddressToOffset);
REG_FUNC(cellGcmSys, cellGcmGetMaxIoMapSize);
REG_FUNC(cellGcmSys, cellGcmGetOffsetTable);
REG_FUNC(cellGcmSys, cellGcmIoOffsetToAddress);
REG_FUNC(cellGcmSys, cellGcmMapEaIoAddress);
REG_FUNC(cellGcmSys, cellGcmMapEaIoAddressWithFlags);
REG_FUNC(cellGcmSys, cellGcmMapLocalMemory);
REG_FUNC(cellGcmSys, cellGcmMapMainMemory);
REG_FUNC(cellGcmSys, cellGcmReserveIoMapSize);
REG_FUNC(cellGcmSys, cellGcmUnmapEaIoAddress);
REG_FUNC(cellGcmSys, cellGcmUnmapIoAddress);
REG_FUNC(cellGcmSys, cellGcmUnreserveIoMapSize);
// Cursor
cellGcmSys.AddFunc(0x107bf3a1, cellGcmInitCursor);
cellGcmSys.AddFunc(0xc47d0812, cellGcmSetCursorEnable);
cellGcmSys.AddFunc(0x69c6cc82, cellGcmSetCursorDisable);
cellGcmSys.AddFunc(0xf9bfdc72, cellGcmSetCursorImageOffset);
cellGcmSys.AddFunc(0x1a0de550, cellGcmSetCursorPosition);
cellGcmSys.AddFunc(0xbd2fa0a7, cellGcmUpdateCursor);
REG_FUNC(cellGcmSys, cellGcmInitCursor);
REG_FUNC(cellGcmSys, cellGcmSetCursorEnable);
REG_FUNC(cellGcmSys, cellGcmSetCursorDisable);
REG_FUNC(cellGcmSys, cellGcmSetCursorImageOffset);
REG_FUNC(cellGcmSys, cellGcmSetCursorPosition);
REG_FUNC(cellGcmSys, cellGcmUpdateCursor);
// Functions for Maintaining Compatibility
cellGcmSys.AddFunc(0xbc982946, cellGcmSetDefaultCommandBuffer);
REG_FUNC(cellGcmSys, cellGcmSetDefaultCommandBuffer);
//cellGcmSys.AddFunc(, cellGcmGetCurrentBuffer);
//cellGcmSys.AddFunc(, cellGcmSetCurrentBuffer);
//cellGcmSys.AddFunc(, cellGcmSetDefaultCommandBufferAndSegmentWordSize);
//cellGcmSys.AddFunc(, cellGcmSetUserCallback);
// Other
cellGcmSys.AddFunc(0x21397818, cellGcmSetFlipCommand);
cellGcmSys.AddFunc(0xd8f88e1a, cellGcmSetFlipCommandWithWaitLabel);
cellGcmSys.AddFunc(0xd0b1d189, cellGcmSetTile);
REG_FUNC(cellGcmSys, cellGcmSetFlipCommand);
REG_FUNC(cellGcmSys, cellGcmSetFlipCommandWithWaitLabel);
REG_FUNC(cellGcmSys, cellGcmSetTile);
});

View File

@ -390,44 +390,44 @@ void cellGem_unload()
Module cellGem("cellGem", []()
{
//cellGem.AddFunc(, cellGemAttributeInit);
cellGem.AddFunc(0xafa99ead, cellGemCalibrate);
cellGem.AddFunc(0x9b9714a4, cellGemClearStatusFlags);
cellGem.AddFunc(0x1a13d010, cellGemConvertVideoFinish);
cellGem.AddFunc(0x6dce048c, cellGemConvertVideoStart);
cellGem.AddFunc(0x4219de31, cellGemEnableCameraPitchAngleCorrection);
cellGem.AddFunc(0x1a2518a2, cellGemEnableMagnetometer);
cellGem.AddFunc(0xe1f85a80, cellGemEnd);
cellGem.AddFunc(0x6fc4c791, cellGemFilterState);
cellGem.AddFunc(0xce6d7791, cellGemForceRGB);
cellGem.AddFunc(0x6a5b7048, cellGemGetAccelerometerPositionInDevice);
cellGem.AddFunc(0x2d2c2764, cellGemGetAllTrackableHues);
cellGem.AddFunc(0x8befac67, cellGemGetCameraState);
cellGem.AddFunc(0x02eb41bb, cellGemGetEnvironmentLightingColor);
cellGem.AddFunc(0xb8ef56a6, cellGemGetHuePixels);
cellGem.AddFunc(0x92cc4b34, cellGemGetImageState);
cellGem.AddFunc(0xd37b127a, cellGemGetInertialState);
cellGem.AddFunc(0x9e1dff96, cellGemGetInfo);
cellGem.AddFunc(0x2e0a170d, cellGemGetMemorySize);
cellGem.AddFunc(0x1b30cc22, cellGemGetRGB);
cellGem.AddFunc(0x6db6b007, cellGemGetRumble);
cellGem.AddFunc(0x6441d38d, cellGemGetState);
cellGem.AddFunc(0xfee33481, cellGemGetStatusFlags);
cellGem.AddFunc(0x18ea899a, cellGemGetTrackerHue);
REG_FUNC(cellGem, cellGemCalibrate);
REG_FUNC(cellGem, cellGemClearStatusFlags);
REG_FUNC(cellGem, cellGemConvertVideoFinish);
REG_FUNC(cellGem, cellGemConvertVideoStart);
REG_FUNC(cellGem, cellGemEnableCameraPitchAngleCorrection);
REG_FUNC(cellGem, cellGemEnableMagnetometer);
REG_FUNC(cellGem, cellGemEnd);
REG_FUNC(cellGem, cellGemFilterState);
REG_FUNC(cellGem, cellGemForceRGB);
REG_FUNC(cellGem, cellGemGetAccelerometerPositionInDevice);
REG_FUNC(cellGem, cellGemGetAllTrackableHues);
REG_FUNC(cellGem, cellGemGetCameraState);
REG_FUNC(cellGem, cellGemGetEnvironmentLightingColor);
REG_FUNC(cellGem, cellGemGetHuePixels);
REG_FUNC(cellGem, cellGemGetImageState);
REG_FUNC(cellGem, cellGemGetInertialState);
REG_FUNC(cellGem, cellGemGetInfo);
REG_FUNC(cellGem, cellGemGetMemorySize);
REG_FUNC(cellGem, cellGemGetRGB);
REG_FUNC(cellGem, cellGemGetRumble);
REG_FUNC(cellGem, cellGemGetState);
REG_FUNC(cellGem, cellGemGetStatusFlags);
REG_FUNC(cellGem, cellGemGetTrackerHue);
//cellGem.AddFunc(, cellGemGetVideoConvertSize);
cellGem.AddFunc(0xc7622586, cellGemHSVtoRGB);
cellGem.AddFunc(0x13ea7c64, cellGemInit);
cellGem.AddFunc(0xe3e4f0d6, cellGemInvalidateCalibration);
cellGem.AddFunc(0xfb5887f9, cellGemIsTrackableHue);
cellGem.AddFunc(0xa03ef587, cellGemPrepareCamera);
cellGem.AddFunc(0xc07896f9, cellGemPrepareVideoConvert);
REG_FUNC(cellGem, cellGemHSVtoRGB);
REG_FUNC(cellGem, cellGemInit);
REG_FUNC(cellGem, cellGemInvalidateCalibration);
REG_FUNC(cellGem, cellGemIsTrackableHue);
REG_FUNC(cellGem, cellGemPrepareCamera);
REG_FUNC(cellGem, cellGemPrepareVideoConvert);
//cellGem.AddFunc(, cellGemReadExternalPortDeviceInfo);
cellGem.AddFunc(0xde54e2fc, cellGemReset);
cellGem.AddFunc(0x49609306, cellGemSetRumble);
cellGem.AddFunc(0x77e08704, cellGemSetYaw);
cellGem.AddFunc(0x928ac5f8, cellGemTrackHues);
cellGem.AddFunc(0x41ae9c31, cellGemUpdateFinish);
cellGem.AddFunc(0x0ecd2261, cellGemUpdateStart);
REG_FUNC(cellGem, cellGemReset);
REG_FUNC(cellGem, cellGemSetRumble);
REG_FUNC(cellGem, cellGemSetYaw);
REG_FUNC(cellGem, cellGemTrackHues);
REG_FUNC(cellGem, cellGemUpdateFinish);
REG_FUNC(cellGem, cellGemUpdateStart);
//cellGem.AddFunc(, cellGemVideoConvertAttributeInit);
//cellGem.AddFunc(, cellGemVideoConvertAttributeInitRgba);
cellGem.AddFunc(0x1f6328d8, cellGemWriteExternalPort);
REG_FUNC(cellGem, cellGemWriteExternalPort);
});

View File

@ -277,17 +277,17 @@ int cellGifDecDestroy(u32 mainHandle)
Module cellGifDec("cellGifDec", []()
{
cellGifDec.AddFunc(0xb60d42a5, cellGifDecCreate);
cellGifDec.AddFunc(0x4711cb7f, cellGifDecExtCreate);
cellGifDec.AddFunc(0x75745079, cellGifDecOpen);
cellGifDec.AddFunc(0xf0da95de, cellGifDecReadHeader);
cellGifDec.AddFunc(0x41a90dc4, cellGifDecSetParameter);
cellGifDec.AddFunc(0x44b1bc61, cellGifDecDecodeData);
cellGifDec.AddFunc(0x116a7da9, cellGifDecClose);
cellGifDec.AddFunc(0xe74b2cb1, cellGifDecDestroy);
REG_FUNC(cellGifDec, cellGifDecCreate);
REG_FUNC(cellGifDec, cellGifDecExtCreate);
REG_FUNC(cellGifDec, cellGifDecOpen);
REG_FUNC(cellGifDec, cellGifDecReadHeader);
REG_FUNC(cellGifDec, cellGifDecSetParameter);
REG_FUNC(cellGifDec, cellGifDecDecodeData);
REG_FUNC(cellGifDec, cellGifDecClose);
REG_FUNC(cellGifDec, cellGifDecDestroy);
/*cellGifDec.AddFunc(0x17fb83c1, cellGifDecExtOpen);
cellGifDec.AddFunc(0xe53f91f2, cellGifDecExtReadHeader);
cellGifDec.AddFunc(0x95cae771, cellGifDecExtSetParameter);
cellGifDec.AddFunc(0x02e7e03e, cellGifDecExtDecodeData);*/
/*REG_FUNC(cellGifDec, cellGifDecExtOpen);
REG_FUNC(cellGifDec, cellGifDecExtReadHeader);
REG_FUNC(cellGifDec, cellGifDecExtSetParameter);
REG_FUNC(cellGifDec, cellGifDecExtDecodeData);*/
});

View File

@ -126,28 +126,28 @@ int cellHttpUtilBase64Decoder()
void cellHttpUtil_init()
{
cellHttpUtil.AddFunc(0x32faaf58, cellHttpUtilParseUri);
cellHttpUtil.AddFunc(0x8bb608e4, cellHttpUtilParseUriPath);
cellHttpUtil.AddFunc(0xa3457869, cellHttpUtilParseProxy);
cellHttpUtil.AddFunc(0x2bcbced4, cellHttpUtilParseStatusLine);
cellHttpUtil.AddFunc(0xe1fb0ebd, cellHttpUtilParseHeader);
REG_FUNC(cellHttpUtil, cellHttpUtilParseUri);
REG_FUNC(cellHttpUtil, cellHttpUtilParseUriPath);
REG_FUNC(cellHttpUtil, cellHttpUtilParseProxy);
REG_FUNC(cellHttpUtil, cellHttpUtilParseStatusLine);
REG_FUNC(cellHttpUtil, cellHttpUtilParseHeader);
cellHttpUtil.AddFunc(0x1c6e4dbb, cellHttpUtilBuildRequestLine);
cellHttpUtil.AddFunc(0x04accebf, cellHttpUtilBuildHeader);
cellHttpUtil.AddFunc(0x6f0f7667, cellHttpUtilBuildUri);
REG_FUNC(cellHttpUtil, cellHttpUtilBuildRequestLine);
REG_FUNC(cellHttpUtil, cellHttpUtilBuildHeader);
REG_FUNC(cellHttpUtil, cellHttpUtilBuildUri);
cellHttpUtil.AddFunc(0xf05df789, cellHttpUtilCopyUri);
cellHttpUtil.AddFunc(0x8ea23deb, cellHttpUtilMergeUriPath);
cellHttpUtil.AddFunc(0xaabeb869, cellHttpUtilSweepPath);
cellHttpUtil.AddFunc(0x50ea75bc, cellHttpUtilCopyStatusLine);
cellHttpUtil.AddFunc(0x97f9fbe5, cellHttpUtilCopyHeader);
cellHttpUtil.AddFunc(0x37bb53a2, cellHttpUtilAppendHeaderValue);
REG_FUNC(cellHttpUtil, cellHttpUtilCopyUri);
REG_FUNC(cellHttpUtil, cellHttpUtilMergeUriPath);
REG_FUNC(cellHttpUtil, cellHttpUtilSweepPath);
REG_FUNC(cellHttpUtil, cellHttpUtilCopyStatusLine);
REG_FUNC(cellHttpUtil, cellHttpUtilCopyHeader);
REG_FUNC(cellHttpUtil, cellHttpUtilAppendHeaderValue);
cellHttpUtil.AddFunc(0x9003b1f2, cellHttpUtilEscapeUri);
cellHttpUtil.AddFunc(0x2763fd66, cellHttpUtilUnescapeUri);
cellHttpUtil.AddFunc(0x44d756d6, cellHttpUtilFormUrlEncode);
cellHttpUtil.AddFunc(0x8e6c5bb9, cellHttpUtilFormUrlDecode);
cellHttpUtil.AddFunc(0x83faa354, cellHttpUtilBase64Encoder);
cellHttpUtil.AddFunc(0x8e52ee08, cellHttpUtilBase64Decoder);
REG_FUNC(cellHttpUtil, cellHttpUtilEscapeUri);
REG_FUNC(cellHttpUtil, cellHttpUtilUnescapeUri);
REG_FUNC(cellHttpUtil, cellHttpUtilFormUrlEncode);
REG_FUNC(cellHttpUtil, cellHttpUtilFormUrlDecode);
REG_FUNC(cellHttpUtil, cellHttpUtilBase64Encoder);
REG_FUNC(cellHttpUtil, cellHttpUtilBase64Decoder);
}
#endif

View File

@ -258,49 +258,49 @@ int cellImeJpConfirmPrediction()
void cellImejp_init()
{
cellImejp.AddFunc(0x44608862, cellImeJpOpen);
cellImejp.AddFunc(0x47b43dd4, cellImeJpOpen2);
cellImejp.AddFunc(0x1b119958, cellImeJpOpen3);
cellImejp.AddFunc(0x46d1234a, cellImeJpClose);
REG_FUNC(cellImejp, cellImeJpOpen);
REG_FUNC(cellImejp, cellImeJpOpen2);
REG_FUNC(cellImejp, cellImeJpOpen3);
REG_FUNC(cellImejp, cellImeJpClose);
cellImejp.AddFunc(0x24e9d8fc, cellImeJpSetKanaInputMode);
cellImejp.AddFunc(0xf5992ec8, cellImeJpSetInputCharType);
cellImejp.AddFunc(0xc1786c81, cellImeJpSetFixInputMode);
REG_FUNC(cellImejp, cellImeJpSetKanaInputMode);
REG_FUNC(cellImejp, cellImeJpSetInputCharType);
REG_FUNC(cellImejp, cellImeJpSetFixInputMode);
//cellImejp.AddFunc(, cellImeJpAllowExtensionCharacters);
cellImejp.AddFunc(0x36d38701, cellImeJpReset);
REG_FUNC(cellImejp, cellImeJpReset);
cellImejp.AddFunc(0x66c6cc78, cellImeJpGetStatus);
REG_FUNC(cellImejp, cellImeJpGetStatus);
cellImejp.AddFunc(0x6ccbe3d6, cellImeJpEnterChar);
cellImejp.AddFunc(0x5b6ada55, cellImeJpEnterCharExt);
cellImejp.AddFunc(0x441a1c2b, cellImeJpEnterString);
cellImejp.AddFunc(0x6298b55a, cellImeJpEnterStringExt);
cellImejp.AddFunc(0xac6693d8, cellImeJpModeCaretRight);
cellImejp.AddFunc(0xe76c9700, cellImeJpModeCaretLeft);
cellImejp.AddFunc(0xaa1d1f57, cellImeJpBackspaceWord);
cellImejp.AddFunc(0x72257652, cellImeJpDeleteWord);
cellImejp.AddFunc(0x6319eda3, cellImeJpAllDeleteConvertString);
cellImejp.AddFunc(0x1e29103b, cellImeJpConvertForward);
cellImejp.AddFunc(0xc2bb48bc, cellImeJpConvertBackward);
cellImejp.AddFunc(0x7a18c2b9, cellImeJpCurrentPartConfirm);
cellImejp.AddFunc(0x7189430b, cellImeJpAllConfirm);
cellImejp.AddFunc(0xeae879dc, cellImeJpConvertCancel);
cellImejp.AddFunc(0xcbbc20b7, cellImeJpAllConvertCancel);
cellImejp.AddFunc(0x37961cc1, cellImeJpExtendConvertArea);
cellImejp.AddFunc(0xaa2a3287, cellImeJpShortenConvertArea);
cellImejp.AddFunc(0xbd679cc1, cellImeJpTemporalConfirm);
cellImejp.AddFunc(0x8bb41f47, cellImeJpPostConvert);
cellImejp.AddFunc(0x1e411261, cellImeJpMoveFocusClause);
cellImejp.AddFunc(0x0e363ae7, cellImeJpGetFocusTop);
cellImejp.AddFunc(0x5f5b3227, cellImeJpGetFocusLength);
cellImejp.AddFunc(0x89f8a567, cellImeJpGetConfirmYomiString);
cellImejp.AddFunc(0xd3fc3606, cellImeJpGetConfirmString);
cellImejp.AddFunc(0xea2d4881, cellImeJpGetConvertYomiString);
cellImejp.AddFunc(0xf91abda3, cellImeJpGetConvertString);
cellImejp.AddFunc(0xc4796a45, cellImeJpGetCandidateListSize);
cellImejp.AddFunc(0xe4cc15ba, cellImeJpGetCandidateList);
cellImejp.AddFunc(0x177bd218, cellImeJpGetCandidateSelect);
cellImejp.AddFunc(0x1986f2cd, cellImeJpGetPredictList);
cellImejp.AddFunc(0xeede898c, cellImeJpConfirmPrediction);
REG_FUNC(cellImejp, cellImeJpEnterChar);
REG_FUNC(cellImejp, cellImeJpEnterCharExt);
REG_FUNC(cellImejp, cellImeJpEnterString);
REG_FUNC(cellImejp, cellImeJpEnterStringExt);
REG_FUNC(cellImejp, cellImeJpModeCaretRight);
REG_FUNC(cellImejp, cellImeJpModeCaretLeft);
REG_FUNC(cellImejp, cellImeJpBackspaceWord);
REG_FUNC(cellImejp, cellImeJpDeleteWord);
REG_FUNC(cellImejp, cellImeJpAllDeleteConvertString);
REG_FUNC(cellImejp, cellImeJpConvertForward);
REG_FUNC(cellImejp, cellImeJpConvertBackward);
REG_FUNC(cellImejp, cellImeJpCurrentPartConfirm);
REG_FUNC(cellImejp, cellImeJpAllConfirm);
REG_FUNC(cellImejp, cellImeJpConvertCancel);
REG_FUNC(cellImejp, cellImeJpAllConvertCancel);
REG_FUNC(cellImejp, cellImeJpExtendConvertArea);
REG_FUNC(cellImejp, cellImeJpShortenConvertArea);
REG_FUNC(cellImejp, cellImeJpTemporalConfirm);
REG_FUNC(cellImejp, cellImeJpPostConvert);
REG_FUNC(cellImejp, cellImeJpMoveFocusClause);
REG_FUNC(cellImejp, cellImeJpGetFocusTop);
REG_FUNC(cellImejp, cellImeJpGetFocusLength);
REG_FUNC(cellImejp, cellImeJpGetConfirmYomiString);
REG_FUNC(cellImejp, cellImeJpGetConfirmString);
REG_FUNC(cellImejp, cellImeJpGetConvertYomiString);
REG_FUNC(cellImejp, cellImeJpGetConvertString);
REG_FUNC(cellImejp, cellImeJpGetCandidateListSize);
REG_FUNC(cellImejp, cellImeJpGetCandidateList);
REG_FUNC(cellImejp, cellImeJpGetCandidateSelect);
REG_FUNC(cellImejp, cellImeJpGetPredictList);
REG_FUNC(cellImejp, cellImeJpConfirmPrediction);
}
#endif

View File

@ -322,17 +322,17 @@ int cellJpgDecSetParameter(u32 mainHandle, u32 subHandle, vm::ptr<const CellJpgD
Module cellJpgDec("cellJpgDec", []()
{
cellJpgDec.AddFunc(0xa7978f59, cellJpgDecCreate);
cellJpgDec.AddFunc(0x8b300f66, cellJpgDecExtCreate);
cellJpgDec.AddFunc(0x976ca5c2, cellJpgDecOpen);
cellJpgDec.AddFunc(0x6d9ebccf, cellJpgDecReadHeader);
cellJpgDec.AddFunc(0xe08f3910, cellJpgDecSetParameter);
cellJpgDec.AddFunc(0xaf8bb012, cellJpgDecDecodeData);
cellJpgDec.AddFunc(0x9338a07a, cellJpgDecClose);
cellJpgDec.AddFunc(0xd8ea91f8, cellJpgDecDestroy);
REG_FUNC(cellJpgDec, cellJpgDecCreate);
REG_FUNC(cellJpgDec, cellJpgDecExtCreate);
REG_FUNC(cellJpgDec, cellJpgDecOpen);
REG_FUNC(cellJpgDec, cellJpgDecReadHeader);
REG_FUNC(cellJpgDec, cellJpgDecSetParameter);
REG_FUNC(cellJpgDec, cellJpgDecDecodeData);
REG_FUNC(cellJpgDec, cellJpgDecClose);
REG_FUNC(cellJpgDec, cellJpgDecDestroy);
/*cellJpgDec.AddFunc(0xa9f703e3, cellJpgDecExtOpen);
cellJpgDec.AddFunc(0xb91eb3d2, cellJpgDecExtReadHeader);
cellJpgDec.AddFunc(0x65cbbb16, cellJpgDecExtSetParameter);
cellJpgDec.AddFunc(0x716f8792, cellJpgDecExtDecodeData);*/
/*REG_FUNC(cellJpgDec, cellJpgDecExtOpen);
REG_FUNC(cellJpgDec, cellJpgDecExtReadHeader);
REG_FUNC(cellJpgDec, cellJpgDecExtSetParameter);
REG_FUNC(cellJpgDec, cellJpgDecExtDecodeData);*/
});

View File

@ -77,15 +77,15 @@ int cellJpgEncReset()
void cellJpgEnc_init()
{
cellJpgEnc.AddFunc(0x12d9b6c5, cellJpgEncQueryAttr);
cellJpgEnc.AddFunc(0xa4bfae51, cellJpgEncOpen);
cellJpgEnc.AddFunc(0x6f2d371c, cellJpgEncOpenEx);
cellJpgEnc.AddFunc(0x969fc5f7, cellJpgEncClose);
cellJpgEnc.AddFunc(0x2ae79be8, cellJpgEncWaitForInput);
cellJpgEnc.AddFunc(0xa9e81214, cellJpgEncEncodePicture);
cellJpgEnc.AddFunc(0x636dc89e, cellJpgEncEncodePicture2);
cellJpgEnc.AddFunc(0x9b4e3a74, cellJpgEncWaitForOutput);
cellJpgEnc.AddFunc(0x4262e880, cellJpgEncGetStreamInfo);
cellJpgEnc.AddFunc(0x0cf2b78b, cellJpgEncReset);
REG_FUNC(cellJpgEnc, cellJpgEncQueryAttr);
REG_FUNC(cellJpgEnc, cellJpgEncOpen);
REG_FUNC(cellJpgEnc, cellJpgEncOpenEx);
REG_FUNC(cellJpgEnc, cellJpgEncClose);
REG_FUNC(cellJpgEnc, cellJpgEncWaitForInput);
REG_FUNC(cellJpgEnc, cellJpgEncEncodePicture);
REG_FUNC(cellJpgEnc, cellJpgEncEncodePicture2);
REG_FUNC(cellJpgEnc, cellJpgEncWaitForOutput);
REG_FUNC(cellJpgEnc, cellJpgEncGetStreamInfo);
REG_FUNC(cellJpgEnc, cellJpgEncReset);
}
#endif

View File

@ -188,14 +188,14 @@ int cellKbGetConfiguration(u32 port_no, vm::ptr<CellKbConfig> config)
void cellKb_init()
{
sys_io.AddFunc(0x433f6ec0, cellKbInit);
sys_io.AddFunc(0xbfce3285, cellKbEnd);
sys_io.AddFunc(0x2073b7f6, cellKbClearBuf);
sys_io.AddFunc(0x4ab1fa77, cellKbCnvRawCode);
sys_io.AddFunc(0x2f1774d5, cellKbGetInfo);
sys_io.AddFunc(0xff0a21b7, cellKbRead);
sys_io.AddFunc(0xa5f85e4d, cellKbSetCodeType);
sys_io.AddFunc(0x3f72c56e, cellKbSetLEDStatus);
sys_io.AddFunc(0xdeefdfa7, cellKbSetReadMode);
sys_io.AddFunc(0x1f71ecbe, cellKbGetConfiguration);
REG_FUNC(sys_io, cellKbInit);
REG_FUNC(sys_io, cellKbEnd);
REG_FUNC(sys_io, cellKbClearBuf);
REG_FUNC(sys_io, cellKbCnvRawCode);
REG_FUNC(sys_io, cellKbGetInfo);
REG_FUNC(sys_io, cellKbRead);
REG_FUNC(sys_io, cellKbSetCodeType);
REG_FUNC(sys_io, cellKbSetLEDStatus);
REG_FUNC(sys_io, cellKbSetReadMode);
REG_FUNC(sys_io, cellKbGetConfiguration);
}

View File

@ -48,10 +48,10 @@ int cellKey2CharSetArrangement()
void cellKey2char_init()
{
cellKey2char.AddFunc(0xabf629c1, cellKey2CharOpen);
cellKey2char.AddFunc(0x14bf2dc1, cellKey2CharClose);
cellKey2char.AddFunc(0x56776c0d, cellKey2CharGetChar);
cellKey2char.AddFunc(0xbfc03768, cellKey2CharSetMode);
cellKey2char.AddFunc(0x0dfbadfa, cellKey2CharSetArrangement);
REG_FUNC(cellKey2char, cellKey2CharOpen);
REG_FUNC(cellKey2char, cellKey2CharClose);
REG_FUNC(cellKey2char, cellKey2CharGetChar);
REG_FUNC(cellKey2char, cellKey2CharSetMode);
REG_FUNC(cellKey2char, cellKey2CharSetArrangement);
}
#endif

View File

@ -339,169 +339,169 @@ Module cellL10n("cellL10n", []()
{
// NOTE: I think this module should be LLE'd instead of implementing all its functions
// cellL10n.AddFunc(0x005200e6, UCS2toEUCJP);
// cellL10n.AddFunc(0x01b0cbf4, l10n_convert);
// cellL10n.AddFunc(0x0356038c, UCS2toUTF32);
// cellL10n.AddFunc(0x05028763, jis2kuten);
// cellL10n.AddFunc(0x058addc8, UTF8toGB18030);
// cellL10n.AddFunc(0x060ee3b2, JISstoUTF8s);
// cellL10n.AddFunc(0x07168a83, SjisZen2Han);
// cellL10n.AddFunc(0x0bc386c8, ToSjisLower);
// cellL10n.AddFunc(0x0bedf77d, UCS2toGB18030);
// cellL10n.AddFunc(0x0bf867e2, HZstoUCS2s);
// cellL10n.AddFunc(0x0ce278fd, UCS2stoHZs);
// cellL10n.AddFunc(0x0d90a48d, UCS2stoSJISs);
// cellL10n.AddFunc(0x0f624540, kuten2eucjp);
// cellL10n.AddFunc(0x14ee3649, sjis2jis);
// cellL10n.AddFunc(0x14f504b8, EUCKRstoUCS2s);
// cellL10n.AddFunc(0x16eaf5f1, UHCstoEUCKRs);
// cellL10n.AddFunc(0x1758053c, jis2sjis);
// cellL10n.AddFunc(0x1906ce6b, jstrnchk);
// cellL10n.AddFunc(0x1ac0d23d, L10nConvert);
// cellL10n.AddFunc(0x1ae2acee, EUCCNstoUTF8s);
// cellL10n.AddFunc(0x1cb1138f, GBKstoUCS2s);
// cellL10n.AddFunc(0x1da42d70, eucjphan2zen);
// cellL10n.AddFunc(0x1ec712e0, ToSjisHira);
// cellL10n.AddFunc(0x1fb50183, GBKtoUCS2);
// cellL10n.AddFunc(0x21948c03, eucjp2jis);
// cellL10n.AddFunc(0x21aa3045, UTF32stoUTF8s);
// cellL10n.AddFunc(0x24fd32a9, sjishan2zen);
// cellL10n.AddFunc(0x256b6861, UCS2toSBCS);
// cellL10n.AddFunc(0x262a5ae2, UTF8stoGBKs);
// cellL10n.AddFunc(0x28724522, UTF8toUCS2);
// cellL10n.AddFunc(0x2ad091c6, UCS2stoUTF8s);
// cellL10n.AddFunc(0x2b84030c, EUCKRstoUTF8s);
// cellL10n.AddFunc(0x2efa7294, UTF16stoUTF32s);
// cellL10n.AddFunc(0x2f9eb543, UTF8toEUCKR);
// cellL10n.AddFunc(0x317ab7c2, UTF16toUTF8);
// cellL10n.AddFunc(0x32689828, ARIBstoUTF8s);
// cellL10n.AddFunc(0x33435818, SJISstoUTF8s);
// cellL10n.AddFunc(0x33f8b35c, sjiszen2han);
// cellL10n.AddFunc(0x3968f176, ToEucJpLower);
// cellL10n.AddFunc(0x398a3dee, MSJIStoUTF8);
// cellL10n.AddFunc(0x3a20bc34, UCS2stoMSJISs);
// cellL10n.AddFunc(0x3dabd5a7, EUCJPtoUTF8);
// cellL10n.AddFunc(0x3df65b64, eucjp2sjis);
// cellL10n.AddFunc(0x408a622b, ToEucJpHira);
// cellL10n.AddFunc(0x41b4a5ae, UHCstoUCS2s);
// cellL10n.AddFunc(0x41ccf033, ToEucJpKata);
// cellL10n.AddFunc(0x42838145, HZstoUTF8s);
// cellL10n.AddFunc(0x4931b44e, UTF8toMSJIS);
// cellL10n.AddFunc(0x4b3bbacb, BIG5toUTF8);
// cellL10n.AddFunc(0x511d386b, EUCJPstoSJISs);
// cellL10n.AddFunc(0x52b7883f, UTF8stoBIG5s);
// cellL10n.AddFunc(0x53558b6b, UTF16stoUCS2s);
// cellL10n.AddFunc(0x53764725, UCS2stoGB18030s);
// cellL10n.AddFunc(0x53c71ac2, EUCJPtoSJIS);
// cellL10n.AddFunc(0x54f59807, EUCJPtoUCS2);
// cellL10n.AddFunc(0x55f6921c, UCS2stoGBKs);
// cellL10n.AddFunc(0x58246762, EUCKRtoUHC);
// cellL10n.AddFunc(0x596df41c, UCS2toSJIS);
// cellL10n.AddFunc(0x5a4ab223, MSJISstoUTF8s);
// cellL10n.AddFunc(0x5ac783dc, EUCJPstoUTF8s);
// cellL10n.AddFunc(0x5b684dfb, UCS2toBIG5);
// cellL10n.AddFunc(0x5cd29270, UTF8stoEUCKRs);
// cellL10n.AddFunc(0x5e1d9330, UHCstoUTF8s);
// cellL10n.AddFunc(0x60ffa0ec, GB18030stoUCS2s);
// cellL10n.AddFunc(0x6122e000, SJIStoUTF8);
// cellL10n.AddFunc(0x6169f205, JISstoSJISs);
// cellL10n.AddFunc(0x61fb9442, UTF8toUTF16);
// cellL10n.AddFunc(0x62b36bcf, UTF8stoMSJISs);
// cellL10n.AddFunc(0x63219199, EUCKRtoUTF8);
// cellL10n.AddFunc(0x638c2fc1, SjisHan2Zen);
// cellL10n.AddFunc(0x64a10ec8, UCS2toUTF16);
// cellL10n.AddFunc(0x65444204, UCS2toMSJIS);
// cellL10n.AddFunc(0x6621a82c, sjis2kuten);
// cellL10n.AddFunc(0x6a6f25d1, UCS2toUHC);
// cellL10n.AddFunc(0x6c62d879, UTF32toUCS2);
// cellL10n.AddFunc(0x6de4b508, ToSjisUpper);
// cellL10n.AddFunc(0x6e0705c4, UTF8toEUCJP);
// cellL10n.AddFunc(0x6e5906fd, UCS2stoEUCJPs);
// cellL10n.AddFunc(0x6fc530b3, UTF16toUCS2);
// cellL10n.AddFunc(0x714a9b4a, UCS2stoUTF16s);
// cellL10n.AddFunc(0x71804d64, UCS2stoEUCCNs);
// cellL10n.AddFunc(0x72632e53, SBCSstoUTF8s);
// cellL10n.AddFunc(0x73f2cd21, SJISstoJISs);
// cellL10n.AddFunc(0x74496718, SBCStoUTF8);
// cellL10n.AddFunc(0x74871fe0, UTF8toUTF32);
cellL10n.AddFunc(0x750c363d, jstrchk);
// cellL10n.AddFunc(0x7c5bde1c, UHCtoEUCKR);
// cellL10n.AddFunc(0x7c912bda, kuten2jis);
// cellL10n.AddFunc(0x7d07a1c2, UTF8toEUCCN);
// cellL10n.AddFunc(0x8171c1cc, EUCCNtoUTF8);
// cellL10n.AddFunc(0x82d5ecdf, EucJpZen2Han);
// cellL10n.AddFunc(0x8555fe15, UTF32stoUTF16s);
// cellL10n.AddFunc(0x860fc741, GBKtoUTF8);
// cellL10n.AddFunc(0x867f7b8b, ToEucJpUpper);
// cellL10n.AddFunc(0x88f8340b, UCS2stoJISs);
// cellL10n.AddFunc(0x89236c86, UTF8stoGB18030s);
// cellL10n.AddFunc(0x8a56f148, EUCKRstoUHCs);
// cellL10n.AddFunc(0x8ccdba38, UTF8stoUTF32s);
// cellL10n.AddFunc(0x8f472054, UTF8stoEUCCNs);
// cellL10n.AddFunc(0x90e9b5d2, EUCJPstoUCS2s);
// cellL10n.AddFunc(0x91a99765, UHCtoUCS2);
cellL10n.AddFunc(0x931ff25a, L10nConvertStr);
// cellL10n.AddFunc(0x949bb14c, GBKstoUTF8s);
// cellL10n.AddFunc(0x9557ac9b, UTF8toUHC);
// cellL10n.AddFunc(0x9768b6d3, UTF32toUTF8);
// cellL10n.AddFunc(0x9874020d, sjis2eucjp);
// cellL10n.AddFunc(0x9a0e7d23, UCS2toEUCCN);
// cellL10n.AddFunc(0x9a13d6b8, UTF8stoUHCs);
// cellL10n.AddFunc(0x9a72059d, EUCKRtoUCS2);
// cellL10n.AddFunc(0x9b1210c6, UTF32toUTF16);
// cellL10n.AddFunc(0x9cd8135b, EUCCNstoUCS2s);
// cellL10n.AddFunc(0x9ce52809, SBCSstoUCS2s);
// cellL10n.AddFunc(0x9cf1ab77, UTF8stoJISs);
// cellL10n.AddFunc(0x9d14dc46, ToSjisKata);
// cellL10n.AddFunc(0x9dcde367, jis2eucjp);
// cellL10n.AddFunc(0x9ec52258, BIG5toUCS2);
// cellL10n.AddFunc(0xa0d463c0, UCS2toGBK);
// cellL10n.AddFunc(0xa19fb9de, UTF16toUTF32);
// cellL10n.AddFunc(0xa298cad2, l10n_convert_str);
// cellL10n.AddFunc(0xa34fa0eb, EUCJPstoJISs);
// cellL10n.AddFunc(0xa5146299, UTF8stoARIBs);
// cellL10n.AddFunc(0xa609f3e9, JISstoEUCJPs);
// cellL10n.AddFunc(0xa60ff5c9, EucJpHan2Zen);
// cellL10n.AddFunc(0xa963619c, isEucJpKigou);
// cellL10n.AddFunc(0xa9a76fb8, UCS2toUTF8);
// cellL10n.AddFunc(0xaf18d499, GB18030toUCS2);
// cellL10n.AddFunc(0xb3361be6, UHCtoUTF8);
// cellL10n.AddFunc(0xb6e45343, MSJIStoUCS2);
// cellL10n.AddFunc(0xb7cef4a6, UTF8toGBK);
// cellL10n.AddFunc(0xb7e08f7a, kuten2sjis);
// cellL10n.AddFunc(0xb9cf473d, UTF8toSBCS);
// cellL10n.AddFunc(0xbdd44ee3, SJIStoUCS2);
// cellL10n.AddFunc(0xbe42e661, eucjpzen2han);
// cellL10n.AddFunc(0xbe8d5485, UCS2stoARIBs);
// cellL10n.AddFunc(0xbefe3869, isSjisKigou);
// cellL10n.AddFunc(0xc62b758d, UTF8stoEUCJPs);
// cellL10n.AddFunc(0xc7bdcb4c, UCS2toEUCKR);
// cellL10n.AddFunc(0xc944fa56, SBCStoUCS2);
// cellL10n.AddFunc(0xc9b78f58, MSJISstoUCS2s);
// cellL10n.AddFunc(0xcc1633cc, l10n_get_converter);
// cellL10n.AddFunc(0xd02ef83d, GB18030stoUTF8s);
// cellL10n.AddFunc(0xd8721e2c, SJISstoEUCJPs);
// cellL10n.AddFunc(0xd8cb24cb, UTF32stoUCS2s);
// cellL10n.AddFunc(0xd990858b, BIG5stoUTF8s);
// cellL10n.AddFunc(0xd9fb1224, EUCCNtoUCS2);
// cellL10n.AddFunc(0xda67b37f, UTF8stoSBCSs);
// cellL10n.AddFunc(0xdc54886c, UCS2stoEUCKRs);
// cellL10n.AddFunc(0xdd5ebdeb, UTF8stoSJISs);
// cellL10n.AddFunc(0xdefa1c17, UTF8stoHZs);
// cellL10n.AddFunc(0xe2eabb32, eucjp2kuten);
// cellL10n.AddFunc(0xe6d9e234, UTF8toBIG5);
// cellL10n.AddFunc(0xe6f5711b, UTF16stoUTF8s);
// cellL10n.AddFunc(0xe956dc64, JISstoUCS2s);
// cellL10n.AddFunc(0xeabc3d00, GB18030toUTF8);
// cellL10n.AddFunc(0xeb3dc670, UTF8toSJIS);
// cellL10n.AddFunc(0xeb41cc68, ARIBstoUCS2s);
// cellL10n.AddFunc(0xeb685b83, UCS2stoUTF32s);
// cellL10n.AddFunc(0xebae29c0, UCS2stoSBCSs);
// cellL10n.AddFunc(0xee6c6a39, UCS2stoBIG5s);
// cellL10n.AddFunc(0xf1dcfa71, UCS2stoUHCs);
// cellL10n.AddFunc(0xf439728e, SJIStoEUCJP);
// cellL10n.AddFunc(0xf7681b9a, UTF8stoUTF16s);
// cellL10n.AddFunc(0xf9b1896d, SJISstoUCS2s);
// cellL10n.AddFunc(0xfa4a675a, BIG5stoUCS2s);
// cellL10n.AddFunc(0xfdbf6ac5, UTF8stoUCS2s);
// REG_FUNC(cellL10n, UCS2toEUCJP);
// REG_FUNC(cellL10n, l10n_convert);
// REG_FUNC(cellL10n, UCS2toUTF32);
// REG_FUNC(cellL10n, jis2kuten);
// REG_FUNC(cellL10n, UTF8toGB18030);
// REG_FUNC(cellL10n, JISstoUTF8s);
// REG_FUNC(cellL10n, SjisZen2Han);
// REG_FUNC(cellL10n, ToSjisLower);
// REG_FUNC(cellL10n, UCS2toGB18030);
// REG_FUNC(cellL10n, HZstoUCS2s);
// REG_FUNC(cellL10n, UCS2stoHZs);
// REG_FUNC(cellL10n, UCS2stoSJISs);
// REG_FUNC(cellL10n, kuten2eucjp);
// REG_FUNC(cellL10n, sjis2jis);
// REG_FUNC(cellL10n, EUCKRstoUCS2s);
// REG_FUNC(cellL10n, UHCstoEUCKRs);
// REG_FUNC(cellL10n, jis2sjis);
// REG_FUNC(cellL10n, jstrnchk);
// REG_FUNC(cellL10n, L10nConvert);
// REG_FUNC(cellL10n, EUCCNstoUTF8s);
// REG_FUNC(cellL10n, GBKstoUCS2s);
// REG_FUNC(cellL10n, eucjphan2zen);
// REG_FUNC(cellL10n, ToSjisHira);
// REG_FUNC(cellL10n, GBKtoUCS2);
// REG_FUNC(cellL10n, eucjp2jis);
// REG_FUNC(cellL10n, UTF32stoUTF8s);
// REG_FUNC(cellL10n, sjishan2zen);
// REG_FUNC(cellL10n, UCS2toSBCS);
// REG_FUNC(cellL10n, UTF8stoGBKs);
// REG_FUNC(cellL10n, UTF8toUCS2);
// REG_FUNC(cellL10n, UCS2stoUTF8s);
// REG_FUNC(cellL10n, EUCKRstoUTF8s);
// REG_FUNC(cellL10n, UTF16stoUTF32s);
// REG_FUNC(cellL10n, UTF8toEUCKR);
// REG_FUNC(cellL10n, UTF16toUTF8);
// REG_FUNC(cellL10n, ARIBstoUTF8s);
// REG_FUNC(cellL10n, SJISstoUTF8s);
// REG_FUNC(cellL10n, sjiszen2han);
// REG_FUNC(cellL10n, ToEucJpLower);
// REG_FUNC(cellL10n, MSJIStoUTF8);
// REG_FUNC(cellL10n, UCS2stoMSJISs);
// REG_FUNC(cellL10n, EUCJPtoUTF8);
// REG_FUNC(cellL10n, eucjp2sjis);
// REG_FUNC(cellL10n, ToEucJpHira);
// REG_FUNC(cellL10n, UHCstoUCS2s);
// REG_FUNC(cellL10n, ToEucJpKata);
// REG_FUNC(cellL10n, HZstoUTF8s);
// REG_FUNC(cellL10n, UTF8toMSJIS);
// REG_FUNC(cellL10n, BIG5toUTF8);
// REG_FUNC(cellL10n, EUCJPstoSJISs);
// REG_FUNC(cellL10n, UTF8stoBIG5s);
// REG_FUNC(cellL10n, UTF16stoUCS2s);
// REG_FUNC(cellL10n, UCS2stoGB18030s);
// REG_FUNC(cellL10n, EUCJPtoSJIS);
// REG_FUNC(cellL10n, EUCJPtoUCS2);
// REG_FUNC(cellL10n, UCS2stoGBKs);
// REG_FUNC(cellL10n, EUCKRtoUHC);
// REG_FUNC(cellL10n, UCS2toSJIS);
// REG_FUNC(cellL10n, MSJISstoUTF8s);
// REG_FUNC(cellL10n, EUCJPstoUTF8s);
// REG_FUNC(cellL10n, UCS2toBIG5);
// REG_FUNC(cellL10n, UTF8stoEUCKRs);
// REG_FUNC(cellL10n, UHCstoUTF8s);
// REG_FUNC(cellL10n, GB18030stoUCS2s);
// REG_FUNC(cellL10n, SJIStoUTF8);
// REG_FUNC(cellL10n, JISstoSJISs);
// REG_FUNC(cellL10n, UTF8toUTF16);
// REG_FUNC(cellL10n, UTF8stoMSJISs);
// REG_FUNC(cellL10n, EUCKRtoUTF8);
// REG_FUNC(cellL10n, SjisHan2Zen);
// REG_FUNC(cellL10n, UCS2toUTF16);
// REG_FUNC(cellL10n, UCS2toMSJIS);
// REG_FUNC(cellL10n, sjis2kuten);
// REG_FUNC(cellL10n, UCS2toUHC);
// REG_FUNC(cellL10n, UTF32toUCS2);
// REG_FUNC(cellL10n, ToSjisUpper);
// REG_FUNC(cellL10n, UTF8toEUCJP);
// REG_FUNC(cellL10n, UCS2stoEUCJPs);
// REG_FUNC(cellL10n, UTF16toUCS2);
// REG_FUNC(cellL10n, UCS2stoUTF16s);
// REG_FUNC(cellL10n, UCS2stoEUCCNs);
// REG_FUNC(cellL10n, SBCSstoUTF8s);
// REG_FUNC(cellL10n, SJISstoJISs);
// REG_FUNC(cellL10n, SBCStoUTF8);
// REG_FUNC(cellL10n, UTF8toUTF32);
REG_FUNC(cellL10n, jstrchk);
// REG_FUNC(cellL10n, UHCtoEUCKR);
// REG_FUNC(cellL10n, kuten2jis);
// REG_FUNC(cellL10n, UTF8toEUCCN);
// REG_FUNC(cellL10n, EUCCNtoUTF8);
// REG_FUNC(cellL10n, EucJpZen2Han);
// REG_FUNC(cellL10n, UTF32stoUTF16s);
// REG_FUNC(cellL10n, GBKtoUTF8);
// REG_FUNC(cellL10n, ToEucJpUpper);
// REG_FUNC(cellL10n, UCS2stoJISs);
// REG_FUNC(cellL10n, UTF8stoGB18030s);
// REG_FUNC(cellL10n, EUCKRstoUHCs);
// REG_FUNC(cellL10n, UTF8stoUTF32s);
// REG_FUNC(cellL10n, UTF8stoEUCCNs);
// REG_FUNC(cellL10n, EUCJPstoUCS2s);
// REG_FUNC(cellL10n, UHCtoUCS2);
REG_FUNC(cellL10n, L10nConvertStr);
// REG_FUNC(cellL10n, GBKstoUTF8s);
// REG_FUNC(cellL10n, UTF8toUHC);
// REG_FUNC(cellL10n, UTF32toUTF8);
// REG_FUNC(cellL10n, sjis2eucjp);
// REG_FUNC(cellL10n, UCS2toEUCCN);
// REG_FUNC(cellL10n, UTF8stoUHCs);
// REG_FUNC(cellL10n, EUCKRtoUCS2);
// REG_FUNC(cellL10n, UTF32toUTF16);
// REG_FUNC(cellL10n, EUCCNstoUCS2s);
// REG_FUNC(cellL10n, SBCSstoUCS2s);
// REG_FUNC(cellL10n, UTF8stoJISs);
// REG_FUNC(cellL10n, ToSjisKata);
// REG_FUNC(cellL10n, jis2eucjp);
// REG_FUNC(cellL10n, BIG5toUCS2);
// REG_FUNC(cellL10n, UCS2toGBK);
// REG_FUNC(cellL10n, UTF16toUTF32);
// REG_FUNC(cellL10n, l10n_convert_str);
// REG_FUNC(cellL10n, EUCJPstoJISs);
// REG_FUNC(cellL10n, UTF8stoARIBs);
// REG_FUNC(cellL10n, JISstoEUCJPs);
// REG_FUNC(cellL10n, EucJpHan2Zen);
// REG_FUNC(cellL10n, isEucJpKigou);
// REG_FUNC(cellL10n, UCS2toUTF8);
// REG_FUNC(cellL10n, GB18030toUCS2);
// REG_FUNC(cellL10n, UHCtoUTF8);
// REG_FUNC(cellL10n, MSJIStoUCS2);
// REG_FUNC(cellL10n, UTF8toGBK);
// REG_FUNC(cellL10n, kuten2sjis);
// REG_FUNC(cellL10n, UTF8toSBCS);
// REG_FUNC(cellL10n, SJIStoUCS2);
// REG_FUNC(cellL10n, eucjpzen2han);
// REG_FUNC(cellL10n, UCS2stoARIBs);
// REG_FUNC(cellL10n, isSjisKigou);
// REG_FUNC(cellL10n, UTF8stoEUCJPs);
// REG_FUNC(cellL10n, UCS2toEUCKR);
// REG_FUNC(cellL10n, SBCStoUCS2);
// REG_FUNC(cellL10n, MSJISstoUCS2s);
// REG_FUNC(cellL10n, l10n_get_converter);
// REG_FUNC(cellL10n, GB18030stoUTF8s);
// REG_FUNC(cellL10n, SJISstoEUCJPs);
// REG_FUNC(cellL10n, UTF32stoUCS2s);
// REG_FUNC(cellL10n, BIG5stoUTF8s);
// REG_FUNC(cellL10n, EUCCNtoUCS2);
// REG_FUNC(cellL10n, UTF8stoSBCSs);
// REG_FUNC(cellL10n, UCS2stoEUCKRs);
// REG_FUNC(cellL10n, UTF8stoSJISs);
// REG_FUNC(cellL10n, UTF8stoHZs);
// REG_FUNC(cellL10n, eucjp2kuten);
// REG_FUNC(cellL10n, UTF8toBIG5);
// REG_FUNC(cellL10n, UTF16stoUTF8s);
// REG_FUNC(cellL10n, JISstoUCS2s);
// REG_FUNC(cellL10n, GB18030toUTF8);
// REG_FUNC(cellL10n, UTF8toSJIS);
// REG_FUNC(cellL10n, ARIBstoUCS2s);
// REG_FUNC(cellL10n, UCS2stoUTF32s);
// REG_FUNC(cellL10n, UCS2stoSBCSs);
// REG_FUNC(cellL10n, UCS2stoBIG5s);
// REG_FUNC(cellL10n, UCS2stoUHCs);
// REG_FUNC(cellL10n, SJIStoEUCJP);
// REG_FUNC(cellL10n, UTF8stoUTF16s);
// REG_FUNC(cellL10n, SJISstoUCS2s);
// REG_FUNC(cellL10n, BIG5stoUCS2s);
// REG_FUNC(cellL10n, UTF8stoUCS2s);
});

View File

@ -223,47 +223,47 @@ int sys_dbg_get_coredump_params()
void cellLv2dbg_init()
{
cellLv2dbg.AddFunc(0xc21ee635, sys_dbg_read_spu_thread_context);
cellLv2dbg.AddFunc(0xc353353a, sys_dbg_initialize_ppu_exception_handler);
cellLv2dbg.AddFunc(0x22916f45, sys_dbg_register_ppu_exception_handler);
cellLv2dbg.AddFunc(0xc0eb9266, sys_dbg_finalize_ppu_exception_handler);
cellLv2dbg.AddFunc(0xc6d7ec13, sys_dbg_unregister_ppu_exception_handler);
cellLv2dbg.AddFunc(0x06a840f5, sys_dbg_set_stacksize_ppu_exception_handler);
cellLv2dbg.AddFunc(0x4ded9f6c, sys_dbg_signal_to_ppu_exception_handler);
cellLv2dbg.AddFunc(0x3147c6ca, sys_dbg_enable_floating_point_enabled_exception);
cellLv2dbg.AddFunc(0xf254768c, sys_dbg_disable_floating_point_enabled_exception);
cellLv2dbg.AddFunc(0xdb14b37b, sys_dbg_set_address_to_dabr);
cellLv2dbg.AddFunc(0xbb0ae221, sys_dbg_get_address_from_dabr);
cellLv2dbg.AddFunc(0xab475d53, sys_dbg_set_mask_to_ppu_exception_handler);
REG_FUNC(cellLv2dbg, sys_dbg_read_spu_thread_context);
REG_FUNC(cellLv2dbg, sys_dbg_initialize_ppu_exception_handler);
REG_FUNC(cellLv2dbg, sys_dbg_register_ppu_exception_handler);
REG_FUNC(cellLv2dbg, sys_dbg_finalize_ppu_exception_handler);
REG_FUNC(cellLv2dbg, sys_dbg_unregister_ppu_exception_handler);
REG_FUNC(cellLv2dbg, sys_dbg_set_stacksize_ppu_exception_handler);
REG_FUNC(cellLv2dbg, sys_dbg_signal_to_ppu_exception_handler);
REG_FUNC(cellLv2dbg, sys_dbg_enable_floating_point_enabled_exception);
REG_FUNC(cellLv2dbg, sys_dbg_disable_floating_point_enabled_exception);
REG_FUNC(cellLv2dbg, sys_dbg_set_address_to_dabr);
REG_FUNC(cellLv2dbg, sys_dbg_get_address_from_dabr);
REG_FUNC(cellLv2dbg, sys_dbg_set_mask_to_ppu_exception_handler);
cellLv2dbg.AddFunc(0xc5eef17f, sys_dbg_read_ppu_thread_context);
cellLv2dbg.AddFunc(0x266c2bd3, sys_dbg_read_spu_thread_context2);
REG_FUNC(cellLv2dbg, sys_dbg_read_ppu_thread_context);
REG_FUNC(cellLv2dbg, sys_dbg_read_spu_thread_context2);
cellLv2dbg.AddFunc(0x4b55f456, sys_dbg_get_ppu_thread_name);
cellLv2dbg.AddFunc(0x3e5eed36, sys_dbg_get_spu_thread_name);
cellLv2dbg.AddFunc(0xbd69e584, sys_dbg_get_spu_thread_group_name);
cellLv2dbg.AddFunc(0x6b413178, sys_dbg_get_ppu_thread_status);
cellLv2dbg.AddFunc(0x9ddb9dc3, sys_dbg_get_spu_thread_group_status);
REG_FUNC(cellLv2dbg, sys_dbg_get_ppu_thread_name);
REG_FUNC(cellLv2dbg, sys_dbg_get_spu_thread_name);
REG_FUNC(cellLv2dbg, sys_dbg_get_spu_thread_group_name);
REG_FUNC(cellLv2dbg, sys_dbg_get_ppu_thread_status);
REG_FUNC(cellLv2dbg, sys_dbg_get_spu_thread_group_status);
cellLv2dbg.AddFunc(0x113b0bea, sys_dbg_get_ppu_thread_ids);
cellLv2dbg.AddFunc(0x1860f909, sys_dbg_get_spu_thread_ids);
cellLv2dbg.AddFunc(0x08ef08a9, sys_dbg_get_spu_thread_group_ids);
REG_FUNC(cellLv2dbg, sys_dbg_get_ppu_thread_ids);
REG_FUNC(cellLv2dbg, sys_dbg_get_spu_thread_ids);
REG_FUNC(cellLv2dbg, sys_dbg_get_spu_thread_group_ids);
cellLv2dbg.AddFunc(0x50453aa8, sys_dbg_get_mutex_information);
cellLv2dbg.AddFunc(0xcb377e36, sys_dbg_get_lwmutex_information);
cellLv2dbg.AddFunc(0x9794bb53, sys_dbg_get_rwlock_information);
cellLv2dbg.AddFunc(0xa2d6cbd2, sys_dbg_get_semaphore_information);
cellLv2dbg.AddFunc(0x63bd413e, sys_dbg_get_cond_information);
cellLv2dbg.AddFunc(0x7bdadb01, sys_dbg_get_lwcond_information);
cellLv2dbg.AddFunc(0x381ae33e, sys_dbg_get_event_queue_information);
cellLv2dbg.AddFunc(0xdf856979, sys_dbg_get_event_flag_information);
REG_FUNC(cellLv2dbg, sys_dbg_get_mutex_information);
REG_FUNC(cellLv2dbg, sys_dbg_get_lwmutex_information);
REG_FUNC(cellLv2dbg, sys_dbg_get_rwlock_information);
REG_FUNC(cellLv2dbg, sys_dbg_get_semaphore_information);
REG_FUNC(cellLv2dbg, sys_dbg_get_cond_information);
REG_FUNC(cellLv2dbg, sys_dbg_get_lwcond_information);
REG_FUNC(cellLv2dbg, sys_dbg_get_event_queue_information);
REG_FUNC(cellLv2dbg, sys_dbg_get_event_flag_information);
cellLv2dbg.AddFunc(0x580f8203, sys_dbg_vm_get_page_information);
REG_FUNC(cellLv2dbg, sys_dbg_vm_get_page_information);
cellLv2dbg.AddFunc(0x24a3d413, sys_dbg_mat_set_condition);
cellLv2dbg.AddFunc(0x590a276e, sys_dbg_mat_get_condition);
REG_FUNC(cellLv2dbg, sys_dbg_mat_set_condition);
REG_FUNC(cellLv2dbg, sys_dbg_mat_get_condition);
cellLv2dbg.AddFunc(0xd830062a, sys_dbg_signal_to_coredump_handler);
cellLv2dbg.AddFunc(0xb9da87d3, sys_dbg_get_coredump_params);
REG_FUNC(cellLv2dbg, sys_dbg_signal_to_coredump_handler);
REG_FUNC(cellLv2dbg, sys_dbg_get_coredump_params);
}
#endif

View File

@ -290,51 +290,51 @@ void cellMic_unload()
Module cellMic("cellMic", []()
{
cellMic.AddFunc(0x8325e02d, cellMicInit);
cellMic.AddFunc(0xc6328caa, cellMicEnd);
cellMic.AddFunc(0xdd1b59f0, cellMicOpen);
cellMic.AddFunc(0x8d229f8e, cellMicClose);
REG_FUNC(cellMic, cellMicInit);
REG_FUNC(cellMic, cellMicEnd);
REG_FUNC(cellMic, cellMicOpen);
REG_FUNC(cellMic, cellMicClose);
cellMic.AddFunc(0x017024a8, cellMicGetDeviceGUID);
cellMic.AddFunc(0xa52d2ae4, cellMicGetType);
cellMic.AddFunc(0x1b42101b, cellMicIsAttached);
cellMic.AddFunc(0x186cb1fb, cellMicIsOpen);
cellMic.AddFunc(0x6a024aa0, cellMicGetDeviceAttr);
cellMic.AddFunc(0xb2c16321, cellMicSetDeviceAttr);
cellMic.AddFunc(0xac5ba03a, cellMicGetSignalAttr);
cellMic.AddFunc(0x323deb41, cellMicSetSignalAttr);
cellMic.AddFunc(0xb30780eb, cellMicGetSignalState);
REG_FUNC(cellMic, cellMicGetDeviceGUID);
REG_FUNC(cellMic, cellMicGetType);
REG_FUNC(cellMic, cellMicIsAttached);
REG_FUNC(cellMic, cellMicIsOpen);
REG_FUNC(cellMic, cellMicGetDeviceAttr);
REG_FUNC(cellMic, cellMicSetDeviceAttr);
REG_FUNC(cellMic, cellMicGetSignalAttr);
REG_FUNC(cellMic, cellMicSetSignalAttr);
REG_FUNC(cellMic, cellMicGetSignalState);
cellMic.AddFunc(0xdd724314, cellMicStart);
cellMic.AddFunc(0x07e1b12c, cellMicRead);
cellMic.AddFunc(0xfcfaf246, cellMicStop);
cellMic.AddFunc(0x6bc46aab, cellMicReset);
REG_FUNC(cellMic, cellMicStart);
REG_FUNC(cellMic, cellMicRead);
REG_FUNC(cellMic, cellMicStop);
REG_FUNC(cellMic, cellMicReset);
cellMic.AddFunc(0x7903400e, cellMicSetNotifyEventQueue);
cellMic.AddFunc(0x6cc7ae00, cellMicSetNotifyEventQueue2);
cellMic.AddFunc(0x65336418, cellMicRemoveNotifyEventQueue);
REG_FUNC(cellMic, cellMicSetNotifyEventQueue);
REG_FUNC(cellMic, cellMicSetNotifyEventQueue2);
REG_FUNC(cellMic, cellMicRemoveNotifyEventQueue);
cellMic.AddFunc(0x05709bbf, cellMicOpenEx);
cellMic.AddFunc(0xddd19a89, cellMicStartEx);
cellMic.AddFunc(0x4e0b69ee, cellMicGetFormatRaw);
cellMic.AddFunc(0xfda12276, cellMicGetFormatAux);
cellMic.AddFunc(0x87a08d29, cellMicGetFormatDsp);
cellMic.AddFunc(0xa42ac07a, cellMicOpenRaw);
cellMic.AddFunc(0x72165a7f, cellMicReadRaw);
cellMic.AddFunc(0x3acc118e, cellMicReadAux);
cellMic.AddFunc(0xc414faa5, cellMicReadDsp);
REG_FUNC(cellMic, cellMicOpenEx);
REG_FUNC(cellMic, cellMicStartEx);
REG_FUNC(cellMic, cellMicGetFormatRaw);
REG_FUNC(cellMic, cellMicGetFormatAux);
REG_FUNC(cellMic, cellMicGetFormatDsp);
REG_FUNC(cellMic, cellMicOpenRaw);
REG_FUNC(cellMic, cellMicReadRaw);
REG_FUNC(cellMic, cellMicReadAux);
REG_FUNC(cellMic, cellMicReadDsp);
cellMic.AddFunc(0x25c5723f, cellMicGetStatus);
cellMic.AddFunc(0xe839380f, cellMicStopEx);
cellMic.AddFunc(0x3ace58f3, cellMicSysShareClose);
cellMic.AddFunc(0x48108a23, cellMicGetFormat);
cellMic.AddFunc(0x891c6291, cellMicSetMultiMicNotifyEventQueue);
cellMic.AddFunc(0xad049ecf, cellMicGetFormatEx);
cellMic.AddFunc(0xbdfd51e2, cellMicSysShareStop);
cellMic.AddFunc(0xc3610dbd, cellMicSysShareOpen);
cellMic.AddFunc(0xc461563c, cellMicCommand);
cellMic.AddFunc(0xcac7e7d7, cellMicSysShareStart);
cellMic.AddFunc(0xd127cd3e, cellMicSysShareInit);
cellMic.AddFunc(0xf82bbf7c, cellMicSysShareEnd);
cellMic.AddFunc(0xfdbbe469, cellMicGetDeviceIdentifier);
REG_FUNC(cellMic, cellMicGetStatus);
REG_FUNC(cellMic, cellMicStopEx);
REG_FUNC(cellMic, cellMicSysShareClose);
REG_FUNC(cellMic, cellMicGetFormat);
REG_FUNC(cellMic, cellMicSetMultiMicNotifyEventQueue);
REG_FUNC(cellMic, cellMicGetFormatEx);
REG_FUNC(cellMic, cellMicSysShareStop);
REG_FUNC(cellMic, cellMicSysShareOpen);
REG_FUNC(cellMic, cellMicCommand);
REG_FUNC(cellMic, cellMicSysShareStart);
REG_FUNC(cellMic, cellMicSysShareInit);
REG_FUNC(cellMic, cellMicSysShareEnd);
REG_FUNC(cellMic, cellMicGetDeviceIdentifier);
});

View File

@ -131,14 +131,14 @@ int cellMouseGetRawData(u32 port_no, u32 data_addr)
void cellMouse_init()
{
sys_io.AddFunc(0xc9030138, cellMouseInit);
sys_io.AddFunc(0x3ef66b95, cellMouseClearBuf);
sys_io.AddFunc(0xe10183ce, cellMouseEnd);
sys_io.AddFunc(0x5baf30fb, cellMouseGetInfo);
sys_io.AddFunc(0x4d0b3b1f, cellMouseInfoTabletMode);
sys_io.AddFunc(0x3138e632, cellMouseGetData);
sys_io.AddFunc(0x6bd131f0, cellMouseGetDataList);
sys_io.AddFunc(0x2d16da4f, cellMouseSetTabletMode);
sys_io.AddFunc(0x21a62e9b, cellMouseGetTabletDataList);
sys_io.AddFunc(0xa328cc35, cellMouseGetRawData);
REG_FUNC(sys_io, cellMouseInit);
REG_FUNC(sys_io, cellMouseClearBuf);
REG_FUNC(sys_io, cellMouseEnd);
REG_FUNC(sys_io, cellMouseGetInfo);
REG_FUNC(sys_io, cellMouseInfoTabletMode);
REG_FUNC(sys_io, cellMouseGetData);
REG_FUNC(sys_io, cellMouseGetDataList);
REG_FUNC(sys_io, cellMouseSetTabletMode);
REG_FUNC(sys_io, cellMouseGetTabletDataList);
REG_FUNC(sys_io, cellMouseGetRawData);
}

View File

@ -86,15 +86,15 @@ int cellMusicDecodeGetContentsId()
void cellMusicDecode_init()
{
cellMusicDecode.AddFunc(0xd55dbc11, cellMusicDecodeInitialize);
cellMusicDecode.AddFunc(0x84f154b2, cellMusicDecodeInitializeSystemWorkload);
cellMusicDecode.AddFunc(0xa8615dc8, cellMusicDecodeFinalize);
cellMusicDecode.AddFunc(0xf24cb963, cellMusicDecodeSelectContents);
cellMusicDecode.AddFunc(0x066bb1cf, cellMusicDecodeSetDecodeCommand);
cellMusicDecode.AddFunc(0x5af74c50, cellMusicDecodeGetDecodeStatus);
cellMusicDecode.AddFunc(0xa881b744, cellMusicDecodeRead);
cellMusicDecode.AddFunc(0xdbf70550, cellMusicDecodeGetSelectionContext);
cellMusicDecode.AddFunc(0xb84f5c81, cellMusicDecodeSetSelectionContext);
cellMusicDecode.AddFunc(0x58ab1999, cellMusicDecodeGetContentsId);
REG_FUNC(cellMusicDecode, cellMusicDecodeInitialize);
REG_FUNC(cellMusicDecode, cellMusicDecodeInitializeSystemWorkload);
REG_FUNC(cellMusicDecode, cellMusicDecodeFinalize);
REG_FUNC(cellMusicDecode, cellMusicDecodeSelectContents);
REG_FUNC(cellMusicDecode, cellMusicDecodeSetDecodeCommand);
REG_FUNC(cellMusicDecode, cellMusicDecodeGetDecodeStatus);
REG_FUNC(cellMusicDecode, cellMusicDecodeRead);
REG_FUNC(cellMusicDecode, cellMusicDecodeGetSelectionContext);
REG_FUNC(cellMusicDecode, cellMusicDecodeSetSelectionContext);
REG_FUNC(cellMusicDecode, cellMusicDecodeGetContentsId);
}
#endif

View File

@ -53,10 +53,10 @@ int cellMusicExportProgress()
void cellMusicExport_init()
{
cellMusicExport.AddFunc(0xb4c9b4f9, cellMusicExportInitialize);
cellMusicExport.AddFunc(0xe0443a44, cellMusicExportInitialize2);
cellMusicExport.AddFunc(0xe90effea, cellMusicExportFinalize);
cellMusicExport.AddFunc(0xb202f0e8, cellMusicExportFromFile);
cellMusicExport.AddFunc(0x92b50ebc, cellMusicExportProgress);
REG_FUNC(cellMusicExport, cellMusicExportInitialize);
REG_FUNC(cellMusicExport, cellMusicExportInitialize2);
REG_FUNC(cellMusicExport, cellMusicExportFinalize);
REG_FUNC(cellMusicExport, cellMusicExportFromFile);
REG_FUNC(cellMusicExport, cellMusicExportProgress);
}
#endif

View File

@ -125,18 +125,18 @@ void cellNetCtl_unload()
Module cellNetCtl("cellNetCtl", []()
{
cellNetCtl.AddFunc(0xbd5a59fc, cellNetCtlInit);
cellNetCtl.AddFunc(0x105ee2cb, cellNetCtlTerm);
REG_FUNC(cellNetCtl, cellNetCtlInit);
REG_FUNC(cellNetCtl, cellNetCtlTerm);
cellNetCtl.AddFunc(0x8b3eba69, cellNetCtlGetState);
cellNetCtl.AddFunc(0x0ce13c6b, cellNetCtlAddHandler);
cellNetCtl.AddFunc(0x901815c3, cellNetCtlDelHandler);
REG_FUNC(cellNetCtl, cellNetCtlGetState);
REG_FUNC(cellNetCtl, cellNetCtlAddHandler);
REG_FUNC(cellNetCtl, cellNetCtlDelHandler);
cellNetCtl.AddFunc(0x1e585b5d, cellNetCtlGetInfo);
REG_FUNC(cellNetCtl, cellNetCtlGetInfo);
cellNetCtl.AddFunc(0x04459230, cellNetCtlNetStartDialogLoadAsync);
cellNetCtl.AddFunc(0x71d53210, cellNetCtlNetStartDialogAbortAsync);
cellNetCtl.AddFunc(0x0f1f13d3, cellNetCtlNetStartDialogUnloadAsync);
REG_FUNC(cellNetCtl, cellNetCtlNetStartDialogLoadAsync);
REG_FUNC(cellNetCtl, cellNetCtlNetStartDialogAbortAsync);
REG_FUNC(cellNetCtl, cellNetCtlNetStartDialogUnloadAsync);
cellNetCtl.AddFunc(0x3a12865f, cellNetCtlGetNatInfo);
REG_FUNC(cellNetCtl, cellNetCtlGetNatInfo);
});

View File

@ -38,8 +38,8 @@ int cellOvisInvalidateOverlappedSegments()
Module cellOvis("cellOvis", []()
{
cellOvis.AddFunc(0x82f294b2, cellOvisGetOverlayTableSize);
cellOvis.AddFunc(0xa876c911, cellOvisInitializeOverlayTable);
cellOvis.AddFunc(0xce6cb776, cellOvisFixSpuSegments);
cellOvis.AddFunc(0x629ba0c0, cellOvisInvalidateOverlappedSegments);
REG_FUNC(cellOvis, cellOvisGetOverlayTableSize);
REG_FUNC(cellOvis, cellOvisInitializeOverlayTable);
REG_FUNC(cellOvis, cellOvisFixSpuSegments);
REG_FUNC(cellOvis, cellOvisInvalidateOverlappedSegments);
});

View File

@ -424,19 +424,19 @@ int cellPadSetSensorMode(u32 port_no, u32 mode)
void cellPad_init()
{
sys_io.AddFunc(0x1cf98800, cellPadInit);
sys_io.AddFunc(0x4d9b75d5, cellPadEnd);
sys_io.AddFunc(0x0d5f2c14, cellPadClearBuf);
sys_io.AddFunc(0x8b72cda1, cellPadGetData);
sys_io.AddFunc(0x6bc09c61, cellPadGetDataExtra);
sys_io.AddFunc(0xf65544ee, cellPadSetActDirect);
sys_io.AddFunc(0x3aaad464, cellPadGetInfo);
sys_io.AddFunc(0xa703a51d, cellPadGetInfo2);
sys_io.AddFunc(0x4cc9b68d, cellPadPeriphGetInfo);
sys_io.AddFunc(0x578e3c98, cellPadSetPortSetting);
sys_io.AddFunc(0x0e2dfaad, cellPadInfoPressMode);
sys_io.AddFunc(0x78200559, cellPadInfoSensorMode);
sys_io.AddFunc(0xf83f8182, cellPadSetPressMode);
sys_io.AddFunc(0xbe5be3ba, cellPadSetSensorMode);
sys_io.AddFunc(0xdbf4c59c, cellPadGetCapabilityInfo);
REG_FUNC(sys_io, cellPadInit);
REG_FUNC(sys_io, cellPadEnd);
REG_FUNC(sys_io, cellPadClearBuf);
REG_FUNC(sys_io, cellPadGetData);
REG_FUNC(sys_io, cellPadGetDataExtra);
REG_FUNC(sys_io, cellPadSetActDirect);
REG_FUNC(sys_io, cellPadGetInfo);
REG_FUNC(sys_io, cellPadGetInfo2);
REG_FUNC(sys_io, cellPadPeriphGetInfo);
REG_FUNC(sys_io, cellPadSetPortSetting);
REG_FUNC(sys_io, cellPadInfoPressMode);
REG_FUNC(sys_io, cellPadInfoSensorMode);
REG_FUNC(sys_io, cellPadSetPressMode);
REG_FUNC(sys_io, cellPadSetSensorMode);
REG_FUNC(sys_io, cellPadGetCapabilityInfo);
}

View File

@ -736,27 +736,27 @@ s32 cellPamfEpIteratorMove(vm::ptr<CellPamfEpIterator> pIt, s32 steps, vm::ptr<C
Module cellPamf("cellPamf", []()
{
cellPamf.AddFunc(0xca8181c1, cellPamfGetHeaderSize);
cellPamf.AddFunc(0x90fc9a59, cellPamfGetHeaderSize2);
cellPamf.AddFunc(0x44f5c9e3, cellPamfGetStreamOffsetAndSize);
cellPamf.AddFunc(0xd1a40ef4, cellPamfVerify);
cellPamf.AddFunc(0xb8436ee5, cellPamfReaderInitialize);
cellPamf.AddFunc(0x4de501b1, cellPamfReaderGetPresentationStartTime);
cellPamf.AddFunc(0xf61609d6, cellPamfReaderGetPresentationEndTime);
cellPamf.AddFunc(0xdb70296c, cellPamfReaderGetMuxRateBound);
cellPamf.AddFunc(0x37f723f7, cellPamfReaderGetNumberOfStreams);
cellPamf.AddFunc(0xd0230671, cellPamfReaderGetNumberOfSpecificStreams);
cellPamf.AddFunc(0x461534b4, cellPamfReaderSetStreamWithIndex);
cellPamf.AddFunc(0x03fd2caa, cellPamfReaderSetStreamWithTypeAndChannel);
cellPamf.AddFunc(0x28b4e2c1, cellPamfReaderSetStreamWithTypeAndIndex);
cellPamf.AddFunc(0x01067e22, cellPamfStreamTypeToEsFilterId);
cellPamf.AddFunc(0x041cc708, cellPamfReaderGetStreamIndex);
cellPamf.AddFunc(0x9ab20793, cellPamfReaderGetStreamTypeAndChannel);
cellPamf.AddFunc(0x71df326a, cellPamfReaderGetEsFilterId);
cellPamf.AddFunc(0x67fd273b, cellPamfReaderGetStreamInfo);
cellPamf.AddFunc(0xd9ea3457, cellPamfReaderGetNumberOfEp);
cellPamf.AddFunc(0xe8586ec6, cellPamfReaderGetEpIteratorWithIndex);
cellPamf.AddFunc(0x439fba17, cellPamfReaderGetEpIteratorWithTimeStamp);
cellPamf.AddFunc(0x1abeb9d6, cellPamfEpIteratorGetEp);
cellPamf.AddFunc(0x50b83205, cellPamfEpIteratorMove);
REG_FUNC(cellPamf, cellPamfGetHeaderSize);
REG_FUNC(cellPamf, cellPamfGetHeaderSize2);
REG_FUNC(cellPamf, cellPamfGetStreamOffsetAndSize);
REG_FUNC(cellPamf, cellPamfVerify);
REG_FUNC(cellPamf, cellPamfReaderInitialize);
REG_FUNC(cellPamf, cellPamfReaderGetPresentationStartTime);
REG_FUNC(cellPamf, cellPamfReaderGetPresentationEndTime);
REG_FUNC(cellPamf, cellPamfReaderGetMuxRateBound);
REG_FUNC(cellPamf, cellPamfReaderGetNumberOfStreams);
REG_FUNC(cellPamf, cellPamfReaderGetNumberOfSpecificStreams);
REG_FUNC(cellPamf, cellPamfReaderSetStreamWithIndex);
REG_FUNC(cellPamf, cellPamfReaderSetStreamWithTypeAndChannel);
REG_FUNC(cellPamf, cellPamfReaderSetStreamWithTypeAndIndex);
REG_FUNC(cellPamf, cellPamfStreamTypeToEsFilterId);
REG_FUNC(cellPamf, cellPamfReaderGetStreamIndex);
REG_FUNC(cellPamf, cellPamfReaderGetStreamTypeAndChannel);
REG_FUNC(cellPamf, cellPamfReaderGetEsFilterId);
REG_FUNC(cellPamf, cellPamfReaderGetStreamInfo);
REG_FUNC(cellPamf, cellPamfReaderGetNumberOfEp);
REG_FUNC(cellPamf, cellPamfReaderGetEpIteratorWithIndex);
REG_FUNC(cellPamf, cellPamfReaderGetEpIteratorWithTimeStamp);
REG_FUNC(cellPamf, cellPamfEpIteratorGetEp);
REG_FUNC(cellPamf, cellPamfEpIteratorMove);
});

View File

@ -58,9 +58,9 @@ int cellPhotoDecodeFromFile()
void cellPhotoDecode_init()
{
cellPhotoDecode.AddFunc(0x596f0a56, cellPhotoDecodeInitialize);
cellPhotoDecode.AddFunc(0x0f424ecb, cellPhotoDecodeInitialize2);
cellPhotoDecode.AddFunc(0xad7d8f38, cellPhotoDecodeFinalize);
cellPhotoDecode.AddFunc(0x28b22e44, cellPhotoDecodeFromFile);
REG_FUNC(cellPhotoDecode, cellPhotoDecodeInitialize);
REG_FUNC(cellPhotoDecode, cellPhotoDecodeInitialize2);
REG_FUNC(cellPhotoDecode, cellPhotoDecodeFinalize);
REG_FUNC(cellPhotoDecode, cellPhotoDecodeFromFile);
}
#endif

View File

@ -53,11 +53,11 @@ int cellPhotoExportProgress()
void cellPhotoExport_init()
{
cellPhotoExport.AddFunc(0x4357c77f, cellPhotoExportInitialize);
cellPhotoExport.AddFunc(0x08cbd8e1, cellPhotoExportInitialize2);
cellPhotoExport.AddFunc(0xed4a0148, cellPhotoExportFinalize);
cellPhotoExport.AddFunc(0x09ce84ac, cellPhotoExportFromFile);
REG_FUNC(cellPhotoExport, cellPhotoExportInitialize);
REG_FUNC(cellPhotoExport, cellPhotoExportInitialize2);
REG_FUNC(cellPhotoExport, cellPhotoExportFinalize);
REG_FUNC(cellPhotoExport, cellPhotoExportFromFile);
//cellPhotoExport.AddFunc(, cellPhotoExportFromFileWithCopy);
cellPhotoExport.AddFunc(0xde509ead, cellPhotoExportProgress);
REG_FUNC(cellPhotoExport, cellPhotoExportProgress);
}
#endif

View File

@ -55,7 +55,7 @@ int _cellPhotoImport2()
void cellPhotoImport_init()
{
cellPhotoImport.AddFunc(0x0783bce0, _cellPhotoImport);
cellPhotoImport.AddFunc(0x1ab8df55, _cellPhotoImport2);
REG_FUNC(cellPhotoImport, _cellPhotoImport);
REG_FUNC(cellPhotoImport, _cellPhotoImport2);
}
#endif

View File

@ -71,14 +71,14 @@ int cellPngEncReset()
void cellPngEnc_init()
{
cellPngEnc.AddFunc(0x496cfcd0, cellPngEncQueryAttr);
cellPngEnc.AddFunc(0x19256dc5, cellPngEncOpen);
cellPngEnc.AddFunc(0xc82558ce, cellPngEncOpenEx);
cellPngEnc.AddFunc(0x117cd726, cellPngEncClose);
cellPngEnc.AddFunc(0x662bd637, cellPngEncWaitForInput);
cellPngEnc.AddFunc(0x5b546ca4, cellPngEncEncodePicture);
cellPngEnc.AddFunc(0x90ef2963, cellPngEncWaitForOutput);
cellPngEnc.AddFunc(0x585269bc, cellPngEncGetStreamInfo);
cellPngEnc.AddFunc(0x6ac91de3, cellPngEncReset);
REG_FUNC(cellPngEnc, cellPngEncQueryAttr);
REG_FUNC(cellPngEnc, cellPngEncOpen);
REG_FUNC(cellPngEnc, cellPngEncOpenEx);
REG_FUNC(cellPngEnc, cellPngEncClose);
REG_FUNC(cellPngEnc, cellPngEncWaitForInput);
REG_FUNC(cellPngEnc, cellPngEncEncodePicture);
REG_FUNC(cellPngEnc, cellPngEncWaitForOutput);
REG_FUNC(cellPngEnc, cellPngEncGetStreamInfo);
REG_FUNC(cellPngEnc, cellPngEncReset);
}
#endif

View File

@ -91,17 +91,17 @@ int cellPrintSendBand()
void cellPrint_init()
{
cellPrint.AddFunc(0xc9c3ef14, cellPrintLoadAsync);
cellPrint.AddFunc(0xf0865182, cellPrintLoadAsync2);
cellPrint.AddFunc(0xeb51aa38, cellPrintUnloadAsync);
cellPrint.AddFunc(0x6802dfb5, cellPrintGetStatus);
cellPrint.AddFunc(0xf9a53f35, cellPrintOpenConfig);
cellPrint.AddFunc(0x6e952645, cellPrintGetPrintableArea);
cellPrint.AddFunc(0x795b12b3, cellPrintStartJob);
cellPrint.AddFunc(0xc04a7d42, cellPrintEndJob);
cellPrint.AddFunc(0x293d9e9c, cellPrintCancelJob);
cellPrint.AddFunc(0x865acf74, cellPrintStartPage);
cellPrint.AddFunc(0x0d44f661, cellPrintEndPage);
cellPrint.AddFunc(0x0a373522, cellPrintSendBand);
REG_FUNC(cellPrint, cellPrintLoadAsync);
REG_FUNC(cellPrint, cellPrintLoadAsync2);
REG_FUNC(cellPrint, cellPrintUnloadAsync);
REG_FUNC(cellPrint, cellPrintGetStatus);
REG_FUNC(cellPrint, cellPrintOpenConfig);
REG_FUNC(cellPrint, cellPrintGetPrintableArea);
REG_FUNC(cellPrint, cellPrintStartJob);
REG_FUNC(cellPrint, cellPrintEndJob);
REG_FUNC(cellPrint, cellPrintCancelJob);
REG_FUNC(cellPrint, cellPrintStartPage);
REG_FUNC(cellPrint, cellPrintEndPage);
REG_FUNC(cellPrint, cellPrintSendBand);
}
#endif

Some files were not shown because too many files have changed in this diff Show More