119c02f35d41a0bb6c382ef0dea526a78b3b2214
[YACASL2.git] / src / debugger.c
1 #include "exec.h"
2
3 void debugger()
4 {
5     char *buf = malloc_chk(DBINSIZE + 1, "debugger.buf");
6     for( ; ;) {
7         fprintf(stdout, "COMET II (Type ? for help) > ");
8         fgets(buf, DBINSIZE, stdin);
9         if(*buf == '\n' || *buf == 's') {
10             break;
11         } else if(*buf == 'c') {
12             execmode.debugger = false;
13             break;
14         } else if(*buf == 't') {
15             fprintf(stdout, "#%04X: Register::::\n", sys->cpu->pr);
16             dspregister();
17         } else if(*buf == 'd') {
18             dumpmemory();
19         } else if(*buf == '?') {
20             fprintf(stdout, "s (default) -- Step by step running your program until next interaction.\n");
21             fprintf(stdout, "c -- Continue running your program.\n");
22             fprintf(stdout, "t -- Display CPU register.\n");
23             fprintf(stdout, "d -- Display memory dump.\n");
24             break;
25         }
26     }
27 }