summaryrefslogtreecommitdiff
path: root/include/NdevExi2A/DebuggerDriver.h
blob: 53f3c8ff8399fd2e9bb1b0e0cb1b6acba14a35f8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
#ifndef NDEVEXI2A_DEBUGGERDRIVER_H
#define NDEVEXI2A_DEBUGGERDRIVER_H

#include <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 */