forked from gurcei/m65dbg
-
Notifications
You must be signed in to change notification settings - Fork 16
/
commands.h
148 lines (137 loc) · 3.4 KB
/
commands.h
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
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
/* vim: set expandtab shiftwidth=2 tabstop=2: */
#include <stdbool.h>
void listSearch(void);
void cmdRawHelp(void);
void cmdHelp(void);
void cmdDump(void);
void cmdMDump(void);
void cmdAssemble(void);
void cmdDisassemble(void);
void cmdMDisassemble(void);
void cmdSoftContinue(void);
void cmdContinue(void);
bool cmdGetContinueMode(void);
void cmdSetContinueMode(bool val);
void cmdStep(void);
void cmdHardNext(void);
void cmdNext(void);
void cmdFinish(void);
void cmdPrintByte(void);
void cmdPrintWord(void);
void cmdPrintDWord(void);
void cmdPrintQWord(void);
void cmdPrintString(void);
void cmdPrintBasicVar(void);
void cmdPrintMByte(void);
void cmdPrintMWord(void);
void cmdPrintMDWord(void);
void cmdPrintMQWord(void);
void cmdPrintMString(void);
void cmdPrintMFloat(void);
void cmdClearScreen(void);
void cmdAutoClearScreen(void);
void cmdSetBreakpoint(void);
void cmdSetSoftwareBreakpoint(void);
void cmdWatchByte(void);
void cmdWatchWord(void);
void cmdWatchDWord(void);
void cmdWatchQWord(void);
void cmdWatchString(void);
void cmdWatchDump(void);
void cmdWatchMByte(void);
void cmdWatchMWord(void);
void cmdWatchMDWord(void);
void cmdWatchMQWord(void);
void cmdWatchMString(void);
void cmdWatchMFloat(void);
void cmdWatchMDump(void);
void cmdWatches(void);
void cmdDeleteWatch(void);
void cmdAutoWatch(void);
void cmdSymbolValue(void);
void cmdSave(void);
void cmdLoad(void);
void cmdPoke(void);
void cmdPokeW(void);
void cmdPokeD(void);
void cmdPokeQ(void);
void cmdMPoke(void);
void cmdMPokeW(void);
void cmdMPokeD(void);
void cmdMPokeQ(void);
void cmdBackTrace(void);
void cmdUpFrame(void);
void cmdDownFrame(void);
void cmdSearch(void);
void cmdScreenshot(void);
void cmdType(void);
void cmdFtp(void);
void cmdPetscii(void);
void cmdFastMode(void);
void cmdScope(void);
void cmdOffs(void);
void cmdPrintValue(void);
void cmdForwardDis(void);
void cmdBackwardDis(void);
void cmdMCopy(void);
void cmdLocals(void);
void cmdAutoLocals(void);
void cmdMapping(void);
void cmdSeam(void);
void cmdBasicList(void);
void cmdSprite(void);
void cmdChar(void);
void cmdSet(void);
void cmdGo(void);
void cmdReload(void);
void cmdRomW(void);
int doOneShotAssembly(char* strCommand);
int cmdGetCmdCount(void);
char* cmdGetCmdName(int idx);
int isValidMnemonic(char* str);
#define BUFSIZE 4096
extern char outbuf[];
extern char inbuf[];
extern bool ctrlcflag;
typedef struct
{
char* name;
void (*func)(void);
char* params;
char* help;
} type_command_details;
typedef struct tse
{
char* symbol;
int addr; // integer value of symbol
char* sval; // string value of symbol
struct tse* next;
} type_symmap_entry;
typedef struct tseg
{
char name[64];
int offset;
} type_segment;
typedef struct t_o
{
char modulename[256];
type_segment segments[32];
int seg_cnt;
int enabled;
struct t_o* next;
} type_offsets;
typedef enum { TYPE_BYTE, TYPE_WORD, TYPE_DWORD, TYPE_QWORD, TYPE_STRING, TYPE_DUMP,
TYPE_MBYTE, TYPE_MWORD, TYPE_MDWORD, TYPE_MQWORD, TYPE_MSTRING, TYPE_MDUMP, TYPE_MFLOAT } type_watch;
extern char* type_names[];
typedef struct we
{
type_watch type;
bool show_decimal;
bool show_char;
char* name;
char* param1;
struct we* next;
} type_watch_entry;
extern type_command_details command_details[];
extern type_symmap_entry* lstSymMap;
extern type_watch_entry* lstWatches;