Finished fixing bugs caused by the merge

This commit is contained in:
inspuration 2014-06-10 16:29:52 -04:00
parent 1d6ea166c1
commit f18ae9892a
8 changed files with 134 additions and 320 deletions

View file

@ -219,6 +219,10 @@
<ItemGroup> <ItemGroup>
<Text Include="CMakeLists.txt" /> <Text Include="CMakeLists.txt" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<None Include="scm_rev.cpp.in" />
<None Include="scm_rev_gen.js" />
</ItemGroup>
<Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" /> <Import Project="$(VCTargetsPath)\Microsoft.Cpp.targets" />
<ImportGroup Label="ExtensionTargets"> <ImportGroup Label="ExtensionTargets">
</ImportGroup> </ImportGroup>

View file

@ -30,18 +30,18 @@
<ClInclude Include="msg_handler.h" /> <ClInclude Include="msg_handler.h" />
<ClInclude Include="platform.h" /> <ClInclude Include="platform.h" />
<ClInclude Include="register_set.h" /> <ClInclude Include="register_set.h" />
<ClInclude Include="scm_rev.h" />
<ClInclude Include="std_condition_variable.h" /> <ClInclude Include="std_condition_variable.h" />
<ClInclude Include="std_mutex.h" /> <ClInclude Include="std_mutex.h" />
<ClInclude Include="std_thread.h" /> <ClInclude Include="std_thread.h" />
<ClInclude Include="string_util.h" /> <ClInclude Include="string_util.h" />
<ClInclude Include="swap.h" /> <ClInclude Include="swap.h" />
<ClInclude Include="symbols.h" />
<ClInclude Include="thread.h" /> <ClInclude Include="thread.h" />
<ClInclude Include="thread_queue_list.h" />
<ClInclude Include="thunk.h" /> <ClInclude Include="thunk.h" />
<ClInclude Include="timer.h" /> <ClInclude Include="timer.h" />
<ClInclude Include="utf8.h" /> <ClInclude Include="utf8.h" />
<ClInclude Include="symbols.h" />
<ClInclude Include="scm_rev.h" />
<ClInclude Include="thread_queue_list.h" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClCompile Include="break_points.cpp" /> <ClCompile Include="break_points.cpp" />
@ -56,14 +56,18 @@
<ClCompile Include="memory_util.cpp" /> <ClCompile Include="memory_util.cpp" />
<ClCompile Include="misc.cpp" /> <ClCompile Include="misc.cpp" />
<ClCompile Include="msg_handler.cpp" /> <ClCompile Include="msg_handler.cpp" />
<ClCompile Include="scm_rev.cpp" />
<ClCompile Include="string_util.cpp" /> <ClCompile Include="string_util.cpp" />
<ClCompile Include="symbols.cpp" />
<ClCompile Include="thread.cpp" /> <ClCompile Include="thread.cpp" />
<ClCompile Include="timer.cpp" /> <ClCompile Include="timer.cpp" />
<ClCompile Include="utf8.cpp" /> <ClCompile Include="utf8.cpp" />
<ClCompile Include="symbols.cpp" />
<ClCompile Include="scm_rev.cpp" />
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Text Include="CMakeLists.txt" /> <Text Include="CMakeLists.txt" />
</ItemGroup> </ItemGroup>
<ItemGroup>
<None Include="scm_rev.cpp.in" />
<None Include="scm_rev_gen.js" />
</ItemGroup>
</Project> </Project>

View file

