This commit is contained in:
Nekotekina 2014-11-06 03:57:34 +03:00
parent 7172154da7
commit af0ab4e8ad
5 changed files with 24 additions and 32 deletions

View File

@ -3,16 +3,14 @@
#include "Emu/Memory/Memory.h"
#include "Emu/ARMv7/PSVFuncList.h"
extern psv_log_base& sceLibKernel;
extern psv_log_base sceLibKernel;
#define REG_FUNC(nid, name) reg_psv_func(nid, module, #name, &name)
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceLibKernel, #name, &name)
psv_log_base& sceLibKernel = []() -> psv_log_base&
psv_log_base sceLibKernel = []() -> psv_log_base
{
psv_log_base* module = new psv_log_base("sceLibKernel");
//REG_FUNC(0x23EAA62, sceKernelPuts);
//REG_FUNC(0xB0335388, sceClibToupper);
//REG_FUNC(0x4C5471BC, sceClibTolower);
@ -378,5 +376,5 @@ psv_log_base& sceLibKernel = []() -> psv_log_base&
/* SceDebugLed */
//REG_FUNC(0x78E702D3, sceKernelSetGPO);
return *module;
return psv_log_base("sceLibKernel");
}();

View File

@ -3,7 +3,7 @@
#include "Emu/Memory/Memory.h"
#include "Emu/ARMv7/PSVFuncList.h"
extern psv_log_base& sceLibc;
extern psv_log_base sceLibc;
namespace sce_libc_func
{
@ -38,12 +38,10 @@ namespace sce_libc_func
}
}
#define REG_FUNC(nid, name) reg_psv_func(nid, module, #name, &sce_libc_func::name)
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceLibc, #name, &sce_libc_func::name)
psv_log_base& sceLibc = []() -> psv_log_base&
psv_log_base sceLibc = []() -> psv_log_base
{
psv_log_base* module = new psv_log_base("SceLibc");
REG_FUNC(0x33b83b70, __cxa_atexit);
REG_FUNC(0x826bbbaf, exit);
REG_FUNC(0x9a004680, printf);
@ -338,5 +336,5 @@ psv_log_base& sceLibc = []() -> psv_log_base&
//REG_FUNC(0x7D35108B, _FSnan);
//REG_FUNC(0x48AEEF2A, _LSnan);
return *module;
return psv_log_base("SceLibc");
}();

View File

@ -3,19 +3,17 @@
#include "Emu/Memory/Memory.h"
#include "Emu/ARMv7/PSVFuncList.h"
extern psv_log_base& sceLibm;
extern psv_log_base sceLibm;
namespace sce_libm_func
{
}
#define REG_FUNC(nid, name) reg_psv_func(nid, module, #name, &sce_libm_func::name)
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceLibm, #name, &sce_libm_func::name)
psv_log_base& sceLibm = []() -> psv_log_base&
psv_log_base sceLibm = []() -> psv_log_base
{
psv_log_base* module = new psv_log_base("SceLibm");
//REG_FUNC(0xC73FE76D, _Exp);
//REG_FUNC(0xFF4EAE04, _FExp);
//REG_FUNC(0xB363D7D4, _LExp);
@ -215,5 +213,5 @@ psv_log_base& sceLibm = []() -> psv_log_base&
//REG_FUNC(0xC4F7E42C, _FDsign);
//REG_FUNC(0x1DF73D2B, _LDsign);
return *module;
return psv_log_base("SceLibm");
}();

View File

@ -3,7 +3,7 @@
#include "Emu/Memory/Memory.h"
#include "Emu/ARMv7/PSVFuncList.h"
extern psv_log_base& sceLibstdcxx;
extern psv_log_base sceLibstdcxx;
namespace sce_libstdcxx_func
{
@ -26,12 +26,10 @@ namespace sce_libstdcxx_func
}
}
#define REG_FUNC(nid, name) reg_psv_func(nid, module, #name, &sce_libstdcxx_func::name)
#define REG_FUNC(nid, name) reg_psv_func(nid, &sceLibstdcxx, #name, &sce_libstdcxx_func::name)
psv_log_base& sceLibstdcxx = []() -> psv_log_base&
psv_log_base sceLibstdcxx = []() -> psv_log_base
{
psv_log_base* module = new psv_log_base("SceLibstdcxx");
REG_FUNC(0x173E7421, __aeabi_unwind_cpp_pr0);
REG_FUNC(0x3C78DDE3, __aeabi_unwind_cpp_pr1);
REG_FUNC(0xF95BDD36, __aeabi_unwind_cpp_pr2);
@ -980,7 +978,7 @@ psv_log_base& sceLibstdcxx = []() -> psv_log_base&
//REG_FUNC(0x33836375, vtable for __cxxabiv1::__fundamental_type_info);
//REG_FUNC(0x94664DEB, vtable for __cxxabiv1::__pointer_to_member_type_info);
return *module;
return psv_log_base("SceLibstdcxx");
}();
/*

View File

@ -2,9 +2,9 @@
#include "Emu/System.h"
#include "PSVFuncList.h"
std::vector<psv_func>& g_psv_func_list = []() -> std::vector<psv_func>&
std::vector<psv_func> g_psv_func_list = []() -> std::vector<psv_func>
{
auto v = new std::vector<psv_func>;
std::vector<psv_func> v;
psv_func f =
{
@ -19,9 +19,9 @@ std::vector<psv_func>& g_psv_func_list = []() -> std::vector<psv_func>&
}),
nullptr,
};
v->push_back(f);
v.push_back(f);
return *v;
return v;
}();
void add_psv_func(psv_func& data)
@ -58,10 +58,10 @@ void execute_psv_func_by_index(ARMv7Thread& CPU, u32 index)
(*g_psv_func_list[index].func)(CPU);
}
extern psv_log_base& sceLibc;
extern psv_log_base& sceLibm;
extern psv_log_base& sceLibstdcxx;
extern psv_log_base& sceLibKernel;
extern psv_log_base sceLibc;
extern psv_log_base sceLibm;
extern psv_log_base sceLibstdcxx;
extern psv_log_base sceLibKernel;
void list_known_psv_modules()
{