aboutsummaryrefslogtreecommitdiffhomepage
path: root/src/core/hle/hle.h
diff options
context:
space:
mode:
authorGravatar bunnei <ericbunnie@gmail.com>2014-04-12 23:31:39 -0400
committerGravatar bunnei <ericbunnie@gmail.com>2014-04-12 23:31:39 -0400
commit6f6d5158de18a7ca134406d55446c27f6db48a1a (patch)
tree82c3b60b5584618207e748e714cc9da30a7962e4 /src/core/hle/hle.h
parentb24e6f2b609e1a75f05124a6246801dd0e56183a (diff)
added OS memory read/write for thread command buffer
Diffstat (limited to 'src/core/hle/hle.h')
-rw-r--r--src/core/hle/hle.h13
1 files changed, 12 insertions, 1 deletions
diff --git a/src/core/hle/hle.h b/src/core/hle/hle.h
index 2bd1f99a..5ee90bcd 100644
--- a/src/core/hle/hle.h
+++ b/src/core/hle/hle.h
@@ -17,7 +17,10 @@
namespace HLE {
enum {
- OS_THREAD_COMMAND_BUFFER_ADDR = 0xA0004000,
+ CMD_BUFFER_ADDR = 0xA0010000, ///< Totally arbitrary unused address space
+ CMD_BUFFER_SIZE = 0x10000,
+ CMD_BUFFER_MASK = (CMD_BUFFER_SIZE - 1),
+ CMD_BUFFER_ADDR_END = (CMD_BUFFER_ADDR + CMD_BUFFER_SIZE),
};
typedef u32 Addr;
@@ -35,6 +38,14 @@ struct ModuleDef {
const FunctionDef* func_table;
};
+// Read from memory used by CTROS HLE functions
+template <typename T>
+inline void Read(T &var, const u32 addr);
+
+// Write to memory used by CTROS HLE functions
+template <typename T>
+inline void Write(u32 addr, const T data);
+
void RegisterModule(std::string name, int num_functions, const FunctionDef *func_table);
void CallSyscall(u32 opcode);