@ -9,7 +9,7 @@
#include "core/core.h" #include "core/core.h"
#include "core/mem_map.h" #include "core/mem_map.h"
#include "core/hw/hw.h" #include "core/hw/hw.h"
#include "core/hw/lcd.h" #include "core/hw/gpu.h"
#include "core/arm/disassembler/arm_disasm.h" #include "core/arm/disassembler/arm_disasm.h"
#include "core/arm/interpreter/arm_interpreter.h" #include "core/arm/interpreter/arm_interpreter.h"
@ -26,7 +26,7 @@ ARM_Interface* g_sys_core = nullptr; ///< ARM11 system (OS) core
/// Run the core CPU loop /// Run the core CPU loop
void RunLoop() { void RunLoop() {
for (;;){ for (;;){
g_app_core->Run(LCD::kFrameTicks); g_app_core->Run(GPU::kFrameTicks);
HW::Update(); HW::Update();
Kernel::Reschedule(); Kernel::Reschedule();
} }
@ -38,7 +38,7 @@ void SingleStep() {
// Update and reschedule after approx. 1 frame // Update and reschedule after approx. 1 frame
u64 current_ticks = Core::g_app_core->GetTicks(); u64 current_ticks = Core::g_app_core->GetTicks();
if ((current_ticks - g_last_ticks) >= LCD::kFrameTicks || HLE::g_reschedule) { if ((current_ticks - g_last_ticks) >= GPU::kFrameTicks || HLE::g_reschedule) {
g_last_ticks = current_ticks; g_last_ticks = current_ticks;
HW::Update(); HW::Update();
Kernel::Reschedule(); Kernel::Reschedule();

View file

@ -191,9 +191,9 @@
<ClCompile Include="hle\service\srv.cpp" /> <ClCompile Include="hle\service\srv.cpp" />
<ClCompile Include="hle\svc.cpp" /> <ClCompile Include="hle\svc.cpp" />
<ClCompile Include="hw\gpu.cpp" /> <ClCompile Include="hw\gpu.cpp" />
<ClCompile Include="hw\hid.cpp" />
<ClCompile Include="hw\hw.cpp" /> <ClCompile Include="hw\hw.cpp" />
<ClCompile Include="hw\ndma.cpp" /> <ClCompile Include="hw\ndma.cpp" />
<ClCompile Include="hw\hid.cpp" />
<ClCompile Include="loader.cpp" /> <ClCompile Include="loader.cpp" />
<ClCompile Include="mem_map.cpp" /> <ClCompile Include="mem_map.cpp" />
<ClCompile Include="mem_map_funcs.cpp" /> <ClCompile Include="mem_map_funcs.cpp" />
@ -244,9 +244,9 @@
<ClInclude Include="hle\service\srv.h" /> <ClInclude Include="hle\service\srv.h" />
<ClInclude Include="hle\svc.h" /> <ClInclude Include="hle\svc.h" />
<ClInclude Include="hw\gpu.h" /> <ClInclude Include="hw\gpu.h" />
<ClInclude Include="hw\hid.h" />
<ClInclude Include="hw\hw.h" /> <ClInclude Include="hw\hw.h" />
<ClInclude Include="hw\ndma.h" /> <ClInclude Include="hw\ndma.h" />
<ClInclude Include="hw\hid.h" />
<ClInclude Include="loader.h" /> <ClInclude Include="loader.h" />
<ClInclude Include="mem_map.h" /> <ClInclude Include="mem_map.h" />
<ClInclude Include="system.h" /> <ClInclude Include="system.h" />

View file

@ -1,322 +1,109 @@
<?xml version="1.0" encoding="utf-8"?> <?xml version="1.0" encoding="utf-8"?>
<Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003"> <Project ToolsVersion="4.0" xmlns="http://schemas.microsoft.com/developer/msbuild/2003">
<ItemGroup> <ItemGroup>
<Filter Include="arm"> <ClCompile Include="hw\gpu.cpp" />
<UniqueIdentifier>{b84ab55c-588b-45f0-a5ba-f9ebb0442f13}</UniqueIdentifier> <ClCompile Include="hw\hid.cpp" />
</Filter> <ClCompile Include="hw\hw.cpp" />
<Filter Include="arm\disassembler"> <ClCompile Include="hw\ndma.cpp" />
<UniqueIdentifier>{61100188-a726-4024-ab16-95ee242b446e}</UniqueIdentifier> <ClCompile Include="arm\disassembler\arm_disasm.cpp" />
</Filter> <ClCompile Include="arm\disassembler\load_symbol_map.cpp" />
<Filter Include="file_sys"> <ClCompile Include="arm\interpreter\mmu\arm1176jzf_s_mmu.cpp" />
<UniqueIdentifier>{7f618562-73d1-4f55-9628-887497c27654}</UniqueIdentifier> <ClCompile Include="arm\interpreter\mmu\cache.cpp" />
</Filter> <ClCompile Include="arm\interpreter\mmu\maverick.cpp" />
<Filter Include="arm\interpreter"> <ClCompile Include="arm\interpreter\mmu\rb.cpp" />
<UniqueIdentifier>{cca8b763-8a80-4478-9bcc-3c979293c357}</UniqueIdentifier> <ClCompile Include="arm\interpreter\mmu\sa_mmu.cpp" />
</Filter> <ClCompile Include="arm\interpreter\mmu\tlb.cpp" />
<Filter Include="hw"> <ClCompile Include="arm\interpreter\mmu\wb.cpp" />
<UniqueIdentifier>{d1158fc4-3e0f-431f-9d3b-f30bbfeb4ad5}</UniqueIdentifier> <ClCompile Include="arm\interpreter\mmu\xscale_copro.cpp" />
</Filter> <ClCompile Include="arm\interpreter\vfp\vfp.cpp" />
<Filter Include="elf"> <ClCompile Include="arm\interpreter\vfp\vfpdouble.cpp" />
<UniqueIdentifier>{7ae34319-6d72-4d12-bc62-9b438ba9241f}</UniqueIdentifier> <ClCompile Include="arm\interpreter\vfp\vfpinstr.cpp" />
</Filter> <ClCompile Include="arm\interpreter\vfp\vfpsingle.cpp" />
<Filter Include="hle"> <ClCompile Include="arm\interpreter\arm_interpreter.cpp" />
<UniqueIdentifier>{8b62769e-3e2a-4a57-a7bc-b3b2933c2bc7}</UniqueIdentifier> <ClCompile Include="arm\interpreter\armcopro.cpp" />
</Filter> <ClCompile Include="arm\interpreter\armemu.cpp" />
<Filter Include="hle\service"> <ClCompile Include="arm\interpreter\arminit.cpp" />
<UniqueIdentifier>{812c5189-ca49-4704-b842-3ffad09092d3}</UniqueIdentifier> <ClCompile Include="arm\interpreter\armmmu.cpp" />
</Filter> <ClCompile Include="arm\interpreter\armos.cpp" />
<Filter Include="arm\interpreter\vfp"> <ClCompile Include="arm\interpreter\armsupp.cpp" />
<UniqueIdentifier>{de62238f-a28e-4a33-8495-23fed6784588}</UniqueIdentifier> <ClCompile Include="arm\interpreter\armvirt.cpp" />
</Filter> <ClCompile Include="arm\interpreter\thumbemu.cpp" />
<Filter Include="arm\interpreter\mmu"> <ClCompile Include="elf\elf_reader.cpp" />
<UniqueIdentifier>{13ef9860-2ba0-47e9-a93d-b4052adab269}</UniqueIdentifier> <ClCompile Include="file_sys\directory_file_system.cpp" />
</Filter> <ClCompile Include="file_sys\meta_file_system.cpp" />
<Filter Include="hle\kernel"> <ClCompile Include="hle\kernel\event.cpp" />
<UniqueIdentifier>{8089d94b-5faa-43dc-854b-ffd2fa2e7fe3}</UniqueIdentifier> <ClCompile Include="hle\kernel\kernel.cpp" />
</Filter> <ClCompile Include="hle\kernel\mutex.cpp" />
</ItemGroup> <ClCompile Include="hle\kernel\shared_memory.cpp" />
<ItemGroup> <ClCompile Include="hle\kernel\thread.cpp" />
<ClCompile Include="arm\disassembler\arm_disasm.cpp"> <ClCompile Include="hle\service\apt.cpp" />
<Filter>arm\disassembler</Filter> <ClCompile Include="hle\service\gsp.cpp" />
</ClCompile> <ClCompile Include="hle\service\hid.cpp" />
<ClCompile Include="arm\interpreter\arm_interpreter.cpp"> <ClCompile Include="hle\service\ndm.cpp" />
<Filter>arm\interpreter</Filter> <ClCompile Include="hle\service\service.cpp" />
</ClCompile> <ClCompile Include="hle\service\srv.cpp" />
<ClCompile Include="arm\interpreter\armemu.cpp"> <ClCompile Include="hle\config_mem.cpp" />
<Filter>arm\interpreter</Filter> <ClCompile Include="hle\coprocessor.cpp" />
</ClCompile> <ClCompile Include="hle\hle.cpp" />
<ClCompile Include="arm\interpreter\arminit.cpp"> <ClCompile Include="hle\svc.cpp" />
<Filter>arm\interpreter</Filter>
</ClCompile>
<ClCompile Include="arm\interpreter\armmmu.cpp">
<Filter>arm\interpreter</Filter>
</ClCompile>
<ClCompile Include="arm\interpreter\armos.cpp">
<Filter>arm\interpreter</Filter>
</ClCompile>
<ClCompile Include="arm\interpreter\armsupp.cpp">
<Filter>arm\interpreter</Filter>
</ClCompile>
<ClCompile Include="arm\interpreter\armvirt.cpp">
<Filter>arm\interpreter</Filter>
</ClCompile>
<ClCompile Include="arm\interpreter\thumbemu.cpp">
<Filter>arm\interpreter</Filter>
</ClCompile>
<ClCompile Include="file_sys\directory_file_system.cpp">
<Filter>file_sys</Filter>
</ClCompile>
<ClCompile Include="file_sys\meta_file_system.cpp">
<Filter>file_sys</Filter>
</ClCompile>
<ClCompile Include="hw\hw.cpp">
<Filter>hw</Filter>
</ClCompile>
<ClCompile Include="elf\elf_reader.cpp">
<Filter>elf</Filter>
</ClCompile>
<ClCompile Include="core.cpp" /> <ClCompile Include="core.cpp" />
<ClCompile Include="core_timing.cpp" />
<ClCompile Include="loader.cpp" /> <ClCompile Include="loader.cpp" />
<ClCompile Include="mem_map.cpp" /> <ClCompile Include="mem_map.cpp" />
<ClCompile Include="mem_map_funcs.cpp" /> <ClCompile Include="mem_map_funcs.cpp" />
<ClCompile Include="system.cpp" /> <ClCompile Include="system.cpp" />
<ClCompile Include="core_timing.cpp" />
<ClCompile Include="hle\hle.cpp">
<Filter>hle</Filter>
</ClCompile>
<ClCompile Include="hle\service\service.cpp">
<Filter>hle\service</Filter>
</ClCompile>
<ClCompile Include="hle\service\apt.cpp">
<Filter>hle\service</Filter>
</ClCompile>
<ClCompile Include="hle\service\srv.cpp">
<Filter>hle\service</Filter>
</ClCompile>
<ClCompile Include="hle\service\gsp.cpp">
<Filter>hle\service</Filter>
</ClCompile>
<ClCompile Include="hle\service\hid.cpp">
<Filter>hle\service</Filter>
</ClCompile>
<ClCompile Include="hw\ndma.cpp">
<Filter>hw</Filter>
</ClCompile>
<ClCompile Include="hw\gpu.cpp">
<Filter>hw</Filter>
</ClCompile>
<ClCompile Include="arm\disassembler\load_symbol_map.cpp">
<Filter>arm\disassembler</Filter>
</ClCompile>
<ClCompile Include="hle\coprocessor.cpp">
<Filter>hle</Filter>
</ClCompile>
<ClCompile Include="hle\config_mem.cpp">
<Filter>hle</Filter>
</ClCompile>
<ClCompile Include="arm\interpreter\vfp\vfp.cpp">
<Filter>arm\interpreter\vfp</Filter>
</ClCompile>
<ClCompile Include="arm\interpreter\vfp\vfpinstr.cpp">
<Filter>arm\interpreter\vfp</Filter>
</ClCompile>
<ClCompile Include="arm\interpreter\vfp\vfpdouble.cpp">
<Filter>arm\interpreter\vfp</Filter>
</ClCompile>
<ClCompile Include="arm\interpreter\vfp\vfpsingle.cpp">
<Filter>arm\interpreter\vfp</Filter>
</ClCompile>
<ClCompile Include="arm\interpreter\mmu\arm1176jzf_s_mmu.cpp">
<Filter>arm\interpreter\mmu</Filter>
</ClCompile>
<ClCompile Include="arm\interpreter\mmu\xscale_copro.cpp">
<Filter>arm\interpreter\mmu</Filter>
</ClCompile>
<ClCompile Include="arm\interpreter\mmu\sa_mmu.cpp">
<Filter>arm\interpreter\mmu</Filter>
</ClCompile>
<ClCompile Include="arm\interpreter\mmu\cache.cpp">
<Filter>arm\interpreter\mmu</Filter>
</ClCompile>
<ClCompile Include="arm\interpreter\mmu\rb.cpp">
<Filter>arm\interpreter\mmu</Filter>
</ClCompile>
<ClCompile Include="arm\interpreter\mmu\tlb.cpp">
<Filter>arm\interpreter\mmu</Filter>
</ClCompile>
<ClCompile Include="arm\interpreter\mmu\wb.cpp">
<Filter>arm\interpreter\mmu</Filter>
</ClCompile>
<ClCompile Include="arm\interpreter\mmu\maverick.cpp">
<Filter>arm\interpreter\mmu</Filter>
</ClCompile>
<ClCompile Include="hle\kernel\kernel.cpp">
<Filter>hle\kernel</Filter>
</ClCompile>
<ClCompile Include="hle\kernel\thread.cpp">
<Filter>hle\kernel</Filter>
</ClCompile>
<ClCompile Include="hle\svc.cpp">
<Filter>hle</Filter>
</ClCompile>
<ClCompile Include="hle\kernel\mutex.cpp">
<Filter>hle\kernel</Filter>
</ClCompile>
<ClCompile Include="arm\interpreter\armcopro.cpp">
<Filter>arm\interpreter</Filter>
</ClCompile>
<ClCompile Include="hw\hid.cpp">
<Filter>hw</Filter>
<ClCompile Include="hle\kernel\event.cpp">
<Filter>hle\kernel</Filter>
</ClCompile>
<ClCompile Include="hle\kernel\shared_memory.cpp">
<Filter>hle\kernel</Filter>
<ClCompile Include="hle\service\ndm.cpp">
<Filter>hle\service</Filter>
</ClCompile>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<ClInclude Include="arm\disassembler\arm_disasm.h"> <ClInclude Include="hw\gpu.h" />
<Filter>arm\disassembler</Filter> <ClInclude Include="hw\hid.h" />
</ClInclude> <ClInclude Include="hw\hw.h" />
<ClInclude Include="arm\interpreter\arm_interpreter.h"> <ClInclude Include="hw\ndma.h" />
<Filter>arm\interpreter</Filter> <ClInclude Include="arm\disassembler\arm_disasm.h" />
</ClInclude> <ClInclude Include="arm\disassembler\load_symbol_map.h" />
<ClInclude Include="arm\interpreter\arm_regformat.h"> <ClInclude Include="arm\interpreter\mmu\arm1176jzf_s_mmu.h" />
<Filter>arm\interpreter</Filter> <ClInclude Include="arm\interpreter\mmu\cache.h" />
</ClInclude> <ClInclude Include="arm\interpreter\mmu\rb.h" />
<ClInclude Include="arm\interpreter\armcpu.h"> <ClInclude Include="arm\interpreter\mmu\sa_mmu.h" />
<Filter>arm\interpreter</Filter> <ClInclude Include="arm\interpreter\mmu\tlb.h" />
</ClInclude> <ClInclude Include="arm\interpreter\mmu\wb.h" />
<ClInclude Include="arm\interpreter\armdefs.h"> <ClInclude Include="arm\interpreter\vfp\asm_vfp.h" />
<Filter>arm\interpreter</Filter> <ClInclude Include="arm\interpreter\vfp\vfp.h" />
</ClInclude> <ClInclude Include="arm\interpreter\vfp\vfp_helper.h" />
<ClInclude Include="arm\interpreter\armemu.h"> <ClInclude Include="arm\interpreter\arm_interpreter.h" />
<Filter>arm\interpreter</Filter> <ClInclude Include="arm\interpreter\arm_regformat.h" />
</ClInclude> <ClInclude Include="arm\interpreter\armcpu.h" />
<ClInclude Include="arm\interpreter\armmmu.h"> <ClInclude Include="arm\interpreter\armdefs.h" />
<Filter>arm\interpreter</Filter> <ClInclude Include="arm\interpreter\armemu.h" />
</ClInclude> <ClInclude Include="arm\interpreter\armmmu.h" />
<ClInclude Include="arm\interpreter\armos.h"> <ClInclude Include="arm\interpreter\armos.h" />
<Filter>arm\interpreter</Filter> <ClInclude Include="arm\interpreter\skyeye_defs.h" />
</ClInclude> <ClInclude Include="arm\arm_interface.h" />
<ClInclude Include="arm\interpreter\skyeye_defs.h"> <ClInclude Include="elf\elf_reader.h" />
<Filter>arm\interpreter</Filter> <ClInclude Include="elf\elf_types.h" />
</ClInclude> <ClInclude Include="file_sys\directory_file_system.h" />
<ClInclude Include="file_sys\directory_file_system.h"> <ClInclude Include="file_sys\file_sys.h" />
<Filter>file_sys</Filter> <ClInclude Include="file_sys\meta_file_system.h" />
</ClInclude> <ClInclude Include="hle\kernel\event.h" />
<ClInclude Include="file_sys\file_sys.h"> <ClInclude Include="hle\kernel\kernel.h" />
<Filter>file_sys</Filter> <ClInclude Include="hle\kernel\mutex.h" />
</ClInclude> <ClInclude Include="hle\kernel\shared_memory.h" />
<ClInclude Include="file_sys\meta_file_system.h"> <ClInclude Include="hle\kernel\thread.h" />
<Filter>file_sys</Filter> <ClInclude Include="hle\service\apt.h" />
</ClInclude> <ClInclude Include="hle\service\gsp.h" />
<ClInclude Include="hw\hw.h"> <ClInclude Include="hle\service\hid.h" />
<Filter>hw</Filter> <ClInclude Include="hle\service\ndm.h" />
</ClInclude> <ClInclude Include="hle\service\service.h" />
<ClInclude Include="elf\elf_reader.h"> <ClInclude Include="hle\service\srv.h" />
<Filter>elf</Filter> <ClInclude Include="hle\config_mem.h" />
</ClInclude> <ClInclude Include="hle\coprocessor.h" />
<ClInclude Include="elf\elf_types.h"> <ClInclude Include="hle\function_wrappers.h" />
<Filter>elf</Filter> <ClInclude Include="hle\hle.h" />
</ClInclude> <ClInclude Include="hle\svc.h" />
<ClInclude Include="arm\arm_interface.h"> <ClInclude Include="system.h" />
<Filter>arm</Filter>
</ClInclude>
<ClInclude Include="core.h" /> <ClInclude Include="core.h" />
<ClInclude Include="core_timing.h" /> <ClInclude Include="core_timing.h" />
<ClInclude Include="loader.h" /> <ClInclude Include="loader.h" />
<ClInclude Include="mem_map.h" /> <ClInclude Include="mem_map.h" />
<ClInclude Include="system.h" />
<ClInclude Include="hle\hle.h">
<Filter>hle</Filter>
</ClInclude>
<ClInclude Include="hle\function_wrappers.h">
<Filter>hle</Filter>
</ClInclude>
<ClInclude Include="hle\service\service.h">
<Filter>hle\service</Filter>
</ClInclude>
<ClInclude Include="hle\service\apt.h">
<Filter>hle\service</Filter>
</ClInclude>
<ClInclude Include="hle\service\srv.h">
<Filter>hle\service</Filter>
</ClInclude>
<ClInclude Include="hle\service\gsp.h">
<Filter>hle\service</Filter>
</ClInclude>
<ClInclude Include="hle\service\hid.h">
<Filter>hle\service</Filter>
</ClInclude>
<ClInclude Include="hw\ndma.h">
<Filter>hw</Filter>
</ClInclude>
<ClInclude Include="hw\gpu.h">
<Filter>hw</Filter>
</ClInclude>
<ClInclude Include="arm\disassembler\load_symbol_map.h">
<Filter>arm\disassembler</Filter>
</ClInclude>
<ClInclude Include="hle\coprocessor.h">
<Filter>hle</Filter>
</ClInclude>
<ClInclude Include="hle\config_mem.h">
<Filter>hle</Filter>
</ClInclude>
<ClInclude Include="arm\interpreter\vfp\asm_vfp.h">
<Filter>arm\interpreter\vfp</Filter>
</ClInclude>
<ClInclude Include="arm\interpreter\vfp\vfp.h">
<Filter>arm\interpreter\vfp</Filter>
</ClInclude>
<ClInclude Include="arm\interpreter\vfp\vfp_helper.h">
<Filter>arm\interpreter\vfp</Filter>
</ClInclude>
<ClInclude Include="arm\interpreter\mmu\arm1176jzf_s_mmu.h">
<Filter>arm\interpreter\mmu</Filter>
</ClInclude>
<ClInclude Include="arm\interpreter\mmu\cache.h">
<Filter>arm\interpreter\mmu</Filter>
</ClInclude>
<ClInclude Include="arm\interpreter\mmu\rb.h">
<Filter>arm\interpreter\mmu</Filter>
</ClInclude>
<ClInclude Include="arm\interpreter\mmu\tlb.h">
<Filter>arm\interpreter\mmu</Filter>
</ClInclude>
<ClInclude Include="arm\interpreter\mmu\wb.h">
<Filter>arm\interpreter\mmu</Filter>
</ClInclude>
<ClInclude Include="arm\interpreter\mmu\sa_mmu.h">
<Filter>arm\interpreter\mmu</Filter>
</ClInclude>
<ClInclude Include="hle\kernel\kernel.h">
<Filter>hle\kernel</Filter>
</ClInclude>
<ClInclude Include="hle\kernel\thread.h">
<Filter>hle\kernel</Filter>
</ClInclude>
<ClInclude Include="hle\svc.h">
<Filter>hle</Filter>
</ClInclude>
<ClInclude Include="hle\kernel\mutex.h">
<Filter>hle\kernel</Filter>
</ClInclude>
<ClInclude Include="hle\kernel\event.h">
<Filter>hle\kernel</Filter>
</ClInclude>
<ClInclude Include="hle\service\ndm.h">
<Filter>hle\service</Filter>
</ClInclude>
<ClInclude Include="hw\hid.h">
<Filter>hw</Filter>
</ClInclude>
<ClInclude Include="hle\kernel\shared_memory.h">
<Filter>hle\kernel</Filter>
</ClInclude>
</ItemGroup> </ItemGroup>
<ItemGroup> <ItemGroup>
<Text Include="CMakeLists.txt" /> <Text Include="CMakeLists.txt" />

View file

@ -108,6 +108,10 @@ template<void func(const char*)> void Wrap() {
func(Memory::GetCharPointer(PARAM(0))); func(Memory::GetCharPointer(PARAM(0)));
} }
template<u64 func()> void Wrap() {
RETURN(func());
}
#undef PARAM #undef PARAM
#undef RETURN #undef RETURN

View file

@ -20,6 +20,15 @@ public:
Kernel::HandleType GetHandleType() const { return Kernel::HandleType::SharedMemory; } Kernel::HandleType GetHandleType() const { return Kernel::HandleType::SharedMemory; }
//TODO: implement //TODO: implement
/**
* Wait for kernel object to synchronize
* @param wait Boolean wait set if current thread should wait as a result of sync operation
* @return Result of operation, 0 on success, otherwise error code
*/
Result WaitSynchronization(bool* wait) {
// TODO(bravia): ImplementMe
return 0;
}
}; };
//////////////////////////////////////////////////////////////////////////////////////////////////// ////////////////////////////////////////////////////////////////////////////////////////////////////

View file

@ -331,6 +331,12 @@ void SleepThread(s64 nanoseconds) {
DEBUG_LOG(SVC, "called nanoseconds=%d", nanoseconds); DEBUG_LOG(SVC, "called nanoseconds=%d", nanoseconds);
} }
//TODO: verify with a kernel dump
u64 GetSystemTick() {
return Core::g_app_core->GetTicks();
}
const HLE::FunctionDef SVC_Table[] = { const HLE::FunctionDef SVC_Table[] = {
{0x00, nullptr, "Unknown"}, {0x00, nullptr, "Unknown"},
{0x01, HLE::Wrap<ControlMemory>, "ControlMemory"}, {0x01, HLE::Wrap<ControlMemory>, "ControlMemory"},
@ -372,7 +378,7 @@ const HLE::FunctionDef SVC_Table[] = {
{0x25, HLE::Wrap<WaitSynchronizationN>, "WaitSynchronizationN"}, {0x25, HLE::Wrap<WaitSynchronizationN>, "WaitSynchronizationN"},
{0x26, nullptr, "SignalAndWait"}, {0x26, nullptr, "SignalAndWait"},
{0x27, HLE::Wrap<DuplicateHandle>, "DuplicateHandle"}, {0x27, HLE::Wrap<DuplicateHandle>, "DuplicateHandle"},
{0x28, nullptr, "GetSystemTick"}, {0x28, HLE::Wrap<GetSystemTick>, "GetSystemTick"},
{0x29, nullptr, "GetHandleInfo"}, {0x29, nullptr, "GetHandleInfo"},
{0x2A, nullptr, "GetSystemInfo"}, {0x2A, nullptr, "GetSystemInfo"},
{0x2B, nullptr, "GetProcessInfo"}, {0x2B, nullptr, "GetProcessInfo"},