From 68e198476f17a026fed88f3c9a271aa768694354 Mon Sep 17 00:00:00 2001 From: bunnei Date: Sat, 12 Apr 2014 21:55:36 -0400 Subject: - added HLE to connect to "srv:" service - added a manager for keeping track of services/ports - added a memory mapped region for memory accessed by HLE - added HLE for GetThreadCommandBuffer function --- src/core/hle/hle.cpp | 13 +++++++++++++ 1 file changed, 13 insertions(+) (limited to 'src/core/hle/hle.cpp') diff --git a/src/core/hle/hle.cpp b/src/core/hle/hle.cpp index 32aff0eb..3d2c5395 100644 --- a/src/core/hle/hle.cpp +++ b/src/core/hle/hle.cpp @@ -4,8 +4,10 @@ #include +#include "core/mem_map.h" #include "core/hle/hle.h" #include "core/hle/syscall.h" +#include "core/hle/service/service.h" //////////////////////////////////////////////////////////////////////////////////////////////////// @@ -35,6 +37,14 @@ void CallSyscall(u32 opcode) { } } +/// Returns the coprocessor (in this case, syscore) command buffer pointer +Addr CallGetThreadCommandBuffer() { + // Called on insruction: mrc p15, 0, r0, c13, c0, 3 + // Returns an address in OSHLE memory for the CPU to read/write to + RETURN(OS_THREAD_COMMAND_BUFFER_ADDR); + return OS_THREAD_COMMAND_BUFFER_ADDR; +} + void RegisterModule(std::string name, int num_functions, const FunctionDef* func_table) { ModuleDef module = {name, num_functions, func_table}; g_module_db.push_back(module); @@ -45,7 +55,10 @@ void RegisterAllModules() { } void Init() { + Service::Init(); + RegisterAllModules(); + NOTICE_LOG(HLE, "initialized OK"); } -- cgit v1.2.3