blob: 255818839e1c0b0e57e7c80e71da5a4825aba774 (
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
55
56
57
58
59
60
61
62
63
64
65
66
67
|
/**
* dispatch.c
* Description:
*/
#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/dispatch.h"
#include "TRK_MINNOW_DOLPHIN/MetroTRK/Portable/msgbuf.h"
#include "TRK_MINNOW_DOLPHIN/utils/common/MWTrace.h"
DSError TRKInitializeDispatcher() {
return DS_NoError;
}
BOOL TRKDispatchMessage(TRKBuffer* msg) {
u32 err;
err = DS_DispatchError;
TRKSetBufferPosition(msg, 0);
MWTRACE(1, "Dispatch command 0x%08x\n", msg->data[4]);
switch (msg->data[4]) {
case DSMSG_Connect:
err = TRKDoConnect(msg);
break;
case DSMSG_Disconnect:
err = TRKDoDisconnect(msg);
break;
case DSMSG_Reset:
err = TRKDoReset(msg);
break;
case DSMSG_Override:
err = TRKDoOverride(msg);
break;
case DSMSG_Versions:
err = TRKDoVersions(msg);
break;
case DSMSG_SupportMask:
err = TRKDoSupportMask(msg);
break;
case DSMSG_ReadMemory:
err = TRKDoReadMemory(msg);
break;
case DSMSG_WriteMemory:
err = TRKDoWriteMemory(msg);
break;
case DSMSG_ReadRegisters:
err = TRKDoReadRegisters(msg);
break;
case DSMSG_WriteRegisters:
err = TRKDoWriteRegisters(msg);
break;
case DSMSG_Continue:
err = TRKDoContinue(msg);
break;
case DSMSG_Step:
err = TRKDoStep(msg);
break;
case DSMSG_Stop:
err = TRKDoStop(msg);
break;
case DSMSG_SetOption:
err = TRKDoSetOption(msg);
break;
}
MWTRACE(1, "Dispatch complete err = %ld\n", err);
return err;
}
|