summaryrefslogtreecommitdiff
path: root/include/NdevExi2A
diff options
context:
space:
mode:
Diffstat (limited to 'include/NdevExi2A')
-rw-r--r--include/NdevExi2A/DebuggerDriver.h54
-rw-r--r--include/NdevExi2A/exi2.h34
2 files changed, 88 insertions, 0 deletions
diff --git a/include/NdevExi2A/DebuggerDriver.h b/include/NdevExi2A/DebuggerDriver.h
new file mode 100644
index 0000000000..44cf7daad7
--- /dev/null
+++ b/include/NdevExi2A/DebuggerDriver.h
@@ -0,0 +1,54 @@
+#ifndef NDEVEXI2A_DEBUGGERDRIVER_H
+#define NDEVEXI2A_DEBUGGERDRIVER_H
+
+#include <dolphin/os.h>
+#include "types.h"
+
+typedef void (*MtrCallback)(s32, OSContext*);
+typedef void (*IntrCallback)(s16, OSContext*);
+
+#include <NdevExi2A/DebuggerDriver.h>
+
+static u32 ODEMUGetSize(u32 mail);
+
+static void __DBMtrHandler(s32 param_0, OSContext* ctx);
+
+static void __DBIntrHandler(s16 param_0, OSContext* ctx);
+
+u8 __DBReadUSB_CSR();
+
+void __DBReadMailbox(u32* out);
+
+void __DBCheckMailBox(void);
+
+BOOL __DBWriteMailbox(u32 val);
+
+BOOL __DBRead(u32 param_0, void* dst, u32 count);
+
+BOOL __DBWrite(u32 param_0, void* src, u32 count);
+
+void DBInitComm(u8** a, MtrCallback callback);
+
+void DBInitInterrupts(void);
+
+BOOL ODEMUIsValidMail(u32 mail);
+
+u32 DBQueryData(void);
+
+u32 ODEMUGetPage(u32 v);
+
+u32 ODEMUGetPc2NngcOffset(u32 v);
+
+BOOL DBRead(u32* buffer, s32 count);
+
+void __DBWaitForSendMail();
+
+u32 ODEMUGenMailData(u32 v, u32 size);
+
+BOOL DBWrite(void* src, u32 size);
+
+void DBOpen(void);
+
+void DBClose(void);
+
+#endif /* NDEVEXI2A_DEBUGGERDRIVER_H */
diff --git a/include/NdevExi2A/exi2.h b/include/NdevExi2A/exi2.h
new file mode 100644
index 0000000000..3781ab50d5
--- /dev/null
+++ b/include/NdevExi2A/exi2.h
@@ -0,0 +1,34 @@
+#ifndef NDEVEXI2A_EXI2_H
+#define NDEVEXI2A_EXI2_H
+
+#include "types.h"
+
+#ifdef __cplusplus
+extern "C" {
+#endif
+
+BOOL __EXI2Select();
+
+BOOL __EXI2Deselect();
+
+BOOL __EXI2Sync();
+
+BOOL __EXI2Imm(u32* param_0, int width, int param_2);
+
+void __DBEXIInit();
+
+BOOL __DBEXIReadReg(u32 param_0, void* dst, u32 param_2);
+
+BOOL __DBEXIWriteReg(u32 param_0, void* src, u32 width);
+
+BOOL __DBEXIReadRam(u32 param_0, void* dst, int count);
+
+BOOL __DBEXIWriteRam(u32 param_0, void* src, int count);
+
+u32 __EXISwap32(u32 v);
+
+#ifdef __cplusplus
+} /* extern "C" */
+#endif
+
+#endif /* NDEVEXI2A_EXI2_H */