Add up to 4 emulator timers
[emu8051.git] / src / cli / parser.y
index 7d22681..a28f29e 100644 (file)
@@ -9,6 +9,7 @@
 #include "menu.h"
 #include "memory.h"
 #include "timers.h"
+#include "memory.h"
 #include "cpu8051.h"
 
 /* int yydebug = 1; */
@@ -42,6 +43,7 @@ int yyerror(const char *str)
 %token TOK_UNASM
 %token TOK_MOD_EXT TOK_MOD_INT TOK_MOD_PROG TOK_MOD_REG
 %token TOK_QUIT
+%token TOK_A TOK_B TOK_C TOK_D
 
 %%
 
@@ -112,7 +114,7 @@ breakpoint_set:
        {
           log_debug("  Set breakpoint at $%04X", $2);
           SetBreakpoint($2);
-       }
+        }
        ;
 
 breakpoint_display:
@@ -127,19 +129,19 @@ dump_mem:
        TOK_DE NUMBER NUMBER TOK_ENTER
        {
           log_debug("  Dump External Data Memory at $%04X, len %d", $2, $3);
-          DumpMem($2, $3, EXT_MEM_ID);
+          memory_dump($2, $3, EXT_MEM_ID);
        }
         |
        TOK_DI NUMBER NUMBER TOK_ENTER
        {
           log_debug("  Dump Internal Data Memory at $%04X, len %d", $2, $3);
-          DumpMem($2, $3, INT_MEM_ID);
+          memory_dump($2, $3, INT_MEM_ID);
        }
         |
        TOK_DP NUMBER NUMBER TOK_ENTER
        {
           log_debug("  Dump Program Memory at $%04X, len %d", $2, $3);
-          DumpMem($2, $3, PGM_MEM_ID);
+          memory_dump($2, $3, PGM_MEM_ID);
        }
        ;
 
@@ -211,9 +213,24 @@ reset:
           cpu8051_Reset();
        }
         |
-       TOK_RST_TIMER TOK_ENTER
+       TOK_RST_TIMER TOK_A TOK_ENTER
+       {
+          gp_timer_reset(0);
+       }
+        |
+       TOK_RST_TIMER TOK_B TOK_ENTER
+       {
+          gp_timer_reset(1);
+       }
+        |
+       TOK_RST_TIMER TOK_C TOK_ENTER
+       {
+          gp_timer_reset(2);
+       }
+        |
+       TOK_RST_TIMER TOK_D TOK_ENTER
        {
-          gp_timer_reset();
+          gp_timer_reset(3);
        }
         ;