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/Memory/Memory.h"
#include "Emu/ARMv7/PSVFuncList.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(0x23EAA62, sceKernelPuts);
//REG_FUNC(0xB0335388, sceClibToupper); //REG_FUNC(0xB0335388, sceClibToupper);
//REG_FUNC(0x4C5471BC, sceClibTolower); //REG_FUNC(0x4C5471BC, sceClibTolower);
@ -378,5 +376,5 @@ psv_log_base& sceLibKernel = []() -> psv_log_base&
/* SceDebugLed */ /* SceDebugLed */
//REG_FUNC(0x78E702D3, sceKernelSetGPO); //REG_FUNC(0x78E702D3, sceKernelSetGPO);
return *module; return psv_log_base("sceLibKernel");
}(); }();

View File

@ -3,7 +3,7 @@
#include "Emu/Memory/Memory.h" #include "Emu/Memory/Memory.h"
#include "Emu/ARMv7/PSVFuncList.h" #include "Emu/ARMv7/PSVFuncList.h"
extern psv_log_base& sceLibc; extern psv_log_base sceLibc;
namespace sce_libc_func 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(0x33b83b70, __cxa_atexit);
REG_FUNC(0x826bbbaf, exit); REG_FUNC(0x826bbbaf, exit);
REG_FUNC(0x9a004680, printf); REG_FUNC(0x9a004680, printf);
@ -338,5 +336,5 @@ psv_log_base& sceLibc = []() -> psv_log_base&
//REG_FUNC(0x7D35108B, _FSnan); //REG_FUNC(0x7D35108B, _FSnan);
//REG_FUNC(0x48AEEF2A, _LSnan); //REG_FUNC(0x48AEEF2A, _LSnan);
return *module; return psv_log_base("SceLibc");
}(); }();

View File

@ -3,19 +3,17 @@
#include "Emu/Memory/Memory.h" #include "Emu/Memory/Memory.h"
#include "Emu/ARMv7/PSVFuncList.h" #include "Emu/ARMv7/PSVFuncList.h"
extern psv_log_base& sceLibm; extern psv_log_base sceLibm;
namespace sce_libm_func 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(0xC73FE76D, _Exp);
//REG_FUNC(0xFF4EAE04, _FExp); //REG_FUNC(0xFF4EAE04, _FExp);
//REG_FUNC(0xB363D7D4, _LExp); //REG_FUNC(0xB363D7D4, _LExp);
@ -215,5 +213,5 @@ psv_log_base& sceLibm = []() -> psv_log_base&
//REG_FUNC(0xC4F7E42C, _FDsign); //REG_FUNC(0xC4F7E42C, _FDsign);
//REG_FUNC(0x1DF73D2B, _LDsign); //REG_FUNC(0x1DF73D2B, _LDsign);
return *module; return psv_log_base("SceLibm");
}(); }();

View File

@ -3,7 +3,7 @@
#include "Emu/Memory/Memory.h" #include "Emu/Memory/Memory.h"
#include "Emu/ARMv7/PSVFuncList.h" #include "Emu/ARMv7/PSVFuncList.h"
extern psv_log_base& sceLibstdcxx; extern psv_log_base sceLibstdcxx;
namespace sce_libstdcxx_func 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(0x173E7421, __aeabi_unwind_cpp_pr0);
REG_FUNC(0x3C78DDE3, __aeabi_unwind_cpp_pr1); REG_FUNC(0x3C78DDE3, __aeabi_unwind_cpp_pr1);
REG_FUNC(0xF95BDD36, __aeabi_unwind_cpp_pr2); 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(0x33836375, vtable for __cxxabiv1::__fundamental_type_info);
//REG_FUNC(0x94664DEB, vtable for __cxxabiv1::__pointer_to_member_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 "Emu/System.h"
#include "PSVFuncList.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 = psv_func f =
{ {
@ -19,9 +19,9 @@ std::vector<psv_func>& g_psv_func_list = []() -> std::vector<psv_func>&
}), }),
nullptr, nullptr,
}; };
v->push_back(f); v.push_back(f);
return *v; return v;
}(); }();
void add_psv_func(psv_func& data) 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); (*g_psv_func_list[index].func)(CPU);
} }
extern psv_log_base& sceLibc; extern psv_log_base sceLibc;
extern psv_log_base& sceLibm; extern psv_log_base sceLibm;
extern psv_log_base& sceLibstdcxx; extern psv_log_base sceLibstdcxx;
extern psv_log_base& sceLibKernel; extern psv_log_base sceLibKernel;
void list_known_psv_modules() void list_known_psv_modules()
{ {